rk356x.dtsi 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
  4. */
  5. #include <dt-bindings/clock/rk3568-cru.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/interrupt-controller/irq.h>
  8. #include <dt-bindings/phy/phy.h>
  9. #include <dt-bindings/pinctrl/rockchip.h>
  10. #include <dt-bindings/power/rk3568-power.h>
  11. #include <dt-bindings/soc/rockchip,boot-mode.h>
  12. #include <dt-bindings/thermal/thermal.h>
  13. / {
  14. interrupt-parent = <&gic>;
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. aliases {
  18. gpio0 = &gpio0;
  19. gpio1 = &gpio1;
  20. gpio2 = &gpio2;
  21. gpio3 = &gpio3;
  22. gpio4 = &gpio4;
  23. i2c0 = &i2c0;
  24. i2c1 = &i2c1;
  25. i2c2 = &i2c2;
  26. i2c3 = &i2c3;
  27. i2c4 = &i2c4;
  28. i2c5 = &i2c5;
  29. serial0 = &uart0;
  30. serial1 = &uart1;
  31. serial2 = &uart2;
  32. serial3 = &uart3;
  33. serial4 = &uart4;
  34. serial5 = &uart5;
  35. serial6 = &uart6;
  36. serial7 = &uart7;
  37. serial8 = &uart8;
  38. serial9 = &uart9;
  39. spi0 = &spi0;
  40. spi1 = &spi1;
  41. spi2 = &spi2;
  42. spi3 = &spi3;
  43. };
  44. cpus {
  45. #address-cells = <2>;
  46. #size-cells = <0>;
  47. cpu0: cpu@0 {
  48. device_type = "cpu";
  49. compatible = "arm,cortex-a55";
  50. reg = <0x0 0x0>;
  51. clocks = <&scmi_clk 0>;
  52. #cooling-cells = <2>;
  53. enable-method = "psci";
  54. operating-points-v2 = <&cpu0_opp_table>;
  55. };
  56. cpu1: cpu@100 {
  57. device_type = "cpu";
  58. compatible = "arm,cortex-a55";
  59. reg = <0x0 0x100>;
  60. #cooling-cells = <2>;
  61. enable-method = "psci";
  62. operating-points-v2 = <&cpu0_opp_table>;
  63. };
  64. cpu2: cpu@200 {
  65. device_type = "cpu";
  66. compatible = "arm,cortex-a55";
  67. reg = <0x0 0x200>;
  68. #cooling-cells = <2>;
  69. enable-method = "psci";
  70. operating-points-v2 = <&cpu0_opp_table>;
  71. };
  72. cpu3: cpu@300 {
  73. device_type = "cpu";
  74. compatible = "arm,cortex-a55";
  75. reg = <0x0 0x300>;
  76. #cooling-cells = <2>;
  77. enable-method = "psci";
  78. operating-points-v2 = <&cpu0_opp_table>;
  79. };
  80. };
  81. cpu0_opp_table: opp-table-0 {
  82. compatible = "operating-points-v2";
  83. opp-shared;
  84. opp-408000000 {
  85. opp-hz = /bits/ 64 <408000000>;
  86. opp-microvolt = <900000 900000 1150000>;
  87. clock-latency-ns = <40000>;
  88. };
  89. opp-600000000 {
  90. opp-hz = /bits/ 64 <600000000>;
  91. opp-microvolt = <900000 900000 1150000>;
  92. };
  93. opp-816000000 {
  94. opp-hz = /bits/ 64 <816000000>;
  95. opp-microvolt = <900000 900000 1150000>;
  96. opp-suspend;
  97. };
  98. opp-1104000000 {
  99. opp-hz = /bits/ 64 <1104000000>;
  100. opp-microvolt = <900000 900000 1150000>;
  101. };
  102. opp-1416000000 {
  103. opp-hz = /bits/ 64 <1416000000>;
  104. opp-microvolt = <900000 900000 1150000>;
  105. };
  106. opp-1608000000 {
  107. opp-hz = /bits/ 64 <1608000000>;
  108. opp-microvolt = <975000 975000 1150000>;
  109. };
  110. opp-1800000000 {
  111. opp-hz = /bits/ 64 <1800000000>;
  112. opp-microvolt = <1050000 1050000 1150000>;
  113. };
  114. };
  115. display_subsystem: display-subsystem {
  116. compatible = "rockchip,display-subsystem";
  117. ports = <&vop_out>;
  118. };
  119. firmware {
  120. scmi: scmi {
  121. compatible = "arm,scmi-smc";
  122. arm,smc-id = <0x82000010>;
  123. shmem = <&scmi_shmem>;
  124. #address-cells = <1>;
  125. #size-cells = <0>;
  126. scmi_clk: protocol@14 {
  127. reg = <0x14>;
  128. #clock-cells = <1>;
  129. };
  130. };
  131. };
  132. gpu_opp_table: opp-table-1 {
  133. compatible = "operating-points-v2";
  134. opp-200000000 {
  135. opp-hz = /bits/ 64 <200000000>;
  136. opp-microvolt = <825000>;
  137. };
  138. opp-300000000 {
  139. opp-hz = /bits/ 64 <300000000>;
  140. opp-microvolt = <825000>;
  141. };
  142. opp-400000000 {
  143. opp-hz = /bits/ 64 <400000000>;
  144. opp-microvolt = <825000>;
  145. };
  146. opp-600000000 {
  147. opp-hz = /bits/ 64 <600000000>;
  148. opp-microvolt = <825000>;
  149. };
  150. opp-700000000 {
  151. opp-hz = /bits/ 64 <700000000>;
  152. opp-microvolt = <900000>;
  153. };
  154. opp-800000000 {
  155. opp-hz = /bits/ 64 <800000000>;
  156. opp-microvolt = <1000000>;
  157. };
  158. };
  159. hdmi_sound: hdmi-sound {
  160. compatible = "simple-audio-card";
  161. simple-audio-card,name = "HDMI";
  162. simple-audio-card,format = "i2s";
  163. simple-audio-card,mclk-fs = <256>;
  164. status = "disabled";
  165. simple-audio-card,codec {
  166. sound-dai = <&hdmi>;
  167. };
  168. simple-audio-card,cpu {
  169. sound-dai = <&i2s0_8ch>;
  170. };
  171. };
  172. pmu {
  173. compatible = "arm,cortex-a55-pmu";
  174. interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
  175. <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
  176. <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
  177. <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
  178. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  179. };
  180. psci {
  181. compatible = "arm,psci-1.0";
  182. method = "smc";
  183. };
  184. timer {
  185. compatible = "arm,armv8-timer";
  186. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
  187. <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
  188. <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
  189. <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
  190. arm,no-tick-in-suspend;
  191. };
  192. xin24m: xin24m {
  193. compatible = "fixed-clock";
  194. clock-frequency = <24000000>;
  195. clock-output-names = "xin24m";
  196. #clock-cells = <0>;
  197. };
  198. xin32k: xin32k {
  199. compatible = "fixed-clock";
  200. clock-frequency = <32768>;
  201. clock-output-names = "xin32k";
  202. pinctrl-0 = <&clk32k_out0>;
  203. pinctrl-names = "default";
  204. #clock-cells = <0>;
  205. };
  206. sram@10f000 {
  207. compatible = "mmio-sram";
  208. reg = <0x0 0x0010f000 0x0 0x100>;
  209. #address-cells = <1>;
  210. #size-cells = <1>;
  211. ranges = <0 0x0 0x0010f000 0x100>;
  212. scmi_shmem: sram@0 {
  213. compatible = "arm,scmi-shmem";
  214. reg = <0x0 0x100>;
  215. };
  216. };
  217. sata1: sata@fc400000 {
  218. compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
  219. reg = <0 0xfc400000 0 0x1000>;
  220. clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
  221. <&cru CLK_SATA1_RXOOB>;
  222. clock-names = "sata", "pmalive", "rxoob";
  223. interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
  224. phys = <&combphy1 PHY_TYPE_SATA>;
  225. phy-names = "sata-phy";
  226. ports-implemented = <0x1>;
  227. power-domains = <&power RK3568_PD_PIPE>;
  228. status = "disabled";
  229. };
  230. sata2: sata@fc800000 {
  231. compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
  232. reg = <0 0xfc800000 0 0x1000>;
  233. clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
  234. <&cru CLK_SATA2_RXOOB>;
  235. clock-names = "sata", "pmalive", "rxoob";
  236. interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  237. phys = <&combphy2 PHY_TYPE_SATA>;
  238. phy-names = "sata-phy";
  239. ports-implemented = <0x1>;
  240. power-domains = <&power RK3568_PD_PIPE>;
  241. status = "disabled";
  242. };
  243. usb_host0_xhci: usb@fcc00000 {
  244. compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
  245. reg = <0x0 0xfcc00000 0x0 0x400000>;
  246. interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
  247. clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
  248. <&cru ACLK_USB3OTG0>;
  249. clock-names = "ref_clk", "suspend_clk",
  250. "bus_clk";
  251. dr_mode = "otg";
  252. phy_type = "utmi_wide";
  253. power-domains = <&power RK3568_PD_PIPE>;
  254. resets = <&cru SRST_USB3OTG0>;
  255. snps,dis_u2_susphy_quirk;
  256. status = "disabled";
  257. };
  258. usb_host1_xhci: usb@fd000000 {
  259. compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
  260. reg = <0x0 0xfd000000 0x0 0x400000>;
  261. interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
  262. clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
  263. <&cru ACLK_USB3OTG1>;
  264. clock-names = "ref_clk", "suspend_clk",
  265. "bus_clk";
  266. dr_mode = "host";
  267. phys = <&usb2phy0_host>, <&combphy1 PHY_TYPE_USB3>;
  268. phy-names = "usb2-phy", "usb3-phy";
  269. phy_type = "utmi_wide";
  270. power-domains = <&power RK3568_PD_PIPE>;
  271. resets = <&cru SRST_USB3OTG1>;
  272. snps,dis_u2_susphy_quirk;
  273. status = "disabled";
  274. };
  275. gic: interrupt-controller@fd400000 {
  276. compatible = "arm,gic-v3";
  277. reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
  278. <0x0 0xfd460000 0 0x80000>; /* GICR */
  279. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  280. interrupt-controller;
  281. #interrupt-cells = <3>;
  282. mbi-alias = <0x0 0xfd410000>;
  283. mbi-ranges = <296 24>;
  284. msi-controller;
  285. };
  286. usb_host0_ehci: usb@fd800000 {
  287. compatible = "generic-ehci";
  288. reg = <0x0 0xfd800000 0x0 0x40000>;
  289. interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
  290. clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
  291. <&cru PCLK_USB>;
  292. phys = <&usb2phy1_otg>;
  293. phy-names = "usb";
  294. status = "disabled";
  295. };
  296. usb_host0_ohci: usb@fd840000 {
  297. compatible = "generic-ohci";
  298. reg = <0x0 0xfd840000 0x0 0x40000>;
  299. interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
  300. clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
  301. <&cru PCLK_USB>;
  302. phys = <&usb2phy1_otg>;
  303. phy-names = "usb";
  304. status = "disabled";
  305. };
  306. usb_host1_ehci: usb@fd880000 {
  307. compatible = "generic-ehci";
  308. reg = <0x0 0xfd880000 0x0 0x40000>;
  309. interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
  310. clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
  311. <&cru PCLK_USB>;
  312. phys = <&usb2phy1_host>;
  313. phy-names = "usb";
  314. status = "disabled";
  315. };
  316. usb_host1_ohci: usb@fd8c0000 {
  317. compatible = "generic-ohci";
  318. reg = <0x0 0xfd8c0000 0x0 0x40000>;
  319. interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
  320. clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
  321. <&cru PCLK_USB>;
  322. phys = <&usb2phy1_host>;
  323. phy-names = "usb";
  324. status = "disabled";
  325. };
  326. pmugrf: syscon@fdc20000 {
  327. compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
  328. reg = <0x0 0xfdc20000 0x0 0x10000>;
  329. pmu_io_domains: io-domains {
  330. compatible = "rockchip,rk3568-pmu-io-voltage-domain";
  331. status = "disabled";
  332. };
  333. };
  334. pipegrf: syscon@fdc50000 {
  335. reg = <0x0 0xfdc50000 0x0 0x1000>;
  336. };
  337. grf: syscon@fdc60000 {
  338. compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
  339. reg = <0x0 0xfdc60000 0x0 0x10000>;
  340. };
  341. pipe_phy_grf1: syscon@fdc80000 {
  342. compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
  343. reg = <0x0 0xfdc80000 0x0 0x1000>;
  344. };
  345. pipe_phy_grf2: syscon@fdc90000 {
  346. compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
  347. reg = <0x0 0xfdc90000 0x0 0x1000>;
  348. };
  349. usb2phy0_grf: syscon@fdca0000 {
  350. compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
  351. reg = <0x0 0xfdca0000 0x0 0x8000>;
  352. };
  353. usb2phy1_grf: syscon@fdca8000 {
  354. compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
  355. reg = <0x0 0xfdca8000 0x0 0x8000>;
  356. };
  357. pmucru: clock-controller@fdd00000 {
  358. compatible = "rockchip,rk3568-pmucru";
  359. reg = <0x0 0xfdd00000 0x0 0x1000>;
  360. #clock-cells = <1>;
  361. #reset-cells = <1>;
  362. };
  363. cru: clock-controller@fdd20000 {
  364. compatible = "rockchip,rk3568-cru";
  365. reg = <0x0 0xfdd20000 0x0 0x1000>;
  366. clocks = <&xin24m>;
  367. clock-names = "xin24m";
  368. #clock-cells = <1>;
  369. #reset-cells = <1>;
  370. assigned-clocks = <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
  371. assigned-clock-rates = <1200000000>, <200000000>;
  372. rockchip,grf = <&grf>;
  373. };
  374. i2c0: i2c@fdd40000 {
  375. compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
  376. reg = <0x0 0xfdd40000 0x0 0x1000>;
  377. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  378. clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
  379. clock-names = "i2c", "pclk";
  380. pinctrl-0 = <&i2c0_xfer>;
  381. pinctrl-names = "default";
  382. #address-cells = <1>;
  383. #size-cells = <0>;
  384. status = "disabled";
  385. };
  386. uart0: serial@fdd50000 {
  387. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  388. reg = <0x0 0xfdd50000 0x0 0x100>;
  389. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  390. clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
  391. clock-names = "baudclk", "apb_pclk";
  392. dmas = <&dmac0 0>, <&dmac0 1>;
  393. pinctrl-0 = <&uart0_xfer>;
  394. pinctrl-names = "default";
  395. reg-io-width = <4>;
  396. reg-shift = <2>;
  397. status = "disabled";
  398. };
  399. pwm0: pwm@fdd70000 {
  400. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  401. reg = <0x0 0xfdd70000 0x0 0x10>;
  402. clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
  403. clock-names = "pwm", "pclk";
  404. pinctrl-0 = <&pwm0m0_pins>;
  405. pinctrl-names = "default";
  406. #pwm-cells = <3>;
  407. status = "disabled";
  408. };
  409. pwm1: pwm@fdd70010 {
  410. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  411. reg = <0x0 0xfdd70010 0x0 0x10>;
  412. clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
  413. clock-names = "pwm", "pclk";
  414. pinctrl-0 = <&pwm1m0_pins>;
  415. pinctrl-names = "default";
  416. #pwm-cells = <3>;
  417. status = "disabled";
  418. };
  419. pwm2: pwm@fdd70020 {
  420. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  421. reg = <0x0 0xfdd70020 0x0 0x10>;
  422. clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
  423. clock-names = "pwm", "pclk";
  424. pinctrl-0 = <&pwm2m0_pins>;
  425. pinctrl-names = "default";
  426. #pwm-cells = <3>;
  427. status = "disabled";
  428. };
  429. pwm3: pwm@fdd70030 {
  430. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  431. reg = <0x0 0xfdd70030 0x0 0x10>;
  432. clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
  433. clock-names = "pwm", "pclk";
  434. pinctrl-0 = <&pwm3_pins>;
  435. pinctrl-names = "default";
  436. #pwm-cells = <3>;
  437. status = "disabled";
  438. };
  439. pmu: power-management@fdd90000 {
  440. compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
  441. reg = <0x0 0xfdd90000 0x0 0x1000>;
  442. power: power-controller {
  443. compatible = "rockchip,rk3568-power-controller";
  444. #power-domain-cells = <1>;
  445. #address-cells = <1>;
  446. #size-cells = <0>;
  447. /* These power domains are grouped by VD_GPU */
  448. power-domain@RK3568_PD_GPU {
  449. reg = <RK3568_PD_GPU>;
  450. clocks = <&cru ACLK_GPU_PRE>,
  451. <&cru PCLK_GPU_PRE>;
  452. pm_qos = <&qos_gpu>;
  453. #power-domain-cells = <0>;
  454. };
  455. /* These power domains are grouped by VD_LOGIC */
  456. power-domain@RK3568_PD_VI {
  457. reg = <RK3568_PD_VI>;
  458. clocks = <&cru HCLK_VI>,
  459. <&cru PCLK_VI>;
  460. pm_qos = <&qos_isp>,
  461. <&qos_vicap0>,
  462. <&qos_vicap1>;
  463. #power-domain-cells = <0>;
  464. };
  465. power-domain@RK3568_PD_VO {
  466. reg = <RK3568_PD_VO>;
  467. clocks = <&cru HCLK_VO>,
  468. <&cru PCLK_VO>,
  469. <&cru ACLK_VOP_PRE>;
  470. pm_qos = <&qos_hdcp>,
  471. <&qos_vop_m0>,
  472. <&qos_vop_m1>;
  473. #power-domain-cells = <0>;
  474. };
  475. power-domain@RK3568_PD_RGA {
  476. reg = <RK3568_PD_RGA>;
  477. clocks = <&cru HCLK_RGA_PRE>,
  478. <&cru PCLK_RGA_PRE>;
  479. pm_qos = <&qos_ebc>,
  480. <&qos_iep>,
  481. <&qos_jpeg_dec>,
  482. <&qos_jpeg_enc>,
  483. <&qos_rga_rd>,
  484. <&qos_rga_wr>;
  485. #power-domain-cells = <0>;
  486. };
  487. power-domain@RK3568_PD_VPU {
  488. reg = <RK3568_PD_VPU>;
  489. clocks = <&cru HCLK_VPU_PRE>;
  490. pm_qos = <&qos_vpu>;
  491. #power-domain-cells = <0>;
  492. };
  493. power-domain@RK3568_PD_RKVDEC {
  494. clocks = <&cru HCLK_RKVDEC_PRE>;
  495. reg = <RK3568_PD_RKVDEC>;
  496. pm_qos = <&qos_rkvdec>;
  497. #power-domain-cells = <0>;
  498. };
  499. power-domain@RK3568_PD_RKVENC {
  500. reg = <RK3568_PD_RKVENC>;
  501. clocks = <&cru HCLK_RKVENC_PRE>;
  502. pm_qos = <&qos_rkvenc_rd_m0>,
  503. <&qos_rkvenc_rd_m1>,
  504. <&qos_rkvenc_wr_m0>;
  505. #power-domain-cells = <0>;
  506. };
  507. };
  508. };
  509. gpu: gpu@fde60000 {
  510. compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
  511. reg = <0x0 0xfde60000 0x0 0x4000>;
  512. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
  513. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  514. <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  515. interrupt-names = "job", "mmu", "gpu";
  516. clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
  517. clock-names = "gpu", "bus";
  518. #cooling-cells = <2>;
  519. operating-points-v2 = <&gpu_opp_table>;
  520. power-domains = <&power RK3568_PD_GPU>;
  521. status = "disabled";
  522. };
  523. vpu: video-codec@fdea0400 {
  524. compatible = "rockchip,rk3568-vpu";
  525. reg = <0x0 0xfdea0000 0x0 0x800>;
  526. interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
  527. clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
  528. clock-names = "aclk", "hclk";
  529. iommus = <&vdpu_mmu>;
  530. power-domains = <&power RK3568_PD_VPU>;
  531. };
  532. vdpu_mmu: iommu@fdea0800 {
  533. compatible = "rockchip,rk3568-iommu";
  534. reg = <0x0 0xfdea0800 0x0 0x40>;
  535. interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
  536. clock-names = "aclk", "iface";
  537. clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
  538. power-domains = <&power RK3568_PD_VPU>;
  539. #iommu-cells = <0>;
  540. };
  541. vepu: video-codec@fdee0000 {
  542. compatible = "rockchip,rk3568-vepu";
  543. reg = <0x0 0xfdee0000 0x0 0x800>;
  544. interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
  545. clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
  546. clock-names = "aclk", "hclk";
  547. iommus = <&vepu_mmu>;
  548. power-domains = <&power RK3568_PD_RGA>;
  549. };
  550. vepu_mmu: iommu@fdee0800 {
  551. compatible = "rockchip,rk3568-iommu";
  552. reg = <0x0 0xfdee0800 0x0 0x40>;
  553. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  554. clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
  555. clock-names = "aclk", "iface";
  556. power-domains = <&power RK3568_PD_RGA>;
  557. #iommu-cells = <0>;
  558. };
  559. sdmmc2: mmc@fe000000 {
  560. compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
  561. reg = <0x0 0xfe000000 0x0 0x4000>;
  562. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
  563. clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
  564. <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
  565. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  566. fifo-depth = <0x100>;
  567. max-frequency = <150000000>;
  568. resets = <&cru SRST_SDMMC2>;
  569. reset-names = "reset";
  570. status = "disabled";
  571. };
  572. gmac1: ethernet@fe010000 {
  573. compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
  574. reg = <0x0 0xfe010000 0x0 0x10000>;
  575. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  576. <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  577. interrupt-names = "macirq", "eth_wake_irq";
  578. clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
  579. <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
  580. <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
  581. <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
  582. clock-names = "stmmaceth", "mac_clk_rx",
  583. "mac_clk_tx", "clk_mac_refout",
  584. "aclk_mac", "pclk_mac",
  585. "clk_mac_speed", "ptp_ref";
  586. resets = <&cru SRST_A_GMAC1>;
  587. reset-names = "stmmaceth";
  588. rockchip,grf = <&grf>;
  589. snps,axi-config = <&gmac1_stmmac_axi_setup>;
  590. snps,mixed-burst;
  591. snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
  592. snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
  593. snps,tso;
  594. status = "disabled";
  595. mdio1: mdio {
  596. compatible = "snps,dwmac-mdio";
  597. #address-cells = <0x1>;
  598. #size-cells = <0x0>;
  599. };
  600. gmac1_stmmac_axi_setup: stmmac-axi-config {
  601. snps,blen = <0 0 0 0 16 8 4>;
  602. snps,rd_osr_lmt = <8>;
  603. snps,wr_osr_lmt = <4>;
  604. };
  605. gmac1_mtl_rx_setup: rx-queues-config {
  606. snps,rx-queues-to-use = <1>;
  607. queue0 {};
  608. };
  609. gmac1_mtl_tx_setup: tx-queues-config {
  610. snps,tx-queues-to-use = <1>;
  611. queue0 {};
  612. };
  613. };
  614. vop: vop@fe040000 {
  615. reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
  616. reg-names = "vop", "gamma-lut";
  617. interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
  618. clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>,
  619. <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
  620. clock-names = "aclk", "hclk", "dclk_vp0", "dclk_vp1", "dclk_vp2";
  621. iommus = <&vop_mmu>;
  622. power-domains = <&power RK3568_PD_VO>;
  623. rockchip,grf = <&grf>;
  624. status = "disabled";
  625. vop_out: ports {
  626. #address-cells = <1>;
  627. #size-cells = <0>;
  628. vp0: port@0 {
  629. reg = <0>;
  630. #address-cells = <1>;
  631. #size-cells = <0>;
  632. };
  633. vp1: port@1 {
  634. reg = <1>;
  635. #address-cells = <1>;
  636. #size-cells = <0>;
  637. };
  638. vp2: port@2 {
  639. reg = <2>;
  640. #address-cells = <1>;
  641. #size-cells = <0>;
  642. };
  643. };
  644. };
  645. vop_mmu: iommu@fe043e00 {
  646. compatible = "rockchip,rk3568-iommu";
  647. reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
  648. interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
  649. clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
  650. clock-names = "aclk", "iface";
  651. #iommu-cells = <0>;
  652. status = "disabled";
  653. };
  654. dsi0: dsi@fe060000 {
  655. compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi";
  656. reg = <0x00 0xfe060000 0x00 0x10000>;
  657. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
  658. clock-names = "pclk", "hclk";
  659. clocks = <&cru PCLK_DSITX_0>, <&cru HCLK_VO>;
  660. phy-names = "dphy";
  661. phys = <&dsi_dphy0>;
  662. power-domains = <&power RK3568_PD_VO>;
  663. reset-names = "apb";
  664. resets = <&cru SRST_P_DSITX_0>;
  665. rockchip,grf = <&grf>;
  666. status = "disabled";
  667. ports {
  668. #address-cells = <1>;
  669. #size-cells = <0>;
  670. dsi0_in: port@0 {
  671. reg = <0>;
  672. };
  673. dsi0_out: port@1 {
  674. reg = <1>;
  675. };
  676. };
  677. };
  678. dsi1: dsi@fe070000 {
  679. compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi";
  680. reg = <0x0 0xfe070000 0x0 0x10000>;
  681. interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  682. clock-names = "pclk", "hclk";
  683. clocks = <&cru PCLK_DSITX_1>, <&cru HCLK_VO>;
  684. phy-names = "dphy";
  685. phys = <&dsi_dphy1>;
  686. power-domains = <&power RK3568_PD_VO>;
  687. reset-names = "apb";
  688. resets = <&cru SRST_P_DSITX_1>;
  689. rockchip,grf = <&grf>;
  690. status = "disabled";
  691. ports {
  692. #address-cells = <1>;
  693. #size-cells = <0>;
  694. dsi1_in: port@0 {
  695. reg = <0>;
  696. };
  697. dsi1_out: port@1 {
  698. reg = <1>;
  699. };
  700. };
  701. };
  702. hdmi: hdmi@fe0a0000 {
  703. compatible = "rockchip,rk3568-dw-hdmi";
  704. reg = <0x0 0xfe0a0000 0x0 0x20000>;
  705. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  706. clocks = <&cru PCLK_HDMI_HOST>,
  707. <&cru CLK_HDMI_SFR>,
  708. <&cru CLK_HDMI_CEC>,
  709. <&pmucru CLK_HDMI_REF>,
  710. <&cru HCLK_VO>;
  711. clock-names = "iahb", "isfr", "cec", "ref";
  712. pinctrl-names = "default";
  713. pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
  714. power-domains = <&power RK3568_PD_VO>;
  715. reg-io-width = <4>;
  716. rockchip,grf = <&grf>;
  717. #sound-dai-cells = <0>;
  718. status = "disabled";
  719. ports {
  720. #address-cells = <1>;
  721. #size-cells = <0>;
  722. hdmi_in: port@0 {
  723. reg = <0>;
  724. };
  725. hdmi_out: port@1 {
  726. reg = <1>;
  727. };
  728. };
  729. };
  730. qos_gpu: qos@fe128000 {
  731. compatible = "rockchip,rk3568-qos", "syscon";
  732. reg = <0x0 0xfe128000 0x0 0x20>;
  733. };
  734. qos_rkvenc_rd_m0: qos@fe138080 {
  735. compatible = "rockchip,rk3568-qos", "syscon";
  736. reg = <0x0 0xfe138080 0x0 0x20>;
  737. };
  738. qos_rkvenc_rd_m1: qos@fe138100 {
  739. compatible = "rockchip,rk3568-qos", "syscon";
  740. reg = <0x0 0xfe138100 0x0 0x20>;
  741. };
  742. qos_rkvenc_wr_m0: qos@fe138180 {
  743. compatible = "rockchip,rk3568-qos", "syscon";
  744. reg = <0x0 0xfe138180 0x0 0x20>;
  745. };
  746. qos_isp: qos@fe148000 {
  747. compatible = "rockchip,rk3568-qos", "syscon";
  748. reg = <0x0 0xfe148000 0x0 0x20>;
  749. };
  750. qos_vicap0: qos@fe148080 {
  751. compatible = "rockchip,rk3568-qos", "syscon";
  752. reg = <0x0 0xfe148080 0x0 0x20>;
  753. };
  754. qos_vicap1: qos@fe148100 {
  755. compatible = "rockchip,rk3568-qos", "syscon";
  756. reg = <0x0 0xfe148100 0x0 0x20>;
  757. };
  758. qos_vpu: qos@fe150000 {
  759. compatible = "rockchip,rk3568-qos", "syscon";
  760. reg = <0x0 0xfe150000 0x0 0x20>;
  761. };
  762. qos_ebc: qos@fe158000 {
  763. compatible = "rockchip,rk3568-qos", "syscon";
  764. reg = <0x0 0xfe158000 0x0 0x20>;
  765. };
  766. qos_iep: qos@fe158100 {
  767. compatible = "rockchip,rk3568-qos", "syscon";
  768. reg = <0x0 0xfe158100 0x0 0x20>;
  769. };
  770. qos_jpeg_dec: qos@fe158180 {
  771. compatible = "rockchip,rk3568-qos", "syscon";
  772. reg = <0x0 0xfe158180 0x0 0x20>;
  773. };
  774. qos_jpeg_enc: qos@fe158200 {
  775. compatible = "rockchip,rk3568-qos", "syscon";
  776. reg = <0x0 0xfe158200 0x0 0x20>;
  777. };
  778. qos_rga_rd: qos@fe158280 {
  779. compatible = "rockchip,rk3568-qos", "syscon";
  780. reg = <0x0 0xfe158280 0x0 0x20>;
  781. };
  782. qos_rga_wr: qos@fe158300 {
  783. compatible = "rockchip,rk3568-qos", "syscon";
  784. reg = <0x0 0xfe158300 0x0 0x20>;
  785. };
  786. qos_npu: qos@fe180000 {
  787. compatible = "rockchip,rk3568-qos", "syscon";
  788. reg = <0x0 0xfe180000 0x0 0x20>;
  789. };
  790. qos_pcie2x1: qos@fe190000 {
  791. compatible = "rockchip,rk3568-qos", "syscon";
  792. reg = <0x0 0xfe190000 0x0 0x20>;
  793. };
  794. qos_sata1: qos@fe190280 {
  795. compatible = "rockchip,rk3568-qos", "syscon";
  796. reg = <0x0 0xfe190280 0x0 0x20>;
  797. };
  798. qos_sata2: qos@fe190300 {
  799. compatible = "rockchip,rk3568-qos", "syscon";
  800. reg = <0x0 0xfe190300 0x0 0x20>;
  801. };
  802. qos_usb3_0: qos@fe190380 {
  803. compatible = "rockchip,rk3568-qos", "syscon";
  804. reg = <0x0 0xfe190380 0x0 0x20>;
  805. };
  806. qos_usb3_1: qos@fe190400 {
  807. compatible = "rockchip,rk3568-qos", "syscon";
  808. reg = <0x0 0xfe190400 0x0 0x20>;
  809. };
  810. qos_rkvdec: qos@fe198000 {
  811. compatible = "rockchip,rk3568-qos", "syscon";
  812. reg = <0x0 0xfe198000 0x0 0x20>;
  813. };
  814. qos_hdcp: qos@fe1a8000 {
  815. compatible = "rockchip,rk3568-qos", "syscon";
  816. reg = <0x0 0xfe1a8000 0x0 0x20>;
  817. };
  818. qos_vop_m0: qos@fe1a8080 {
  819. compatible = "rockchip,rk3568-qos", "syscon";
  820. reg = <0x0 0xfe1a8080 0x0 0x20>;
  821. };
  822. qos_vop_m1: qos@fe1a8100 {
  823. compatible = "rockchip,rk3568-qos", "syscon";
  824. reg = <0x0 0xfe1a8100 0x0 0x20>;
  825. };
  826. pcie2x1: pcie@fe260000 {
  827. compatible = "rockchip,rk3568-pcie";
  828. reg = <0x3 0xc0000000 0x0 0x00400000>,
  829. <0x0 0xfe260000 0x0 0x00010000>,
  830. <0x0 0xf4000000 0x0 0x00100000>;
  831. reg-names = "dbi", "apb", "config";
  832. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
  833. <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
  834. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
  835. <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
  836. <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  837. interrupt-names = "sys", "pmc", "msi", "legacy", "err";
  838. bus-range = <0x0 0xf>;
  839. clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
  840. <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
  841. <&cru CLK_PCIE20_AUX_NDFT>;
  842. clock-names = "aclk_mst", "aclk_slv",
  843. "aclk_dbi", "pclk", "aux";
  844. device_type = "pci";
  845. #interrupt-cells = <1>;
  846. interrupt-map-mask = <0 0 0 7>;
  847. interrupt-map = <0 0 0 1 &pcie_intc 0>,
  848. <0 0 0 2 &pcie_intc 1>,
  849. <0 0 0 3 &pcie_intc 2>,
  850. <0 0 0 4 &pcie_intc 3>;
  851. linux,pci-domain = <0>;
  852. num-ib-windows = <6>;
  853. num-ob-windows = <2>;
  854. max-link-speed = <2>;
  855. msi-map = <0x0 &gic 0x0 0x1000>;
  856. num-lanes = <1>;
  857. phys = <&combphy2 PHY_TYPE_PCIE>;
  858. phy-names = "pcie-phy";
  859. power-domains = <&power RK3568_PD_PIPE>;
  860. ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>,
  861. <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x01e00000>,
  862. <0x03000000 0x0 0x40000000 0x3 0x00000000 0x0 0x40000000>;
  863. resets = <&cru SRST_PCIE20_POWERUP>;
  864. reset-names = "pipe";
  865. #address-cells = <3>;
  866. #size-cells = <2>;
  867. status = "disabled";
  868. pcie_intc: legacy-interrupt-controller {
  869. #address-cells = <0>;
  870. #interrupt-cells = <1>;
  871. interrupt-controller;
  872. interrupt-parent = <&gic>;
  873. interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
  874. };
  875. };
  876. sdmmc0: mmc@fe2b0000 {
  877. compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
  878. reg = <0x0 0xfe2b0000 0x0 0x4000>;
  879. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  880. clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
  881. <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
  882. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  883. fifo-depth = <0x100>;
  884. max-frequency = <150000000>;
  885. resets = <&cru SRST_SDMMC0>;
  886. reset-names = "reset";
  887. status = "disabled";
  888. };
  889. sdmmc1: mmc@fe2c0000 {
  890. compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
  891. reg = <0x0 0xfe2c0000 0x0 0x4000>;
  892. interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
  893. clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
  894. <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
  895. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  896. fifo-depth = <0x100>;
  897. max-frequency = <150000000>;
  898. resets = <&cru SRST_SDMMC1>;
  899. reset-names = "reset";
  900. status = "disabled";
  901. };
  902. sfc: spi@fe300000 {
  903. compatible = "rockchip,sfc";
  904. reg = <0x0 0xfe300000 0x0 0x4000>;
  905. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  906. clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
  907. clock-names = "clk_sfc", "hclk_sfc";
  908. pinctrl-0 = <&fspi_pins>;
  909. pinctrl-names = "default";
  910. status = "disabled";
  911. };
  912. sdhci: mmc@fe310000 {
  913. compatible = "rockchip,rk3568-dwcmshc";
  914. reg = <0x0 0xfe310000 0x0 0x10000>;
  915. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  916. assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
  917. assigned-clock-rates = <200000000>, <24000000>;
  918. clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
  919. <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
  920. <&cru TCLK_EMMC>;
  921. clock-names = "core", "bus", "axi", "block", "timer";
  922. status = "disabled";
  923. };
  924. spdif: spdif@fe460000 {
  925. compatible = "rockchip,rk3568-spdif";
  926. reg = <0x0 0xfe460000 0x0 0x1000>;
  927. interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
  928. clock-names = "mclk", "hclk";
  929. clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
  930. dmas = <&dmac1 1>;
  931. dma-names = "tx";
  932. pinctrl-names = "default";
  933. pinctrl-0 = <&spdifm0_tx>;
  934. #sound-dai-cells = <0>;
  935. status = "disabled";
  936. };
  937. i2s0_8ch: i2s@fe400000 {
  938. compatible = "rockchip,rk3568-i2s-tdm";
  939. reg = <0x0 0xfe400000 0x0 0x1000>;
  940. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  941. assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>;
  942. assigned-clock-rates = <1188000000>, <1188000000>;
  943. clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
  944. clock-names = "mclk_tx", "mclk_rx", "hclk";
  945. dmas = <&dmac1 0>;
  946. dma-names = "tx";
  947. resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
  948. reset-names = "tx-m", "rx-m";
  949. rockchip,grf = <&grf>;
  950. #sound-dai-cells = <0>;
  951. status = "disabled";
  952. };
  953. i2s1_8ch: i2s@fe410000 {
  954. compatible = "rockchip,rk3568-i2s-tdm";
  955. reg = <0x0 0xfe410000 0x0 0x1000>;
  956. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  957. assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
  958. assigned-clock-rates = <1188000000>, <1188000000>;
  959. clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
  960. <&cru HCLK_I2S1_8CH>;
  961. clock-names = "mclk_tx", "mclk_rx", "hclk";
  962. dmas = <&dmac1 3>, <&dmac1 2>;
  963. dma-names = "rx", "tx";
  964. resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
  965. reset-names = "tx-m", "rx-m";
  966. rockchip,grf = <&grf>;
  967. pinctrl-names = "default";
  968. pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
  969. &i2s1m0_lrcktx &i2s1m0_lrckrx
  970. &i2s1m0_sdi0 &i2s1m0_sdi1
  971. &i2s1m0_sdi2 &i2s1m0_sdi3
  972. &i2s1m0_sdo0 &i2s1m0_sdo1
  973. &i2s1m0_sdo2 &i2s1m0_sdo3>;
  974. #sound-dai-cells = <0>;
  975. status = "disabled";
  976. };
  977. i2s3_2ch: i2s@fe430000 {
  978. compatible = "rockchip,rk3568-i2s-tdm";
  979. reg = <0x0 0xfe430000 0x0 0x1000>;
  980. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  981. clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
  982. <&cru HCLK_I2S3_2CH>;
  983. clock-names = "mclk_tx", "mclk_rx", "hclk";
  984. dmas = <&dmac1 6>, <&dmac1 7>;
  985. dma-names = "tx", "rx";
  986. resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
  987. reset-names = "tx-m", "rx-m";
  988. rockchip,grf = <&grf>;
  989. #sound-dai-cells = <0>;
  990. status = "disabled";
  991. };
  992. pdm: pdm@fe440000 {
  993. compatible = "rockchip,rk3568-pdm";
  994. reg = <0x0 0xfe440000 0x0 0x1000>;
  995. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  996. clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
  997. clock-names = "pdm_clk", "pdm_hclk";
  998. dmas = <&dmac1 9>;
  999. dma-names = "rx";
  1000. pinctrl-0 = <&pdmm0_clk
  1001. &pdmm0_clk1
  1002. &pdmm0_sdi0
  1003. &pdmm0_sdi1
  1004. &pdmm0_sdi2
  1005. &pdmm0_sdi3>;
  1006. pinctrl-names = "default";
  1007. resets = <&cru SRST_M_PDM>;
  1008. reset-names = "pdm-m";
  1009. #sound-dai-cells = <0>;
  1010. status = "disabled";
  1011. };
  1012. dmac0: dma-controller@fe530000 {
  1013. compatible = "arm,pl330", "arm,primecell";
  1014. reg = <0x0 0xfe530000 0x0 0x4000>;
  1015. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
  1016. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  1017. arm,pl330-periph-burst;
  1018. clocks = <&cru ACLK_BUS>;
  1019. clock-names = "apb_pclk";
  1020. #dma-cells = <1>;
  1021. };
  1022. dmac1: dma-controller@fe550000 {
  1023. compatible = "arm,pl330", "arm,primecell";
  1024. reg = <0x0 0xfe550000 0x0 0x4000>;
  1025. interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
  1026. <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  1027. arm,pl330-periph-burst;
  1028. clocks = <&cru ACLK_BUS>;
  1029. clock-names = "apb_pclk";
  1030. #dma-cells = <1>;
  1031. };
  1032. i2c1: i2c@fe5a0000 {
  1033. compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
  1034. reg = <0x0 0xfe5a0000 0x0 0x1000>;
  1035. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
  1036. clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
  1037. clock-names = "i2c", "pclk";
  1038. pinctrl-0 = <&i2c1_xfer>;
  1039. pinctrl-names = "default";
  1040. #address-cells = <1>;
  1041. #size-cells = <0>;
  1042. status = "disabled";
  1043. };
  1044. i2c2: i2c@fe5b0000 {
  1045. compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
  1046. reg = <0x0 0xfe5b0000 0x0 0x1000>;
  1047. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  1048. clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
  1049. clock-names = "i2c", "pclk";
  1050. pinctrl-0 = <&i2c2m0_xfer>;
  1051. pinctrl-names = "default";
  1052. #address-cells = <1>;
  1053. #size-cells = <0>;
  1054. status = "disabled";
  1055. };
  1056. i2c3: i2c@fe5c0000 {
  1057. compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
  1058. reg = <0x0 0xfe5c0000 0x0 0x1000>;
  1059. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  1060. clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
  1061. clock-names = "i2c", "pclk";
  1062. pinctrl-0 = <&i2c3m0_xfer>;
  1063. pinctrl-names = "default";
  1064. #address-cells = <1>;
  1065. #size-cells = <0>;
  1066. status = "disabled";
  1067. };
  1068. i2c4: i2c@fe5d0000 {
  1069. compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
  1070. reg = <0x0 0xfe5d0000 0x0 0x1000>;
  1071. interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
  1072. clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
  1073. clock-names = "i2c", "pclk";
  1074. pinctrl-0 = <&i2c4m0_xfer>;
  1075. pinctrl-names = "default";
  1076. #address-cells = <1>;
  1077. #size-cells = <0>;
  1078. status = "disabled";
  1079. };
  1080. i2c5: i2c@fe5e0000 {
  1081. compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
  1082. reg = <0x0 0xfe5e0000 0x0 0x1000>;
  1083. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  1084. clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
  1085. clock-names = "i2c", "pclk";
  1086. pinctrl-0 = <&i2c5m0_xfer>;
  1087. pinctrl-names = "default";
  1088. #address-cells = <1>;
  1089. #size-cells = <0>;
  1090. status = "disabled";
  1091. };
  1092. wdt: watchdog@fe600000 {
  1093. compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
  1094. reg = <0x0 0xfe600000 0x0 0x100>;
  1095. interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
  1096. clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
  1097. clock-names = "tclk", "pclk";
  1098. };
  1099. spi0: spi@fe610000 {
  1100. compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
  1101. reg = <0x0 0xfe610000 0x0 0x1000>;
  1102. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  1103. clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
  1104. clock-names = "spiclk", "apb_pclk";
  1105. dmas = <&dmac0 20>, <&dmac0 21>;
  1106. dma-names = "tx", "rx";
  1107. pinctrl-names = "default";
  1108. pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
  1109. #address-cells = <1>;
  1110. #size-cells = <0>;
  1111. status = "disabled";
  1112. };
  1113. spi1: spi@fe620000 {
  1114. compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
  1115. reg = <0x0 0xfe620000 0x0 0x1000>;
  1116. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
  1117. clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
  1118. clock-names = "spiclk", "apb_pclk";
  1119. dmas = <&dmac0 22>, <&dmac0 23>;
  1120. dma-names = "tx", "rx";
  1121. pinctrl-names = "default";
  1122. pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
  1123. #address-cells = <1>;
  1124. #size-cells = <0>;
  1125. status = "disabled";
  1126. };
  1127. spi2: spi@fe630000 {
  1128. compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
  1129. reg = <0x0 0xfe630000 0x0 0x1000>;
  1130. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  1131. clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
  1132. clock-names = "spiclk", "apb_pclk";
  1133. dmas = <&dmac0 24>, <&dmac0 25>;
  1134. dma-names = "tx", "rx";
  1135. pinctrl-names = "default";
  1136. pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
  1137. #address-cells = <1>;
  1138. #size-cells = <0>;
  1139. status = "disabled";
  1140. };
  1141. spi3: spi@fe640000 {
  1142. compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
  1143. reg = <0x0 0xfe640000 0x0 0x1000>;
  1144. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  1145. clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
  1146. clock-names = "spiclk", "apb_pclk";
  1147. dmas = <&dmac0 26>, <&dmac0 27>;
  1148. dma-names = "tx", "rx";
  1149. pinctrl-names = "default";
  1150. pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
  1151. #address-cells = <1>;
  1152. #size-cells = <0>;
  1153. status = "disabled";
  1154. };
  1155. uart1: serial@fe650000 {
  1156. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1157. reg = <0x0 0xfe650000 0x0 0x100>;
  1158. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  1159. clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
  1160. clock-names = "baudclk", "apb_pclk";
  1161. dmas = <&dmac0 2>, <&dmac0 3>;
  1162. pinctrl-0 = <&uart1m0_xfer>;
  1163. pinctrl-names = "default";
  1164. reg-io-width = <4>;
  1165. reg-shift = <2>;
  1166. status = "disabled";
  1167. };
  1168. uart2: serial@fe660000 {
  1169. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1170. reg = <0x0 0xfe660000 0x0 0x100>;
  1171. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
  1172. clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
  1173. clock-names = "baudclk", "apb_pclk";
  1174. dmas = <&dmac0 4>, <&dmac0 5>;
  1175. pinctrl-0 = <&uart2m0_xfer>;
  1176. pinctrl-names = "default";
  1177. reg-io-width = <4>;
  1178. reg-shift = <2>;
  1179. status = "disabled";
  1180. };
  1181. uart3: serial@fe670000 {
  1182. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1183. reg = <0x0 0xfe670000 0x0 0x100>;
  1184. interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
  1185. clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
  1186. clock-names = "baudclk", "apb_pclk";
  1187. dmas = <&dmac0 6>, <&dmac0 7>;
  1188. pinctrl-0 = <&uart3m0_xfer>;
  1189. pinctrl-names = "default";
  1190. reg-io-width = <4>;
  1191. reg-shift = <2>;
  1192. status = "disabled";
  1193. };
  1194. uart4: serial@fe680000 {
  1195. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1196. reg = <0x0 0xfe680000 0x0 0x100>;
  1197. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  1198. clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
  1199. clock-names = "baudclk", "apb_pclk";
  1200. dmas = <&dmac0 8>, <&dmac0 9>;
  1201. pinctrl-0 = <&uart4m0_xfer>;
  1202. pinctrl-names = "default";
  1203. reg-io-width = <4>;
  1204. reg-shift = <2>;
  1205. status = "disabled";
  1206. };
  1207. uart5: serial@fe690000 {
  1208. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1209. reg = <0x0 0xfe690000 0x0 0x100>;
  1210. interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
  1211. clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
  1212. clock-names = "baudclk", "apb_pclk";
  1213. dmas = <&dmac0 10>, <&dmac0 11>;
  1214. pinctrl-0 = <&uart5m0_xfer>;
  1215. pinctrl-names = "default";
  1216. reg-io-width = <4>;
  1217. reg-shift = <2>;
  1218. status = "disabled";
  1219. };
  1220. uart6: serial@fe6a0000 {
  1221. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1222. reg = <0x0 0xfe6a0000 0x0 0x100>;
  1223. interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
  1224. clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
  1225. clock-names = "baudclk", "apb_pclk";
  1226. dmas = <&dmac0 12>, <&dmac0 13>;
  1227. pinctrl-0 = <&uart6m0_xfer>;
  1228. pinctrl-names = "default";
  1229. reg-io-width = <4>;
  1230. reg-shift = <2>;
  1231. status = "disabled";
  1232. };
  1233. uart7: serial@fe6b0000 {
  1234. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1235. reg = <0x0 0xfe6b0000 0x0 0x100>;
  1236. interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
  1237. clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
  1238. clock-names = "baudclk", "apb_pclk";
  1239. dmas = <&dmac0 14>, <&dmac0 15>;
  1240. pinctrl-0 = <&uart7m0_xfer>;
  1241. pinctrl-names = "default";
  1242. reg-io-width = <4>;
  1243. reg-shift = <2>;
  1244. status = "disabled";
  1245. };
  1246. uart8: serial@fe6c0000 {
  1247. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1248. reg = <0x0 0xfe6c0000 0x0 0x100>;
  1249. interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
  1250. clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
  1251. clock-names = "baudclk", "apb_pclk";
  1252. dmas = <&dmac0 16>, <&dmac0 17>;
  1253. pinctrl-0 = <&uart8m0_xfer>;
  1254. pinctrl-names = "default";
  1255. reg-io-width = <4>;
  1256. reg-shift = <2>;
  1257. status = "disabled";
  1258. };
  1259. uart9: serial@fe6d0000 {
  1260. compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
  1261. reg = <0x0 0xfe6d0000 0x0 0x100>;
  1262. interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
  1263. clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
  1264. clock-names = "baudclk", "apb_pclk";
  1265. dmas = <&dmac0 18>, <&dmac0 19>;
  1266. pinctrl-0 = <&uart9m0_xfer>;
  1267. pinctrl-names = "default";
  1268. reg-io-width = <4>;
  1269. reg-shift = <2>;
  1270. status = "disabled";
  1271. };
  1272. thermal_zones: thermal-zones {
  1273. cpu_thermal: cpu-thermal {
  1274. polling-delay-passive = <100>;
  1275. polling-delay = <1000>;
  1276. thermal-sensors = <&tsadc 0>;
  1277. trips {
  1278. cpu_alert0: cpu_alert0 {
  1279. temperature = <70000>;
  1280. hysteresis = <2000>;
  1281. type = "passive";
  1282. };
  1283. cpu_alert1: cpu_alert1 {
  1284. temperature = <75000>;
  1285. hysteresis = <2000>;
  1286. type = "passive";
  1287. };
  1288. cpu_crit: cpu_crit {
  1289. temperature = <95000>;
  1290. hysteresis = <2000>;
  1291. type = "critical";
  1292. };
  1293. };
  1294. cooling-maps {
  1295. map0 {
  1296. trip = <&cpu_alert0>;
  1297. cooling-device =
  1298. <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1299. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1300. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1301. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1302. };
  1303. };
  1304. };
  1305. gpu_thermal: gpu-thermal {
  1306. polling-delay-passive = <20>; /* milliseconds */
  1307. polling-delay = <1000>; /* milliseconds */
  1308. thermal-sensors = <&tsadc 1>;
  1309. trips {
  1310. gpu_threshold: gpu-threshold {
  1311. temperature = <70000>;
  1312. hysteresis = <2000>;
  1313. type = "passive";
  1314. };
  1315. gpu_target: gpu-target {
  1316. temperature = <75000>;
  1317. hysteresis = <2000>;
  1318. type = "passive";
  1319. };
  1320. gpu_crit: gpu-crit {
  1321. temperature = <95000>;
  1322. hysteresis = <2000>;
  1323. type = "critical";
  1324. };
  1325. };
  1326. cooling-maps {
  1327. map0 {
  1328. trip = <&gpu_target>;
  1329. cooling-device =
  1330. <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1331. };
  1332. };
  1333. };
  1334. };
  1335. tsadc: tsadc@fe710000 {
  1336. compatible = "rockchip,rk3568-tsadc";
  1337. reg = <0x0 0xfe710000 0x0 0x100>;
  1338. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  1339. assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
  1340. assigned-clock-rates = <17000000>, <700000>;
  1341. clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
  1342. clock-names = "tsadc", "apb_pclk";
  1343. resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
  1344. <&cru SRST_TSADCPHY>;
  1345. rockchip,grf = <&grf>;
  1346. rockchip,hw-tshut-temp = <95000>;
  1347. pinctrl-names = "init", "default", "sleep";
  1348. pinctrl-0 = <&tsadc_pin>;
  1349. pinctrl-1 = <&tsadc_shutorg>;
  1350. pinctrl-2 = <&tsadc_pin>;
  1351. #thermal-sensor-cells = <1>;
  1352. status = "disabled";
  1353. };
  1354. saradc: saradc@fe720000 {
  1355. compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
  1356. reg = <0x0 0xfe720000 0x0 0x100>;
  1357. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  1358. clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
  1359. clock-names = "saradc", "apb_pclk";
  1360. resets = <&cru SRST_P_SARADC>;
  1361. reset-names = "saradc-apb";
  1362. #io-channel-cells = <1>;
  1363. status = "disabled";
  1364. };
  1365. pwm4: pwm@fe6e0000 {
  1366. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1367. reg = <0x0 0xfe6e0000 0x0 0x10>;
  1368. clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
  1369. clock-names = "pwm", "pclk";
  1370. pinctrl-0 = <&pwm4_pins>;
  1371. pinctrl-names = "default";
  1372. #pwm-cells = <3>;
  1373. status = "disabled";
  1374. };
  1375. pwm5: pwm@fe6e0010 {
  1376. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1377. reg = <0x0 0xfe6e0010 0x0 0x10>;
  1378. clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
  1379. clock-names = "pwm", "pclk";
  1380. pinctrl-0 = <&pwm5_pins>;
  1381. pinctrl-names = "default";
  1382. #pwm-cells = <3>;
  1383. status = "disabled";
  1384. };
  1385. pwm6: pwm@fe6e0020 {
  1386. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1387. reg = <0x0 0xfe6e0020 0x0 0x10>;
  1388. clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
  1389. clock-names = "pwm", "pclk";
  1390. pinctrl-0 = <&pwm6_pins>;
  1391. pinctrl-names = "default";
  1392. #pwm-cells = <3>;
  1393. status = "disabled";
  1394. };
  1395. pwm7: pwm@fe6e0030 {
  1396. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1397. reg = <0x0 0xfe6e0030 0x0 0x10>;
  1398. clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
  1399. clock-names = "pwm", "pclk";
  1400. pinctrl-0 = <&pwm7_pins>;
  1401. pinctrl-names = "default";
  1402. #pwm-cells = <3>;
  1403. status = "disabled";
  1404. };
  1405. pwm8: pwm@fe6f0000 {
  1406. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1407. reg = <0x0 0xfe6f0000 0x0 0x10>;
  1408. clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
  1409. clock-names = "pwm", "pclk";
  1410. pinctrl-0 = <&pwm8m0_pins>;
  1411. pinctrl-names = "default";
  1412. #pwm-cells = <3>;
  1413. status = "disabled";
  1414. };
  1415. pwm9: pwm@fe6f0010 {
  1416. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1417. reg = <0x0 0xfe6f0010 0x0 0x10>;
  1418. clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
  1419. clock-names = "pwm", "pclk";
  1420. pinctrl-0 = <&pwm9m0_pins>;
  1421. pinctrl-names = "default";
  1422. #pwm-cells = <3>;
  1423. status = "disabled";
  1424. };
  1425. pwm10: pwm@fe6f0020 {
  1426. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1427. reg = <0x0 0xfe6f0020 0x0 0x10>;
  1428. clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
  1429. clock-names = "pwm", "pclk";
  1430. pinctrl-0 = <&pwm10m0_pins>;
  1431. pinctrl-names = "default";
  1432. #pwm-cells = <3>;
  1433. status = "disabled";
  1434. };
  1435. pwm11: pwm@fe6f0030 {
  1436. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1437. reg = <0x0 0xfe6f0030 0x0 0x10>;
  1438. clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
  1439. clock-names = "pwm", "pclk";
  1440. pinctrl-0 = <&pwm11m0_pins>;
  1441. pinctrl-names = "default";
  1442. #pwm-cells = <3>;
  1443. status = "disabled";
  1444. };
  1445. pwm12: pwm@fe700000 {
  1446. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1447. reg = <0x0 0xfe700000 0x0 0x10>;
  1448. clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
  1449. clock-names = "pwm", "pclk";
  1450. pinctrl-0 = <&pwm12m0_pins>;
  1451. pinctrl-names = "default";
  1452. #pwm-cells = <3>;
  1453. status = "disabled";
  1454. };
  1455. pwm13: pwm@fe700010 {
  1456. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1457. reg = <0x0 0xfe700010 0x0 0x10>;
  1458. clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
  1459. clock-names = "pwm", "pclk";
  1460. pinctrl-0 = <&pwm13m0_pins>;
  1461. pinctrl-names = "default";
  1462. #pwm-cells = <3>;
  1463. status = "disabled";
  1464. };
  1465. pwm14: pwm@fe700020 {
  1466. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1467. reg = <0x0 0xfe700020 0x0 0x10>;
  1468. clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
  1469. clock-names = "pwm", "pclk";
  1470. pinctrl-0 = <&pwm14m0_pins>;
  1471. pinctrl-names = "default";
  1472. #pwm-cells = <3>;
  1473. status = "disabled";
  1474. };
  1475. pwm15: pwm@fe700030 {
  1476. compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
  1477. reg = <0x0 0xfe700030 0x0 0x10>;
  1478. clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
  1479. clock-names = "pwm", "pclk";
  1480. pinctrl-0 = <&pwm15m0_pins>;
  1481. pinctrl-names = "default";
  1482. #pwm-cells = <3>;
  1483. status = "disabled";
  1484. };
  1485. combphy1: phy@fe830000 {
  1486. compatible = "rockchip,rk3568-naneng-combphy";
  1487. reg = <0x0 0xfe830000 0x0 0x100>;
  1488. clocks = <&pmucru CLK_PCIEPHY1_REF>,
  1489. <&cru PCLK_PIPEPHY1>,
  1490. <&cru PCLK_PIPE>;
  1491. clock-names = "ref", "apb", "pipe";
  1492. assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
  1493. assigned-clock-rates = <100000000>;
  1494. resets = <&cru SRST_PIPEPHY1>;
  1495. rockchip,pipe-grf = <&pipegrf>;
  1496. rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
  1497. #phy-cells = <1>;
  1498. status = "disabled";
  1499. };
  1500. combphy2: phy@fe840000 {
  1501. compatible = "rockchip,rk3568-naneng-combphy";
  1502. reg = <0x0 0xfe840000 0x0 0x100>;
  1503. clocks = <&pmucru CLK_PCIEPHY2_REF>,
  1504. <&cru PCLK_PIPEPHY2>,
  1505. <&cru PCLK_PIPE>;
  1506. clock-names = "ref", "apb", "pipe";
  1507. assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
  1508. assigned-clock-rates = <100000000>;
  1509. resets = <&cru SRST_PIPEPHY2>;
  1510. rockchip,pipe-grf = <&pipegrf>;
  1511. rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
  1512. #phy-cells = <1>;
  1513. status = "disabled";
  1514. };
  1515. csi_dphy: phy@fe870000 {
  1516. compatible = "rockchip,rk3568-csi-dphy";
  1517. reg = <0x0 0xfe870000 0x0 0x10000>;
  1518. clocks = <&cru PCLK_MIPICSIPHY>;
  1519. clock-names = "pclk";
  1520. #phy-cells = <0>;
  1521. resets = <&cru SRST_P_MIPICSIPHY>;
  1522. reset-names = "apb";
  1523. rockchip,grf = <&grf>;
  1524. status = "disabled";
  1525. };
  1526. dsi_dphy0: mipi-dphy@fe850000 {
  1527. compatible = "rockchip,rk3568-dsi-dphy";
  1528. reg = <0x0 0xfe850000 0x0 0x10000>;
  1529. clock-names = "ref", "pclk";
  1530. clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>;
  1531. #phy-cells = <0>;
  1532. power-domains = <&power RK3568_PD_VO>;
  1533. reset-names = "apb";
  1534. resets = <&cru SRST_P_MIPIDSIPHY0>;
  1535. status = "disabled";
  1536. };
  1537. dsi_dphy1: mipi-dphy@fe860000 {
  1538. compatible = "rockchip,rk3568-dsi-dphy";
  1539. reg = <0x0 0xfe860000 0x0 0x10000>;
  1540. clock-names = "ref", "pclk";
  1541. clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>;
  1542. #phy-cells = <0>;
  1543. power-domains = <&power RK3568_PD_VO>;
  1544. reset-names = "apb";
  1545. resets = <&cru SRST_P_MIPIDSIPHY1>;
  1546. status = "disabled";
  1547. };
  1548. usb2phy0: usb2phy@fe8a0000 {
  1549. compatible = "rockchip,rk3568-usb2phy";
  1550. reg = <0x0 0xfe8a0000 0x0 0x10000>;
  1551. clocks = <&pmucru CLK_USBPHY0_REF>;
  1552. clock-names = "phyclk";
  1553. clock-output-names = "clk_usbphy0_480m";
  1554. interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
  1555. rockchip,usbgrf = <&usb2phy0_grf>;
  1556. #clock-cells = <0>;
  1557. status = "disabled";
  1558. usb2phy0_host: host-port {
  1559. #phy-cells = <0>;
  1560. status = "disabled";
  1561. };
  1562. usb2phy0_otg: otg-port {
  1563. #phy-cells = <0>;
  1564. status = "disabled";
  1565. };
  1566. };
  1567. usb2phy1: usb2phy@fe8b0000 {
  1568. compatible = "rockchip,rk3568-usb2phy";
  1569. reg = <0x0 0xfe8b0000 0x0 0x10000>;
  1570. clocks = <&pmucru CLK_USBPHY1_REF>;
  1571. clock-names = "phyclk";
  1572. clock-output-names = "clk_usbphy1_480m";
  1573. interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
  1574. rockchip,usbgrf = <&usb2phy1_grf>;
  1575. #clock-cells = <0>;
  1576. status = "disabled";
  1577. usb2phy1_host: host-port {
  1578. #phy-cells = <0>;
  1579. status = "disabled";
  1580. };
  1581. usb2phy1_otg: otg-port {
  1582. #phy-cells = <0>;
  1583. status = "disabled";
  1584. };
  1585. };
  1586. pinctrl: pinctrl {
  1587. compatible = "rockchip,rk3568-pinctrl";
  1588. rockchip,grf = <&grf>;
  1589. rockchip,pmu = <&pmugrf>;
  1590. #address-cells = <2>;
  1591. #size-cells = <2>;
  1592. ranges;
  1593. gpio0: gpio@fdd60000 {
  1594. compatible = "rockchip,gpio-bank";
  1595. reg = <0x0 0xfdd60000 0x0 0x100>;
  1596. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  1597. clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
  1598. gpio-controller;
  1599. #gpio-cells = <2>;
  1600. interrupt-controller;
  1601. #interrupt-cells = <2>;
  1602. };
  1603. gpio1: gpio@fe740000 {
  1604. compatible = "rockchip,gpio-bank";
  1605. reg = <0x0 0xfe740000 0x0 0x100>;
  1606. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  1607. clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
  1608. gpio-controller;
  1609. #gpio-cells = <2>;
  1610. interrupt-controller;
  1611. #interrupt-cells = <2>;
  1612. };
  1613. gpio2: gpio@fe750000 {
  1614. compatible = "rockchip,gpio-bank";
  1615. reg = <0x0 0xfe750000 0x0 0x100>;
  1616. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  1617. clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
  1618. gpio-controller;
  1619. #gpio-cells = <2>;
  1620. interrupt-controller;
  1621. #interrupt-cells = <2>;
  1622. };
  1623. gpio3: gpio@fe760000 {
  1624. compatible = "rockchip,gpio-bank";
  1625. reg = <0x0 0xfe760000 0x0 0x100>;
  1626. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  1627. clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
  1628. gpio-controller;
  1629. #gpio-cells = <2>;
  1630. interrupt-controller;
  1631. #interrupt-cells = <2>;
  1632. };
  1633. gpio4: gpio@fe770000 {
  1634. compatible = "rockchip,gpio-bank";
  1635. reg = <0x0 0xfe770000 0x0 0x100>;
  1636. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  1637. clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
  1638. gpio-controller;
  1639. #gpio-cells = <2>;
  1640. interrupt-controller;
  1641. #interrupt-cells = <2>;
  1642. };
  1643. };
  1644. };
  1645. #include "rk3568-pinctrl.dtsi"