r8a7778.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  1. /*
  2. * Device Tree Source for Renesas r8a7778
  3. *
  4. * Copyright (C) 2013 Renesas Solutions Corp.
  5. * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
  6. *
  7. * based on r8a7779
  8. *
  9. * Copyright (C) 2013 Renesas Solutions Corp.
  10. * Copyright (C) 2013 Simon Horman
  11. *
  12. * This file is licensed under the terms of the GNU General Public License
  13. * version 2. This program is licensed "as is" without any warranty of any
  14. * kind, whether express or implied.
  15. */
  16. /include/ "skeleton.dtsi"
  17. #include <dt-bindings/clock/r8a7778-clock.h>
  18. #include <dt-bindings/interrupt-controller/arm-gic.h>
  19. #include <dt-bindings/interrupt-controller/irq.h>
  20. / {
  21. compatible = "renesas,r8a7778";
  22. interrupt-parent = <&gic>;
  23. cpus {
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. cpu@0 {
  27. device_type = "cpu";
  28. compatible = "arm,cortex-a9";
  29. reg = <0>;
  30. clock-frequency = <800000000>;
  31. };
  32. };
  33. aliases {
  34. spi0 = &hspi0;
  35. spi1 = &hspi1;
  36. spi2 = &hspi2;
  37. };
  38. bsc: bus@1c000000 {
  39. compatible = "simple-bus";
  40. #address-cells = <1>;
  41. #size-cells = <1>;
  42. ranges = <0 0 0x1c000000>;
  43. };
  44. ether: ethernet@fde00000 {
  45. compatible = "renesas,ether-r8a7778";
  46. reg = <0xfde00000 0x400>;
  47. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  48. clocks = <&mstp1_clks R8A7778_CLK_ETHER>;
  49. power-domains = <&cpg_clocks>;
  50. phy-mode = "rmii";
  51. #address-cells = <1>;
  52. #size-cells = <0>;
  53. status = "disabled";
  54. };
  55. gic: interrupt-controller@fe438000 {
  56. compatible = "arm,pl390";
  57. #interrupt-cells = <3>;
  58. interrupt-controller;
  59. reg = <0xfe438000 0x1000>,
  60. <0xfe430000 0x100>;
  61. };
  62. /* irqpin: IRQ0 - IRQ3 */
  63. irqpin: interrupt-controller@fe78001c {
  64. compatible = "renesas,intc-irqpin-r8a7778", "renesas,intc-irqpin";
  65. #interrupt-cells = <2>;
  66. interrupt-controller;
  67. status = "disabled"; /* default off */
  68. reg = <0xfe78001c 4>,
  69. <0xfe780010 4>,
  70. <0xfe780024 4>,
  71. <0xfe780044 4>,
  72. <0xfe780064 4>;
  73. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH
  74. GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH
  75. GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH
  76. GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  77. sense-bitfield-width = <2>;
  78. };
  79. gpio0: gpio@ffc40000 {
  80. compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
  81. reg = <0xffc40000 0x2c>;
  82. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  83. #gpio-cells = <2>;
  84. gpio-controller;
  85. gpio-ranges = <&pfc 0 0 32>;
  86. #interrupt-cells = <2>;
  87. interrupt-controller;
  88. };
  89. gpio1: gpio@ffc41000 {
  90. compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
  91. reg = <0xffc41000 0x2c>;
  92. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  93. #gpio-cells = <2>;
  94. gpio-controller;
  95. gpio-ranges = <&pfc 0 32 32>;
  96. #interrupt-cells = <2>;
  97. interrupt-controller;
  98. };
  99. gpio2: gpio@ffc42000 {
  100. compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
  101. reg = <0xffc42000 0x2c>;
  102. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  103. #gpio-cells = <2>;
  104. gpio-controller;
  105. gpio-ranges = <&pfc 0 64 32>;
  106. #interrupt-cells = <2>;
  107. interrupt-controller;
  108. };
  109. gpio3: gpio@ffc43000 {
  110. compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
  111. reg = <0xffc43000 0x2c>;
  112. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  113. #gpio-cells = <2>;
  114. gpio-controller;
  115. gpio-ranges = <&pfc 0 96 32>;
  116. #interrupt-cells = <2>;
  117. interrupt-controller;
  118. };
  119. gpio4: gpio@ffc44000 {
  120. compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
  121. reg = <0xffc44000 0x2c>;
  122. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  123. #gpio-cells = <2>;
  124. gpio-controller;
  125. gpio-ranges = <&pfc 0 128 27>;
  126. #interrupt-cells = <2>;
  127. interrupt-controller;
  128. };
  129. pfc: pfc@fffc0000 {
  130. compatible = "renesas,pfc-r8a7778";
  131. reg = <0xfffc0000 0x118>;
  132. };
  133. i2c0: i2c@ffc70000 {
  134. #address-cells = <1>;
  135. #size-cells = <0>;
  136. compatible = "renesas,i2c-r8a7778";
  137. reg = <0xffc70000 0x1000>;
  138. interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  139. clocks = <&mstp0_clks R8A7778_CLK_I2C0>;
  140. power-domains = <&cpg_clocks>;
  141. status = "disabled";
  142. };
  143. i2c1: i2c@ffc71000 {
  144. #address-cells = <1>;
  145. #size-cells = <0>;
  146. compatible = "renesas,i2c-r8a7778";
  147. reg = <0xffc71000 0x1000>;
  148. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  149. clocks = <&mstp0_clks R8A7778_CLK_I2C1>;
  150. power-domains = <&cpg_clocks>;
  151. status = "disabled";
  152. };
  153. i2c2: i2c@ffc72000 {
  154. #address-cells = <1>;
  155. #size-cells = <0>;
  156. compatible = "renesas,i2c-r8a7778";
  157. reg = <0xffc72000 0x1000>;
  158. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  159. clocks = <&mstp0_clks R8A7778_CLK_I2C2>;
  160. power-domains = <&cpg_clocks>;
  161. status = "disabled";
  162. };
  163. i2c3: i2c@ffc73000 {
  164. #address-cells = <1>;
  165. #size-cells = <0>;
  166. compatible = "renesas,i2c-r8a7778";
  167. reg = <0xffc73000 0x1000>;
  168. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  169. clocks = <&mstp0_clks R8A7778_CLK_I2C3>;
  170. power-domains = <&cpg_clocks>;
  171. status = "disabled";
  172. };
  173. tmu0: timer@ffd80000 {
  174. compatible = "renesas,tmu-r8a7778", "renesas,tmu";
  175. reg = <0xffd80000 0x30>;
  176. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  177. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  178. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  179. clocks = <&mstp0_clks R8A7778_CLK_TMU0>;
  180. clock-names = "fck";
  181. power-domains = <&cpg_clocks>;
  182. #renesas,channels = <3>;
  183. status = "disabled";
  184. };
  185. tmu1: timer@ffd81000 {
  186. compatible = "renesas,tmu-r8a7778", "renesas,tmu";
  187. reg = <0xffd81000 0x30>;
  188. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
  189. <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
  190. <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  191. clocks = <&mstp0_clks R8A7778_CLK_TMU1>;
  192. clock-names = "fck";
  193. power-domains = <&cpg_clocks>;
  194. #renesas,channels = <3>;
  195. status = "disabled";
  196. };
  197. tmu2: timer@ffd82000 {
  198. compatible = "renesas,tmu-r8a7778", "renesas,tmu";
  199. reg = <0xffd82000 0x30>;
  200. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
  201. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  202. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  203. clocks = <&mstp0_clks R8A7778_CLK_TMU2>;
  204. clock-names = "fck";
  205. power-domains = <&cpg_clocks>;
  206. #renesas,channels = <3>;
  207. status = "disabled";
  208. };
  209. rcar_sound: sound@ffd90000 {
  210. /*
  211. * #sound-dai-cells is required
  212. *
  213. * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
  214. * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
  215. */
  216. compatible = "renesas,rcar_sound-r8a7778", "renesas,rcar_sound-gen1";
  217. reg = <0xffd90000 0x1000>, /* SRU */
  218. <0xffd91000 0x240>, /* SSI */
  219. <0xfffe0000 0x24>; /* ADG */
  220. clocks = <&mstp3_clks R8A7778_CLK_SSI8>,
  221. <&mstp3_clks R8A7778_CLK_SSI7>,
  222. <&mstp3_clks R8A7778_CLK_SSI6>,
  223. <&mstp3_clks R8A7778_CLK_SSI5>,
  224. <&mstp3_clks R8A7778_CLK_SSI4>,
  225. <&mstp0_clks R8A7778_CLK_SSI3>,
  226. <&mstp0_clks R8A7778_CLK_SSI2>,
  227. <&mstp0_clks R8A7778_CLK_SSI1>,
  228. <&mstp0_clks R8A7778_CLK_SSI0>,
  229. <&mstp5_clks R8A7778_CLK_SRU_SRC8>,
  230. <&mstp5_clks R8A7778_CLK_SRU_SRC7>,
  231. <&mstp5_clks R8A7778_CLK_SRU_SRC6>,
  232. <&mstp5_clks R8A7778_CLK_SRU_SRC5>,
  233. <&mstp5_clks R8A7778_CLK_SRU_SRC4>,
  234. <&mstp5_clks R8A7778_CLK_SRU_SRC3>,
  235. <&mstp5_clks R8A7778_CLK_SRU_SRC2>,
  236. <&mstp5_clks R8A7778_CLK_SRU_SRC1>,
  237. <&mstp5_clks R8A7778_CLK_SRU_SRC0>,
  238. <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
  239. <&cpg_clocks R8A7778_CLK_S1>;
  240. clock-names = "ssi.8", "ssi.7", "ssi.6", "ssi.5", "ssi.4",
  241. "ssi.3", "ssi.2", "ssi.1", "ssi.0",
  242. "src.8", "src.7", "src.6", "src.5", "src.4",
  243. "src.3", "src.2", "src.1", "src.0",
  244. "clk_a", "clk_b", "clk_c", "clk_i";
  245. status = "disabled";
  246. rcar_sound,src {
  247. src3: src-3 { };
  248. src4: src-4 { };
  249. src5: src-5 { };
  250. src6: src-6 { };
  251. src7: src-7 { };
  252. src8: src-8 { };
  253. src9: src-9 { };
  254. };
  255. rcar_sound,ssi {
  256. ssi3: ssi-3 { interrupts = <GIC_SPI 0x85 IRQ_TYPE_LEVEL_HIGH>; };
  257. ssi4: ssi-4 { interrupts = <GIC_SPI 0x85 IRQ_TYPE_LEVEL_HIGH>; };
  258. ssi5: ssi-5 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
  259. ssi6: ssi-6 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
  260. ssi7: ssi-7 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
  261. ssi8: ssi-8 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
  262. ssi9: ssi-9 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
  263. };
  264. };
  265. scif0: serial@ffe40000 {
  266. compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif",
  267. "renesas,scif";
  268. reg = <0xffe40000 0x100>;
  269. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  270. clocks = <&mstp0_clks R8A7778_CLK_SCIF0>,
  271. <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>;
  272. clock-names = "fck", "brg_int", "scif_clk";
  273. power-domains = <&cpg_clocks>;
  274. status = "disabled";
  275. };
  276. scif1: serial@ffe41000 {
  277. compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif",
  278. "renesas,scif";
  279. reg = <0xffe41000 0x100>;
  280. interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  281. clocks = <&mstp0_clks R8A7778_CLK_SCIF1>,
  282. <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>;
  283. clock-names = "fck", "brg_int", "scif_clk";
  284. power-domains = <&cpg_clocks>;
  285. status = "disabled";
  286. };
  287. scif2: serial@ffe42000 {
  288. compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif",
  289. "renesas,scif";
  290. reg = <0xffe42000 0x100>;
  291. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  292. clocks = <&mstp0_clks R8A7778_CLK_SCIF2>,
  293. <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>;
  294. clock-names = "fck", "brg_int", "scif_clk";
  295. power-domains = <&cpg_clocks>;
  296. status = "disabled";
  297. };
  298. scif3: serial@ffe43000 {
  299. compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif",
  300. "renesas,scif";
  301. reg = <0xffe43000 0x100>;
  302. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  303. clocks = <&mstp0_clks R8A7778_CLK_SCIF3>,
  304. <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>;
  305. clock-names = "fck", "brg_int", "scif_clk";
  306. power-domains = <&cpg_clocks>;
  307. status = "disabled";
  308. };
  309. scif4: serial@ffe44000 {
  310. compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif",
  311. "renesas,scif";
  312. reg = <0xffe44000 0x100>;
  313. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  314. clocks = <&mstp0_clks R8A7778_CLK_SCIF4>,
  315. <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>;
  316. clock-names = "fck", "brg_int", "scif_clk";
  317. power-domains = <&cpg_clocks>;
  318. status = "disabled";
  319. };
  320. scif5: serial@ffe45000 {
  321. compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif",
  322. "renesas,scif";
  323. reg = <0xffe45000 0x100>;
  324. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  325. clocks = <&mstp0_clks R8A7778_CLK_SCIF5>,
  326. <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>;
  327. clock-names = "fck", "brg_int", "scif_clk";
  328. power-domains = <&cpg_clocks>;
  329. status = "disabled";
  330. };
  331. mmcif: mmc@ffe4e000 {
  332. compatible = "renesas,sh-mmcif";
  333. reg = <0xffe4e000 0x100>;
  334. interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  335. clocks = <&mstp3_clks R8A7778_CLK_MMC>;
  336. power-domains = <&cpg_clocks>;
  337. status = "disabled";
  338. };
  339. sdhi0: sd@ffe4c000 {
  340. compatible = "renesas,sdhi-r8a7778";
  341. reg = <0xffe4c000 0x100>;
  342. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  343. clocks = <&mstp3_clks R8A7778_CLK_SDHI0>;
  344. power-domains = <&cpg_clocks>;
  345. status = "disabled";
  346. };
  347. sdhi1: sd@ffe4d000 {
  348. compatible = "renesas,sdhi-r8a7778";
  349. reg = <0xffe4d000 0x100>;
  350. interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
  351. clocks = <&mstp3_clks R8A7778_CLK_SDHI1>;
  352. power-domains = <&cpg_clocks>;
  353. status = "disabled";
  354. };
  355. sdhi2: sd@ffe4f000 {
  356. compatible = "renesas,sdhi-r8a7778";
  357. reg = <0xffe4f000 0x100>;
  358. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  359. clocks = <&mstp3_clks R8A7778_CLK_SDHI2>;
  360. power-domains = <&cpg_clocks>;
  361. status = "disabled";
  362. };
  363. hspi0: spi@fffc7000 {
  364. compatible = "renesas,hspi-r8a7778", "renesas,hspi";
  365. reg = <0xfffc7000 0x18>;
  366. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  367. clocks = <&mstp0_clks R8A7778_CLK_HSPI>;
  368. power-domains = <&cpg_clocks>;
  369. #address-cells = <1>;
  370. #size-cells = <0>;
  371. status = "disabled";
  372. };
  373. hspi1: spi@fffc8000 {
  374. compatible = "renesas,hspi-r8a7778", "renesas,hspi";
  375. reg = <0xfffc8000 0x18>;
  376. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  377. clocks = <&mstp0_clks R8A7778_CLK_HSPI>;
  378. power-domains = <&cpg_clocks>;
  379. #address-cells = <1>;
  380. #size-cells = <0>;
  381. status = "disabled";
  382. };
  383. hspi2: spi@fffc6000 {
  384. compatible = "renesas,hspi-r8a7778", "renesas,hspi";
  385. reg = <0xfffc6000 0x18>;
  386. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  387. clocks = <&mstp0_clks R8A7778_CLK_HSPI>;
  388. power-domains = <&cpg_clocks>;
  389. #address-cells = <1>;
  390. #size-cells = <0>;
  391. status = "disabled";
  392. };
  393. clocks {
  394. #address-cells = <1>;
  395. #size-cells = <1>;
  396. ranges;
  397. /* External input clock */
  398. extal_clk: extal {
  399. compatible = "fixed-clock";
  400. #clock-cells = <0>;
  401. clock-frequency = <0>;
  402. };
  403. /* External SCIF clock */
  404. scif_clk: scif {
  405. compatible = "fixed-clock";
  406. #clock-cells = <0>;
  407. /* This value must be overridden by the board. */
  408. clock-frequency = <0>;
  409. };
  410. /* Special CPG clocks */
  411. cpg_clocks: cpg_clocks@ffc80000 {
  412. compatible = "renesas,r8a7778-cpg-clocks";
  413. reg = <0xffc80000 0x80>;
  414. #clock-cells = <1>;
  415. clocks = <&extal_clk>;
  416. clock-output-names = "plla", "pllb", "b",
  417. "out", "p", "s", "s1";
  418. #power-domain-cells = <0>;
  419. };
  420. /* Audio clocks; frequencies are set by boards if applicable. */
  421. audio_clk_a: audio_clk_a {
  422. compatible = "fixed-clock";
  423. #clock-cells = <0>;
  424. };
  425. audio_clk_b: audio_clk_b {
  426. compatible = "fixed-clock";
  427. #clock-cells = <0>;
  428. };
  429. audio_clk_c: audio_clk_c {
  430. compatible = "fixed-clock";
  431. #clock-cells = <0>;
  432. };
  433. /* Fixed ratio clocks */
  434. g_clk: g {
  435. compatible = "fixed-factor-clock";
  436. clocks = <&cpg_clocks R8A7778_CLK_PLLA>;
  437. #clock-cells = <0>;
  438. clock-div = <12>;
  439. clock-mult = <1>;
  440. };
  441. i_clk: i {
  442. compatible = "fixed-factor-clock";
  443. clocks = <&cpg_clocks R8A7778_CLK_PLLA>;
  444. #clock-cells = <0>;
  445. clock-div = <1>;
  446. clock-mult = <1>;
  447. };
  448. s3_clk: s3 {
  449. compatible = "fixed-factor-clock";
  450. clocks = <&cpg_clocks R8A7778_CLK_PLLA>;
  451. #clock-cells = <0>;
  452. clock-div = <4>;
  453. clock-mult = <1>;
  454. };
  455. s4_clk: s4 {
  456. compatible = "fixed-factor-clock";
  457. clocks = <&cpg_clocks R8A7778_CLK_PLLA>;
  458. #clock-cells = <0>;
  459. clock-div = <8>;
  460. clock-mult = <1>;
  461. };
  462. z_clk: z {
  463. compatible = "fixed-factor-clock";
  464. clocks = <&cpg_clocks R8A7778_CLK_PLLB>;
  465. #clock-cells = <0>;
  466. clock-div = <1>;
  467. clock-mult = <1>;
  468. };
  469. /* Gate clocks */
  470. mstp0_clks: mstp0_clks@ffc80030 {
  471. compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks";
  472. reg = <0xffc80030 4>;
  473. clocks = <&cpg_clocks R8A7778_CLK_P>,
  474. <&cpg_clocks R8A7778_CLK_P>,
  475. <&cpg_clocks R8A7778_CLK_P>,
  476. <&cpg_clocks R8A7778_CLK_P>,
  477. <&cpg_clocks R8A7778_CLK_P>,
  478. <&cpg_clocks R8A7778_CLK_P>,
  479. <&cpg_clocks R8A7778_CLK_P>,
  480. <&cpg_clocks R8A7778_CLK_P>,
  481. <&cpg_clocks R8A7778_CLK_P>,
  482. <&cpg_clocks R8A7778_CLK_P>,
  483. <&cpg_clocks R8A7778_CLK_P>,
  484. <&cpg_clocks R8A7778_CLK_P>,
  485. <&cpg_clocks R8A7778_CLK_P>,
  486. <&cpg_clocks R8A7778_CLK_P>,
  487. <&cpg_clocks R8A7778_CLK_P>,
  488. <&cpg_clocks R8A7778_CLK_P>,
  489. <&cpg_clocks R8A7778_CLK_P>,
  490. <&cpg_clocks R8A7778_CLK_P>,
  491. <&cpg_clocks R8A7778_CLK_S>;
  492. #clock-cells = <1>;
  493. clock-indices = <
  494. R8A7778_CLK_I2C0 R8A7778_CLK_I2C1
  495. R8A7778_CLK_I2C2 R8A7778_CLK_I2C3
  496. R8A7778_CLK_SCIF0 R8A7778_CLK_SCIF1
  497. R8A7778_CLK_SCIF2 R8A7778_CLK_SCIF3
  498. R8A7778_CLK_SCIF4 R8A7778_CLK_SCIF5
  499. R8A7778_CLK_TMU0 R8A7778_CLK_TMU1
  500. R8A7778_CLK_TMU2 R8A7778_CLK_SSI0
  501. R8A7778_CLK_SSI1 R8A7778_CLK_SSI2
  502. R8A7778_CLK_SSI3 R8A7778_CLK_SRU
  503. R8A7778_CLK_HSPI
  504. >;
  505. clock-output-names =
  506. "i2c0", "i2c1", "i2c2", "i2c3", "scif0",
  507. "scif1", "scif2", "scif3", "scif4", "scif5",
  508. "tmu0", "tmu1", "tmu2", "ssi0", "ssi1",
  509. "ssi2", "ssi3", "sru", "hspi";
  510. };
  511. mstp1_clks: mstp1_clks@ffc80034 {
  512. compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks";
  513. reg = <0xffc80034 4>, <0xffc80044 4>;
  514. clocks = <&cpg_clocks R8A7778_CLK_P>,
  515. <&cpg_clocks R8A7778_CLK_S>,
  516. <&cpg_clocks R8A7778_CLK_S>,
  517. <&cpg_clocks R8A7778_CLK_P>;
  518. #clock-cells = <1>;
  519. clock-indices = <
  520. R8A7778_CLK_ETHER R8A7778_CLK_VIN0
  521. R8A7778_CLK_VIN1 R8A7778_CLK_USB
  522. >;
  523. clock-output-names =
  524. "ether", "vin0", "vin1", "usb";
  525. };
  526. mstp3_clks: mstp3_clks@ffc8003c {
  527. compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks";
  528. reg = <0xffc8003c 4>;
  529. clocks = <&s4_clk>,
  530. <&cpg_clocks R8A7778_CLK_P>,
  531. <&cpg_clocks R8A7778_CLK_P>,
  532. <&cpg_clocks R8A7778_CLK_P>,
  533. <&cpg_clocks R8A7778_CLK_P>,
  534. <&cpg_clocks R8A7778_CLK_P>,
  535. <&cpg_clocks R8A7778_CLK_P>,
  536. <&cpg_clocks R8A7778_CLK_P>,
  537. <&cpg_clocks R8A7778_CLK_P>;
  538. #clock-cells = <1>;
  539. clock-indices = <
  540. R8A7778_CLK_MMC R8A7778_CLK_SDHI0
  541. R8A7778_CLK_SDHI1 R8A7778_CLK_SDHI2
  542. R8A7778_CLK_SSI4 R8A7778_CLK_SSI5
  543. R8A7778_CLK_SSI6 R8A7778_CLK_SSI7
  544. R8A7778_CLK_SSI8
  545. >;
  546. clock-output-names =
  547. "mmc", "sdhi0", "sdhi1", "sdhi2", "ssi4",
  548. "ssi5", "ssi6", "ssi7", "ssi8";
  549. };
  550. mstp5_clks: mstp5_clks@ffc80054 {
  551. compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks";
  552. reg = <0xffc80054 4>;
  553. clocks = <&cpg_clocks R8A7778_CLK_P>,
  554. <&cpg_clocks R8A7778_CLK_P>,
  555. <&cpg_clocks R8A7778_CLK_P>,
  556. <&cpg_clocks R8A7778_CLK_P>,
  557. <&cpg_clocks R8A7778_CLK_P>,
  558. <&cpg_clocks R8A7778_CLK_P>,
  559. <&cpg_clocks R8A7778_CLK_P>,
  560. <&cpg_clocks R8A7778_CLK_P>,
  561. <&cpg_clocks R8A7778_CLK_P>;
  562. #clock-cells = <1>;
  563. clock-indices = <
  564. R8A7778_CLK_SRU_SRC0 R8A7778_CLK_SRU_SRC1
  565. R8A7778_CLK_SRU_SRC2 R8A7778_CLK_SRU_SRC3
  566. R8A7778_CLK_SRU_SRC4 R8A7778_CLK_SRU_SRC5
  567. R8A7778_CLK_SRU_SRC6 R8A7778_CLK_SRU_SRC7
  568. R8A7778_CLK_SRU_SRC8
  569. >;
  570. clock-output-names =
  571. "sru-src0", "sru-src1", "sru-src2",
  572. "sru-src3", "sru-src4", "sru-src5",
  573. "sru-src6", "sru-src7", "sru-src8";
  574. };
  575. };
  576. };