sh73a0.dtsi 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for the SH-Mobile AG5 (R8A73A00/SH73A0) SoC
  4. *
  5. * Copyright (C) 2012 Renesas Solutions Corp.
  6. */
  7. #include <dt-bindings/clock/sh73a0-clock.h>
  8. #include <dt-bindings/interrupt-controller/arm-gic.h>
  9. #include <dt-bindings/interrupt-controller/irq.h>
  10. / {
  11. compatible = "renesas,sh73a0";
  12. interrupt-parent = <&gic>;
  13. #address-cells = <1>;
  14. #size-cells = <1>;
  15. cpus {
  16. #address-cells = <1>;
  17. #size-cells = <0>;
  18. cpu0: cpu@0 {
  19. device_type = "cpu";
  20. compatible = "arm,cortex-a9";
  21. reg = <0>;
  22. clock-frequency = <1196000000>;
  23. clocks = <&cpg_clocks SH73A0_CLK_Z>;
  24. power-domains = <&pd_a2sl>;
  25. next-level-cache = <&L2>;
  26. };
  27. cpu1: cpu@1 {
  28. device_type = "cpu";
  29. compatible = "arm,cortex-a9";
  30. reg = <1>;
  31. clock-frequency = <1196000000>;
  32. clocks = <&cpg_clocks SH73A0_CLK_Z>;
  33. power-domains = <&pd_a2sl>;
  34. next-level-cache = <&L2>;
  35. };
  36. };
  37. timer@f0000200 {
  38. compatible = "arm,cortex-a9-global-timer";
  39. reg = <0xf0000200 0x100>;
  40. interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
  41. clocks = <&periph_clk>;
  42. };
  43. timer@f0000600 {
  44. compatible = "arm,cortex-a9-twd-timer";
  45. reg = <0xf0000600 0x20>;
  46. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
  47. clocks = <&periph_clk>;
  48. };
  49. gic: interrupt-controller@f0001000 {
  50. compatible = "arm,cortex-a9-gic";
  51. #interrupt-cells = <3>;
  52. interrupt-controller;
  53. reg = <0xf0001000 0x1000>,
  54. <0xf0000100 0x100>;
  55. };
  56. L2: cache-controller@f0100000 {
  57. compatible = "arm,pl310-cache";
  58. reg = <0xf0100000 0x1000>;
  59. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  60. power-domains = <&pd_a3sm>;
  61. arm,data-latency = <3 3 3>;
  62. arm,tag-latency = <2 2 2>;
  63. arm,shared-override;
  64. cache-unified;
  65. cache-level = <2>;
  66. };
  67. sbsc2: memory-controller@fb400000 {
  68. compatible = "renesas,sbsc-sh73a0";
  69. reg = <0xfb400000 0x400>;
  70. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
  71. <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  72. interrupt-names = "sec", "temp";
  73. power-domains = <&pd_a4bc1>;
  74. };
  75. sbsc1: memory-controller@fe400000 {
  76. compatible = "renesas,sbsc-sh73a0";
  77. reg = <0xfe400000 0x400>;
  78. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  79. <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  80. interrupt-names = "sec", "temp";
  81. power-domains = <&pd_a4bc0>;
  82. };
  83. pmu {
  84. compatible = "arm,cortex-a9-pmu";
  85. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  86. <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  87. interrupt-affinity = <&cpu0>, <&cpu1>;
  88. };
  89. cmt1: timer@e6138000 {
  90. compatible = "renesas,sh73a0-cmt1";
  91. reg = <0xe6138000 0x200>;
  92. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  93. clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
  94. clock-names = "fck";
  95. power-domains = <&pd_c5>;
  96. status = "disabled";
  97. };
  98. irqpin0: interrupt-controller@e6900000 {
  99. compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
  100. #interrupt-cells = <2>;
  101. interrupt-controller;
  102. reg = <0xe6900000 4>,
  103. <0xe6900010 4>,
  104. <0xe6900020 1>,
  105. <0xe6900040 1>,
  106. <0xe6900060 1>;
  107. interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  108. <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
  109. <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  110. <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
  111. <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
  112. <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
  113. <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  114. <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  115. clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
  116. power-domains = <&pd_a4s>;
  117. control-parent;
  118. };
  119. irqpin1: interrupt-controller@e6900004 {
  120. compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
  121. #interrupt-cells = <2>;
  122. interrupt-controller;
  123. reg = <0xe6900004 4>,
  124. <0xe6900014 4>,
  125. <0xe6900024 1>,
  126. <0xe6900044 1>,
  127. <0xe6900064 1>;
  128. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  129. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
  130. <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
  131. <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
  132. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  133. <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
  134. <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
  135. <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  136. clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
  137. power-domains = <&pd_a4s>;
  138. control-parent;
  139. };
  140. irqpin2: interrupt-controller@e6900008 {
  141. compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
  142. #interrupt-cells = <2>;
  143. interrupt-controller;
  144. reg = <0xe6900008 4>,
  145. <0xe6900018 4>,
  146. <0xe6900028 1>,
  147. <0xe6900048 1>,
  148. <0xe6900068 1>;
  149. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
  150. <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
  151. <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
  152. <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
  153. <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
  154. <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
  155. <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
  156. <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  157. clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
  158. power-domains = <&pd_a4s>;
  159. control-parent;
  160. };
  161. irqpin3: interrupt-controller@e690000c {
  162. compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
  163. #interrupt-cells = <2>;
  164. interrupt-controller;
  165. reg = <0xe690000c 4>,
  166. <0xe690001c 4>,
  167. <0xe690002c 1>,
  168. <0xe690004c 1>,
  169. <0xe690006c 1>;
  170. interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
  171. <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
  172. <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
  173. <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
  174. <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
  175. <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
  176. <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
  177. <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  178. clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
  179. power-domains = <&pd_a4s>;
  180. control-parent;
  181. };
  182. i2c0: i2c@e6820000 {
  183. #address-cells = <1>;
  184. #size-cells = <0>;
  185. compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
  186. reg = <0xe6820000 0x425>;
  187. interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
  188. <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
  189. <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
  190. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
  191. clocks = <&mstp1_clks SH73A0_CLK_IIC0>;
  192. power-domains = <&pd_a3sp>;
  193. status = "disabled";
  194. };
  195. i2c1: i2c@e6822000 {
  196. #address-cells = <1>;
  197. #size-cells = <0>;
  198. compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
  199. reg = <0xe6822000 0x425>;
  200. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
  201. <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
  202. <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  203. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  204. clocks = <&mstp3_clks SH73A0_CLK_IIC1>;
  205. power-domains = <&pd_a3sp>;
  206. status = "disabled";
  207. };
  208. i2c2: i2c@e6824000 {
  209. #address-cells = <1>;
  210. #size-cells = <0>;
  211. compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
  212. reg = <0xe6824000 0x425>;
  213. interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
  214. <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
  215. <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
  216. <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
  217. clocks = <&mstp0_clks SH73A0_CLK_IIC2>;
  218. power-domains = <&pd_a3sp>;
  219. status = "disabled";
  220. };
  221. i2c3: i2c@e6826000 {
  222. #address-cells = <1>;
  223. #size-cells = <0>;
  224. compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
  225. reg = <0xe6826000 0x425>;
  226. interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
  227. <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
  228. <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
  229. <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
  230. clocks = <&mstp4_clks SH73A0_CLK_IIC3>;
  231. power-domains = <&pd_a3sp>;
  232. status = "disabled";
  233. };
  234. i2c4: i2c@e6828000 {
  235. #address-cells = <1>;
  236. #size-cells = <0>;
  237. compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic";
  238. reg = <0xe6828000 0x425>;
  239. interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
  240. <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
  241. <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
  242. <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
  243. clocks = <&mstp4_clks SH73A0_CLK_IIC4>;
  244. power-domains = <&pd_c5>;
  245. status = "disabled";
  246. };
  247. mmcif: mmc@e6bd0000 {
  248. compatible = "renesas,mmcif-sh73a0", "renesas,sh-mmcif";
  249. reg = <0xe6bd0000 0x100>;
  250. interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
  251. <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
  252. clocks = <&mstp3_clks SH73A0_CLK_MMCIF0>;
  253. power-domains = <&pd_a3sp>;
  254. reg-io-width = <4>;
  255. status = "disabled";
  256. };
  257. msiof0: spi@e6e20000 {
  258. compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
  259. reg = <0xe6e20000 0x0064>;
  260. interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
  261. clocks = <&mstp0_clks SH73A0_CLK_MSIOF0>;
  262. power-domains = <&pd_a3sp>;
  263. #address-cells = <1>;
  264. #size-cells = <0>;
  265. status = "disabled";
  266. };
  267. msiof1: spi@e6e10000 {
  268. compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
  269. reg = <0xe6e10000 0x0064>;
  270. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  271. clocks = <&mstp2_clks SH73A0_CLK_MSIOF1>;
  272. power-domains = <&pd_a3sp>;
  273. #address-cells = <1>;
  274. #size-cells = <0>;
  275. status = "disabled";
  276. };
  277. msiof2: spi@e6e00000 {
  278. compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
  279. reg = <0xe6e00000 0x0064>;
  280. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  281. clocks = <&mstp2_clks SH73A0_CLK_MSIOF2>;
  282. power-domains = <&pd_a3sp>;
  283. #address-cells = <1>;
  284. #size-cells = <0>;
  285. status = "disabled";
  286. };
  287. msiof3: spi@e6c90000 {
  288. compatible = "renesas,msiof-sh73a0", "renesas,sh-mobile-msiof";
  289. reg = <0xe6c90000 0x0064>;
  290. interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  291. clocks = <&mstp2_clks SH73A0_CLK_MSIOF3>;
  292. power-domains = <&pd_a3sp>;
  293. #address-cells = <1>;
  294. #size-cells = <0>;
  295. status = "disabled";
  296. };
  297. sdhi0: mmc@ee100000 {
  298. compatible = "renesas,sdhi-sh73a0";
  299. reg = <0xee100000 0x100>;
  300. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
  301. <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
  302. <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  303. clocks = <&mstp3_clks SH73A0_CLK_SDHI0>;
  304. power-domains = <&pd_a3sp>;
  305. cap-sd-highspeed;
  306. status = "disabled";
  307. };
  308. /* SDHI1 and SDHI2 have no CD pins, no need for CD IRQ */
  309. sdhi1: mmc@ee120000 {
  310. compatible = "renesas,sdhi-sh73a0";
  311. reg = <0xee120000 0x100>;
  312. interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
  313. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  314. clocks = <&mstp3_clks SH73A0_CLK_SDHI1>;
  315. power-domains = <&pd_a3sp>;
  316. disable-wp;
  317. cap-sd-highspeed;
  318. status = "disabled";
  319. };
  320. sdhi2: mmc@ee140000 {
  321. compatible = "renesas,sdhi-sh73a0";
  322. reg = <0xee140000 0x100>;
  323. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  324. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  325. clocks = <&mstp3_clks SH73A0_CLK_SDHI2>;
  326. power-domains = <&pd_a3sp>;
  327. disable-wp;
  328. cap-sd-highspeed;
  329. status = "disabled";
  330. };
  331. scifa0: serial@e6c40000 {
  332. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  333. reg = <0xe6c40000 0x100>;
  334. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  335. clocks = <&mstp2_clks SH73A0_CLK_SCIFA0>;
  336. clock-names = "fck";
  337. power-domains = <&pd_a3sp>;
  338. status = "disabled";
  339. };
  340. scifa1: serial@e6c50000 {
  341. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  342. reg = <0xe6c50000 0x100>;
  343. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  344. clocks = <&mstp2_clks SH73A0_CLK_SCIFA1>;
  345. clock-names = "fck";
  346. power-domains = <&pd_a3sp>;
  347. status = "disabled";
  348. };
  349. scifa2: serial@e6c60000 {
  350. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  351. reg = <0xe6c60000 0x100>;
  352. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  353. clocks = <&mstp2_clks SH73A0_CLK_SCIFA2>;
  354. clock-names = "fck";
  355. power-domains = <&pd_a3sp>;
  356. status = "disabled";
  357. };
  358. scifa3: serial@e6c70000 {
  359. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  360. reg = <0xe6c70000 0x100>;
  361. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  362. clocks = <&mstp2_clks SH73A0_CLK_SCIFA3>;
  363. clock-names = "fck";
  364. power-domains = <&pd_a3sp>;
  365. status = "disabled";
  366. };
  367. scifa4: serial@e6c80000 {
  368. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  369. reg = <0xe6c80000 0x100>;
  370. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  371. clocks = <&mstp2_clks SH73A0_CLK_SCIFA4>;
  372. clock-names = "fck";
  373. power-domains = <&pd_a3sp>;
  374. status = "disabled";
  375. };
  376. scifa5: serial@e6cb0000 {
  377. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  378. reg = <0xe6cb0000 0x100>;
  379. interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  380. clocks = <&mstp2_clks SH73A0_CLK_SCIFA5>;
  381. clock-names = "fck";
  382. power-domains = <&pd_a3sp>;
  383. status = "disabled";
  384. };
  385. scifa6: serial@e6cc0000 {
  386. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  387. reg = <0xe6cc0000 0x100>;
  388. interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
  389. clocks = <&mstp3_clks SH73A0_CLK_SCIFA6>;
  390. clock-names = "fck";
  391. power-domains = <&pd_a3sp>;
  392. status = "disabled";
  393. };
  394. scifa7: serial@e6cd0000 {
  395. compatible = "renesas,scifa-sh73a0", "renesas,scifa";
  396. reg = <0xe6cd0000 0x100>;
  397. interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
  398. clocks = <&mstp2_clks SH73A0_CLK_SCIFA7>;
  399. clock-names = "fck";
  400. power-domains = <&pd_a3sp>;
  401. status = "disabled";
  402. };
  403. scifb: serial@e6c30000 {
  404. compatible = "renesas,scifb-sh73a0", "renesas,scifb";
  405. reg = <0xe6c30000 0x100>;
  406. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  407. clocks = <&mstp2_clks SH73A0_CLK_SCIFB>;
  408. clock-names = "fck";
  409. power-domains = <&pd_a3sp>;
  410. status = "disabled";
  411. };
  412. pfc: pinctrl@e6050000 {
  413. compatible = "renesas,pfc-sh73a0";
  414. reg = <0xe6050000 0x8000>,
  415. <0xe605801c 0x1c>;
  416. gpio-controller;
  417. #gpio-cells = <2>;
  418. gpio-ranges =
  419. <&pfc 0 0 119>, <&pfc 128 128 37>, <&pfc 192 192 91>,
  420. <&pfc 288 288 22>;
  421. interrupts-extended =
  422. <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
  423. <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
  424. <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
  425. <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
  426. <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
  427. <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
  428. <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
  429. <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
  430. power-domains = <&pd_c5>;
  431. };
  432. sysc: system-controller@e6180000 {
  433. compatible = "renesas,sysc-sh73a0", "renesas,sysc-rmobile";
  434. reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
  435. pm-domains {
  436. pd_c5: c5 {
  437. #address-cells = <1>;
  438. #size-cells = <0>;
  439. #power-domain-cells = <0>;
  440. pd_c4: c4@0 {
  441. reg = <0>;
  442. #power-domain-cells = <0>;
  443. };
  444. pd_d4: d4@1 {
  445. reg = <1>;
  446. #power-domain-cells = <0>;
  447. };
  448. pd_a4bc0: a4bc0@4 {
  449. reg = <4>;
  450. #power-domain-cells = <0>;
  451. };
  452. pd_a4bc1: a4bc1@5 {
  453. reg = <5>;
  454. #power-domain-cells = <0>;
  455. };
  456. pd_a4lc0: a4lc0@6 {
  457. reg = <6>;
  458. #power-domain-cells = <0>;
  459. };
  460. pd_a4lc1: a4lc1@7 {
  461. reg = <7>;
  462. #power-domain-cells = <0>;
  463. };
  464. pd_a4mp: a4mp@8 {
  465. reg = <8>;
  466. #address-cells = <1>;
  467. #size-cells = <0>;
  468. #power-domain-cells = <0>;
  469. pd_a3mp: a3mp@9 {
  470. reg = <9>;
  471. #power-domain-cells = <0>;
  472. };
  473. pd_a3vc: a3vc@10 {
  474. reg = <10>;
  475. #power-domain-cells = <0>;
  476. };
  477. };
  478. pd_a4rm: a4rm@12 {
  479. reg = <12>;
  480. #address-cells = <1>;
  481. #size-cells = <0>;
  482. #power-domain-cells = <0>;
  483. pd_a3r: a3r@13 {
  484. reg = <13>;
  485. #address-cells = <1>;
  486. #size-cells = <0>;
  487. #power-domain-cells = <0>;
  488. pd_a2rv: a2rv@14 {
  489. reg = <14>;
  490. #address-cells = <1>;
  491. #size-cells = <0>;
  492. #power-domain-cells = <0>;
  493. };
  494. };
  495. };
  496. pd_a4s: a4s@16 {
  497. reg = <16>;
  498. #address-cells = <1>;
  499. #size-cells = <0>;
  500. #power-domain-cells = <0>;
  501. pd_a3sp: a3sp@17 {
  502. reg = <17>;
  503. #power-domain-cells = <0>;
  504. };
  505. pd_a3sg: a3sg@18 {
  506. reg = <18>;
  507. #power-domain-cells = <0>;
  508. };
  509. pd_a3sm: a3sm@19 {
  510. reg = <19>;
  511. #address-cells = <1>;
  512. #size-cells = <0>;
  513. #power-domain-cells = <0>;
  514. pd_a2sl: a2sl@20 {
  515. reg = <20>;
  516. #power-domain-cells = <0>;
  517. };
  518. };
  519. };
  520. };
  521. };
  522. };
  523. sh_fsi2: sound@ec230000 {
  524. #sound-dai-cells = <1>;
  525. compatible = "renesas,fsi2-sh73a0", "renesas,sh_fsi2";
  526. reg = <0xec230000 0x400>;
  527. interrupts = <GIC_SPI 146 0x4>;
  528. clocks = <&mstp3_clks SH73A0_CLK_FSI>;
  529. power-domains = <&pd_a4mp>;
  530. status = "disabled";
  531. };
  532. bsc: bus@fec10000 {
  533. compatible = "renesas,bsc-sh73a0", "renesas,bsc",
  534. "simple-pm-bus";
  535. #address-cells = <1>;
  536. #size-cells = <1>;
  537. ranges = <0 0 0x20000000>;
  538. reg = <0xfec10000 0x400>;
  539. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  540. clocks = <&zb_clk>;
  541. power-domains = <&pd_a4s>;
  542. };
  543. clocks {
  544. #address-cells = <1>;
  545. #size-cells = <1>;
  546. ranges;
  547. /* External root clocks */
  548. extalr_clk: extalr {
  549. compatible = "fixed-clock";
  550. #clock-cells = <0>;
  551. clock-frequency = <32768>;
  552. };
  553. extal1_clk: extal1 {
  554. compatible = "fixed-clock";
  555. #clock-cells = <0>;
  556. clock-frequency = <26000000>;
  557. };
  558. extal2_clk: extal2 {
  559. compatible = "fixed-clock";
  560. #clock-cells = <0>;
  561. /* This value must be overridden by the board. */
  562. clock-frequency = <0>;
  563. };
  564. extcki_clk: extcki {
  565. compatible = "fixed-clock";
  566. #clock-cells = <0>;
  567. /* This value can be overridden by the board. */
  568. clock-frequency = <0>;
  569. };
  570. fsiack_clk: fsiack {
  571. compatible = "fixed-clock";
  572. #clock-cells = <0>;
  573. /* This value can be overridden by the board. */
  574. clock-frequency = <0>;
  575. };
  576. fsibck_clk: fsibck {
  577. compatible = "fixed-clock";
  578. #clock-cells = <0>;
  579. /* This value can be overridden by the board. */
  580. clock-frequency = <0>;
  581. };
  582. /* Special CPG clocks */
  583. cpg_clocks: cpg_clocks@e6150000 {
  584. compatible = "renesas,sh73a0-cpg-clocks";
  585. reg = <0xe6150000 0x10000>;
  586. clocks = <&extal1_clk>, <&extal2_clk>;
  587. #clock-cells = <1>;
  588. clock-output-names = "main", "pll0", "pll1", "pll2",
  589. "pll3", "dsi0phy", "dsi1phy",
  590. "zg", "m3", "b", "m1", "m2",
  591. "z", "zx", "hp";
  592. };
  593. /* Variable factor clocks (DIV6) */
  594. vclk1_clk: vclk1@e6150008 {
  595. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  596. reg = <0xe6150008 4>;
  597. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  598. <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
  599. <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
  600. <0>;
  601. #clock-cells = <0>;
  602. };
  603. vclk2_clk: vclk2@e615000c {
  604. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  605. reg = <0xe615000c 4>;
  606. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  607. <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
  608. <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
  609. <0>;
  610. #clock-cells = <0>;
  611. };
  612. vclk3_clk: vclk3@e615001c {
  613. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  614. reg = <0xe615001c 4>;
  615. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  616. <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
  617. <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
  618. <0>;
  619. #clock-cells = <0>;
  620. };
  621. zb_clk: zb_clk@e6150010 {
  622. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  623. reg = <0xe6150010 4>;
  624. clocks = <&pll1_div2_clk>, <0>,
  625. <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
  626. #clock-cells = <0>;
  627. clock-output-names = "zb";
  628. };
  629. flctl_clk: flctlck@e6150014 {
  630. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  631. reg = <0xe6150014 4>;
  632. clocks = <&pll1_div2_clk>, <0>,
  633. <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
  634. #clock-cells = <0>;
  635. };
  636. sdhi0_clk: sdhi0ck@e6150074 {
  637. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  638. reg = <0xe6150074 4>;
  639. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  640. <&pll1_div13_clk>, <0>;
  641. #clock-cells = <0>;
  642. };
  643. sdhi1_clk: sdhi1ck@e6150078 {
  644. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  645. reg = <0xe6150078 4>;
  646. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  647. <&pll1_div13_clk>, <0>;
  648. #clock-cells = <0>;
  649. };
  650. sdhi2_clk: sdhi2ck@e615007c {
  651. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  652. reg = <0xe615007c 4>;
  653. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  654. <&pll1_div13_clk>, <0>;
  655. #clock-cells = <0>;
  656. };
  657. fsia_clk: fsia@e6150018 {
  658. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  659. reg = <0xe6150018 4>;
  660. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  661. <&fsiack_clk>, <&fsiack_clk>;
  662. #clock-cells = <0>;
  663. };
  664. fsib_clk: fsib@e6150090 {
  665. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  666. reg = <0xe6150090 4>;
  667. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  668. <&fsibck_clk>, <&fsibck_clk>;
  669. #clock-cells = <0>;
  670. };
  671. sub_clk: sub@e6150080 {
  672. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  673. reg = <0xe6150080 4>;
  674. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  675. <&extal2_clk>, <&extal2_clk>;
  676. #clock-cells = <0>;
  677. };
  678. spua_clk: spua@e6150084 {
  679. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  680. reg = <0xe6150084 4>;
  681. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  682. <&extal2_clk>, <&extal2_clk>;
  683. #clock-cells = <0>;
  684. };
  685. spuv_clk: spuv@e6150094 {
  686. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  687. reg = <0xe6150094 4>;
  688. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  689. <&extal2_clk>, <&extal2_clk>;
  690. #clock-cells = <0>;
  691. };
  692. msu_clk: msu@e6150088 {
  693. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  694. reg = <0xe6150088 4>;
  695. clocks = <&pll1_div2_clk>, <0>,
  696. <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
  697. #clock-cells = <0>;
  698. };
  699. hsi_clk: hsi@e615008c {
  700. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  701. reg = <0xe615008c 4>;
  702. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  703. <&pll1_div7_clk>, <0>;
  704. #clock-cells = <0>;
  705. };
  706. mfg1_clk: mfg1@e6150098 {
  707. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  708. reg = <0xe6150098 4>;
  709. clocks = <&pll1_div2_clk>, <0>,
  710. <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
  711. #clock-cells = <0>;
  712. };
  713. mfg2_clk: mfg2@e615009c {
  714. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  715. reg = <0xe615009c 4>;
  716. clocks = <&pll1_div2_clk>, <0>,
  717. <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
  718. #clock-cells = <0>;
  719. };
  720. dsit_clk: dsit@e6150060 {
  721. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  722. reg = <0xe6150060 4>;
  723. clocks = <&pll1_div2_clk>, <0>,
  724. <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
  725. #clock-cells = <0>;
  726. };
  727. dsi0p_clk: dsi0pck@e6150064 {
  728. compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
  729. reg = <0xe6150064 4>;
  730. clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
  731. <&cpg_clocks SH73A0_CLK_MAIN>, <&extal2_clk>,
  732. <&extcki_clk>, <0>, <0>, <0>;
  733. #clock-cells = <0>;
  734. };
  735. /* Fixed factor clocks */
  736. main_div2_clk: main_div2 {
  737. compatible = "fixed-factor-clock";
  738. clocks = <&cpg_clocks SH73A0_CLK_MAIN>;
  739. #clock-cells = <0>;
  740. clock-div = <2>;
  741. clock-mult = <1>;
  742. };
  743. pll1_div2_clk: pll1_div2 {
  744. compatible = "fixed-factor-clock";
  745. clocks = <&cpg_clocks SH73A0_CLK_PLL1>;
  746. #clock-cells = <0>;
  747. clock-div = <2>;
  748. clock-mult = <1>;
  749. };
  750. pll1_div7_clk: pll1_div7 {
  751. compatible = "fixed-factor-clock";
  752. clocks = <&cpg_clocks SH73A0_CLK_PLL1>;
  753. #clock-cells = <0>;
  754. clock-div = <7>;
  755. clock-mult = <1>;
  756. };
  757. pll1_div13_clk: pll1_div13 {
  758. compatible = "fixed-factor-clock";
  759. clocks = <&cpg_clocks SH73A0_CLK_PLL1>;
  760. #clock-cells = <0>;
  761. clock-div = <13>;
  762. clock-mult = <1>;
  763. };
  764. periph_clk: periph {
  765. compatible = "fixed-factor-clock";
  766. clocks = <&cpg_clocks SH73A0_CLK_Z>;
  767. #clock-cells = <0>;
  768. clock-div = <4>;
  769. clock-mult = <1>;
  770. };
  771. /* Gate clocks */
  772. mstp0_clks: mstp0_clks@e6150130 {
  773. compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
  774. reg = <0xe6150130 4>, <0xe6150030 4>;
  775. clocks = <&cpg_clocks SH73A0_CLK_HP>, <&sub_clk>;
  776. #clock-cells = <1>;
  777. clock-indices = <
  778. SH73A0_CLK_IIC2 SH73A0_CLK_MSIOF0
  779. >;
  780. clock-output-names =
  781. "iic2", "msiof0";
  782. };
  783. mstp1_clks: mstp1_clks@e6150134 {
  784. compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
  785. reg = <0xe6150134 4>, <0xe6150038 4>;
  786. clocks = <&cpg_clocks SH73A0_CLK_B>,
  787. <&cpg_clocks SH73A0_CLK_B>,
  788. <&cpg_clocks SH73A0_CLK_B>,
  789. <&cpg_clocks SH73A0_CLK_B>,
  790. <&sub_clk>, <&cpg_clocks SH73A0_CLK_B>,
  791. <&cpg_clocks SH73A0_CLK_HP>,
  792. <&cpg_clocks SH73A0_CLK_ZG>,
  793. <&cpg_clocks SH73A0_CLK_B>;
  794. #clock-cells = <1>;
  795. clock-indices = <
  796. SH73A0_CLK_CEU1 SH73A0_CLK_CSI2_RX1
  797. SH73A0_CLK_CEU0 SH73A0_CLK_CSI2_RX0
  798. SH73A0_CLK_TMU0 SH73A0_CLK_DSITX0
  799. SH73A0_CLK_IIC0 SH73A0_CLK_SGX
  800. SH73A0_CLK_LCDC0
  801. >;
  802. clock-output-names =
  803. "ceu1", "csi2_rx1", "ceu0", "csi2_rx0",
  804. "tmu0", "dsitx0", "iic0", "sgx", "lcdc0";
  805. };
  806. mstp2_clks: mstp2_clks@e6150138 {
  807. compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
  808. reg = <0xe6150138 4>, <0xe6150040 4>;
  809. clocks = <&sub_clk>, <&cpg_clocks SH73A0_CLK_HP>,
  810. <&cpg_clocks SH73A0_CLK_HP>, <&sub_clk>,
  811. <&sub_clk>, <&sub_clk>, <&sub_clk>,
  812. <&sub_clk>, <&sub_clk>, <&sub_clk>,
  813. <&sub_clk>, <&sub_clk>, <&sub_clk>;
  814. #clock-cells = <1>;
  815. clock-indices = <
  816. SH73A0_CLK_SCIFA7 SH73A0_CLK_SY_DMAC
  817. SH73A0_CLK_MP_DMAC SH73A0_CLK_MSIOF3
  818. SH73A0_CLK_MSIOF1 SH73A0_CLK_SCIFA5
  819. SH73A0_CLK_SCIFB SH73A0_CLK_MSIOF2
  820. SH73A0_CLK_SCIFA0 SH73A0_CLK_SCIFA1
  821. SH73A0_CLK_SCIFA2 SH73A0_CLK_SCIFA3
  822. SH73A0_CLK_SCIFA4
  823. >;
  824. clock-output-names =
  825. "scifa7", "sy_dmac", "mp_dmac", "msiof3",
  826. "msiof1", "scifa5", "scifb", "msiof2",
  827. "scifa0", "scifa1", "scifa2", "scifa3",
  828. "scifa4";
  829. };
  830. mstp3_clks: mstp3_clks@e615013c {
  831. compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
  832. reg = <0xe615013c 4>, <0xe6150048 4>;
  833. clocks = <&sub_clk>, <&extalr_clk>,
  834. <&cpg_clocks SH73A0_CLK_HP>, <&sub_clk>,
  835. <&cpg_clocks SH73A0_CLK_HP>,
  836. <&cpg_clocks SH73A0_CLK_HP>, <&flctl_clk>,
  837. <&sdhi0_clk>, <&sdhi1_clk>,
  838. <&cpg_clocks SH73A0_CLK_HP>, <&sdhi2_clk>,
  839. <&main_div2_clk>, <&main_div2_clk>,
  840. <&main_div2_clk>, <&main_div2_clk>,
  841. <&main_div2_clk>;
  842. #clock-cells = <1>;
  843. clock-indices = <
  844. SH73A0_CLK_SCIFA6 SH73A0_CLK_CMT1
  845. SH73A0_CLK_FSI SH73A0_CLK_IRDA
  846. SH73A0_CLK_IIC1 SH73A0_CLK_USB SH73A0_CLK_FLCTL
  847. SH73A0_CLK_SDHI0 SH73A0_CLK_SDHI1
  848. SH73A0_CLK_MMCIF0 SH73A0_CLK_SDHI2
  849. SH73A0_CLK_TPU0 SH73A0_CLK_TPU1
  850. SH73A0_CLK_TPU2 SH73A0_CLK_TPU3
  851. SH73A0_CLK_TPU4
  852. >;
  853. clock-output-names =
  854. "scifa6", "cmt1", "fsi", "irda", "iic1",
  855. "usb", "flctl", "sdhi0", "sdhi1", "mmcif0", "sdhi2",
  856. "tpu0", "tpu1", "tpu2", "tpu3", "tpu4";
  857. };
  858. mstp4_clks: mstp4_clks@e6150140 {
  859. compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
  860. reg = <0xe6150140 4>, <0xe615004c 4>;
  861. clocks = <&cpg_clocks SH73A0_CLK_HP>,
  862. <&cpg_clocks SH73A0_CLK_HP>, <&extalr_clk>;
  863. #clock-cells = <1>;
  864. clock-indices = <
  865. SH73A0_CLK_IIC3 SH73A0_CLK_IIC4
  866. SH73A0_CLK_KEYSC
  867. >;
  868. clock-output-names =
  869. "iic3", "iic4", "keysc";
  870. };
  871. mstp5_clks: mstp5_clks@e6150144 {
  872. compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
  873. reg = <0xe6150144 4>, <0xe615003c 4>;
  874. clocks = <&cpg_clocks SH73A0_CLK_HP>;
  875. #clock-cells = <1>;
  876. clock-indices = <
  877. SH73A0_CLK_INTCA0
  878. >;
  879. clock-output-names =
  880. "intca0";
  881. };
  882. };
  883. };