r8a7790.dtsi 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219
  1. /*
  2. * Device Tree Source for the r8a7790 SoC
  3. *
  4. * Copyright (C) 2013-2014 Renesas Solutions Corp.
  5. * Copyright (C) 2014 Cogent Embedded Inc.
  6. *
  7. * This file is licensed under the terms of the GNU General Public License
  8. * version 2. This program is licensed "as is" without any warranty of any
  9. * kind, whether express or implied.
  10. */
  11. #include <dt-bindings/clock/r8a7790-clock.h>
  12. #include <dt-bindings/interrupt-controller/arm-gic.h>
  13. #include <dt-bindings/interrupt-controller/irq.h>
  14. / {
  15. compatible = "renesas,r8a7790";
  16. interrupt-parent = <&gic>;
  17. #address-cells = <2>;
  18. #size-cells = <2>;
  19. aliases {
  20. i2c0 = &i2c0;
  21. i2c1 = &i2c1;
  22. i2c2 = &i2c2;
  23. i2c3 = &i2c3;
  24. i2c4 = &iic0;
  25. i2c5 = &iic1;
  26. i2c6 = &iic2;
  27. i2c7 = &iic3;
  28. spi0 = &qspi;
  29. spi1 = &msiof0;
  30. spi2 = &msiof1;
  31. spi3 = &msiof2;
  32. spi4 = &msiof3;
  33. vin0 = &vin0;
  34. vin1 = &vin1;
  35. vin2 = &vin2;
  36. vin3 = &vin3;
  37. };
  38. cpus {
  39. #address-cells = <1>;
  40. #size-cells = <0>;
  41. cpu0: cpu@0 {
  42. device_type = "cpu";
  43. compatible = "arm,cortex-a15";
  44. reg = <0>;
  45. clock-frequency = <1300000000>;
  46. voltage-tolerance = <1>; /* 1% */
  47. clocks = <&cpg_clocks R8A7790_CLK_Z>;
  48. clock-latency = <300000>; /* 300 us */
  49. /* kHz - uV - OPPs unknown yet */
  50. operating-points = <1400000 1000000>,
  51. <1225000 1000000>,
  52. <1050000 1000000>,
  53. < 875000 1000000>,
  54. < 700000 1000000>,
  55. < 350000 1000000>;
  56. };
  57. cpu1: cpu@1 {
  58. device_type = "cpu";
  59. compatible = "arm,cortex-a15";
  60. reg = <1>;
  61. clock-frequency = <1300000000>;
  62. };
  63. cpu2: cpu@2 {
  64. device_type = "cpu";
  65. compatible = "arm,cortex-a15";
  66. reg = <2>;
  67. clock-frequency = <1300000000>;
  68. };
  69. cpu3: cpu@3 {
  70. device_type = "cpu";
  71. compatible = "arm,cortex-a15";
  72. reg = <3>;
  73. clock-frequency = <1300000000>;
  74. };
  75. cpu4: cpu@4 {
  76. device_type = "cpu";
  77. compatible = "arm,cortex-a7";
  78. reg = <0x100>;
  79. clock-frequency = <780000000>;
  80. };
  81. cpu5: cpu@5 {
  82. device_type = "cpu";
  83. compatible = "arm,cortex-a7";
  84. reg = <0x101>;
  85. clock-frequency = <780000000>;
  86. };
  87. cpu6: cpu@6 {
  88. device_type = "cpu";
  89. compatible = "arm,cortex-a7";
  90. reg = <0x102>;
  91. clock-frequency = <780000000>;
  92. };
  93. cpu7: cpu@7 {
  94. device_type = "cpu";
  95. compatible = "arm,cortex-a7";
  96. reg = <0x103>;
  97. clock-frequency = <780000000>;
  98. };
  99. };
  100. gic: interrupt-controller@f1001000 {
  101. compatible = "arm,cortex-a15-gic";
  102. #interrupt-cells = <3>;
  103. #address-cells = <0>;
  104. interrupt-controller;
  105. reg = <0 0xf1001000 0 0x1000>,
  106. <0 0xf1002000 0 0x1000>,
  107. <0 0xf1004000 0 0x2000>,
  108. <0 0xf1006000 0 0x2000>;
  109. interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  110. };
  111. gpio0: gpio@e6050000 {
  112. compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
  113. reg = <0 0xe6050000 0 0x50>;
  114. interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
  115. #gpio-cells = <2>;
  116. gpio-controller;
  117. gpio-ranges = <&pfc 0 0 32>;
  118. #interrupt-cells = <2>;
  119. interrupt-controller;
  120. clocks = <&mstp9_clks R8A7790_CLK_GPIO0>;
  121. };
  122. gpio1: gpio@e6051000 {
  123. compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
  124. reg = <0 0xe6051000 0 0x50>;
  125. interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
  126. #gpio-cells = <2>;
  127. gpio-controller;
  128. gpio-ranges = <&pfc 0 32 32>;
  129. #interrupt-cells = <2>;
  130. interrupt-controller;
  131. clocks = <&mstp9_clks R8A7790_CLK_GPIO1>;
  132. };
  133. gpio2: gpio@e6052000 {
  134. compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
  135. reg = <0 0xe6052000 0 0x50>;
  136. interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
  137. #gpio-cells = <2>;
  138. gpio-controller;
  139. gpio-ranges = <&pfc 0 64 32>;
  140. #interrupt-cells = <2>;
  141. interrupt-controller;
  142. clocks = <&mstp9_clks R8A7790_CLK_GPIO2>;
  143. };
  144. gpio3: gpio@e6053000 {
  145. compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
  146. reg = <0 0xe6053000 0 0x50>;
  147. interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
  148. #gpio-cells = <2>;
  149. gpio-controller;
  150. gpio-ranges = <&pfc 0 96 32>;
  151. #interrupt-cells = <2>;
  152. interrupt-controller;
  153. clocks = <&mstp9_clks R8A7790_CLK_GPIO3>;
  154. };
  155. gpio4: gpio@e6054000 {
  156. compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
  157. reg = <0 0xe6054000 0 0x50>;
  158. interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
  159. #gpio-cells = <2>;
  160. gpio-controller;
  161. gpio-ranges = <&pfc 0 128 32>;
  162. #interrupt-cells = <2>;
  163. interrupt-controller;
  164. clocks = <&mstp9_clks R8A7790_CLK_GPIO4>;
  165. };
  166. gpio5: gpio@e6055000 {
  167. compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
  168. reg = <0 0xe6055000 0 0x50>;
  169. interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
  170. #gpio-cells = <2>;
  171. gpio-controller;
  172. gpio-ranges = <&pfc 0 160 32>;
  173. #interrupt-cells = <2>;
  174. interrupt-controller;
  175. clocks = <&mstp9_clks R8A7790_CLK_GPIO5>;
  176. };
  177. thermal@e61f0000 {
  178. compatible = "renesas,thermal-r8a7790", "renesas,rcar-thermal";
  179. reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
  180. interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
  181. clocks = <&mstp5_clks R8A7790_CLK_THERMAL>;
  182. };
  183. timer {
  184. compatible = "arm,armv7-timer";
  185. interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  186. <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  187. <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  188. <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  189. };
  190. cmt0: timer@ffca0000 {
  191. compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
  192. reg = <0 0xffca0000 0 0x1004>;
  193. interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
  194. <0 143 IRQ_TYPE_LEVEL_HIGH>;
  195. clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
  196. clock-names = "fck";
  197. renesas,channels-mask = <0x60>;
  198. status = "disabled";
  199. };
  200. cmt1: timer@e6130000 {
  201. compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
  202. reg = <0 0xe6130000 0 0x1004>;
  203. interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
  204. <0 121 IRQ_TYPE_LEVEL_HIGH>,
  205. <0 122 IRQ_TYPE_LEVEL_HIGH>,
  206. <0 123 IRQ_TYPE_LEVEL_HIGH>,
  207. <0 124 IRQ_TYPE_LEVEL_HIGH>,
  208. <0 125 IRQ_TYPE_LEVEL_HIGH>,
  209. <0 126 IRQ_TYPE_LEVEL_HIGH>,
  210. <0 127 IRQ_TYPE_LEVEL_HIGH>;
  211. clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
  212. clock-names = "fck";
  213. renesas,channels-mask = <0xff>;
  214. status = "disabled";
  215. };
  216. irqc0: interrupt-controller@e61c0000 {
  217. compatible = "renesas,irqc-r8a7790", "renesas,irqc";
  218. #interrupt-cells = <2>;
  219. interrupt-controller;
  220. reg = <0 0xe61c0000 0 0x200>;
  221. interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
  222. <0 1 IRQ_TYPE_LEVEL_HIGH>,
  223. <0 2 IRQ_TYPE_LEVEL_HIGH>,
  224. <0 3 IRQ_TYPE_LEVEL_HIGH>;
  225. };
  226. dmac0: dma-controller@e6700000 {
  227. compatible = "renesas,rcar-dmac";
  228. reg = <0 0xe6700000 0 0x20000>;
  229. interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
  230. 0 200 IRQ_TYPE_LEVEL_HIGH
  231. 0 201 IRQ_TYPE_LEVEL_HIGH
  232. 0 202 IRQ_TYPE_LEVEL_HIGH
  233. 0 203 IRQ_TYPE_LEVEL_HIGH
  234. 0 204 IRQ_TYPE_LEVEL_HIGH
  235. 0 205 IRQ_TYPE_LEVEL_HIGH
  236. 0 206 IRQ_TYPE_LEVEL_HIGH
  237. 0 207 IRQ_TYPE_LEVEL_HIGH
  238. 0 208 IRQ_TYPE_LEVEL_HIGH
  239. 0 209 IRQ_TYPE_LEVEL_HIGH
  240. 0 210 IRQ_TYPE_LEVEL_HIGH
  241. 0 211 IRQ_TYPE_LEVEL_HIGH
  242. 0 212 IRQ_TYPE_LEVEL_HIGH
  243. 0 213 IRQ_TYPE_LEVEL_HIGH
  244. 0 214 IRQ_TYPE_LEVEL_HIGH>;
  245. interrupt-names = "error",
  246. "ch0", "ch1", "ch2", "ch3",
  247. "ch4", "ch5", "ch6", "ch7",
  248. "ch8", "ch9", "ch10", "ch11",
  249. "ch12", "ch13", "ch14";
  250. clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC0>;
  251. clock-names = "fck";
  252. #dma-cells = <1>;
  253. dma-channels = <15>;
  254. };
  255. dmac1: dma-controller@e6720000 {
  256. compatible = "renesas,rcar-dmac";
  257. reg = <0 0xe6720000 0 0x20000>;
  258. interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
  259. 0 216 IRQ_TYPE_LEVEL_HIGH
  260. 0 217 IRQ_TYPE_LEVEL_HIGH
  261. 0 218 IRQ_TYPE_LEVEL_HIGH
  262. 0 219 IRQ_TYPE_LEVEL_HIGH
  263. 0 308 IRQ_TYPE_LEVEL_HIGH
  264. 0 309 IRQ_TYPE_LEVEL_HIGH
  265. 0 310 IRQ_TYPE_LEVEL_HIGH
  266. 0 311 IRQ_TYPE_LEVEL_HIGH
  267. 0 312 IRQ_TYPE_LEVEL_HIGH
  268. 0 313 IRQ_TYPE_LEVEL_HIGH
  269. 0 314 IRQ_TYPE_LEVEL_HIGH
  270. 0 315 IRQ_TYPE_LEVEL_HIGH
  271. 0 316 IRQ_TYPE_LEVEL_HIGH
  272. 0 317 IRQ_TYPE_LEVEL_HIGH
  273. 0 318 IRQ_TYPE_LEVEL_HIGH>;
  274. interrupt-names = "error",
  275. "ch0", "ch1", "ch2", "ch3",
  276. "ch4", "ch5", "ch6", "ch7",
  277. "ch8", "ch9", "ch10", "ch11",
  278. "ch12", "ch13", "ch14";
  279. clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC1>;
  280. clock-names = "fck";
  281. #dma-cells = <1>;
  282. dma-channels = <15>;
  283. };
  284. i2c0: i2c@e6508000 {
  285. #address-cells = <1>;
  286. #size-cells = <0>;
  287. compatible = "renesas,i2c-r8a7790";
  288. reg = <0 0xe6508000 0 0x40>;
  289. interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>;
  290. clocks = <&mstp9_clks R8A7790_CLK_I2C0>;
  291. status = "disabled";
  292. };
  293. i2c1: i2c@e6518000 {
  294. #address-cells = <1>;
  295. #size-cells = <0>;
  296. compatible = "renesas,i2c-r8a7790";
  297. reg = <0 0xe6518000 0 0x40>;
  298. interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>;
  299. clocks = <&mstp9_clks R8A7790_CLK_I2C1>;
  300. status = "disabled";
  301. };
  302. i2c2: i2c@e6530000 {
  303. #address-cells = <1>;
  304. #size-cells = <0>;
  305. compatible = "renesas,i2c-r8a7790";
  306. reg = <0 0xe6530000 0 0x40>;
  307. interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>;
  308. clocks = <&mstp9_clks R8A7790_CLK_I2C2>;
  309. status = "disabled";
  310. };
  311. i2c3: i2c@e6540000 {
  312. #address-cells = <1>;
  313. #size-cells = <0>;
  314. compatible = "renesas,i2c-r8a7790";
  315. reg = <0 0xe6540000 0 0x40>;
  316. interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>;
  317. clocks = <&mstp9_clks R8A7790_CLK_I2C3>;
  318. status = "disabled";
  319. };
  320. iic0: i2c@e6500000 {
  321. #address-cells = <1>;
  322. #size-cells = <0>;
  323. compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
  324. reg = <0 0xe6500000 0 0x425>;
  325. interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>;
  326. clocks = <&mstp3_clks R8A7790_CLK_IIC0>;
  327. status = "disabled";
  328. };
  329. iic1: i2c@e6510000 {
  330. #address-cells = <1>;
  331. #size-cells = <0>;
  332. compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
  333. reg = <0 0xe6510000 0 0x425>;
  334. interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>;
  335. clocks = <&mstp3_clks R8A7790_CLK_IIC1>;
  336. status = "disabled";
  337. };
  338. iic2: i2c@e6520000 {
  339. #address-cells = <1>;
  340. #size-cells = <0>;
  341. compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
  342. reg = <0 0xe6520000 0 0x425>;
  343. interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>;
  344. clocks = <&mstp3_clks R8A7790_CLK_IIC2>;
  345. status = "disabled";
  346. };
  347. iic3: i2c@e60b0000 {
  348. #address-cells = <1>;
  349. #size-cells = <0>;
  350. compatible = "renesas,iic-r8a7790", "renesas,rmobile-iic";
  351. reg = <0 0xe60b0000 0 0x425>;
  352. interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>;
  353. clocks = <&mstp9_clks R8A7790_CLK_IICDVFS>;
  354. status = "disabled";
  355. };
  356. mmcif0: mmcif@ee200000 {
  357. compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
  358. reg = <0 0xee200000 0 0x80>;
  359. interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
  360. clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>;
  361. reg-io-width = <4>;
  362. status = "disabled";
  363. };
  364. mmcif1: mmc@ee220000 {
  365. compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
  366. reg = <0 0xee220000 0 0x80>;
  367. interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
  368. clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>;
  369. reg-io-width = <4>;
  370. status = "disabled";
  371. };
  372. pfc: pfc@e6060000 {
  373. compatible = "renesas,pfc-r8a7790";
  374. reg = <0 0xe6060000 0 0x250>;
  375. };
  376. sdhi0: sd@ee100000 {
  377. compatible = "renesas,sdhi-r8a7790";
  378. reg = <0 0xee100000 0 0x200>;
  379. interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
  380. clocks = <&mstp3_clks R8A7790_CLK_SDHI0>;
  381. cap-sd-highspeed;
  382. status = "disabled";
  383. };
  384. sdhi1: sd@ee120000 {
  385. compatible = "renesas,sdhi-r8a7790";
  386. reg = <0 0xee120000 0 0x200>;
  387. interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
  388. clocks = <&mstp3_clks R8A7790_CLK_SDHI1>;
  389. cap-sd-highspeed;
  390. status = "disabled";
  391. };
  392. sdhi2: sd@ee140000 {
  393. compatible = "renesas,sdhi-r8a7790";
  394. reg = <0 0xee140000 0 0x100>;
  395. interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
  396. clocks = <&mstp3_clks R8A7790_CLK_SDHI2>;
  397. cap-sd-highspeed;
  398. status = "disabled";
  399. };
  400. sdhi3: sd@ee160000 {
  401. compatible = "renesas,sdhi-r8a7790";
  402. reg = <0 0xee160000 0 0x100>;
  403. interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
  404. clocks = <&mstp3_clks R8A7790_CLK_SDHI3>;
  405. cap-sd-highspeed;
  406. status = "disabled";
  407. };
  408. scifa0: serial@e6c40000 {
  409. compatible = "renesas,scifa-r8a7790", "renesas,scifa";
  410. reg = <0 0xe6c40000 0 64>;
  411. interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
  412. clocks = <&mstp2_clks R8A7790_CLK_SCIFA0>;
  413. clock-names = "sci_ick";
  414. status = "disabled";
  415. };
  416. scifa1: serial@e6c50000 {
  417. compatible = "renesas,scifa-r8a7790", "renesas,scifa";
  418. reg = <0 0xe6c50000 0 64>;
  419. interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>;
  420. clocks = <&mstp2_clks R8A7790_CLK_SCIFA1>;
  421. clock-names = "sci_ick";
  422. status = "disabled";
  423. };
  424. scifa2: serial@e6c60000 {
  425. compatible = "renesas,scifa-r8a7790", "renesas,scifa";
  426. reg = <0 0xe6c60000 0 64>;
  427. interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>;
  428. clocks = <&mstp2_clks R8A7790_CLK_SCIFA2>;
  429. clock-names = "sci_ick";
  430. status = "disabled";
  431. };
  432. scifb0: serial@e6c20000 {
  433. compatible = "renesas,scifb-r8a7790", "renesas,scifb";
  434. reg = <0 0xe6c20000 0 64>;
  435. interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
  436. clocks = <&mstp2_clks R8A7790_CLK_SCIFB0>;
  437. clock-names = "sci_ick";
  438. status = "disabled";
  439. };
  440. scifb1: serial@e6c30000 {
  441. compatible = "renesas,scifb-r8a7790", "renesas,scifb";
  442. reg = <0 0xe6c30000 0 64>;
  443. interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
  444. clocks = <&mstp2_clks R8A7790_CLK_SCIFB1>;
  445. clock-names = "sci_ick";
  446. status = "disabled";
  447. };
  448. scifb2: serial@e6ce0000 {
  449. compatible = "renesas,scifb-r8a7790", "renesas,scifb";
  450. reg = <0 0xe6ce0000 0 64>;
  451. interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>;
  452. clocks = <&mstp2_clks R8A7790_CLK_SCIFB2>;
  453. clock-names = "sci_ick";
  454. status = "disabled";
  455. };
  456. scif0: serial@e6e60000 {
  457. compatible = "renesas,scif-r8a7790", "renesas,scif";
  458. reg = <0 0xe6e60000 0 64>;
  459. interrupts = <0 152 IRQ_TYPE_LEVEL_HIGH>;
  460. clocks = <&mstp7_clks R8A7790_CLK_SCIF0>;
  461. clock-names = "sci_ick";
  462. status = "disabled";
  463. };
  464. scif1: serial@e6e68000 {
  465. compatible = "renesas,scif-r8a7790", "renesas,scif";
  466. reg = <0 0xe6e68000 0 64>;
  467. interrupts = <0 153 IRQ_TYPE_LEVEL_HIGH>;
  468. clocks = <&mstp7_clks R8A7790_CLK_SCIF1>;
  469. clock-names = "sci_ick";
  470. status = "disabled";
  471. };
  472. hscif0: serial@e62c0000 {
  473. compatible = "renesas,hscif-r8a7790", "renesas,hscif";
  474. reg = <0 0xe62c0000 0 96>;
  475. interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>;
  476. clocks = <&mstp7_clks R8A7790_CLK_HSCIF0>;
  477. clock-names = "sci_ick";
  478. status = "disabled";
  479. };
  480. hscif1: serial@e62c8000 {
  481. compatible = "renesas,hscif-r8a7790", "renesas,hscif";
  482. reg = <0 0xe62c8000 0 96>;
  483. interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>;
  484. clocks = <&mstp7_clks R8A7790_CLK_HSCIF1>;
  485. clock-names = "sci_ick";
  486. status = "disabled";
  487. };
  488. ether: ethernet@ee700000 {
  489. compatible = "renesas,ether-r8a7790";
  490. reg = <0 0xee700000 0 0x400>;
  491. interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>;
  492. clocks = <&mstp8_clks R8A7790_CLK_ETHER>;
  493. phy-mode = "rmii";
  494. #address-cells = <1>;
  495. #size-cells = <0>;
  496. status = "disabled";
  497. };
  498. sata0: sata@ee300000 {
  499. compatible = "renesas,sata-r8a7790";
  500. reg = <0 0xee300000 0 0x2000>;
  501. interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
  502. clocks = <&mstp8_clks R8A7790_CLK_SATA0>;
  503. status = "disabled";
  504. };
  505. sata1: sata@ee500000 {
  506. compatible = "renesas,sata-r8a7790";
  507. reg = <0 0xee500000 0 0x2000>;
  508. interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
  509. clocks = <&mstp8_clks R8A7790_CLK_SATA1>;
  510. status = "disabled";
  511. };
  512. vin0: video@e6ef0000 {
  513. compatible = "renesas,vin-r8a7790";
  514. clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
  515. reg = <0 0xe6ef0000 0 0x1000>;
  516. interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
  517. status = "disabled";
  518. };
  519. vin1: video@e6ef1000 {
  520. compatible = "renesas,vin-r8a7790";
  521. clocks = <&mstp8_clks R8A7790_CLK_VIN1>;
  522. reg = <0 0xe6ef1000 0 0x1000>;
  523. interrupts = <0 189 IRQ_TYPE_LEVEL_HIGH>;
  524. status = "disabled";
  525. };
  526. vin2: video@e6ef2000 {
  527. compatible = "renesas,vin-r8a7790";
  528. clocks = <&mstp8_clks R8A7790_CLK_VIN2>;
  529. reg = <0 0xe6ef2000 0 0x1000>;
  530. interrupts = <0 190 IRQ_TYPE_LEVEL_HIGH>;
  531. status = "disabled";
  532. };
  533. vin3: video@e6ef3000 {
  534. compatible = "renesas,vin-r8a7790";
  535. clocks = <&mstp8_clks R8A7790_CLK_VIN3>;
  536. reg = <0 0xe6ef3000 0 0x1000>;
  537. interrupts = <0 191 IRQ_TYPE_LEVEL_HIGH>;
  538. status = "disabled";
  539. };
  540. clocks {
  541. #address-cells = <2>;
  542. #size-cells = <2>;
  543. ranges;
  544. /* External root clock */
  545. extal_clk: extal_clk {
  546. compatible = "fixed-clock";
  547. #clock-cells = <0>;
  548. /* This value must be overriden by the board. */
  549. clock-frequency = <0>;
  550. clock-output-names = "extal";
  551. };
  552. /* External PCIe clock - can be overridden by the board */
  553. pcie_bus_clk: pcie_bus_clk {
  554. compatible = "fixed-clock";
  555. #clock-cells = <0>;
  556. clock-frequency = <100000000>;
  557. clock-output-names = "pcie_bus";
  558. status = "disabled";
  559. };
  560. /*
  561. * The external audio clocks are configured as 0 Hz fixed frequency clocks by
  562. * default. Boards that provide audio clocks should override them.
  563. */
  564. audio_clk_a: audio_clk_a {
  565. compatible = "fixed-clock";
  566. #clock-cells = <0>;
  567. clock-frequency = <0>;
  568. clock-output-names = "audio_clk_a";
  569. };
  570. audio_clk_b: audio_clk_b {
  571. compatible = "fixed-clock";
  572. #clock-cells = <0>;
  573. clock-frequency = <0>;
  574. clock-output-names = "audio_clk_b";
  575. };
  576. audio_clk_c: audio_clk_c {
  577. compatible = "fixed-clock";
  578. #clock-cells = <0>;
  579. clock-frequency = <0>;
  580. clock-output-names = "audio_clk_c";
  581. };
  582. /* Special CPG clocks */
  583. cpg_clocks: cpg_clocks@e6150000 {
  584. compatible = "renesas,r8a7790-cpg-clocks",
  585. "renesas,rcar-gen2-cpg-clocks";
  586. reg = <0 0xe6150000 0 0x1000>;
  587. clocks = <&extal_clk>;
  588. #clock-cells = <1>;
  589. clock-output-names = "main", "pll0", "pll1", "pll3",
  590. "lb", "qspi", "sdh", "sd0", "sd1",
  591. "z";
  592. };
  593. /* Variable factor clocks */
  594. sd2_clk: sd2_clk@e6150078 {
  595. compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
  596. reg = <0 0xe6150078 0 4>;
  597. clocks = <&pll1_div2_clk>;
  598. #clock-cells = <0>;
  599. clock-output-names = "sd2";
  600. };
  601. sd3_clk: sd3_clk@e615026c {
  602. compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
  603. reg = <0 0xe615026c 0 4>;
  604. clocks = <&pll1_div2_clk>;
  605. #clock-cells = <0>;
  606. clock-output-names = "sd3";
  607. };
  608. mmc0_clk: mmc0_clk@e6150240 {
  609. compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
  610. reg = <0 0xe6150240 0 4>;
  611. clocks = <&pll1_div2_clk>;
  612. #clock-cells = <0>;
  613. clock-output-names = "mmc0";
  614. };
  615. mmc1_clk: mmc1_clk@e6150244 {
  616. compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
  617. reg = <0 0xe6150244 0 4>;
  618. clocks = <&pll1_div2_clk>;
  619. #clock-cells = <0>;
  620. clock-output-names = "mmc1";
  621. };
  622. ssp_clk: ssp_clk@e6150248 {
  623. compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
  624. reg = <0 0xe6150248 0 4>;
  625. clocks = <&pll1_div2_clk>;
  626. #clock-cells = <0>;
  627. clock-output-names = "ssp";
  628. };
  629. ssprs_clk: ssprs_clk@e615024c {
  630. compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
  631. reg = <0 0xe615024c 0 4>;
  632. clocks = <&pll1_div2_clk>;
  633. #clock-cells = <0>;
  634. clock-output-names = "ssprs";
  635. };
  636. /* Fixed factor clocks */
  637. pll1_div2_clk: pll1_div2_clk {
  638. compatible = "fixed-factor-clock";
  639. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  640. #clock-cells = <0>;
  641. clock-div = <2>;
  642. clock-mult = <1>;
  643. clock-output-names = "pll1_div2";
  644. };
  645. z2_clk: z2_clk {
  646. compatible = "fixed-factor-clock";
  647. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  648. #clock-cells = <0>;
  649. clock-div = <2>;
  650. clock-mult = <1>;
  651. clock-output-names = "z2";
  652. };
  653. zg_clk: zg_clk {
  654. compatible = "fixed-factor-clock";
  655. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  656. #clock-cells = <0>;
  657. clock-div = <3>;
  658. clock-mult = <1>;
  659. clock-output-names = "zg";
  660. };
  661. zx_clk: zx_clk {
  662. compatible = "fixed-factor-clock";
  663. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  664. #clock-cells = <0>;
  665. clock-div = <3>;
  666. clock-mult = <1>;
  667. clock-output-names = "zx";
  668. };
  669. zs_clk: zs_clk {
  670. compatible = "fixed-factor-clock";
  671. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  672. #clock-cells = <0>;
  673. clock-div = <6>;
  674. clock-mult = <1>;
  675. clock-output-names = "zs";
  676. };
  677. hp_clk: hp_clk {
  678. compatible = "fixed-factor-clock";
  679. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  680. #clock-cells = <0>;
  681. clock-div = <12>;
  682. clock-mult = <1>;
  683. clock-output-names = "hp";
  684. };
  685. i_clk: i_clk {
  686. compatible = "fixed-factor-clock";
  687. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  688. #clock-cells = <0>;
  689. clock-div = <2>;
  690. clock-mult = <1>;
  691. clock-output-names = "i";
  692. };
  693. b_clk: b_clk {
  694. compatible = "fixed-factor-clock";
  695. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  696. #clock-cells = <0>;
  697. clock-div = <12>;
  698. clock-mult = <1>;
  699. clock-output-names = "b";
  700. };
  701. p_clk: p_clk {
  702. compatible = "fixed-factor-clock";
  703. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  704. #clock-cells = <0>;
  705. clock-div = <24>;
  706. clock-mult = <1>;
  707. clock-output-names = "p";
  708. };
  709. cl_clk: cl_clk {
  710. compatible = "fixed-factor-clock";
  711. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  712. #clock-cells = <0>;
  713. clock-div = <48>;
  714. clock-mult = <1>;
  715. clock-output-names = "cl";
  716. };
  717. m2_clk: m2_clk {
  718. compatible = "fixed-factor-clock";
  719. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  720. #clock-cells = <0>;
  721. clock-div = <8>;
  722. clock-mult = <1>;
  723. clock-output-names = "m2";
  724. };
  725. imp_clk: imp_clk {
  726. compatible = "fixed-factor-clock";
  727. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  728. #clock-cells = <0>;
  729. clock-div = <4>;
  730. clock-mult = <1>;
  731. clock-output-names = "imp";
  732. };
  733. rclk_clk: rclk_clk {
  734. compatible = "fixed-factor-clock";
  735. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  736. #clock-cells = <0>;
  737. clock-div = <(48 * 1024)>;
  738. clock-mult = <1>;
  739. clock-output-names = "rclk";
  740. };
  741. oscclk_clk: oscclk_clk {
  742. compatible = "fixed-factor-clock";
  743. clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
  744. #clock-cells = <0>;
  745. clock-div = <(12 * 1024)>;
  746. clock-mult = <1>;
  747. clock-output-names = "oscclk";
  748. };
  749. zb3_clk: zb3_clk {
  750. compatible = "fixed-factor-clock";
  751. clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
  752. #clock-cells = <0>;
  753. clock-div = <4>;
  754. clock-mult = <1>;
  755. clock-output-names = "zb3";
  756. };
  757. zb3d2_clk: zb3d2_clk {
  758. compatible = "fixed-factor-clock";
  759. clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
  760. #clock-cells = <0>;
  761. clock-div = <8>;
  762. clock-mult = <1>;
  763. clock-output-names = "zb3d2";
  764. };
  765. ddr_clk: ddr_clk {
  766. compatible = "fixed-factor-clock";
  767. clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
  768. #clock-cells = <0>;
  769. clock-div = <8>;
  770. clock-mult = <1>;
  771. clock-output-names = "ddr";
  772. };
  773. mp_clk: mp_clk {
  774. compatible = "fixed-factor-clock";
  775. clocks = <&pll1_div2_clk>;
  776. #clock-cells = <0>;
  777. clock-div = <15>;
  778. clock-mult = <1>;
  779. clock-output-names = "mp";
  780. };
  781. cp_clk: cp_clk {
  782. compatible = "fixed-factor-clock";
  783. clocks = <&extal_clk>;
  784. #clock-cells = <0>;
  785. clock-div = <2>;
  786. clock-mult = <1>;
  787. clock-output-names = "cp";
  788. };
  789. /* Gate clocks */
  790. mstp0_clks: mstp0_clks@e6150130 {
  791. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  792. reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
  793. clocks = <&mp_clk>;
  794. #clock-cells = <1>;
  795. renesas,clock-indices = <R8A7790_CLK_MSIOF0>;
  796. clock-output-names = "msiof0";
  797. };
  798. mstp1_clks: mstp1_clks@e6150134 {
  799. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  800. reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
  801. clocks = <&m2_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
  802. <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>,
  803. <&zs_clk>;
  804. #clock-cells = <1>;
  805. renesas,clock-indices = <
  806. R8A7790_CLK_JPU R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2
  807. R8A7790_CLK_CMT0 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1
  808. R8A7790_CLK_VSP1_DU0 R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S
  809. >;
  810. clock-output-names =
  811. "jpu", "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
  812. "vsp1-du0", "vsp1-rt", "vsp1-sy";
  813. };
  814. mstp2_clks: mstp2_clks@e6150138 {
  815. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  816. reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
  817. clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
  818. <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&zs_clk>,
  819. <&zs_clk>;
  820. #clock-cells = <1>;
  821. renesas,clock-indices = <
  822. R8A7790_CLK_SCIFA2 R8A7790_CLK_SCIFA1 R8A7790_CLK_SCIFA0
  823. R8A7790_CLK_MSIOF2 R8A7790_CLK_SCIFB0 R8A7790_CLK_SCIFB1
  824. R8A7790_CLK_MSIOF1 R8A7790_CLK_MSIOF3 R8A7790_CLK_SCIFB2
  825. R8A7790_CLK_SYS_DMAC1 R8A7790_CLK_SYS_DMAC0
  826. >;
  827. clock-output-names =
  828. "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
  829. "scifb1", "msiof1", "msiof3", "scifb2",
  830. "sys-dmac1", "sys-dmac0";
  831. };
  832. mstp3_clks: mstp3_clks@e615013c {
  833. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  834. reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
  835. clocks = <&hp_clk>, <&cp_clk>, <&mmc1_clk>, <&sd3_clk>,
  836. <&sd2_clk>, <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, <&mmc0_clk>,
  837. <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>;
  838. #clock-cells = <1>;
  839. renesas,clock-indices = <
  840. R8A7790_CLK_IIC2 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
  841. R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 R8A7790_CLK_MMCIF0
  842. R8A7790_CLK_IIC0 R8A7790_CLK_PCIEC R8A7790_CLK_IIC1 R8A7790_CLK_SSUSB R8A7790_CLK_CMT1
  843. >;
  844. clock-output-names =
  845. "iic2", "tpu0", "mmcif1", "sdhi3",
  846. "sdhi2", "sdhi1", "sdhi0", "mmcif0",
  847. "iic0", "pciec", "iic1", "ssusb", "cmt1";
  848. };
  849. mstp5_clks: mstp5_clks@e6150144 {
  850. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  851. reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
  852. clocks = <&extal_clk>, <&p_clk>;
  853. #clock-cells = <1>;
  854. renesas,clock-indices = <R8A7790_CLK_THERMAL R8A7790_CLK_PWM>;
  855. clock-output-names = "thermal", "pwm";
  856. };
  857. mstp7_clks: mstp7_clks@e615014c {
  858. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  859. reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
  860. clocks = <&mp_clk>, <&mp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
  861. <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>,
  862. <&zx_clk>;
  863. #clock-cells = <1>;
  864. renesas,clock-indices = <
  865. R8A7790_CLK_EHCI R8A7790_CLK_HSUSB R8A7790_CLK_HSCIF1
  866. R8A7790_CLK_HSCIF0 R8A7790_CLK_SCIF1 R8A7790_CLK_SCIF0
  867. R8A7790_CLK_DU2 R8A7790_CLK_DU1 R8A7790_CLK_DU0
  868. R8A7790_CLK_LVDS1 R8A7790_CLK_LVDS0
  869. >;
  870. clock-output-names =
  871. "ehci", "hsusb", "hscif1", "hscif0", "scif1",
  872. "scif0", "du2", "du1", "du0", "lvds1", "lvds0";
  873. };
  874. mstp8_clks: mstp8_clks@e6150990 {
  875. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  876. reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
  877. clocks = <&zg_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>, <&p_clk>,
  878. <&zs_clk>, <&zs_clk>;
  879. #clock-cells = <1>;
  880. renesas,clock-indices = <
  881. R8A7790_CLK_VIN3 R8A7790_CLK_VIN2 R8A7790_CLK_VIN1
  882. R8A7790_CLK_VIN0 R8A7790_CLK_ETHER R8A7790_CLK_SATA1
  883. R8A7790_CLK_SATA0
  884. >;
  885. clock-output-names =
  886. "vin3", "vin2", "vin1", "vin0", "ether", "sata1", "sata0";
  887. };
  888. mstp9_clks: mstp9_clks@e6150994 {
  889. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  890. reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
  891. clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>,
  892. <&cp_clk>, <&cp_clk>, <&cp_clk>,
  893. <&p_clk>, <&p_clk>, <&cpg_clocks R8A7790_CLK_QSPI>, <&cp_clk>,
  894. <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
  895. #clock-cells = <1>;
  896. renesas,clock-indices = <
  897. R8A7790_CLK_GPIO5 R8A7790_CLK_GPIO4 R8A7790_CLK_GPIO3
  898. R8A7790_CLK_GPIO2 R8A7790_CLK_GPIO1 R8A7790_CLK_GPIO0
  899. R8A7790_CLK_RCAN1 R8A7790_CLK_RCAN0 R8A7790_CLK_QSPI_MOD R8A7790_CLK_IICDVFS
  900. R8A7790_CLK_I2C3 R8A7790_CLK_I2C2 R8A7790_CLK_I2C1 R8A7790_CLK_I2C0
  901. >;
  902. clock-output-names =
  903. "gpio5", "gpio4", "gpio3", "gpio2", "gpio1", "gpio0",
  904. "rcan1", "rcan0", "qspi_mod", "iic3",
  905. "i2c3", "i2c2", "i2c1", "i2c0";
  906. };
  907. mstp10_clks: mstp10_clks@e6150998 {
  908. compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
  909. reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
  910. clocks = <&p_clk>,
  911. <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
  912. <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
  913. <&p_clk>,
  914. <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
  915. <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
  916. <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
  917. <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
  918. <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
  919. <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>;
  920. #clock-cells = <1>;
  921. clock-indices = <
  922. R8A7790_CLK_SSI_ALL
  923. R8A7790_CLK_SSI9 R8A7790_CLK_SSI8 R8A7790_CLK_SSI7 R8A7790_CLK_SSI6 R8A7790_CLK_SSI5
  924. R8A7790_CLK_SSI4 R8A7790_CLK_SSI3 R8A7790_CLK_SSI2 R8A7790_CLK_SSI1 R8A7790_CLK_SSI0
  925. R8A7790_CLK_SCU_ALL
  926. R8A7790_CLK_SCU_DVC1 R8A7790_CLK_SCU_DVC0
  927. R8A7790_CLK_SCU_SRC9 R8A7790_CLK_SCU_SRC8 R8A7790_CLK_SCU_SRC7 R8A7790_CLK_SCU_SRC6 R8A7790_CLK_SCU_SRC5
  928. R8A7790_CLK_SCU_SRC4 R8A7790_CLK_SCU_SRC3 R8A7790_CLK_SCU_SRC2 R8A7790_CLK_SCU_SRC1 R8A7790_CLK_SCU_SRC0
  929. >;
  930. clock-output-names =
  931. "ssi-all",
  932. "ssi9", "ssi8", "ssi7", "ssi6", "ssi5",
  933. "ssi4", "ssi3", "ssi2", "ssi1", "ssi0",
  934. "scu-all",
  935. "scu-dvc1", "scu-dvc0",
  936. "scu-src9", "scu-src8", "scu-src7", "scu-src6", "scu-src5",
  937. "scu-src4", "scu-src3", "scu-src2", "scu-src1", "scu-src0";
  938. };
  939. };
  940. qspi: spi@e6b10000 {
  941. compatible = "renesas,qspi-r8a7790", "renesas,qspi";
  942. reg = <0 0xe6b10000 0 0x2c>;
  943. interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
  944. clocks = <&mstp9_clks R8A7790_CLK_QSPI_MOD>;
  945. dmas = <&dmac0 0x17>, <&dmac0 0x18>;
  946. dma-names = "tx", "rx";
  947. num-cs = <1>;
  948. #address-cells = <1>;
  949. #size-cells = <0>;
  950. status = "disabled";
  951. };
  952. msiof0: spi@e6e20000 {
  953. compatible = "renesas,msiof-r8a7790";
  954. reg = <0 0xe6e20000 0 0x0064>, <0 0xe7e20000 0 0x0064>;
  955. interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
  956. clocks = <&mstp0_clks R8A7790_CLK_MSIOF0>;
  957. dmas = <&dmac0 0x51>, <&dmac0 0x52>;
  958. dma-names = "tx", "rx";
  959. #address-cells = <1>;
  960. #size-cells = <0>;
  961. status = "disabled";
  962. };
  963. msiof1: spi@e6e10000 {
  964. compatible = "renesas,msiof-r8a7790";
  965. reg = <0 0xe6e10000 0 0x0064>, <0 0xe7e10000 0 0x0064>;
  966. interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>;
  967. clocks = <&mstp2_clks R8A7790_CLK_MSIOF1>;
  968. dmas = <&dmac0 0x55>, <&dmac0 0x56>;
  969. dma-names = "tx", "rx";
  970. #address-cells = <1>;
  971. #size-cells = <0>;
  972. status = "disabled";
  973. };
  974. msiof2: spi@e6e00000 {
  975. compatible = "renesas,msiof-r8a7790";
  976. reg = <0 0xe6e00000 0 0x0064>, <0 0xe7e00000 0 0x0064>;
  977. interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>;
  978. clocks = <&mstp2_clks R8A7790_CLK_MSIOF2>;
  979. dmas = <&dmac0 0x41>, <&dmac0 0x42>;
  980. dma-names = "tx", "rx";
  981. #address-cells = <1>;
  982. #size-cells = <0>;
  983. status = "disabled";
  984. };
  985. msiof3: spi@e6c90000 {
  986. compatible = "renesas,msiof-r8a7790";
  987. reg = <0 0xe6c90000 0 0x0064>, <0 0xe7c90000 0 0x0064>;
  988. interrupts = <0 159 IRQ_TYPE_LEVEL_HIGH>;
  989. clocks = <&mstp2_clks R8A7790_CLK_MSIOF3>;
  990. dmas = <&dmac0 0x45>, <&dmac0 0x46>;
  991. dma-names = "tx", "rx";
  992. #address-cells = <1>;
  993. #size-cells = <0>;
  994. status = "disabled";
  995. };
  996. pci0: pci@ee090000 {
  997. compatible = "renesas,pci-r8a7790";
  998. device_type = "pci";
  999. clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
  1000. reg = <0 0xee090000 0 0xc00>,
  1001. <0 0xee080000 0 0x1100>;
  1002. interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
  1003. status = "disabled";
  1004. bus-range = <0 0>;
  1005. #address-cells = <3>;
  1006. #size-cells = <2>;
  1007. #interrupt-cells = <1>;
  1008. ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
  1009. interrupt-map-mask = <0xff00 0 0 0x7>;
  1010. interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
  1011. 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
  1012. 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>;
  1013. };
  1014. pci1: pci@ee0b0000 {
  1015. compatible = "renesas,pci-r8a7790";
  1016. device_type = "pci";
  1017. clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
  1018. reg = <0 0xee0b0000 0 0xc00>,
  1019. <0 0xee0a0000 0 0x1100>;
  1020. interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>;
  1021. status = "disabled";
  1022. bus-range = <1 1>;
  1023. #address-cells = <3>;
  1024. #size-cells = <2>;
  1025. #interrupt-cells = <1>;
  1026. ranges = <0x02000000 0 0xee0a0000 0 0xee0a0000 0 0x00010000>;
  1027. interrupt-map-mask = <0xff00 0 0 0x7>;
  1028. interrupt-map = <0x0000 0 0 1 &gic 0 112 IRQ_TYPE_LEVEL_HIGH
  1029. 0x0800 0 0 1 &gic 0 112 IRQ_TYPE_LEVEL_HIGH
  1030. 0x1000 0 0 2 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>;
  1031. };
  1032. pci2: pci@ee0d0000 {
  1033. compatible = "renesas,pci-r8a7790";
  1034. device_type = "pci";
  1035. clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
  1036. reg = <0 0xee0d0000 0 0xc00>,
  1037. <0 0xee0c0000 0 0x1100>;
  1038. interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>;
  1039. status = "disabled";
  1040. bus-range = <2 2>;
  1041. #address-cells = <3>;
  1042. #size-cells = <2>;
  1043. #interrupt-cells = <1>;
  1044. ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
  1045. interrupt-map-mask = <0xff00 0 0 0x7>;
  1046. interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH
  1047. 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH
  1048. 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
  1049. };
  1050. pciec: pcie@fe000000 {
  1051. compatible = "renesas,pcie-r8a7790";
  1052. reg = <0 0xfe000000 0 0x80000>;
  1053. #address-cells = <3>;
  1054. #size-cells = <2>;
  1055. bus-range = <0x00 0xff>;
  1056. device_type = "pci";
  1057. ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
  1058. 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
  1059. 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
  1060. 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
  1061. /* Map all possible DDR as inbound ranges */
  1062. dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
  1063. 0x43000000 1 0x80000000 1 0x80000000 0 0x80000000>;
  1064. interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>,
  1065. <0 117 IRQ_TYPE_LEVEL_HIGH>,
  1066. <0 118 IRQ_TYPE_LEVEL_HIGH>;
  1067. #interrupt-cells = <1>;
  1068. interrupt-map-mask = <0 0 0 0>;
  1069. interrupt-map = <0 0 0 0 &gic 0 116 IRQ_TYPE_LEVEL_HIGH>;
  1070. clocks = <&mstp3_clks R8A7790_CLK_PCIEC>, <&pcie_bus_clk>;
  1071. clock-names = "pcie", "pcie_bus";
  1072. status = "disabled";
  1073. };
  1074. rcar_sound: rcar_sound@0xec500000 {
  1075. #sound-dai-cells = <1>;
  1076. compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2", "renesas,rcar_sound";
  1077. reg = <0 0xec500000 0 0x1000>, /* SCU */
  1078. <0 0xec5a0000 0 0x100>, /* ADG */
  1079. <0 0xec540000 0 0x1000>, /* SSIU */
  1080. <0 0xec541000 0 0x1280>; /* SSI */
  1081. clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>,
  1082. <&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>,
  1083. <&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>,
  1084. <&mstp10_clks R8A7790_CLK_SSI5>, <&mstp10_clks R8A7790_CLK_SSI4>,
  1085. <&mstp10_clks R8A7790_CLK_SSI3>, <&mstp10_clks R8A7790_CLK_SSI2>,
  1086. <&mstp10_clks R8A7790_CLK_SSI1>, <&mstp10_clks R8A7790_CLK_SSI0>,
  1087. <&mstp10_clks R8A7790_CLK_SCU_SRC9>, <&mstp10_clks R8A7790_CLK_SCU_SRC8>,
  1088. <&mstp10_clks R8A7790_CLK_SCU_SRC7>, <&mstp10_clks R8A7790_CLK_SCU_SRC6>,
  1089. <&mstp10_clks R8A7790_CLK_SCU_SRC5>, <&mstp10_clks R8A7790_CLK_SCU_SRC4>,
  1090. <&mstp10_clks R8A7790_CLK_SCU_SRC3>, <&mstp10_clks R8A7790_CLK_SCU_SRC2>,
  1091. <&mstp10_clks R8A7790_CLK_SCU_SRC1>, <&mstp10_clks R8A7790_CLK_SCU_SRC0>,
  1092. <&mstp10_clks R8A7790_CLK_SCU_DVC0>, <&mstp10_clks R8A7790_CLK_SCU_DVC1>,
  1093. <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>;
  1094. clock-names = "ssi-all",
  1095. "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
  1096. "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
  1097. "src.9", "src.8", "src.7", "src.6", "src.5",
  1098. "src.4", "src.3", "src.2", "src.1", "src.0",
  1099. "dvc.0", "dvc.1",
  1100. "clk_a", "clk_b", "clk_c", "clk_i";
  1101. status = "disabled";
  1102. rcar_sound,dvc {
  1103. dvc0: dvc@0 { };
  1104. dvc1: dvc@1 { };
  1105. };
  1106. rcar_sound,src {
  1107. src0: src@0 { };
  1108. src1: src@1 { };
  1109. src2: src@2 { };
  1110. src3: src@3 { };
  1111. src4: src@4 { };
  1112. src5: src@5 { };
  1113. src6: src@6 { };
  1114. src7: src@7 { };
  1115. src8: src@8 { };
  1116. src9: src@9 { };
  1117. };
  1118. rcar_sound,ssi {
  1119. ssi0: ssi@0 { interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; };
  1120. ssi1: ssi@1 { interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; };
  1121. ssi2: ssi@2 { interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; };
  1122. ssi3: ssi@3 { interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; };
  1123. ssi4: ssi@4 { interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; };
  1124. ssi5: ssi@5 { interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; };
  1125. ssi6: ssi@6 { interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; };
  1126. ssi7: ssi@7 { interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; };
  1127. ssi8: ssi@8 { interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; };
  1128. ssi9: ssi@9 { interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; };
  1129. };
  1130. };
  1131. };