r8a73a4.dtsi 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for the r8a73a4 SoC
  4. *
  5. * Copyright (C) 2013 Renesas Solutions Corp.
  6. * Copyright (C) 2013 Magnus Damm
  7. */
  8. #include <dt-bindings/clock/r8a73a4-clock.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. / {
  12. compatible = "renesas,r8a73a4";
  13. interrupt-parent = <&gic>;
  14. #address-cells = <2>;
  15. #size-cells = <2>;
  16. cpus {
  17. #address-cells = <1>;
  18. #size-cells = <0>;
  19. cpu0: cpu@0 {
  20. device_type = "cpu";
  21. compatible = "arm,cortex-a15";
  22. reg = <0>;
  23. clocks = <&cpg_clocks R8A73A4_CLK_Z>;
  24. clock-frequency = <1500000000>;
  25. power-domains = <&pd_a2sl>;
  26. next-level-cache = <&L2_CA15>;
  27. };
  28. L2_CA15: cache-controller-0 {
  29. compatible = "cache";
  30. clocks = <&cpg_clocks R8A73A4_CLK_Z>;
  31. power-domains = <&pd_a3sm>;
  32. cache-unified;
  33. cache-level = <2>;
  34. };
  35. L2_CA7: cache-controller-1 {
  36. compatible = "cache";
  37. clocks = <&cpg_clocks R8A73A4_CLK_Z2>;
  38. power-domains = <&pd_a3km>;
  39. cache-unified;
  40. cache-level = <2>;
  41. };
  42. };
  43. ptm {
  44. compatible = "arm,coresight-etm3x";
  45. power-domains = <&pd_d4>;
  46. };
  47. timer {
  48. compatible = "arm,armv7-timer";
  49. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
  50. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
  51. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
  52. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
  53. };
  54. dbsc1: memory-controller@e6790000 {
  55. compatible = "renesas,dbsc-r8a73a4";
  56. reg = <0 0xe6790000 0 0x10000>;
  57. power-domains = <&pd_a3bc>;
  58. };
  59. dbsc2: memory-controller@e67a0000 {
  60. compatible = "renesas,dbsc-r8a73a4";
  61. reg = <0 0xe67a0000 0 0x10000>;
  62. power-domains = <&pd_a3bc>;
  63. };
  64. i2c5: i2c@e60b0000 {
  65. #address-cells = <1>;
  66. #size-cells = <0>;
  67. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  68. reg = <0 0xe60b0000 0 0x428>;
  69. interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
  70. clocks = <&mstp4_clks R8A73A4_CLK_IIC5>;
  71. power-domains = <&pd_a3sp>;
  72. status = "disabled";
  73. };
  74. cmt1: timer@e6130000 {
  75. compatible = "renesas,r8a73a4-cmt1", "renesas,rcar-gen2-cmt1";
  76. reg = <0 0xe6130000 0 0x1004>;
  77. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
  78. <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  79. <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
  80. <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
  81. <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
  82. <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
  83. <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
  84. <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
  85. clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
  86. clock-names = "fck";
  87. power-domains = <&pd_c5>;
  88. status = "disabled";
  89. };
  90. irqc0: interrupt-controller@e61c0000 {
  91. compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
  92. #interrupt-cells = <2>;
  93. interrupt-controller;
  94. reg = <0 0xe61c0000 0 0x200>;
  95. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  96. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  97. <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
  98. <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  99. <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
  100. <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
  101. <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
  102. <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  103. <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  104. <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  105. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
  106. <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
  107. <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
  108. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  109. <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
  110. <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
  111. <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
  112. <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
  113. <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
  114. <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
  115. <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
  116. <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
  117. <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
  118. <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
  119. <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
  120. <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
  121. <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
  122. <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
  123. <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
  124. <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
  125. <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
  126. <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  127. clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
  128. power-domains = <&pd_c4>;
  129. };
  130. irqc1: interrupt-controller@e61c0200 {
  131. compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
  132. #interrupt-cells = <2>;
  133. interrupt-controller;
  134. reg = <0 0xe61c0200 0 0x200>;
  135. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  136. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  137. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  138. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  139. <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
  140. <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
  141. <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
  142. <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
  143. <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
  144. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  145. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  146. <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
  147. <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
  148. <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
  149. <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
  150. <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
  151. <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
  152. <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
  153. <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
  154. <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
  155. <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
  156. <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  157. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
  158. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  159. <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
  160. <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  161. clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
  162. power-domains = <&pd_c4>;
  163. };
  164. pfc: pinctrl@e6050000 {
  165. compatible = "renesas,pfc-r8a73a4";
  166. reg = <0 0xe6050000 0 0x9000>;
  167. gpio-controller;
  168. #gpio-cells = <2>;
  169. gpio-ranges =
  170. <&pfc 0 0 31>, <&pfc 32 32 9>,
  171. <&pfc 64 64 22>, <&pfc 96 96 31>,
  172. <&pfc 128 128 7>, <&pfc 160 160 19>,
  173. <&pfc 192 192 31>, <&pfc 224 224 27>,
  174. <&pfc 256 256 28>, <&pfc 288 288 21>,
  175. <&pfc 320 320 10>;
  176. interrupts-extended =
  177. <&irqc0 0 0>, <&irqc0 1 0>, <&irqc0 2 0>, <&irqc0 3 0>,
  178. <&irqc0 4 0>, <&irqc0 5 0>, <&irqc0 6 0>, <&irqc0 7 0>,
  179. <&irqc0 8 0>, <&irqc0 9 0>, <&irqc0 10 0>, <&irqc0 11 0>,
  180. <&irqc0 12 0>, <&irqc0 13 0>, <&irqc0 14 0>, <&irqc0 15 0>,
  181. <&irqc0 16 0>, <&irqc0 17 0>, <&irqc0 18 0>, <&irqc0 19 0>,
  182. <&irqc0 20 0>, <&irqc0 21 0>, <&irqc0 22 0>, <&irqc0 23 0>,
  183. <&irqc0 24 0>, <&irqc0 25 0>, <&irqc0 26 0>, <&irqc0 27 0>,
  184. <&irqc0 28 0>, <&irqc0 29 0>, <&irqc0 30 0>, <&irqc0 31 0>,
  185. <&irqc1 0 0>, <&irqc1 1 0>, <&irqc1 2 0>, <&irqc1 3 0>,
  186. <&irqc1 4 0>, <&irqc1 5 0>, <&irqc1 6 0>, <&irqc1 7 0>,
  187. <&irqc1 8 0>, <&irqc1 9 0>, <&irqc1 10 0>, <&irqc1 11 0>,
  188. <&irqc1 12 0>, <&irqc1 13 0>, <&irqc1 14 0>, <&irqc1 15 0>,
  189. <&irqc1 16 0>, <&irqc1 17 0>, <&irqc1 18 0>, <&irqc1 19 0>,
  190. <&irqc1 20 0>, <&irqc1 21 0>, <&irqc1 22 0>, <&irqc1 23 0>,
  191. <&irqc1 24 0>, <&irqc1 25 0>;
  192. power-domains = <&pd_c5>;
  193. };
  194. thermal@e61f0000 {
  195. compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
  196. reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>,
  197. <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>;
  198. interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  199. clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>;
  200. power-domains = <&pd_c5>;
  201. };
  202. i2c0: i2c@e6500000 {
  203. #address-cells = <1>;
  204. #size-cells = <0>;
  205. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  206. reg = <0 0xe6500000 0 0x428>;
  207. interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
  208. clocks = <&mstp3_clks R8A73A4_CLK_IIC0>;
  209. power-domains = <&pd_a3sp>;
  210. status = "disabled";
  211. };
  212. i2c1: i2c@e6510000 {
  213. #address-cells = <1>;
  214. #size-cells = <0>;
  215. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  216. reg = <0 0xe6510000 0 0x428>;
  217. interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
  218. clocks = <&mstp3_clks R8A73A4_CLK_IIC1>;
  219. power-domains = <&pd_a3sp>;
  220. status = "disabled";
  221. };
  222. i2c2: i2c@e6520000 {
  223. #address-cells = <1>;
  224. #size-cells = <0>;
  225. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  226. reg = <0 0xe6520000 0 0x428>;
  227. interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
  228. clocks = <&mstp3_clks R8A73A4_CLK_IIC2>;
  229. power-domains = <&pd_a3sp>;
  230. status = "disabled";
  231. };
  232. i2c3: i2c@e6530000 {
  233. #address-cells = <1>;
  234. #size-cells = <0>;
  235. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  236. reg = <0 0xe6530000 0 0x428>;
  237. interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
  238. clocks = <&mstp4_clks R8A73A4_CLK_IIC3>;
  239. power-domains = <&pd_a3sp>;
  240. status = "disabled";
  241. };
  242. i2c4: i2c@e6540000 {
  243. #address-cells = <1>;
  244. #size-cells = <0>;
  245. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  246. reg = <0 0xe6540000 0 0x428>;
  247. interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
  248. clocks = <&mstp4_clks R8A73A4_CLK_IIC4>;
  249. power-domains = <&pd_a3sp>;
  250. status = "disabled";
  251. };
  252. i2c6: i2c@e6550000 {
  253. #address-cells = <1>;
  254. #size-cells = <0>;
  255. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  256. reg = <0 0xe6550000 0 0x428>;
  257. interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
  258. clocks = <&mstp3_clks R8A73A4_CLK_IIC6>;
  259. power-domains = <&pd_a3sp>;
  260. status = "disabled";
  261. };
  262. i2c7: i2c@e6560000 {
  263. #address-cells = <1>;
  264. #size-cells = <0>;
  265. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  266. reg = <0 0xe6560000 0 0x428>;
  267. interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
  268. clocks = <&mstp3_clks R8A73A4_CLK_IIC7>;
  269. power-domains = <&pd_a3sp>;
  270. status = "disabled";
  271. };
  272. i2c8: i2c@e6570000 {
  273. #address-cells = <1>;
  274. #size-cells = <0>;
  275. compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
  276. reg = <0 0xe6570000 0 0x428>;
  277. interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
  278. clocks = <&mstp5_clks R8A73A4_CLK_IIC8>;
  279. power-domains = <&pd_a3sp>;
  280. status = "disabled";
  281. };
  282. scifb0: serial@e6c20000 {
  283. compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
  284. reg = <0 0xe6c20000 0 0x100>;
  285. interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
  286. clocks = <&mstp2_clks R8A73A4_CLK_SCIFB0>;
  287. clock-names = "fck";
  288. power-domains = <&pd_a3sp>;
  289. status = "disabled";
  290. };
  291. scifb1: serial@e6c30000 {
  292. compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
  293. reg = <0 0xe6c30000 0 0x100>;
  294. interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
  295. clocks = <&mstp2_clks R8A73A4_CLK_SCIFB1>;
  296. clock-names = "fck";
  297. power-domains = <&pd_a3sp>;
  298. status = "disabled";
  299. };
  300. scifa0: serial@e6c40000 {
  301. compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
  302. reg = <0 0xe6c40000 0 0x100>;
  303. interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
  304. clocks = <&mstp2_clks R8A73A4_CLK_SCIFA0>;
  305. clock-names = "fck";
  306. power-domains = <&pd_a3sp>;
  307. status = "disabled";
  308. };
  309. scifa1: serial@e6c50000 {
  310. compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
  311. reg = <0 0xe6c50000 0 0x100>;
  312. interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
  313. clocks = <&mstp2_clks R8A73A4_CLK_SCIFA1>;
  314. clock-names = "fck";
  315. power-domains = <&pd_a3sp>;
  316. status = "disabled";
  317. };
  318. scifb2: serial@e6ce0000 {
  319. compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
  320. reg = <0 0xe6ce0000 0 0x100>;
  321. interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
  322. clocks = <&mstp2_clks R8A73A4_CLK_SCIFB2>;
  323. clock-names = "fck";
  324. power-domains = <&pd_a3sp>;
  325. status = "disabled";
  326. };
  327. scifb3: serial@e6cf0000 {
  328. compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
  329. reg = <0 0xe6cf0000 0 0x100>;
  330. interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
  331. clocks = <&mstp2_clks R8A73A4_CLK_SCIFB3>;
  332. clock-names = "fck";
  333. power-domains = <&pd_c4>;
  334. status = "disabled";
  335. };
  336. sdhi0: mmc@ee100000 {
  337. compatible = "renesas,sdhi-r8a73a4";
  338. reg = <0 0xee100000 0 0x100>;
  339. interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
  340. clocks = <&mstp3_clks R8A73A4_CLK_SDHI0>;
  341. power-domains = <&pd_a3sp>;
  342. cap-sd-highspeed;
  343. status = "disabled";
  344. };
  345. sdhi1: mmc@ee120000 {
  346. compatible = "renesas,sdhi-r8a73a4";
  347. reg = <0 0xee120000 0 0x100>;
  348. interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
  349. clocks = <&mstp3_clks R8A73A4_CLK_SDHI1>;
  350. power-domains = <&pd_a3sp>;
  351. cap-sd-highspeed;
  352. status = "disabled";
  353. };
  354. sdhi2: mmc@ee140000 {
  355. compatible = "renesas,sdhi-r8a73a4";
  356. reg = <0 0xee140000 0 0x100>;
  357. interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
  358. clocks = <&mstp3_clks R8A73A4_CLK_SDHI2>;
  359. power-domains = <&pd_a3sp>;
  360. cap-sd-highspeed;
  361. status = "disabled";
  362. };
  363. mmcif0: mmc@ee200000 {
  364. compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
  365. reg = <0 0xee200000 0 0x80>;
  366. interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
  367. clocks = <&mstp3_clks R8A73A4_CLK_MMCIF0>;
  368. power-domains = <&pd_a3sp>;
  369. reg-io-width = <4>;
  370. status = "disabled";
  371. };
  372. mmcif1: mmc@ee220000 {
  373. compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
  374. reg = <0 0xee220000 0 0x80>;
  375. interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
  376. clocks = <&mstp3_clks R8A73A4_CLK_MMCIF1>;
  377. power-domains = <&pd_a3sp>;
  378. reg-io-width = <4>;
  379. status = "disabled";
  380. };
  381. gic: interrupt-controller@f1001000 {
  382. compatible = "arm,gic-400";
  383. #interrupt-cells = <3>;
  384. #address-cells = <0>;
  385. interrupt-controller;
  386. reg = <0 0xf1001000 0 0x1000>,
  387. <0 0xf1002000 0 0x2000>,
  388. <0 0xf1004000 0 0x2000>,
  389. <0 0xf1006000 0 0x2000>;
  390. interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
  391. clocks = <&mstp4_clks R8A73A4_CLK_INTC_SYS>;
  392. clock-names = "clk";
  393. power-domains = <&pd_c4>;
  394. };
  395. bsc: bus@fec10000 {
  396. compatible = "renesas,bsc-r8a73a4", "renesas,bsc",
  397. "simple-pm-bus";
  398. #address-cells = <1>;
  399. #size-cells = <1>;
  400. ranges = <0 0 0 0x20000000>;
  401. reg = <0 0xfec10000 0 0x400>;
  402. clocks = <&zb_clk>;
  403. power-domains = <&pd_c4>;
  404. };
  405. clocks {
  406. #address-cells = <2>;
  407. #size-cells = <2>;
  408. ranges;
  409. /* External root clocks */
  410. extalr_clk: extalr {
  411. compatible = "fixed-clock";
  412. #clock-cells = <0>;
  413. clock-frequency = <32768>;
  414. };
  415. extal1_clk: extal1 {
  416. compatible = "fixed-clock";
  417. #clock-cells = <0>;
  418. clock-frequency = <25000000>;
  419. };
  420. extal2_clk: extal2 {
  421. compatible = "fixed-clock";
  422. #clock-cells = <0>;
  423. clock-frequency = <48000000>;
  424. };
  425. fsiack_clk: fsiack {
  426. compatible = "fixed-clock";
  427. #clock-cells = <0>;
  428. /* This value must be overridden by the board. */
  429. clock-frequency = <0>;
  430. };
  431. fsibck_clk: fsibck {
  432. compatible = "fixed-clock";
  433. #clock-cells = <0>;
  434. /* This value must be overridden by the board. */
  435. clock-frequency = <0>;
  436. };
  437. /* Special CPG clocks */
  438. cpg_clocks: cpg_clocks@e6150000 {
  439. compatible = "renesas,r8a73a4-cpg-clocks";
  440. reg = <0 0xe6150000 0 0x10000>;
  441. clocks = <&extal1_clk>, <&extal2_clk>;
  442. #clock-cells = <1>;
  443. clock-output-names = "main", "pll0", "pll1", "pll2",
  444. "pll2s", "pll2h", "z", "z2",
  445. "i", "m3", "b", "m1", "m2",
  446. "zx", "zs", "hp";
  447. };
  448. /* Variable factor clocks (DIV6) */
  449. zb_clk: zb_clk@e6150010 {
  450. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  451. reg = <0 0xe6150010 0 4>;
  452. clocks = <&pll1_div2_clk>, <0>,
  453. <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
  454. #clock-cells = <0>;
  455. clock-output-names = "zb";
  456. };
  457. sdhi0_clk: sdhi0ck@e6150074 {
  458. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  459. reg = <0 0xe6150074 0 4>;
  460. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  461. <0>, <&extal2_clk>;
  462. #clock-cells = <0>;
  463. };
  464. sdhi1_clk: sdhi1ck@e6150078 {
  465. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  466. reg = <0 0xe6150078 0 4>;
  467. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  468. <0>, <&extal2_clk>;
  469. #clock-cells = <0>;
  470. };
  471. sdhi2_clk: sdhi2ck@e615007c {
  472. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  473. reg = <0 0xe615007c 0 4>;
  474. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  475. <0>, <&extal2_clk>;
  476. #clock-cells = <0>;
  477. };
  478. mmc0_clk: mmc0@e6150240 {
  479. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  480. reg = <0 0xe6150240 0 4>;
  481. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  482. <0>, <&extal2_clk>;
  483. #clock-cells = <0>;
  484. };
  485. mmc1_clk: mmc1@e6150244 {
  486. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  487. reg = <0 0xe6150244 0 4>;
  488. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  489. <0>, <&extal2_clk>;
  490. #clock-cells = <0>;
  491. };
  492. vclk1_clk: vclk1@e6150008 {
  493. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  494. reg = <0 0xe6150008 0 4>;
  495. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  496. <0>, <&extal2_clk>, <&main_div2_clk>,
  497. <&extalr_clk>, <0>, <0>;
  498. #clock-cells = <0>;
  499. };
  500. vclk2_clk: vclk2@e615000c {
  501. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  502. reg = <0 0xe615000c 0 4>;
  503. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  504. <0>, <&extal2_clk>, <&main_div2_clk>,
  505. <&extalr_clk>, <0>, <0>;
  506. #clock-cells = <0>;
  507. };
  508. vclk3_clk: vclk3@e615001c {
  509. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  510. reg = <0 0xe615001c 0 4>;
  511. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  512. <0>, <&extal2_clk>, <&main_div2_clk>,
  513. <&extalr_clk>, <0>, <0>;
  514. #clock-cells = <0>;
  515. };
  516. vclk4_clk: vclk4@e6150014 {
  517. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  518. reg = <0 0xe6150014 0 4>;
  519. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  520. <0>, <&extal2_clk>, <&main_div2_clk>,
  521. <&extalr_clk>, <0>, <0>;
  522. #clock-cells = <0>;
  523. };
  524. vclk5_clk: vclk5@e6150034 {
  525. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  526. reg = <0 0xe6150034 0 4>;
  527. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  528. <0>, <&extal2_clk>, <&main_div2_clk>,
  529. <&extalr_clk>, <0>, <0>;
  530. #clock-cells = <0>;
  531. };
  532. fsia_clk: fsia@e6150018 {
  533. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  534. reg = <0 0xe6150018 0 4>;
  535. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  536. <&fsiack_clk>, <0>;
  537. #clock-cells = <0>;
  538. };
  539. fsib_clk: fsib@e6150090 {
  540. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  541. reg = <0 0xe6150090 0 4>;
  542. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  543. <&fsibck_clk>, <0>;
  544. #clock-cells = <0>;
  545. };
  546. mp_clk: mp@e6150080 {
  547. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  548. reg = <0 0xe6150080 0 4>;
  549. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  550. <&extal2_clk>, <&extal2_clk>;
  551. #clock-cells = <0>;
  552. };
  553. m4_clk: m4@e6150098 {
  554. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  555. reg = <0 0xe6150098 0 4>;
  556. clocks = <&cpg_clocks R8A73A4_CLK_PLL2S>;
  557. #clock-cells = <0>;
  558. };
  559. hsi_clk: hsi@e615026c {
  560. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  561. reg = <0 0xe615026c 0 4>;
  562. clocks = <&cpg_clocks R8A73A4_CLK_PLL2H>, <&pll1_div2_clk>,
  563. <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
  564. #clock-cells = <0>;
  565. };
  566. spuv_clk: spuv@e6150094 {
  567. compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
  568. reg = <0 0xe6150094 0 4>;
  569. clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
  570. <&extal2_clk>, <&extal2_clk>;
  571. #clock-cells = <0>;
  572. };
  573. /* Fixed factor clocks */
  574. main_div2_clk: main_div2 {
  575. compatible = "fixed-factor-clock";
  576. clocks = <&cpg_clocks R8A73A4_CLK_MAIN>;
  577. #clock-cells = <0>;
  578. clock-div = <2>;
  579. clock-mult = <1>;
  580. };
  581. pll0_div2_clk: pll0_div2 {
  582. compatible = "fixed-factor-clock";
  583. clocks = <&cpg_clocks R8A73A4_CLK_PLL0>;
  584. #clock-cells = <0>;
  585. clock-div = <2>;
  586. clock-mult = <1>;
  587. };
  588. pll1_div2_clk: pll1_div2 {
  589. compatible = "fixed-factor-clock";
  590. clocks = <&cpg_clocks R8A73A4_CLK_PLL1>;
  591. #clock-cells = <0>;
  592. clock-div = <2>;
  593. clock-mult = <1>;
  594. };
  595. extal1_div2_clk: extal1_div2 {
  596. compatible = "fixed-factor-clock";
  597. clocks = <&extal1_clk>;
  598. #clock-cells = <0>;
  599. clock-div = <2>;
  600. clock-mult = <1>;
  601. };
  602. /* Gate clocks */
  603. mstp2_clks: mstp2_clks@e6150138 {
  604. compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
  605. reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
  606. clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
  607. <&mp_clk>, <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
  608. #clock-cells = <1>;
  609. clock-indices = <
  610. R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
  611. R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
  612. R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
  613. R8A73A4_CLK_DMAC
  614. >;
  615. clock-output-names =
  616. "scifa0", "scifa1", "scifb0", "scifb1",
  617. "scifb2", "scifb3", "dmac";
  618. };
  619. mstp3_clks: mstp3_clks@e615013c {
  620. compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
  621. reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
  622. clocks = <&cpg_clocks R8A73A4_CLK_HP>, <&mmc1_clk>,
  623. <&sdhi2_clk>, <&sdhi1_clk>, <&sdhi0_clk>,
  624. <&mmc0_clk>, <&cpg_clocks R8A73A4_CLK_HP>,
  625. <&cpg_clocks R8A73A4_CLK_HP>, <&cpg_clocks
  626. R8A73A4_CLK_HP>, <&cpg_clocks
  627. R8A73A4_CLK_HP>, <&extalr_clk>;
  628. #clock-cells = <1>;
  629. clock-indices = <
  630. R8A73A4_CLK_IIC2 R8A73A4_CLK_MMCIF1
  631. R8A73A4_CLK_SDHI2 R8A73A4_CLK_SDHI1
  632. R8A73A4_CLK_SDHI0 R8A73A4_CLK_MMCIF0
  633. R8A73A4_CLK_IIC6 R8A73A4_CLK_IIC7
  634. R8A73A4_CLK_IIC0 R8A73A4_CLK_IIC1
  635. R8A73A4_CLK_CMT1
  636. >;
  637. clock-output-names =
  638. "iic2", "mmcif1", "sdhi2", "sdhi1", "sdhi0",
  639. "mmcif0", "iic6", "iic7", "iic0", "iic1",
  640. "cmt1";
  641. };
  642. mstp4_clks: mstp4_clks@e6150140 {
  643. compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
  644. reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
  645. clocks = <&main_div2_clk>, <&cpg_clocks R8A73A4_CLK_ZS>,
  646. <&main_div2_clk>,
  647. <&cpg_clocks R8A73A4_CLK_HP>,
  648. <&cpg_clocks R8A73A4_CLK_HP>;
  649. #clock-cells = <1>;
  650. clock-indices = <
  651. R8A73A4_CLK_IRQC R8A73A4_CLK_INTC_SYS
  652. R8A73A4_CLK_IIC5 R8A73A4_CLK_IIC4
  653. R8A73A4_CLK_IIC3
  654. >;
  655. clock-output-names =
  656. "irqc", "intc-sys", "iic5", "iic4", "iic3";
  657. };
  658. mstp5_clks: mstp5_clks@e6150144 {
  659. compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
  660. reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
  661. clocks = <&extal2_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
  662. #clock-cells = <1>;
  663. clock-indices = <
  664. R8A73A4_CLK_THERMAL R8A73A4_CLK_IIC8
  665. >;
  666. clock-output-names =
  667. "thermal", "iic8";
  668. };
  669. };
  670. prr: chipid@ff000044 {
  671. compatible = "renesas,prr";
  672. reg = <0 0xff000044 0 4>;
  673. };
  674. sysc: system-controller@e6180000 {
  675. compatible = "renesas,sysc-r8a73a4", "renesas,sysc-rmobile";
  676. reg = <0 0xe6180000 0 0x8000>, <0 0xe6188000 0 0x8000>;
  677. pm-domains {
  678. pd_c5: c5 {
  679. #address-cells = <1>;
  680. #size-cells = <0>;
  681. #power-domain-cells = <0>;
  682. pd_c4: c4@0 {
  683. reg = <0>;
  684. #address-cells = <1>;
  685. #size-cells = <0>;
  686. #power-domain-cells = <0>;
  687. pd_a3sg: a3sg@16 {
  688. reg = <16>;
  689. #power-domain-cells = <0>;
  690. };
  691. pd_a3ex: a3ex@17 {
  692. reg = <17>;
  693. #power-domain-cells = <0>;
  694. };
  695. pd_a3sp: a3sp@18 {
  696. reg = <18>;
  697. #address-cells = <1>;
  698. #size-cells = <0>;
  699. #power-domain-cells = <0>;
  700. pd_a2us: a2us@19 {
  701. reg = <19>;
  702. #power-domain-cells = <0>;
  703. };
  704. };
  705. pd_a3sm: a3sm@20 {
  706. reg = <20>;
  707. #address-cells = <1>;
  708. #size-cells = <0>;
  709. #power-domain-cells = <0>;
  710. pd_a2sl: a2sl@21 {
  711. reg = <21>;
  712. #power-domain-cells = <0>;
  713. };
  714. };
  715. pd_a3km: a3km@22 {
  716. reg = <22>;
  717. #address-cells = <1>;
  718. #size-cells = <0>;
  719. #power-domain-cells = <0>;
  720. pd_a2kl: a2kl@23 {
  721. reg = <23>;
  722. #power-domain-cells = <0>;
  723. };
  724. };
  725. };
  726. pd_c4ma: c4ma@1 {
  727. reg = <1>;
  728. #power-domain-cells = <0>;
  729. };
  730. pd_c4cl: c4cl@2 {
  731. reg = <2>;
  732. #power-domain-cells = <0>;
  733. };
  734. pd_d4: d4@3 {
  735. reg = <3>;
  736. #power-domain-cells = <0>;
  737. };
  738. pd_a4bc: a4bc@4 {
  739. reg = <4>;
  740. #address-cells = <1>;
  741. #size-cells = <0>;
  742. #power-domain-cells = <0>;
  743. pd_a3bc: a3bc@5 {
  744. reg = <5>;
  745. #power-domain-cells = <0>;
  746. };
  747. };
  748. pd_a4l: a4l@6 {
  749. reg = <6>;
  750. #power-domain-cells = <0>;
  751. };
  752. pd_a4lc: a4lc@7 {
  753. reg = <7>;
  754. #power-domain-cells = <0>;
  755. };
  756. pd_a4mp: a4mp@8 {
  757. reg = <8>;
  758. #address-cells = <1>;
  759. #size-cells = <0>;
  760. #power-domain-cells = <0>;
  761. pd_a3mp: a3mp@9 {
  762. reg = <9>;
  763. #power-domain-cells = <0>;
  764. };
  765. pd_a3vc: a3vc@10 {
  766. reg = <10>;
  767. #power-domain-cells = <0>;
  768. };
  769. };
  770. pd_a4sf: a4sf@11 {
  771. reg = <11>;
  772. #power-domain-cells = <0>;
  773. };
  774. pd_a3r: a3r@12 {
  775. reg = <12>;
  776. #address-cells = <1>;
  777. #size-cells = <0>;
  778. #power-domain-cells = <0>;
  779. pd_a2rv: a2rv@13 {
  780. reg = <13>;
  781. #power-domain-cells = <0>;
  782. };
  783. pd_a2is: a2is@14 {
  784. reg = <14>;
  785. #power-domain-cells = <0>;
  786. };
  787. };
  788. };
  789. };
  790. };
  791. };