px30.dtsi 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
  4. */
  5. #include <dt-bindings/clock/px30-cru.h>
  6. #include <dt-bindings/gpio/gpio.h>
  7. #include <dt-bindings/interrupt-controller/arm-gic.h>
  8. #include <dt-bindings/interrupt-controller/irq.h>
  9. #include <dt-bindings/pinctrl/rockchip.h>
  10. #include <dt-bindings/power/px30-power.h>
  11. #include <dt-bindings/soc/rockchip,boot-mode.h>
  12. #include <dt-bindings/thermal/thermal.h>
  13. / {
  14. compatible = "rockchip,px30";
  15. interrupt-parent = <&gic>;
  16. #address-cells = <2>;
  17. #size-cells = <2>;
  18. aliases {
  19. ethernet0 = &gmac;
  20. i2c0 = &i2c0;
  21. i2c1 = &i2c1;
  22. i2c2 = &i2c2;
  23. i2c3 = &i2c3;
  24. serial0 = &uart0;
  25. serial1 = &uart1;
  26. serial2 = &uart2;
  27. serial3 = &uart3;
  28. serial4 = &uart4;
  29. serial5 = &uart5;
  30. spi0 = &spi0;
  31. spi1 = &spi1;
  32. };
  33. cpus {
  34. #address-cells = <2>;
  35. #size-cells = <0>;
  36. cpu0: cpu@0 {
  37. device_type = "cpu";
  38. compatible = "arm,cortex-a35";
  39. reg = <0x0 0x0>;
  40. enable-method = "psci";
  41. clocks = <&cru ARMCLK>;
  42. #cooling-cells = <2>;
  43. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
  44. dynamic-power-coefficient = <90>;
  45. operating-points-v2 = <&cpu0_opp_table>;
  46. };
  47. cpu1: cpu@1 {
  48. device_type = "cpu";
  49. compatible = "arm,cortex-a35";
  50. reg = <0x0 0x1>;
  51. enable-method = "psci";
  52. clocks = <&cru ARMCLK>;
  53. #cooling-cells = <2>;
  54. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
  55. dynamic-power-coefficient = <90>;
  56. operating-points-v2 = <&cpu0_opp_table>;
  57. };
  58. cpu2: cpu@2 {
  59. device_type = "cpu";
  60. compatible = "arm,cortex-a35";
  61. reg = <0x0 0x2>;
  62. enable-method = "psci";
  63. clocks = <&cru ARMCLK>;
  64. #cooling-cells = <2>;
  65. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
  66. dynamic-power-coefficient = <90>;
  67. operating-points-v2 = <&cpu0_opp_table>;
  68. };
  69. cpu3: cpu@3 {
  70. device_type = "cpu";
  71. compatible = "arm,cortex-a35";
  72. reg = <0x0 0x3>;
  73. enable-method = "psci";
  74. clocks = <&cru ARMCLK>;
  75. #cooling-cells = <2>;
  76. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
  77. dynamic-power-coefficient = <90>;
  78. operating-points-v2 = <&cpu0_opp_table>;
  79. };
  80. idle-states {
  81. entry-method = "psci";
  82. CPU_SLEEP: cpu-sleep {
  83. compatible = "arm,idle-state";
  84. local-timer-stop;
  85. arm,psci-suspend-param = <0x0010000>;
  86. entry-latency-us = <120>;
  87. exit-latency-us = <250>;
  88. min-residency-us = <900>;
  89. };
  90. CLUSTER_SLEEP: cluster-sleep {
  91. compatible = "arm,idle-state";
  92. local-timer-stop;
  93. arm,psci-suspend-param = <0x1010000>;
  94. entry-latency-us = <400>;
  95. exit-latency-us = <500>;
  96. min-residency-us = <2000>;
  97. };
  98. };
  99. };
  100. cpu0_opp_table: opp-table-0 {
  101. compatible = "operating-points-v2";
  102. opp-shared;
  103. opp-600000000 {
  104. opp-hz = /bits/ 64 <600000000>;
  105. opp-microvolt = <950000 950000 1350000>;
  106. clock-latency-ns = <40000>;
  107. opp-suspend;
  108. };
  109. opp-816000000 {
  110. opp-hz = /bits/ 64 <816000000>;
  111. opp-microvolt = <1050000 1050000 1350000>;
  112. clock-latency-ns = <40000>;
  113. };
  114. opp-1008000000 {
  115. opp-hz = /bits/ 64 <1008000000>;
  116. opp-microvolt = <1175000 1175000 1350000>;
  117. clock-latency-ns = <40000>;
  118. };
  119. opp-1200000000 {
  120. opp-hz = /bits/ 64 <1200000000>;
  121. opp-microvolt = <1300000 1300000 1350000>;
  122. clock-latency-ns = <40000>;
  123. };
  124. opp-1296000000 {
  125. opp-hz = /bits/ 64 <1296000000>;
  126. opp-microvolt = <1350000 1350000 1350000>;
  127. clock-latency-ns = <40000>;
  128. };
  129. };
  130. arm-pmu {
  131. compatible = "arm,cortex-a35-pmu";
  132. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
  133. <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
  134. <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
  135. <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  136. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  137. };
  138. display_subsystem: display-subsystem {
  139. compatible = "rockchip,display-subsystem";
  140. ports = <&vopb_out>, <&vopl_out>;
  141. status = "disabled";
  142. };
  143. gmac_clkin: external-gmac-clock {
  144. compatible = "fixed-clock";
  145. clock-frequency = <50000000>;
  146. clock-output-names = "gmac_clkin";
  147. #clock-cells = <0>;
  148. };
  149. psci {
  150. compatible = "arm,psci-1.0";
  151. method = "smc";
  152. };
  153. timer {
  154. compatible = "arm,armv8-timer";
  155. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  156. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  157. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  158. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  159. };
  160. thermal_zones: thermal-zones {
  161. soc_thermal: soc-thermal {
  162. polling-delay-passive = <20>;
  163. polling-delay = <1000>;
  164. sustainable-power = <750>;
  165. thermal-sensors = <&tsadc 0>;
  166. trips {
  167. threshold: trip-point-0 {
  168. temperature = <70000>;
  169. hysteresis = <2000>;
  170. type = "passive";
  171. };
  172. target: trip-point-1 {
  173. temperature = <85000>;
  174. hysteresis = <2000>;
  175. type = "passive";
  176. };
  177. soc_crit: soc-crit {
  178. temperature = <115000>;
  179. hysteresis = <2000>;
  180. type = "critical";
  181. };
  182. };
  183. cooling-maps {
  184. map0 {
  185. trip = <&target>;
  186. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  187. contribution = <4096>;
  188. };
  189. map1 {
  190. trip = <&target>;
  191. cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  192. contribution = <4096>;
  193. };
  194. };
  195. };
  196. gpu_thermal: gpu-thermal {
  197. polling-delay-passive = <100>; /* milliseconds */
  198. polling-delay = <1000>; /* milliseconds */
  199. thermal-sensors = <&tsadc 1>;
  200. };
  201. };
  202. xin24m: xin24m {
  203. compatible = "fixed-clock";
  204. #clock-cells = <0>;
  205. clock-frequency = <24000000>;
  206. clock-output-names = "xin24m";
  207. };
  208. pmu: power-management@ff000000 {
  209. compatible = "rockchip,px30-pmu", "syscon", "simple-mfd";
  210. reg = <0x0 0xff000000 0x0 0x1000>;
  211. power: power-controller {
  212. compatible = "rockchip,px30-power-controller";
  213. #power-domain-cells = <1>;
  214. #address-cells = <1>;
  215. #size-cells = <0>;
  216. /* These power domains are grouped by VD_LOGIC */
  217. power-domain@PX30_PD_USB {
  218. reg = <PX30_PD_USB>;
  219. clocks = <&cru HCLK_HOST>,
  220. <&cru HCLK_OTG>,
  221. <&cru SCLK_OTG_ADP>;
  222. pm_qos = <&qos_usb_host>, <&qos_usb_otg>;
  223. #power-domain-cells = <0>;
  224. };
  225. power-domain@PX30_PD_SDCARD {
  226. reg = <PX30_PD_SDCARD>;
  227. clocks = <&cru HCLK_SDMMC>,
  228. <&cru SCLK_SDMMC>;
  229. pm_qos = <&qos_sdmmc>;
  230. #power-domain-cells = <0>;
  231. };
  232. power-domain@PX30_PD_GMAC {
  233. reg = <PX30_PD_GMAC>;
  234. clocks = <&cru ACLK_GMAC>,
  235. <&cru PCLK_GMAC>,
  236. <&cru SCLK_MAC_REF>,
  237. <&cru SCLK_GMAC_RX_TX>;
  238. pm_qos = <&qos_gmac>;
  239. #power-domain-cells = <0>;
  240. };
  241. power-domain@PX30_PD_MMC_NAND {
  242. reg = <PX30_PD_MMC_NAND>;
  243. clocks = <&cru HCLK_NANDC>,
  244. <&cru HCLK_EMMC>,
  245. <&cru HCLK_SDIO>,
  246. <&cru HCLK_SFC>,
  247. <&cru SCLK_EMMC>,
  248. <&cru SCLK_NANDC>,
  249. <&cru SCLK_SDIO>,
  250. <&cru SCLK_SFC>;
  251. pm_qos = <&qos_emmc>, <&qos_nand>,
  252. <&qos_sdio>, <&qos_sfc>;
  253. #power-domain-cells = <0>;
  254. };
  255. power-domain@PX30_PD_VPU {
  256. reg = <PX30_PD_VPU>;
  257. clocks = <&cru ACLK_VPU>,
  258. <&cru HCLK_VPU>,
  259. <&cru SCLK_CORE_VPU>;
  260. pm_qos = <&qos_vpu>, <&qos_vpu_r128>;
  261. #power-domain-cells = <0>;
  262. };
  263. power-domain@PX30_PD_VO {
  264. reg = <PX30_PD_VO>;
  265. clocks = <&cru ACLK_RGA>,
  266. <&cru ACLK_VOPB>,
  267. <&cru ACLK_VOPL>,
  268. <&cru DCLK_VOPB>,
  269. <&cru DCLK_VOPL>,
  270. <&cru HCLK_RGA>,
  271. <&cru HCLK_VOPB>,
  272. <&cru HCLK_VOPL>,
  273. <&cru PCLK_MIPI_DSI>,
  274. <&cru SCLK_RGA_CORE>,
  275. <&cru SCLK_VOPB_PWM>;
  276. pm_qos = <&qos_rga_rd>, <&qos_rga_wr>,
  277. <&qos_vop_m0>, <&qos_vop_m1>;
  278. #power-domain-cells = <0>;
  279. };
  280. power-domain@PX30_PD_VI {
  281. reg = <PX30_PD_VI>;
  282. clocks = <&cru ACLK_CIF>,
  283. <&cru ACLK_ISP>,
  284. <&cru HCLK_CIF>,
  285. <&cru HCLK_ISP>,
  286. <&cru SCLK_ISP>;
  287. pm_qos = <&qos_isp_128>, <&qos_isp_rd>,
  288. <&qos_isp_wr>, <&qos_isp_m1>,
  289. <&qos_vip>;
  290. #power-domain-cells = <0>;
  291. };
  292. power-domain@PX30_PD_GPU {
  293. reg = <PX30_PD_GPU>;
  294. clocks = <&cru SCLK_GPU>;
  295. pm_qos = <&qos_gpu>;
  296. #power-domain-cells = <0>;
  297. };
  298. };
  299. };
  300. pmugrf: syscon@ff010000 {
  301. compatible = "rockchip,px30-pmugrf", "syscon", "simple-mfd";
  302. reg = <0x0 0xff010000 0x0 0x1000>;
  303. #address-cells = <1>;
  304. #size-cells = <1>;
  305. pmu_io_domains: io-domains {
  306. compatible = "rockchip,px30-pmu-io-voltage-domain";
  307. status = "disabled";
  308. };
  309. reboot-mode {
  310. compatible = "syscon-reboot-mode";
  311. offset = <0x200>;
  312. mode-bootloader = <BOOT_BL_DOWNLOAD>;
  313. mode-fastboot = <BOOT_FASTBOOT>;
  314. mode-loader = <BOOT_BL_DOWNLOAD>;
  315. mode-normal = <BOOT_NORMAL>;
  316. mode-recovery = <BOOT_RECOVERY>;
  317. };
  318. };
  319. uart0: serial@ff030000 {
  320. compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
  321. reg = <0x0 0xff030000 0x0 0x100>;
  322. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  323. clocks = <&pmucru SCLK_UART0_PMU>, <&pmucru PCLK_UART0_PMU>;
  324. clock-names = "baudclk", "apb_pclk";
  325. dmas = <&dmac 0>, <&dmac 1>;
  326. dma-names = "tx", "rx";
  327. reg-shift = <2>;
  328. reg-io-width = <4>;
  329. pinctrl-names = "default";
  330. pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
  331. status = "disabled";
  332. };
  333. i2s0_8ch: i2s@ff060000 {
  334. compatible = "rockchip,px30-i2s-tdm";
  335. reg = <0x0 0xff060000 0x0 0x1000>;
  336. interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
  337. clocks = <&cru SCLK_I2S0_TX>, <&cru SCLK_I2S0_RX>, <&cru HCLK_I2S0>;
  338. clock-names = "mclk_tx", "mclk_rx", "hclk";
  339. dmas = <&dmac 16>, <&dmac 17>;
  340. dma-names = "tx", "rx";
  341. rockchip,grf = <&grf>;
  342. resets = <&cru SRST_I2S0_TX>, <&cru SRST_I2S0_RX>;
  343. reset-names = "tx-m", "rx-m";
  344. pinctrl-names = "default";
  345. pinctrl-0 = <&i2s0_8ch_sclktx &i2s0_8ch_sclkrx
  346. &i2s0_8ch_lrcktx &i2s0_8ch_lrckrx
  347. &i2s0_8ch_sdo0 &i2s0_8ch_sdi0
  348. &i2s0_8ch_sdo1 &i2s0_8ch_sdi1
  349. &i2s0_8ch_sdo2 &i2s0_8ch_sdi2
  350. &i2s0_8ch_sdo3 &i2s0_8ch_sdi3>;
  351. #sound-dai-cells = <0>;
  352. status = "disabled";
  353. };
  354. i2s1_2ch: i2s@ff070000 {
  355. compatible = "rockchip,px30-i2s", "rockchip,rk3066-i2s";
  356. reg = <0x0 0xff070000 0x0 0x1000>;
  357. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  358. clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1>;
  359. clock-names = "i2s_clk", "i2s_hclk";
  360. dmas = <&dmac 18>, <&dmac 19>;
  361. dma-names = "tx", "rx";
  362. pinctrl-names = "default";
  363. pinctrl-0 = <&i2s1_2ch_sclk &i2s1_2ch_lrck
  364. &i2s1_2ch_sdi &i2s1_2ch_sdo>;
  365. #sound-dai-cells = <0>;
  366. status = "disabled";
  367. };
  368. i2s2_2ch: i2s@ff080000 {
  369. compatible = "rockchip,px30-i2s", "rockchip,rk3066-i2s";
  370. reg = <0x0 0xff080000 0x0 0x1000>;
  371. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  372. clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2>;
  373. clock-names = "i2s_clk", "i2s_hclk";
  374. dmas = <&dmac 20>, <&dmac 21>;
  375. dma-names = "tx", "rx";
  376. pinctrl-names = "default";
  377. pinctrl-0 = <&i2s2_2ch_sclk &i2s2_2ch_lrck
  378. &i2s2_2ch_sdi &i2s2_2ch_sdo>;
  379. #sound-dai-cells = <0>;
  380. status = "disabled";
  381. };
  382. gic: interrupt-controller@ff131000 {
  383. compatible = "arm,gic-400";
  384. #interrupt-cells = <3>;
  385. #address-cells = <0>;
  386. interrupt-controller;
  387. reg = <0x0 0xff131000 0 0x1000>,
  388. <0x0 0xff132000 0 0x2000>,
  389. <0x0 0xff134000 0 0x2000>,
  390. <0x0 0xff136000 0 0x2000>;
  391. interrupts = <GIC_PPI 9
  392. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  393. };
  394. grf: syscon@ff140000 {
  395. compatible = "rockchip,px30-grf", "syscon", "simple-mfd";
  396. reg = <0x0 0xff140000 0x0 0x1000>;
  397. #address-cells = <1>;
  398. #size-cells = <1>;
  399. io_domains: io-domains {
  400. compatible = "rockchip,px30-io-voltage-domain";
  401. status = "disabled";
  402. };
  403. lvds: lvds {
  404. compatible = "rockchip,px30-lvds";
  405. phys = <&dsi_dphy>;
  406. phy-names = "dphy";
  407. rockchip,grf = <&grf>;
  408. rockchip,output = "lvds";
  409. status = "disabled";
  410. ports {
  411. #address-cells = <1>;
  412. #size-cells = <0>;
  413. port@0 {
  414. reg = <0>;
  415. #address-cells = <1>;
  416. #size-cells = <0>;
  417. lvds_vopb_in: endpoint@0 {
  418. reg = <0>;
  419. remote-endpoint = <&vopb_out_lvds>;
  420. };
  421. lvds_vopl_in: endpoint@1 {
  422. reg = <1>;
  423. remote-endpoint = <&vopl_out_lvds>;
  424. };
  425. };
  426. };
  427. };
  428. };
  429. uart1: serial@ff158000 {
  430. compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
  431. reg = <0x0 0xff158000 0x0 0x100>;
  432. interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  433. clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
  434. clock-names = "baudclk", "apb_pclk";
  435. dmas = <&dmac 2>, <&dmac 3>;
  436. dma-names = "tx", "rx";
  437. reg-shift = <2>;
  438. reg-io-width = <4>;
  439. pinctrl-names = "default";
  440. pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
  441. status = "disabled";
  442. };
  443. uart2: serial@ff160000 {
  444. compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
  445. reg = <0x0 0xff160000 0x0 0x100>;
  446. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  447. clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
  448. clock-names = "baudclk", "apb_pclk";
  449. dmas = <&dmac 4>, <&dmac 5>;
  450. dma-names = "tx", "rx";
  451. reg-shift = <2>;
  452. reg-io-width = <4>;
  453. pinctrl-names = "default";
  454. pinctrl-0 = <&uart2m0_xfer>;
  455. status = "disabled";
  456. };
  457. uart3: serial@ff168000 {
  458. compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
  459. reg = <0x0 0xff168000 0x0 0x100>;
  460. interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
  461. clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
  462. clock-names = "baudclk", "apb_pclk";
  463. dmas = <&dmac 6>, <&dmac 7>;
  464. dma-names = "tx", "rx";
  465. reg-shift = <2>;
  466. reg-io-width = <4>;
  467. pinctrl-names = "default";
  468. pinctrl-0 = <&uart3m1_xfer &uart3m1_cts &uart3m1_rts>;
  469. status = "disabled";
  470. };
  471. uart4: serial@ff170000 {
  472. compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
  473. reg = <0x0 0xff170000 0x0 0x100>;
  474. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  475. clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
  476. clock-names = "baudclk", "apb_pclk";
  477. dmas = <&dmac 8>, <&dmac 9>;
  478. dma-names = "tx", "rx";
  479. reg-shift = <2>;
  480. reg-io-width = <4>;
  481. pinctrl-names = "default";
  482. pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
  483. status = "disabled";
  484. };
  485. uart5: serial@ff178000 {
  486. compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
  487. reg = <0x0 0xff178000 0x0 0x100>;
  488. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  489. clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
  490. clock-names = "baudclk", "apb_pclk";
  491. dmas = <&dmac 10>, <&dmac 11>;
  492. dma-names = "tx", "rx";
  493. reg-shift = <2>;
  494. reg-io-width = <4>;
  495. pinctrl-names = "default";
  496. pinctrl-0 = <&uart5_xfer &uart5_cts &uart5_rts>;
  497. status = "disabled";
  498. };
  499. i2c0: i2c@ff180000 {
  500. compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
  501. reg = <0x0 0xff180000 0x0 0x1000>;
  502. clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
  503. clock-names = "i2c", "pclk";
  504. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  505. pinctrl-names = "default";
  506. pinctrl-0 = <&i2c0_xfer>;
  507. #address-cells = <1>;
  508. #size-cells = <0>;
  509. status = "disabled";
  510. };
  511. i2c1: i2c@ff190000 {
  512. compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
  513. reg = <0x0 0xff190000 0x0 0x1000>;
  514. clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
  515. clock-names = "i2c", "pclk";
  516. interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  517. pinctrl-names = "default";
  518. pinctrl-0 = <&i2c1_xfer>;
  519. #address-cells = <1>;
  520. #size-cells = <0>;
  521. status = "disabled";
  522. };
  523. i2c2: i2c@ff1a0000 {
  524. compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
  525. reg = <0x0 0xff1a0000 0x0 0x1000>;
  526. clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
  527. clock-names = "i2c", "pclk";
  528. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  529. pinctrl-names = "default";
  530. pinctrl-0 = <&i2c2_xfer>;
  531. #address-cells = <1>;
  532. #size-cells = <0>;
  533. status = "disabled";
  534. };
  535. i2c3: i2c@ff1b0000 {
  536. compatible = "rockchip,px30-i2c", "rockchip,rk3399-i2c";
  537. reg = <0x0 0xff1b0000 0x0 0x1000>;
  538. clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
  539. clock-names = "i2c", "pclk";
  540. interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  541. pinctrl-names = "default";
  542. pinctrl-0 = <&i2c3_xfer>;
  543. #address-cells = <1>;
  544. #size-cells = <0>;
  545. status = "disabled";
  546. };
  547. spi0: spi@ff1d0000 {
  548. compatible = "rockchip,px30-spi", "rockchip,rk3066-spi";
  549. reg = <0x0 0xff1d0000 0x0 0x1000>;
  550. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  551. clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
  552. clock-names = "spiclk", "apb_pclk";
  553. dmas = <&dmac 12>, <&dmac 13>;
  554. dma-names = "tx", "rx";
  555. pinctrl-names = "default";
  556. pinctrl-0 = <&spi0_clk &spi0_csn &spi0_miso &spi0_mosi>;
  557. #address-cells = <1>;
  558. #size-cells = <0>;
  559. status = "disabled";
  560. };
  561. spi1: spi@ff1d8000 {
  562. compatible = "rockchip,px30-spi", "rockchip,rk3066-spi";
  563. reg = <0x0 0xff1d8000 0x0 0x1000>;
  564. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  565. clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
  566. clock-names = "spiclk", "apb_pclk";
  567. dmas = <&dmac 14>, <&dmac 15>;
  568. dma-names = "tx", "rx";
  569. pinctrl-names = "default";
  570. pinctrl-0 = <&spi1_clk &spi1_csn0 &spi1_csn1 &spi1_miso &spi1_mosi>;
  571. #address-cells = <1>;
  572. #size-cells = <0>;
  573. status = "disabled";
  574. };
  575. wdt: watchdog@ff1e0000 {
  576. compatible = "rockchip,px30-wdt", "snps,dw-wdt";
  577. reg = <0x0 0xff1e0000 0x0 0x100>;
  578. clocks = <&cru PCLK_WDT_NS>;
  579. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  580. status = "disabled";
  581. };
  582. pwm0: pwm@ff200000 {
  583. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  584. reg = <0x0 0xff200000 0x0 0x10>;
  585. clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
  586. clock-names = "pwm", "pclk";
  587. pinctrl-names = "default";
  588. pinctrl-0 = <&pwm0_pin>;
  589. #pwm-cells = <3>;
  590. status = "disabled";
  591. };
  592. pwm1: pwm@ff200010 {
  593. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  594. reg = <0x0 0xff200010 0x0 0x10>;
  595. clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
  596. clock-names = "pwm", "pclk";
  597. pinctrl-names = "default";
  598. pinctrl-0 = <&pwm1_pin>;
  599. #pwm-cells = <3>;
  600. status = "disabled";
  601. };
  602. pwm2: pwm@ff200020 {
  603. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  604. reg = <0x0 0xff200020 0x0 0x10>;
  605. clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
  606. clock-names = "pwm", "pclk";
  607. pinctrl-names = "default";
  608. pinctrl-0 = <&pwm2_pin>;
  609. #pwm-cells = <3>;
  610. status = "disabled";
  611. };
  612. pwm3: pwm@ff200030 {
  613. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  614. reg = <0x0 0xff200030 0x0 0x10>;
  615. clocks = <&cru SCLK_PWM0>, <&cru PCLK_PWM0>;
  616. clock-names = "pwm", "pclk";
  617. pinctrl-names = "default";
  618. pinctrl-0 = <&pwm3_pin>;
  619. #pwm-cells = <3>;
  620. status = "disabled";
  621. };
  622. pwm4: pwm@ff208000 {
  623. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  624. reg = <0x0 0xff208000 0x0 0x10>;
  625. clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
  626. clock-names = "pwm", "pclk";
  627. pinctrl-names = "default";
  628. pinctrl-0 = <&pwm4_pin>;
  629. #pwm-cells = <3>;
  630. status = "disabled";
  631. };
  632. pwm5: pwm@ff208010 {
  633. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  634. reg = <0x0 0xff208010 0x0 0x10>;
  635. clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
  636. clock-names = "pwm", "pclk";
  637. pinctrl-names = "default";
  638. pinctrl-0 = <&pwm5_pin>;
  639. #pwm-cells = <3>;
  640. status = "disabled";
  641. };
  642. pwm6: pwm@ff208020 {
  643. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  644. reg = <0x0 0xff208020 0x0 0x10>;
  645. clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
  646. clock-names = "pwm", "pclk";
  647. pinctrl-names = "default";
  648. pinctrl-0 = <&pwm6_pin>;
  649. #pwm-cells = <3>;
  650. status = "disabled";
  651. };
  652. pwm7: pwm@ff208030 {
  653. compatible = "rockchip,px30-pwm", "rockchip,rk3328-pwm";
  654. reg = <0x0 0xff208030 0x0 0x10>;
  655. clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
  656. clock-names = "pwm", "pclk";
  657. pinctrl-names = "default";
  658. pinctrl-0 = <&pwm7_pin>;
  659. #pwm-cells = <3>;
  660. status = "disabled";
  661. };
  662. rktimer: timer@ff210000 {
  663. compatible = "rockchip,px30-timer", "rockchip,rk3288-timer";
  664. reg = <0x0 0xff210000 0x0 0x1000>;
  665. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  666. clocks = <&cru PCLK_TIMER>, <&cru SCLK_TIMER0>;
  667. clock-names = "pclk", "timer";
  668. };
  669. dmac: dma-controller@ff240000 {
  670. compatible = "arm,pl330", "arm,primecell";
  671. reg = <0x0 0xff240000 0x0 0x4000>;
  672. interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  673. <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  674. arm,pl330-periph-burst;
  675. clocks = <&cru ACLK_DMAC>;
  676. clock-names = "apb_pclk";
  677. #dma-cells = <1>;
  678. };
  679. tsadc: tsadc@ff280000 {
  680. compatible = "rockchip,px30-tsadc";
  681. reg = <0x0 0xff280000 0x0 0x100>;
  682. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  683. assigned-clocks = <&cru SCLK_TSADC>;
  684. assigned-clock-rates = <50000>;
  685. clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
  686. clock-names = "tsadc", "apb_pclk";
  687. resets = <&cru SRST_TSADC>;
  688. reset-names = "tsadc-apb";
  689. rockchip,grf = <&grf>;
  690. rockchip,hw-tshut-temp = <120000>;
  691. pinctrl-names = "init", "default", "sleep";
  692. pinctrl-0 = <&tsadc_otp_pin>;
  693. pinctrl-1 = <&tsadc_otp_out>;
  694. pinctrl-2 = <&tsadc_otp_pin>;
  695. #thermal-sensor-cells = <1>;
  696. status = "disabled";
  697. };
  698. saradc: saradc@ff288000 {
  699. compatible = "rockchip,px30-saradc", "rockchip,rk3399-saradc";
  700. reg = <0x0 0xff288000 0x0 0x100>;
  701. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  702. #io-channel-cells = <1>;
  703. clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
  704. clock-names = "saradc", "apb_pclk";
  705. resets = <&cru SRST_SARADC_P>;
  706. reset-names = "saradc-apb";
  707. status = "disabled";
  708. };
  709. otp: nvmem@ff290000 {
  710. compatible = "rockchip,px30-otp";
  711. reg = <0x0 0xff290000 0x0 0x4000>;
  712. clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
  713. <&cru PCLK_OTP_PHY>;
  714. clock-names = "otp", "apb_pclk", "phy";
  715. resets = <&cru SRST_OTP_PHY>;
  716. reset-names = "phy";
  717. #address-cells = <1>;
  718. #size-cells = <1>;
  719. /* Data cells */
  720. cpu_id: id@7 {
  721. reg = <0x07 0x10>;
  722. };
  723. cpu_leakage: cpu-leakage@17 {
  724. reg = <0x17 0x1>;
  725. };
  726. performance: performance@1e {
  727. reg = <0x1e 0x1>;
  728. bits = <4 3>;
  729. };
  730. };
  731. cru: clock-controller@ff2b0000 {
  732. compatible = "rockchip,px30-cru";
  733. reg = <0x0 0xff2b0000 0x0 0x1000>;
  734. clocks = <&xin24m>, <&pmucru PLL_GPLL>;
  735. clock-names = "xin24m", "gpll";
  736. rockchip,grf = <&grf>;
  737. #clock-cells = <1>;
  738. #reset-cells = <1>;
  739. assigned-clocks = <&cru PLL_NPLL>,
  740. <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
  741. <&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
  742. <&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
  743. assigned-clock-rates = <1188000000>,
  744. <200000000>, <200000000>,
  745. <150000000>, <150000000>,
  746. <100000000>, <200000000>;
  747. };
  748. pmucru: clock-controller@ff2bc000 {
  749. compatible = "rockchip,px30-pmucru";
  750. reg = <0x0 0xff2bc000 0x0 0x1000>;
  751. clocks = <&xin24m>;
  752. clock-names = "xin24m";
  753. rockchip,grf = <&grf>;
  754. #clock-cells = <1>;
  755. #reset-cells = <1>;
  756. assigned-clocks =
  757. <&pmucru PLL_GPLL>, <&pmucru PCLK_PMU_PRE>,
  758. <&pmucru SCLK_WIFI_PMU>;
  759. assigned-clock-rates =
  760. <1200000000>, <100000000>,
  761. <26000000>;
  762. };
  763. usb2phy_grf: syscon@ff2c0000 {
  764. compatible = "rockchip,px30-usb2phy-grf", "syscon",
  765. "simple-mfd";
  766. reg = <0x0 0xff2c0000 0x0 0x10000>;
  767. #address-cells = <1>;
  768. #size-cells = <1>;
  769. u2phy: usb2phy@100 {
  770. compatible = "rockchip,px30-usb2phy";
  771. reg = <0x100 0x20>;
  772. clocks = <&pmucru SCLK_USBPHY_REF>;
  773. clock-names = "phyclk";
  774. #clock-cells = <0>;
  775. assigned-clocks = <&cru USB480M>;
  776. assigned-clock-parents = <&u2phy>;
  777. clock-output-names = "usb480m_phy";
  778. status = "disabled";
  779. u2phy_host: host-port {
  780. #phy-cells = <0>;
  781. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
  782. interrupt-names = "linestate";
  783. status = "disabled";
  784. };
  785. u2phy_otg: otg-port {
  786. #phy-cells = <0>;
  787. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
  788. <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
  789. <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
  790. interrupt-names = "otg-bvalid", "otg-id",
  791. "linestate";
  792. status = "disabled";
  793. };
  794. };
  795. };
  796. dsi_dphy: phy@ff2e0000 {
  797. compatible = "rockchip,px30-dsi-dphy";
  798. reg = <0x0 0xff2e0000 0x0 0x10000>;
  799. clocks = <&pmucru SCLK_MIPIDSIPHY_REF>, <&cru PCLK_MIPIDSIPHY>;
  800. clock-names = "ref", "pclk";
  801. resets = <&cru SRST_MIPIDSIPHY_P>;
  802. reset-names = "apb";
  803. #phy-cells = <0>;
  804. power-domains = <&power PX30_PD_VO>;
  805. status = "disabled";
  806. };
  807. csi_dphy: phy@ff2f0000 {
  808. compatible = "rockchip,px30-csi-dphy";
  809. reg = <0x0 0xff2f0000 0x0 0x4000>;
  810. clocks = <&cru PCLK_MIPICSIPHY>;
  811. clock-names = "pclk";
  812. #phy-cells = <0>;
  813. power-domains = <&power PX30_PD_VI>;
  814. resets = <&cru SRST_MIPICSIPHY_P>;
  815. reset-names = "apb";
  816. rockchip,grf = <&grf>;
  817. status = "disabled";
  818. };
  819. usb20_otg: usb@ff300000 {
  820. compatible = "rockchip,px30-usb", "rockchip,rk3066-usb",
  821. "snps,dwc2";
  822. reg = <0x0 0xff300000 0x0 0x40000>;
  823. interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  824. clocks = <&cru HCLK_OTG>;
  825. clock-names = "otg";
  826. dr_mode = "otg";
  827. g-np-tx-fifo-size = <16>;
  828. g-rx-fifo-size = <280>;
  829. g-tx-fifo-size = <256 128 128 64 32 16>;
  830. phys = <&u2phy_otg>;
  831. phy-names = "usb2-phy";
  832. power-domains = <&power PX30_PD_USB>;
  833. status = "disabled";
  834. };
  835. usb_host0_ehci: usb@ff340000 {
  836. compatible = "generic-ehci";
  837. reg = <0x0 0xff340000 0x0 0x10000>;
  838. interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  839. clocks = <&cru HCLK_HOST>;
  840. phys = <&u2phy_host>;
  841. phy-names = "usb";
  842. power-domains = <&power PX30_PD_USB>;
  843. status = "disabled";
  844. };
  845. usb_host0_ohci: usb@ff350000 {
  846. compatible = "generic-ohci";
  847. reg = <0x0 0xff350000 0x0 0x10000>;
  848. interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  849. clocks = <&cru HCLK_HOST>;
  850. phys = <&u2phy_host>;
  851. phy-names = "usb";
  852. power-domains = <&power PX30_PD_USB>;
  853. status = "disabled";
  854. };
  855. gmac: ethernet@ff360000 {
  856. compatible = "rockchip,px30-gmac";
  857. reg = <0x0 0xff360000 0x0 0x10000>;
  858. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  859. interrupt-names = "macirq";
  860. clocks = <&cru SCLK_GMAC>, <&cru SCLK_GMAC_RX_TX>,
  861. <&cru SCLK_GMAC_RX_TX>, <&cru SCLK_MAC_REF>,
  862. <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>,
  863. <&cru PCLK_GMAC>, <&cru SCLK_GMAC_RMII>;
  864. clock-names = "stmmaceth", "mac_clk_rx",
  865. "mac_clk_tx", "clk_mac_ref",
  866. "clk_mac_refout", "aclk_mac",
  867. "pclk_mac", "clk_mac_speed";
  868. rockchip,grf = <&grf>;
  869. phy-mode = "rmii";
  870. pinctrl-names = "default";
  871. pinctrl-0 = <&rmii_pins &mac_refclk_12ma>;
  872. power-domains = <&power PX30_PD_GMAC>;
  873. resets = <&cru SRST_GMAC_A>;
  874. reset-names = "stmmaceth";
  875. status = "disabled";
  876. };
  877. sdmmc: mmc@ff370000 {
  878. compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
  879. reg = <0x0 0xff370000 0x0 0x4000>;
  880. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  881. clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
  882. <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
  883. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  884. bus-width = <4>;
  885. fifo-depth = <0x100>;
  886. max-frequency = <150000000>;
  887. pinctrl-names = "default";
  888. pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
  889. power-domains = <&power PX30_PD_SDCARD>;
  890. status = "disabled";
  891. };
  892. sdio: mmc@ff380000 {
  893. compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
  894. reg = <0x0 0xff380000 0x0 0x4000>;
  895. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  896. clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
  897. <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
  898. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  899. bus-width = <4>;
  900. fifo-depth = <0x100>;
  901. max-frequency = <150000000>;
  902. pinctrl-names = "default";
  903. pinctrl-0 = <&sdio_bus4 &sdio_cmd &sdio_clk>;
  904. power-domains = <&power PX30_PD_MMC_NAND>;
  905. status = "disabled";
  906. };
  907. emmc: mmc@ff390000 {
  908. compatible = "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc";
  909. reg = <0x0 0xff390000 0x0 0x4000>;
  910. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  911. clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
  912. <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
  913. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  914. bus-width = <8>;
  915. fifo-depth = <0x100>;
  916. max-frequency = <150000000>;
  917. pinctrl-names = "default";
  918. pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
  919. power-domains = <&power PX30_PD_MMC_NAND>;
  920. status = "disabled";
  921. };
  922. sfc: spi@ff3a0000 {
  923. compatible = "rockchip,sfc";
  924. reg = <0x0 0xff3a0000 0x0 0x4000>;
  925. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  926. clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
  927. clock-names = "clk_sfc", "hclk_sfc";
  928. pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus4>;
  929. pinctrl-names = "default";
  930. power-domains = <&power PX30_PD_MMC_NAND>;
  931. status = "disabled";
  932. };
  933. nfc: nand-controller@ff3b0000 {
  934. compatible = "rockchip,px30-nfc";
  935. reg = <0x0 0xff3b0000 0x0 0x4000>;
  936. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  937. clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
  938. clock-names = "ahb", "nfc";
  939. assigned-clocks = <&cru SCLK_NANDC>;
  940. assigned-clock-rates = <150000000>;
  941. pinctrl-names = "default";
  942. pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_cs0
  943. &flash_rdn &flash_rdy &flash_wrn &flash_dqs>;
  944. power-domains = <&power PX30_PD_MMC_NAND>;
  945. status = "disabled";
  946. };
  947. gpu_opp_table: opp-table-1 {
  948. compatible = "operating-points-v2";
  949. opp-200000000 {
  950. opp-hz = /bits/ 64 <200000000>;
  951. opp-microvolt = <950000>;
  952. };
  953. opp-300000000 {
  954. opp-hz = /bits/ 64 <300000000>;
  955. opp-microvolt = <975000>;
  956. };
  957. opp-400000000 {
  958. opp-hz = /bits/ 64 <400000000>;
  959. opp-microvolt = <1050000>;
  960. };
  961. opp-480000000 {
  962. opp-hz = /bits/ 64 <480000000>;
  963. opp-microvolt = <1125000>;
  964. };
  965. };
  966. gpu: gpu@ff400000 {
  967. compatible = "rockchip,px30-mali", "arm,mali-bifrost";
  968. reg = <0x0 0xff400000 0x0 0x4000>;
  969. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
  970. <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
  971. <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  972. interrupt-names = "job", "mmu", "gpu";
  973. clocks = <&cru SCLK_GPU>;
  974. #cooling-cells = <2>;
  975. power-domains = <&power PX30_PD_GPU>;
  976. operating-points-v2 = <&gpu_opp_table>;
  977. status = "disabled";
  978. };
  979. vpu: video-codec@ff442000 {
  980. compatible = "rockchip,px30-vpu";
  981. reg = <0x0 0xff442000 0x0 0x800>;
  982. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
  983. <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  984. interrupt-names = "vepu", "vdpu";
  985. clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
  986. clock-names = "aclk", "hclk";
  987. iommus = <&vpu_mmu>;
  988. power-domains = <&power PX30_PD_VPU>;
  989. };
  990. vpu_mmu: iommu@ff442800 {
  991. compatible = "rockchip,iommu";
  992. reg = <0x0 0xff442800 0x0 0x100>;
  993. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  994. clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
  995. clock-names = "aclk", "iface";
  996. #iommu-cells = <0>;
  997. power-domains = <&power PX30_PD_VPU>;
  998. };
  999. dsi: dsi@ff450000 {
  1000. compatible = "rockchip,px30-mipi-dsi", "snps,dw-mipi-dsi";
  1001. reg = <0x0 0xff450000 0x0 0x10000>;
  1002. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  1003. clocks = <&cru PCLK_MIPI_DSI>;
  1004. clock-names = "pclk";
  1005. phys = <&dsi_dphy>;
  1006. phy-names = "dphy";
  1007. power-domains = <&power PX30_PD_VO>;
  1008. resets = <&cru SRST_MIPIDSI_HOST_P>;
  1009. reset-names = "apb";
  1010. rockchip,grf = <&grf>;
  1011. #address-cells = <1>;
  1012. #size-cells = <0>;
  1013. status = "disabled";
  1014. ports {
  1015. #address-cells = <1>;
  1016. #size-cells = <0>;
  1017. port@0 {
  1018. reg = <0>;
  1019. #address-cells = <1>;
  1020. #size-cells = <0>;
  1021. dsi_in_vopb: endpoint@0 {
  1022. reg = <0>;
  1023. remote-endpoint = <&vopb_out_dsi>;
  1024. };
  1025. dsi_in_vopl: endpoint@1 {
  1026. reg = <1>;
  1027. remote-endpoint = <&vopl_out_dsi>;
  1028. };
  1029. };
  1030. };
  1031. };
  1032. vopb: vop@ff460000 {
  1033. compatible = "rockchip,px30-vop-big";
  1034. reg = <0x0 0xff460000 0x0 0xefc>;
  1035. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  1036. clocks = <&cru ACLK_VOPB>, <&cru DCLK_VOPB>,
  1037. <&cru HCLK_VOPB>;
  1038. clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
  1039. resets = <&cru SRST_VOPB_A>, <&cru SRST_VOPB_H>, <&cru SRST_VOPB>;
  1040. reset-names = "axi", "ahb", "dclk";
  1041. iommus = <&vopb_mmu>;
  1042. power-domains = <&power PX30_PD_VO>;
  1043. status = "disabled";
  1044. vopb_out: port {
  1045. #address-cells = <1>;
  1046. #size-cells = <0>;
  1047. vopb_out_dsi: endpoint@0 {
  1048. reg = <0>;
  1049. remote-endpoint = <&dsi_in_vopb>;
  1050. };
  1051. vopb_out_lvds: endpoint@1 {
  1052. reg = <1>;
  1053. remote-endpoint = <&lvds_vopb_in>;
  1054. };
  1055. };
  1056. };
  1057. vopb_mmu: iommu@ff460f00 {
  1058. compatible = "rockchip,iommu";
  1059. reg = <0x0 0xff460f00 0x0 0x100>;
  1060. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  1061. clocks = <&cru ACLK_VOPB>, <&cru HCLK_VOPB>;
  1062. clock-names = "aclk", "iface";
  1063. power-domains = <&power PX30_PD_VO>;
  1064. #iommu-cells = <0>;
  1065. status = "disabled";
  1066. };
  1067. vopl: vop@ff470000 {
  1068. compatible = "rockchip,px30-vop-lit";
  1069. reg = <0x0 0xff470000 0x0 0xefc>;
  1070. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  1071. clocks = <&cru ACLK_VOPL>, <&cru DCLK_VOPL>,
  1072. <&cru HCLK_VOPL>;
  1073. clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
  1074. resets = <&cru SRST_VOPL_A>, <&cru SRST_VOPL_H>, <&cru SRST_VOPL>;
  1075. reset-names = "axi", "ahb", "dclk";
  1076. iommus = <&vopl_mmu>;
  1077. power-domains = <&power PX30_PD_VO>;
  1078. status = "disabled";
  1079. vopl_out: port {
  1080. #address-cells = <1>;
  1081. #size-cells = <0>;
  1082. vopl_out_dsi: endpoint@0 {
  1083. reg = <0>;
  1084. remote-endpoint = <&dsi_in_vopl>;
  1085. };
  1086. vopl_out_lvds: endpoint@1 {
  1087. reg = <1>;
  1088. remote-endpoint = <&lvds_vopl_in>;
  1089. };
  1090. };
  1091. };
  1092. vopl_mmu: iommu@ff470f00 {
  1093. compatible = "rockchip,iommu";
  1094. reg = <0x0 0xff470f00 0x0 0x100>;
  1095. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  1096. clocks = <&cru ACLK_VOPL>, <&cru HCLK_VOPL>;
  1097. clock-names = "aclk", "iface";
  1098. power-domains = <&power PX30_PD_VO>;
  1099. #iommu-cells = <0>;
  1100. status = "disabled";
  1101. };
  1102. isp: isp@ff4a0000 {
  1103. compatible = "rockchip,px30-cif-isp"; /*rk3326-rkisp1*/
  1104. reg = <0x0 0xff4a0000 0x0 0x8000>;
  1105. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
  1106. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
  1107. <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  1108. interrupt-names = "isp", "mi", "mipi";
  1109. clocks = <&cru SCLK_ISP>,
  1110. <&cru ACLK_ISP>,
  1111. <&cru HCLK_ISP>,
  1112. <&cru PCLK_ISP>;
  1113. clock-names = "isp", "aclk", "hclk", "pclk";
  1114. iommus = <&isp_mmu>;
  1115. phys = <&csi_dphy>;
  1116. phy-names = "dphy";
  1117. power-domains = <&power PX30_PD_VI>;
  1118. status = "disabled";
  1119. ports {
  1120. #address-cells = <1>;
  1121. #size-cells = <0>;
  1122. port@0 {
  1123. reg = <0>;
  1124. #address-cells = <1>;
  1125. #size-cells = <0>;
  1126. };
  1127. };
  1128. };
  1129. isp_mmu: iommu@ff4a8000 {
  1130. compatible = "rockchip,iommu";
  1131. reg = <0x0 0xff4a8000 0x0 0x100>;
  1132. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  1133. clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
  1134. clock-names = "aclk", "iface";
  1135. power-domains = <&power PX30_PD_VI>;
  1136. rockchip,disable-mmu-reset;
  1137. #iommu-cells = <0>;
  1138. };
  1139. qos_gmac: qos@ff518000 {
  1140. compatible = "rockchip,px30-qos", "syscon";
  1141. reg = <0x0 0xff518000 0x0 0x20>;
  1142. };
  1143. qos_gpu: qos@ff520000 {
  1144. compatible = "rockchip,px30-qos", "syscon";
  1145. reg = <0x0 0xff520000 0x0 0x20>;
  1146. };
  1147. qos_sdmmc: qos@ff52c000 {
  1148. compatible = "rockchip,px30-qos", "syscon";
  1149. reg = <0x0 0xff52c000 0x0 0x20>;
  1150. };
  1151. qos_emmc: qos@ff538000 {
  1152. compatible = "rockchip,px30-qos", "syscon";
  1153. reg = <0x0 0xff538000 0x0 0x20>;
  1154. };
  1155. qos_nand: qos@ff538080 {
  1156. compatible = "rockchip,px30-qos", "syscon";
  1157. reg = <0x0 0xff538080 0x0 0x20>;
  1158. };
  1159. qos_sdio: qos@ff538100 {
  1160. compatible = "rockchip,px30-qos", "syscon";
  1161. reg = <0x0 0xff538100 0x0 0x20>;
  1162. };
  1163. qos_sfc: qos@ff538180 {
  1164. compatible = "rockchip,px30-qos", "syscon";
  1165. reg = <0x0 0xff538180 0x0 0x20>;
  1166. };
  1167. qos_usb_host: qos@ff540000 {
  1168. compatible = "rockchip,px30-qos", "syscon";
  1169. reg = <0x0 0xff540000 0x0 0x20>;
  1170. };
  1171. qos_usb_otg: qos@ff540080 {
  1172. compatible = "rockchip,px30-qos", "syscon";
  1173. reg = <0x0 0xff540080 0x0 0x20>;
  1174. };
  1175. qos_isp_128: qos@ff548000 {
  1176. compatible = "rockchip,px30-qos", "syscon";
  1177. reg = <0x0 0xff548000 0x0 0x20>;
  1178. };
  1179. qos_isp_rd: qos@ff548080 {
  1180. compatible = "rockchip,px30-qos", "syscon";
  1181. reg = <0x0 0xff548080 0x0 0x20>;
  1182. };
  1183. qos_isp_wr: qos@ff548100 {
  1184. compatible = "rockchip,px30-qos", "syscon";
  1185. reg = <0x0 0xff548100 0x0 0x20>;
  1186. };
  1187. qos_isp_m1: qos@ff548180 {
  1188. compatible = "rockchip,px30-qos", "syscon";
  1189. reg = <0x0 0xff548180 0x0 0x20>;
  1190. };
  1191. qos_vip: qos@ff548200 {
  1192. compatible = "rockchip,px30-qos", "syscon";
  1193. reg = <0x0 0xff548200 0x0 0x20>;
  1194. };
  1195. qos_rga_rd: qos@ff550000 {
  1196. compatible = "rockchip,px30-qos", "syscon";
  1197. reg = <0x0 0xff550000 0x0 0x20>;
  1198. };
  1199. qos_rga_wr: qos@ff550080 {
  1200. compatible = "rockchip,px30-qos", "syscon";
  1201. reg = <0x0 0xff550080 0x0 0x20>;
  1202. };
  1203. qos_vop_m0: qos@ff550100 {
  1204. compatible = "rockchip,px30-qos", "syscon";
  1205. reg = <0x0 0xff550100 0x0 0x20>;
  1206. };
  1207. qos_vop_m1: qos@ff550180 {
  1208. compatible = "rockchip,px30-qos", "syscon";
  1209. reg = <0x0 0xff550180 0x0 0x20>;
  1210. };
  1211. qos_vpu: qos@ff558000 {
  1212. compatible = "rockchip,px30-qos", "syscon";
  1213. reg = <0x0 0xff558000 0x0 0x20>;
  1214. };
  1215. qos_vpu_r128: qos@ff558080 {
  1216. compatible = "rockchip,px30-qos", "syscon";
  1217. reg = <0x0 0xff558080 0x0 0x20>;
  1218. };
  1219. pinctrl: pinctrl {
  1220. compatible = "rockchip,px30-pinctrl";
  1221. rockchip,grf = <&grf>;
  1222. rockchip,pmu = <&pmugrf>;
  1223. #address-cells = <2>;
  1224. #size-cells = <2>;
  1225. ranges;
  1226. gpio0: gpio@ff040000 {
  1227. compatible = "rockchip,gpio-bank";
  1228. reg = <0x0 0xff040000 0x0 0x100>;
  1229. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  1230. clocks = <&pmucru PCLK_GPIO0_PMU>;
  1231. gpio-controller;
  1232. #gpio-cells = <2>;
  1233. interrupt-controller;
  1234. #interrupt-cells = <2>;
  1235. };
  1236. gpio1: gpio@ff250000 {
  1237. compatible = "rockchip,gpio-bank";
  1238. reg = <0x0 0xff250000 0x0 0x100>;
  1239. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  1240. clocks = <&cru PCLK_GPIO1>;
  1241. gpio-controller;
  1242. #gpio-cells = <2>;
  1243. interrupt-controller;
  1244. #interrupt-cells = <2>;
  1245. };
  1246. gpio2: gpio@ff260000 {
  1247. compatible = "rockchip,gpio-bank";
  1248. reg = <0x0 0xff260000 0x0 0x100>;
  1249. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  1250. clocks = <&cru PCLK_GPIO2>;
  1251. gpio-controller;
  1252. #gpio-cells = <2>;
  1253. interrupt-controller;
  1254. #interrupt-cells = <2>;
  1255. };
  1256. gpio3: gpio@ff270000 {
  1257. compatible = "rockchip,gpio-bank";
  1258. reg = <0x0 0xff270000 0x0 0x100>;
  1259. interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
  1260. clocks = <&cru PCLK_GPIO3>;
  1261. gpio-controller;
  1262. #gpio-cells = <2>;
  1263. interrupt-controller;
  1264. #interrupt-cells = <2>;
  1265. };
  1266. pcfg_pull_up: pcfg-pull-up {
  1267. bias-pull-up;
  1268. };
  1269. pcfg_pull_down: pcfg-pull-down {
  1270. bias-pull-down;
  1271. };
  1272. pcfg_pull_none: pcfg-pull-none {
  1273. bias-disable;
  1274. };
  1275. pcfg_pull_none_2ma: pcfg-pull-none-2ma {
  1276. bias-disable;
  1277. drive-strength = <2>;
  1278. };
  1279. pcfg_pull_up_2ma: pcfg-pull-up-2ma {
  1280. bias-pull-up;
  1281. drive-strength = <2>;
  1282. };
  1283. pcfg_pull_up_4ma: pcfg-pull-up-4ma {
  1284. bias-pull-up;
  1285. drive-strength = <4>;
  1286. };
  1287. pcfg_pull_none_4ma: pcfg-pull-none-4ma {
  1288. bias-disable;
  1289. drive-strength = <4>;
  1290. };
  1291. pcfg_pull_down_4ma: pcfg-pull-down-4ma {
  1292. bias-pull-down;
  1293. drive-strength = <4>;
  1294. };
  1295. pcfg_pull_none_8ma: pcfg-pull-none-8ma {
  1296. bias-disable;
  1297. drive-strength = <8>;
  1298. };
  1299. pcfg_pull_up_8ma: pcfg-pull-up-8ma {
  1300. bias-pull-up;
  1301. drive-strength = <8>;
  1302. };
  1303. pcfg_pull_none_12ma: pcfg-pull-none-12ma {
  1304. bias-disable;
  1305. drive-strength = <12>;
  1306. };
  1307. pcfg_pull_up_12ma: pcfg-pull-up-12ma {
  1308. bias-pull-up;
  1309. drive-strength = <12>;
  1310. };
  1311. pcfg_pull_none_smt: pcfg-pull-none-smt {
  1312. bias-disable;
  1313. input-schmitt-enable;
  1314. };
  1315. pcfg_output_high: pcfg-output-high {
  1316. output-high;
  1317. };
  1318. pcfg_output_low: pcfg-output-low {
  1319. output-low;
  1320. };
  1321. pcfg_input_high: pcfg-input-high {
  1322. bias-pull-up;
  1323. input-enable;
  1324. };
  1325. pcfg_input: pcfg-input {
  1326. input-enable;
  1327. };
  1328. i2c0 {
  1329. i2c0_xfer: i2c0-xfer {
  1330. rockchip,pins =
  1331. <0 RK_PB0 1 &pcfg_pull_none_smt>,
  1332. <0 RK_PB1 1 &pcfg_pull_none_smt>;
  1333. };
  1334. };
  1335. i2c1 {
  1336. i2c1_xfer: i2c1-xfer {
  1337. rockchip,pins =
  1338. <0 RK_PC2 1 &pcfg_pull_none_smt>,
  1339. <0 RK_PC3 1 &pcfg_pull_none_smt>;
  1340. };
  1341. };
  1342. i2c2 {
  1343. i2c2_xfer: i2c2-xfer {
  1344. rockchip,pins =
  1345. <2 RK_PB7 2 &pcfg_pull_none_smt>,
  1346. <2 RK_PC0 2 &pcfg_pull_none_smt>;
  1347. };
  1348. };
  1349. i2c3 {
  1350. i2c3_xfer: i2c3-xfer {
  1351. rockchip,pins =
  1352. <1 RK_PB4 4 &pcfg_pull_none_smt>,
  1353. <1 RK_PB5 4 &pcfg_pull_none_smt>;
  1354. };
  1355. };
  1356. tsadc {
  1357. tsadc_otp_pin: tsadc-otp-pin {
  1358. rockchip,pins =
  1359. <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
  1360. };
  1361. tsadc_otp_out: tsadc-otp-out {
  1362. rockchip,pins =
  1363. <0 RK_PA6 1 &pcfg_pull_none>;
  1364. };
  1365. };
  1366. uart0 {
  1367. uart0_xfer: uart0-xfer {
  1368. rockchip,pins =
  1369. <0 RK_PB2 1 &pcfg_pull_up>,
  1370. <0 RK_PB3 1 &pcfg_pull_up>;
  1371. };
  1372. uart0_cts: uart0-cts {
  1373. rockchip,pins =
  1374. <0 RK_PB4 1 &pcfg_pull_none>;
  1375. };
  1376. uart0_rts: uart0-rts {
  1377. rockchip,pins =
  1378. <0 RK_PB5 1 &pcfg_pull_none>;
  1379. };
  1380. };
  1381. uart1 {
  1382. uart1_xfer: uart1-xfer {
  1383. rockchip,pins =
  1384. <1 RK_PC1 1 &pcfg_pull_up>,
  1385. <1 RK_PC0 1 &pcfg_pull_up>;
  1386. };
  1387. uart1_cts: uart1-cts {
  1388. rockchip,pins =
  1389. <1 RK_PC2 1 &pcfg_pull_none>;
  1390. };
  1391. uart1_rts: uart1-rts {
  1392. rockchip,pins =
  1393. <1 RK_PC3 1 &pcfg_pull_none>;
  1394. };
  1395. };
  1396. uart2-m0 {
  1397. uart2m0_xfer: uart2m0-xfer {
  1398. rockchip,pins =
  1399. <1 RK_PD2 2 &pcfg_pull_up>,
  1400. <1 RK_PD3 2 &pcfg_pull_up>;
  1401. };
  1402. };
  1403. uart2-m1 {
  1404. uart2m1_xfer: uart2m1-xfer {
  1405. rockchip,pins =
  1406. <2 RK_PB4 2 &pcfg_pull_up>,
  1407. <2 RK_PB6 2 &pcfg_pull_up>;
  1408. };
  1409. };
  1410. uart3-m0 {
  1411. uart3m0_xfer: uart3m0-xfer {
  1412. rockchip,pins =
  1413. <0 RK_PC0 2 &pcfg_pull_up>,
  1414. <0 RK_PC1 2 &pcfg_pull_up>;
  1415. };
  1416. uart3m0_cts: uart3m0-cts {
  1417. rockchip,pins =
  1418. <0 RK_PC2 2 &pcfg_pull_none>;
  1419. };
  1420. uart3m0_rts: uart3m0-rts {
  1421. rockchip,pins =
  1422. <0 RK_PC3 2 &pcfg_pull_none>;
  1423. };
  1424. };
  1425. uart3-m1 {
  1426. uart3m1_xfer: uart3m1-xfer {
  1427. rockchip,pins =
  1428. <1 RK_PB6 2 &pcfg_pull_up>,
  1429. <1 RK_PB7 2 &pcfg_pull_up>;
  1430. };
  1431. uart3m1_cts: uart3m1-cts {
  1432. rockchip,pins =
  1433. <1 RK_PB4 2 &pcfg_pull_none>;
  1434. };
  1435. uart3m1_rts: uart3m1-rts {
  1436. rockchip,pins =
  1437. <1 RK_PB5 2 &pcfg_pull_none>;
  1438. };
  1439. };
  1440. uart4 {
  1441. uart4_xfer: uart4-xfer {
  1442. rockchip,pins =
  1443. <1 RK_PD4 2 &pcfg_pull_up>,
  1444. <1 RK_PD5 2 &pcfg_pull_up>;
  1445. };
  1446. uart4_cts: uart4-cts {
  1447. rockchip,pins =
  1448. <1 RK_PD6 2 &pcfg_pull_none>;
  1449. };
  1450. uart4_rts: uart4-rts {
  1451. rockchip,pins =
  1452. <1 RK_PD7 2 &pcfg_pull_none>;
  1453. };
  1454. };
  1455. uart5 {
  1456. uart5_xfer: uart5-xfer {
  1457. rockchip,pins =
  1458. <3 RK_PA2 4 &pcfg_pull_up>,
  1459. <3 RK_PA1 4 &pcfg_pull_up>;
  1460. };
  1461. uart5_cts: uart5-cts {
  1462. rockchip,pins =
  1463. <3 RK_PA3 4 &pcfg_pull_none>;
  1464. };
  1465. uart5_rts: uart5-rts {
  1466. rockchip,pins =
  1467. <3 RK_PA5 4 &pcfg_pull_none>;
  1468. };
  1469. };
  1470. spi0 {
  1471. spi0_clk: spi0-clk {
  1472. rockchip,pins =
  1473. <1 RK_PB7 3 &pcfg_pull_up_4ma>;
  1474. };
  1475. spi0_csn: spi0-csn {
  1476. rockchip,pins =
  1477. <1 RK_PB6 3 &pcfg_pull_up_4ma>;
  1478. };
  1479. spi0_miso: spi0-miso {
  1480. rockchip,pins =
  1481. <1 RK_PB5 3 &pcfg_pull_up_4ma>;
  1482. };
  1483. spi0_mosi: spi0-mosi {
  1484. rockchip,pins =
  1485. <1 RK_PB4 3 &pcfg_pull_up_4ma>;
  1486. };
  1487. spi0_clk_hs: spi0-clk-hs {
  1488. rockchip,pins =
  1489. <1 RK_PB7 3 &pcfg_pull_up_8ma>;
  1490. };
  1491. spi0_miso_hs: spi0-miso-hs {
  1492. rockchip,pins =
  1493. <1 RK_PB5 3 &pcfg_pull_up_8ma>;
  1494. };
  1495. spi0_mosi_hs: spi0-mosi-hs {
  1496. rockchip,pins =
  1497. <1 RK_PB4 3 &pcfg_pull_up_8ma>;
  1498. };
  1499. };
  1500. spi1 {
  1501. spi1_clk: spi1-clk {
  1502. rockchip,pins =
  1503. <3 RK_PB7 4 &pcfg_pull_up_4ma>;
  1504. };
  1505. spi1_csn0: spi1-csn0 {
  1506. rockchip,pins =
  1507. <3 RK_PB1 4 &pcfg_pull_up_4ma>;
  1508. };
  1509. spi1_csn1: spi1-csn1 {
  1510. rockchip,pins =
  1511. <3 RK_PB2 2 &pcfg_pull_up_4ma>;
  1512. };
  1513. spi1_miso: spi1-miso {
  1514. rockchip,pins =
  1515. <3 RK_PB6 4 &pcfg_pull_up_4ma>;
  1516. };
  1517. spi1_mosi: spi1-mosi {
  1518. rockchip,pins =
  1519. <3 RK_PB4 4 &pcfg_pull_up_4ma>;
  1520. };
  1521. spi1_clk_hs: spi1-clk-hs {
  1522. rockchip,pins =
  1523. <3 RK_PB7 4 &pcfg_pull_up_8ma>;
  1524. };
  1525. spi1_miso_hs: spi1-miso-hs {
  1526. rockchip,pins =
  1527. <3 RK_PB6 4 &pcfg_pull_up_8ma>;
  1528. };
  1529. spi1_mosi_hs: spi1-mosi-hs {
  1530. rockchip,pins =
  1531. <3 RK_PB4 4 &pcfg_pull_up_8ma>;
  1532. };
  1533. };
  1534. pdm {
  1535. pdm_clk0m0: pdm-clk0m0 {
  1536. rockchip,pins =
  1537. <3 RK_PC6 2 &pcfg_pull_none>;
  1538. };
  1539. pdm_clk0m1: pdm-clk0m1 {
  1540. rockchip,pins =
  1541. <2 RK_PC6 1 &pcfg_pull_none>;
  1542. };
  1543. pdm_clk1: pdm-clk1 {
  1544. rockchip,pins =
  1545. <3 RK_PC7 2 &pcfg_pull_none>;
  1546. };
  1547. pdm_sdi0m0: pdm-sdi0m0 {
  1548. rockchip,pins =
  1549. <3 RK_PD3 2 &pcfg_pull_none>;
  1550. };
  1551. pdm_sdi0m1: pdm-sdi0m1 {
  1552. rockchip,pins =
  1553. <2 RK_PC5 2 &pcfg_pull_none>;
  1554. };
  1555. pdm_sdi1: pdm-sdi1 {
  1556. rockchip,pins =
  1557. <3 RK_PD0 2 &pcfg_pull_none>;
  1558. };
  1559. pdm_sdi2: pdm-sdi2 {
  1560. rockchip,pins =
  1561. <3 RK_PD1 2 &pcfg_pull_none>;
  1562. };
  1563. pdm_sdi3: pdm-sdi3 {
  1564. rockchip,pins =
  1565. <3 RK_PD2 2 &pcfg_pull_none>;
  1566. };
  1567. pdm_clk0m0_sleep: pdm-clk0m0-sleep {
  1568. rockchip,pins =
  1569. <3 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
  1570. };
  1571. pdm_clk0m_sleep1: pdm-clk0m1-sleep {
  1572. rockchip,pins =
  1573. <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
  1574. };
  1575. pdm_clk1_sleep: pdm-clk1-sleep {
  1576. rockchip,pins =
  1577. <3 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
  1578. };
  1579. pdm_sdi0m0_sleep: pdm-sdi0m0-sleep {
  1580. rockchip,pins =
  1581. <3 RK_PD3 RK_FUNC_GPIO &pcfg_input_high>;
  1582. };
  1583. pdm_sdi0m1_sleep: pdm-sdi0m1-sleep {
  1584. rockchip,pins =
  1585. <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>;
  1586. };
  1587. pdm_sdi1_sleep: pdm-sdi1-sleep {
  1588. rockchip,pins =
  1589. <3 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>;
  1590. };
  1591. pdm_sdi2_sleep: pdm-sdi2-sleep {
  1592. rockchip,pins =
  1593. <3 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>;
  1594. };
  1595. pdm_sdi3_sleep: pdm-sdi3-sleep {
  1596. rockchip,pins =
  1597. <3 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>;
  1598. };
  1599. };
  1600. i2s0 {
  1601. i2s0_8ch_mclk: i2s0-8ch-mclk {
  1602. rockchip,pins =
  1603. <3 RK_PC1 2 &pcfg_pull_none>;
  1604. };
  1605. i2s0_8ch_sclktx: i2s0-8ch-sclktx {
  1606. rockchip,pins =
  1607. <3 RK_PC3 2 &pcfg_pull_none>;
  1608. };
  1609. i2s0_8ch_sclkrx: i2s0-8ch-sclkrx {
  1610. rockchip,pins =
  1611. <3 RK_PB4 2 &pcfg_pull_none>;
  1612. };
  1613. i2s0_8ch_lrcktx: i2s0-8ch-lrcktx {
  1614. rockchip,pins =
  1615. <3 RK_PC2 2 &pcfg_pull_none>;
  1616. };
  1617. i2s0_8ch_lrckrx: i2s0-8ch-lrckrx {
  1618. rockchip,pins =
  1619. <3 RK_PB5 2 &pcfg_pull_none>;
  1620. };
  1621. i2s0_8ch_sdo0: i2s0-8ch-sdo0 {
  1622. rockchip,pins =
  1623. <3 RK_PC4 2 &pcfg_pull_none>;
  1624. };
  1625. i2s0_8ch_sdo1: i2s0-8ch-sdo1 {
  1626. rockchip,pins =
  1627. <3 RK_PC0 2 &pcfg_pull_none>;
  1628. };
  1629. i2s0_8ch_sdo2: i2s0-8ch-sdo2 {
  1630. rockchip,pins =
  1631. <3 RK_PB7 2 &pcfg_pull_none>;
  1632. };
  1633. i2s0_8ch_sdo3: i2s0-8ch-sdo3 {
  1634. rockchip,pins =
  1635. <3 RK_PB6 2 &pcfg_pull_none>;
  1636. };
  1637. i2s0_8ch_sdi0: i2s0-8ch-sdi0 {
  1638. rockchip,pins =
  1639. <3 RK_PC5 2 &pcfg_pull_none>;
  1640. };
  1641. i2s0_8ch_sdi1: i2s0-8ch-sdi1 {
  1642. rockchip,pins =
  1643. <3 RK_PB3 2 &pcfg_pull_none>;
  1644. };
  1645. i2s0_8ch_sdi2: i2s0-8ch-sdi2 {
  1646. rockchip,pins =
  1647. <3 RK_PB1 2 &pcfg_pull_none>;
  1648. };
  1649. i2s0_8ch_sdi3: i2s0-8ch-sdi3 {
  1650. rockchip,pins =
  1651. <3 RK_PB0 2 &pcfg_pull_none>;
  1652. };
  1653. };
  1654. i2s1 {
  1655. i2s1_2ch_mclk: i2s1-2ch-mclk {
  1656. rockchip,pins =
  1657. <2 RK_PC3 1 &pcfg_pull_none>;
  1658. };
  1659. i2s1_2ch_sclk: i2s1-2ch-sclk {
  1660. rockchip,pins =
  1661. <2 RK_PC2 1 &pcfg_pull_none>;
  1662. };
  1663. i2s1_2ch_lrck: i2s1-2ch-lrck {
  1664. rockchip,pins =
  1665. <2 RK_PC1 1 &pcfg_pull_none>;
  1666. };
  1667. i2s1_2ch_sdi: i2s1-2ch-sdi {
  1668. rockchip,pins =
  1669. <2 RK_PC5 1 &pcfg_pull_none>;
  1670. };
  1671. i2s1_2ch_sdo: i2s1-2ch-sdo {
  1672. rockchip,pins =
  1673. <2 RK_PC4 1 &pcfg_pull_none>;
  1674. };
  1675. };
  1676. i2s2 {
  1677. i2s2_2ch_mclk: i2s2-2ch-mclk {
  1678. rockchip,pins =
  1679. <3 RK_PA1 2 &pcfg_pull_none>;
  1680. };
  1681. i2s2_2ch_sclk: i2s2-2ch-sclk {
  1682. rockchip,pins =
  1683. <3 RK_PA2 2 &pcfg_pull_none>;
  1684. };
  1685. i2s2_2ch_lrck: i2s2-2ch-lrck {
  1686. rockchip,pins =
  1687. <3 RK_PA3 2 &pcfg_pull_none>;
  1688. };
  1689. i2s2_2ch_sdi: i2s2-2ch-sdi {
  1690. rockchip,pins =
  1691. <3 RK_PA5 2 &pcfg_pull_none>;
  1692. };
  1693. i2s2_2ch_sdo: i2s2-2ch-sdo {
  1694. rockchip,pins =
  1695. <3 RK_PA7 2 &pcfg_pull_none>;
  1696. };
  1697. };
  1698. sdmmc {
  1699. sdmmc_clk: sdmmc-clk {
  1700. rockchip,pins =
  1701. <1 RK_PD6 1 &pcfg_pull_none_8ma>;
  1702. };
  1703. sdmmc_cmd: sdmmc-cmd {
  1704. rockchip,pins =
  1705. <1 RK_PD7 1 &pcfg_pull_up_8ma>;
  1706. };
  1707. sdmmc_det: sdmmc-det {
  1708. rockchip,pins =
  1709. <0 RK_PA3 1 &pcfg_pull_up_8ma>;
  1710. };
  1711. sdmmc_bus1: sdmmc-bus1 {
  1712. rockchip,pins =
  1713. <1 RK_PD2 1 &pcfg_pull_up_8ma>;
  1714. };
  1715. sdmmc_bus4: sdmmc-bus4 {
  1716. rockchip,pins =
  1717. <1 RK_PD2 1 &pcfg_pull_up_8ma>,
  1718. <1 RK_PD3 1 &pcfg_pull_up_8ma>,
  1719. <1 RK_PD4 1 &pcfg_pull_up_8ma>,
  1720. <1 RK_PD5 1 &pcfg_pull_up_8ma>;
  1721. };
  1722. };
  1723. sdio {
  1724. sdio_clk: sdio-clk {
  1725. rockchip,pins =
  1726. <1 RK_PC5 1 &pcfg_pull_none>;
  1727. };
  1728. sdio_cmd: sdio-cmd {
  1729. rockchip,pins =
  1730. <1 RK_PC4 1 &pcfg_pull_up>;
  1731. };
  1732. sdio_bus4: sdio-bus4 {
  1733. rockchip,pins =
  1734. <1 RK_PC6 1 &pcfg_pull_up>,
  1735. <1 RK_PC7 1 &pcfg_pull_up>,
  1736. <1 RK_PD0 1 &pcfg_pull_up>,
  1737. <1 RK_PD1 1 &pcfg_pull_up>;
  1738. };
  1739. };
  1740. emmc {
  1741. emmc_clk: emmc-clk {
  1742. rockchip,pins =
  1743. <1 RK_PB1 2 &pcfg_pull_none_8ma>;
  1744. };
  1745. emmc_cmd: emmc-cmd {
  1746. rockchip,pins =
  1747. <1 RK_PB2 2 &pcfg_pull_up_8ma>;
  1748. };
  1749. emmc_rstnout: emmc-rstnout {
  1750. rockchip,pins =
  1751. <1 RK_PB3 2 &pcfg_pull_none>;
  1752. };
  1753. emmc_bus1: emmc-bus1 {
  1754. rockchip,pins =
  1755. <1 RK_PA0 2 &pcfg_pull_up_8ma>;
  1756. };
  1757. emmc_bus4: emmc-bus4 {
  1758. rockchip,pins =
  1759. <1 RK_PA0 2 &pcfg_pull_up_8ma>,
  1760. <1 RK_PA1 2 &pcfg_pull_up_8ma>,
  1761. <1 RK_PA2 2 &pcfg_pull_up_8ma>,
  1762. <1 RK_PA3 2 &pcfg_pull_up_8ma>;
  1763. };
  1764. emmc_bus8: emmc-bus8 {
  1765. rockchip,pins =
  1766. <1 RK_PA0 2 &pcfg_pull_up_8ma>,
  1767. <1 RK_PA1 2 &pcfg_pull_up_8ma>,
  1768. <1 RK_PA2 2 &pcfg_pull_up_8ma>,
  1769. <1 RK_PA3 2 &pcfg_pull_up_8ma>,
  1770. <1 RK_PA4 2 &pcfg_pull_up_8ma>,
  1771. <1 RK_PA5 2 &pcfg_pull_up_8ma>,
  1772. <1 RK_PA6 2 &pcfg_pull_up_8ma>,
  1773. <1 RK_PA7 2 &pcfg_pull_up_8ma>;
  1774. };
  1775. };
  1776. flash {
  1777. flash_cs0: flash-cs0 {
  1778. rockchip,pins =
  1779. <1 RK_PB0 1 &pcfg_pull_none>;
  1780. };
  1781. flash_rdy: flash-rdy {
  1782. rockchip,pins =
  1783. <1 RK_PB1 1 &pcfg_pull_none>;
  1784. };
  1785. flash_dqs: flash-dqs {
  1786. rockchip,pins =
  1787. <1 RK_PB2 1 &pcfg_pull_none>;
  1788. };
  1789. flash_ale: flash-ale {
  1790. rockchip,pins =
  1791. <1 RK_PB3 1 &pcfg_pull_none>;
  1792. };
  1793. flash_cle: flash-cle {
  1794. rockchip,pins =
  1795. <1 RK_PB4 1 &pcfg_pull_none>;
  1796. };
  1797. flash_wrn: flash-wrn {
  1798. rockchip,pins =
  1799. <1 RK_PB5 1 &pcfg_pull_none>;
  1800. };
  1801. flash_csl: flash-csl {
  1802. rockchip,pins =
  1803. <1 RK_PB6 1 &pcfg_pull_none>;
  1804. };
  1805. flash_rdn: flash-rdn {
  1806. rockchip,pins =
  1807. <1 RK_PB7 1 &pcfg_pull_none>;
  1808. };
  1809. flash_bus8: flash-bus8 {
  1810. rockchip,pins =
  1811. <1 RK_PA0 1 &pcfg_pull_up_12ma>,
  1812. <1 RK_PA1 1 &pcfg_pull_up_12ma>,
  1813. <1 RK_PA2 1 &pcfg_pull_up_12ma>,
  1814. <1 RK_PA3 1 &pcfg_pull_up_12ma>,
  1815. <1 RK_PA4 1 &pcfg_pull_up_12ma>,
  1816. <1 RK_PA5 1 &pcfg_pull_up_12ma>,
  1817. <1 RK_PA6 1 &pcfg_pull_up_12ma>,
  1818. <1 RK_PA7 1 &pcfg_pull_up_12ma>;
  1819. };
  1820. };
  1821. sfc {
  1822. sfc_bus4: sfc-bus4 {
  1823. rockchip,pins =
  1824. <1 RK_PA0 3 &pcfg_pull_none>,
  1825. <1 RK_PA1 3 &pcfg_pull_none>,
  1826. <1 RK_PA2 3 &pcfg_pull_none>,
  1827. <1 RK_PA3 3 &pcfg_pull_none>;
  1828. };
  1829. sfc_bus2: sfc-bus2 {
  1830. rockchip,pins =
  1831. <1 RK_PA0 3 &pcfg_pull_none>,
  1832. <1 RK_PA1 3 &pcfg_pull_none>;
  1833. };
  1834. sfc_cs0: sfc-cs0 {
  1835. rockchip,pins =
  1836. <1 RK_PA4 3 &pcfg_pull_none>;
  1837. };
  1838. sfc_clk: sfc-clk {
  1839. rockchip,pins =
  1840. <1 RK_PB1 3 &pcfg_pull_none>;
  1841. };
  1842. };
  1843. lcdc {
  1844. lcdc_rgb_dclk_pin: lcdc-rgb-dclk-pin {
  1845. rockchip,pins =
  1846. <3 RK_PA0 1 &pcfg_pull_none_12ma>;
  1847. };
  1848. lcdc_rgb_m0_hsync_pin: lcdc-rgb-m0-hsync-pin {
  1849. rockchip,pins =
  1850. <3 RK_PA1 1 &pcfg_pull_none_12ma>;
  1851. };
  1852. lcdc_rgb_m0_vsync_pin: lcdc-rgb-m0-vsync-pin {
  1853. rockchip,pins =
  1854. <3 RK_PA2 1 &pcfg_pull_none_12ma>;
  1855. };
  1856. lcdc_rgb_m0_den_pin: lcdc-rgb-m0-den-pin {
  1857. rockchip,pins =
  1858. <3 RK_PA3 1 &pcfg_pull_none_12ma>;
  1859. };
  1860. lcdc_rgb888_m0_data_pins: lcdc-rgb888-m0-data-pins {
  1861. rockchip,pins =
  1862. <3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
  1863. <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
  1864. <3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
  1865. <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
  1866. <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
  1867. <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
  1868. <3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
  1869. <3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
  1870. <3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
  1871. <3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
  1872. <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
  1873. <3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
  1874. <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
  1875. <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
  1876. <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
  1877. <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
  1878. <3 RK_PC7 1 &pcfg_pull_none_8ma>, /* lcdc_d19 */
  1879. <3 RK_PC6 1 &pcfg_pull_none_8ma>, /* lcdc_d18 */
  1880. <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
  1881. <3 RK_PC4 1 &pcfg_pull_none_8ma>, /* lcdc_d16 */
  1882. <3 RK_PD3 1 &pcfg_pull_none_8ma>, /* lcdc_d23 */
  1883. <3 RK_PD2 1 &pcfg_pull_none_8ma>, /* lcdc_d22 */
  1884. <3 RK_PD1 1 &pcfg_pull_none_8ma>, /* lcdc_d21 */
  1885. <3 RK_PD0 1 &pcfg_pull_none_8ma>; /* lcdc_d20 */
  1886. };
  1887. lcdc_rgb666_m0_data_pins: lcdc-rgb666-m0-data-pins {
  1888. rockchip,pins =
  1889. <3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
  1890. <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
  1891. <3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
  1892. <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
  1893. <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
  1894. <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
  1895. <3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
  1896. <3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
  1897. <3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
  1898. <3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
  1899. <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
  1900. <3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
  1901. <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
  1902. <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
  1903. <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
  1904. <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
  1905. <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
  1906. <3 RK_PC4 1 &pcfg_pull_none_8ma>; /* lcdc_d16 */
  1907. };
  1908. lcdc_rgb565_m0_data_pins: lcdc-rgb565-m0-data-pins {
  1909. rockchip,pins =
  1910. <3 RK_PA7 1 &pcfg_pull_none_8ma>, /* lcdc_d3 */
  1911. <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
  1912. <3 RK_PA5 1 &pcfg_pull_none_8ma>, /* lcdc_d1 */
  1913. <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
  1914. <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
  1915. <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
  1916. <3 RK_PB1 1 &pcfg_pull_none_8ma>, /* lcdc_d5 */
  1917. <3 RK_PB0 1 &pcfg_pull_none_8ma>, /* lcdc_d4 */
  1918. <3 RK_PB7 1 &pcfg_pull_none_8ma>, /* lcdc_d11 */
  1919. <3 RK_PB6 1 &pcfg_pull_none_8ma>, /* lcdc_d10 */
  1920. <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
  1921. <3 RK_PB4 1 &pcfg_pull_none_8ma>, /* lcdc_d8 */
  1922. <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
  1923. <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
  1924. <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
  1925. <3 RK_PC0 1 &pcfg_pull_none_8ma>; /* lcdc_d12 */
  1926. };
  1927. lcdc_rgb888_m1_data_pins: lcdc-rgb888-m1-data-pins {
  1928. rockchip,pins =
  1929. <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
  1930. <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
  1931. <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
  1932. <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
  1933. <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
  1934. <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
  1935. <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
  1936. <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
  1937. <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
  1938. <3 RK_PC7 1 &pcfg_pull_none_8ma>, /* lcdc_d19 */
  1939. <3 RK_PC6 1 &pcfg_pull_none_8ma>, /* lcdc_d18 */
  1940. <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
  1941. <3 RK_PC4 1 &pcfg_pull_none_8ma>, /* lcdc_d16 */
  1942. <3 RK_PD3 1 &pcfg_pull_none_8ma>, /* lcdc_d23 */
  1943. <3 RK_PD2 1 &pcfg_pull_none_8ma>, /* lcdc_d22 */
  1944. <3 RK_PD1 1 &pcfg_pull_none_8ma>, /* lcdc_d21 */
  1945. <3 RK_PD0 1 &pcfg_pull_none_8ma>; /* lcdc_d20 */
  1946. };
  1947. lcdc_rgb666_m1_data_pins: lcdc-rgb666-m1-data-pins {
  1948. rockchip,pins =
  1949. <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
  1950. <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
  1951. <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
  1952. <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
  1953. <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
  1954. <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
  1955. <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
  1956. <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
  1957. <3 RK_PC0 1 &pcfg_pull_none_8ma>, /* lcdc_d12 */
  1958. <3 RK_PC5 1 &pcfg_pull_none_8ma>, /* lcdc_d17 */
  1959. <3 RK_PC4 1 &pcfg_pull_none_8ma>; /* lcdc_d16 */
  1960. };
  1961. lcdc_rgb565_m1_data_pins: lcdc-rgb565-m1-data-pins {
  1962. rockchip,pins =
  1963. <3 RK_PA6 1 &pcfg_pull_none_8ma>, /* lcdc_d2 */
  1964. <3 RK_PA4 1 &pcfg_pull_none_8ma>, /* lcdc_d0 */
  1965. <3 RK_PB3 1 &pcfg_pull_none_8ma>, /* lcdc_d7 */
  1966. <3 RK_PB2 1 &pcfg_pull_none_8ma>, /* lcdc_d6 */
  1967. <3 RK_PB5 1 &pcfg_pull_none_8ma>, /* lcdc_d9 */
  1968. <3 RK_PC3 1 &pcfg_pull_none_8ma>, /* lcdc_d15 */
  1969. <3 RK_PC2 1 &pcfg_pull_none_8ma>, /* lcdc_d14 */
  1970. <3 RK_PC1 1 &pcfg_pull_none_8ma>, /* lcdc_d13 */
  1971. <3 RK_PC0 1 &pcfg_pull_none_8ma>; /* lcdc_d12 */
  1972. };
  1973. };
  1974. pwm0 {
  1975. pwm0_pin: pwm0-pin {
  1976. rockchip,pins =
  1977. <0 RK_PB7 1 &pcfg_pull_none>;
  1978. };
  1979. };
  1980. pwm1 {
  1981. pwm1_pin: pwm1-pin {
  1982. rockchip,pins =
  1983. <0 RK_PC0 1 &pcfg_pull_none>;
  1984. };
  1985. };
  1986. pwm2 {
  1987. pwm2_pin: pwm2-pin {
  1988. rockchip,pins =
  1989. <2 RK_PB5 1 &pcfg_pull_none>;
  1990. };
  1991. };
  1992. pwm3 {
  1993. pwm3_pin: pwm3-pin {
  1994. rockchip,pins =
  1995. <0 RK_PC1 1 &pcfg_pull_none>;
  1996. };
  1997. };
  1998. pwm4 {
  1999. pwm4_pin: pwm4-pin {
  2000. rockchip,pins =
  2001. <3 RK_PC2 3 &pcfg_pull_none>;
  2002. };
  2003. };
  2004. pwm5 {
  2005. pwm5_pin: pwm5-pin {
  2006. rockchip,pins =
  2007. <3 RK_PC3 3 &pcfg_pull_none>;
  2008. };
  2009. };
  2010. pwm6 {
  2011. pwm6_pin: pwm6-pin {
  2012. rockchip,pins =
  2013. <3 RK_PC4 3 &pcfg_pull_none>;
  2014. };
  2015. };
  2016. pwm7 {
  2017. pwm7_pin: pwm7-pin {
  2018. rockchip,pins =
  2019. <3 RK_PC5 3 &pcfg_pull_none>;
  2020. };
  2021. };
  2022. gmac {
  2023. rmii_pins: rmii-pins {
  2024. rockchip,pins =
  2025. <2 RK_PA0 2 &pcfg_pull_none_12ma>, /* mac_txen */
  2026. <2 RK_PA1 2 &pcfg_pull_none_12ma>, /* mac_txd1 */
  2027. <2 RK_PA2 2 &pcfg_pull_none_12ma>, /* mac_txd0 */
  2028. <2 RK_PA3 2 &pcfg_pull_none>, /* mac_rxd0 */
  2029. <2 RK_PA4 2 &pcfg_pull_none>, /* mac_rxd1 */
  2030. <2 RK_PA5 2 &pcfg_pull_none>, /* mac_rxer */
  2031. <2 RK_PA6 2 &pcfg_pull_none>, /* mac_rxdv */
  2032. <2 RK_PA7 2 &pcfg_pull_none>, /* mac_mdio */
  2033. <2 RK_PB1 2 &pcfg_pull_none>; /* mac_mdc */
  2034. };
  2035. mac_refclk_12ma: mac-refclk-12ma {
  2036. rockchip,pins =
  2037. <2 RK_PB2 2 &pcfg_pull_none_12ma>;
  2038. };
  2039. mac_refclk: mac-refclk {
  2040. rockchip,pins =
  2041. <2 RK_PB2 2 &pcfg_pull_none>;
  2042. };
  2043. };
  2044. cif-m0 {
  2045. cif_clkout_m0: cif-clkout-m0 {
  2046. rockchip,pins =
  2047. <2 RK_PB3 1 &pcfg_pull_none>;
  2048. };
  2049. dvp_d2d9_m0: dvp-d2d9-m0 {
  2050. rockchip,pins =
  2051. <2 RK_PA0 1 &pcfg_pull_none>, /* cif_data2 */
  2052. <2 RK_PA1 1 &pcfg_pull_none>, /* cif_data3 */
  2053. <2 RK_PA2 1 &pcfg_pull_none>, /* cif_data4 */
  2054. <2 RK_PA3 1 &pcfg_pull_none>, /* cif_data5 */
  2055. <2 RK_PA4 1 &pcfg_pull_none>, /* cif_data6 */
  2056. <2 RK_PA5 1 &pcfg_pull_none>, /* cif_data7 */
  2057. <2 RK_PA6 1 &pcfg_pull_none>, /* cif_data8 */
  2058. <2 RK_PA7 1 &pcfg_pull_none>, /* cif_data9 */
  2059. <2 RK_PB0 1 &pcfg_pull_none>, /* cif_sync */
  2060. <2 RK_PB1 1 &pcfg_pull_none>, /* cif_href */
  2061. <2 RK_PB2 1 &pcfg_pull_none>, /* cif_clkin */
  2062. <2 RK_PB3 1 &pcfg_pull_none>; /* cif_clkout */
  2063. };
  2064. dvp_d0d1_m0: dvp-d0d1-m0 {
  2065. rockchip,pins =
  2066. <2 RK_PB4 1 &pcfg_pull_none>, /* cif_data0 */
  2067. <2 RK_PB6 1 &pcfg_pull_none>; /* cif_data1 */
  2068. };
  2069. dvp_d10d11_m0:d10-d11-m0 {
  2070. rockchip,pins =
  2071. <2 RK_PB7 1 &pcfg_pull_none>, /* cif_data10 */
  2072. <2 RK_PC0 1 &pcfg_pull_none>; /* cif_data11 */
  2073. };
  2074. };
  2075. cif-m1 {
  2076. cif_clkout_m1: cif-clkout-m1 {
  2077. rockchip,pins =
  2078. <3 RK_PD0 3 &pcfg_pull_none>;
  2079. };
  2080. dvp_d2d9_m1: dvp-d2d9-m1 {
  2081. rockchip,pins =
  2082. <3 RK_PA3 3 &pcfg_pull_none>, /* cif_data2 */
  2083. <3 RK_PA5 3 &pcfg_pull_none>, /* cif_data3 */
  2084. <3 RK_PA7 3 &pcfg_pull_none>, /* cif_data4 */
  2085. <3 RK_PB0 3 &pcfg_pull_none>, /* cif_data5 */
  2086. <3 RK_PB1 3 &pcfg_pull_none>, /* cif_data6 */
  2087. <3 RK_PB4 3 &pcfg_pull_none>, /* cif_data7 */
  2088. <3 RK_PB6 3 &pcfg_pull_none>, /* cif_data8 */
  2089. <3 RK_PB7 3 &pcfg_pull_none>, /* cif_data9 */
  2090. <3 RK_PD1 3 &pcfg_pull_none>, /* cif_sync */
  2091. <3 RK_PD2 3 &pcfg_pull_none>, /* cif_href */
  2092. <3 RK_PD3 3 &pcfg_pull_none>, /* cif_clkin */
  2093. <3 RK_PD0 3 &pcfg_pull_none>; /* cif_clkout */
  2094. };
  2095. dvp_d0d1_m1: dvp-d0d1-m1 {
  2096. rockchip,pins =
  2097. <3 RK_PA1 3 &pcfg_pull_none>, /* cif_data0 */
  2098. <3 RK_PA2 3 &pcfg_pull_none>; /* cif_data1 */
  2099. };
  2100. dvp_d10d11_m1:d10-d11-m1 {
  2101. rockchip,pins =
  2102. <3 RK_PC6 3 &pcfg_pull_none>, /* cif_data10 */
  2103. <3 RK_PC7 3 &pcfg_pull_none>; /* cif_data11 */
  2104. };
  2105. };
  2106. isp {
  2107. isp_prelight: isp-prelight {
  2108. rockchip,pins =
  2109. <3 RK_PD1 4 &pcfg_pull_none>;
  2110. };
  2111. };
  2112. };
  2113. };