r8a7791.dtsi 36 KB

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