Guest User

Untitled

a guest
Aug 27th, 2018
111
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /dts-v1/;
  2.  
  3. / {
  4. compatible = "rockchip-box-rev2", "rockchip,rk3399-box";
  5. interrupt-parent = <0x1>;
  6. #address-cells = <0x2>;
  7. #size-cells = <0x2>;
  8. model = "Rockchip RK3399 Board rev2 (BOX)";
  9.  
  10. ddr_timing {
  11. compatible = "rockchip,ddr-timing";
  12. ddr3_speed_bin = <0x15>;
  13. pd_idle = <0x0>;
  14. sr_idle = <0x0>;
  15. sr_mc_gate_idle = <0x0>;
  16. srpd_lite_idle = <0x0>;
  17. standby_idle = <0x0>;
  18. dram_dll_dis_freq = <0x12c>;
  19. phy_dll_dis_freq = <0x7d>;
  20. ddr3_odt_dis_freq = <0x14d>;
  21. ddr3_drv = <0x28>;
  22. ddr3_odt = <0x78>;
  23. phy_ddr3_ca_drv = <0x28>;
  24. phy_ddr3_dq_drv = <0x28>;
  25. phy_ddr3_odt = <0xf0>;
  26. lpddr3_odt_dis_freq = <0x14d>;
  27. lpddr3_drv = <0x22>;
  28. lpddr3_odt = <0xf0>;
  29. phy_lpddr3_ca_drv = <0x28>;
  30. phy_lpddr3_dq_drv = <0x28>;
  31. phy_lpddr3_odt = <0xf0>;
  32. lpddr4_odt_dis_freq = <0x14d>;
  33. lpddr4_drv = <0x3c>;
  34. lpddr4_dq_odt = <0x28>;
  35. lpddr4_ca_odt = <0x28>;
  36. phy_lpddr4_ca_drv = <0x28>;
  37. phy_lpddr4_ck_cs_drv = <0x50>;
  38. phy_lpddr4_dq_drv = <0x50>;
  39. phy_lpddr4_odt = <0x3c>;
  40. linux,phandle = <0x8a>;
  41. phandle = <0x8a>;
  42. };
  43.  
  44. aliases {
  45. i2c0 = "/i2c@ff3c0000";
  46. i2c1 = "/i2c@ff110000";
  47. i2c2 = "/i2c@ff120000";
  48. i2c3 = "/i2c@ff130000";
  49. i2c4 = "/i2c@ff3d0000";
  50. i2c5 = "/i2c@ff140000";
  51. i2c6 = "/i2c@ff150000";
  52. i2c7 = "/i2c@ff160000";
  53. i2c8 = "/i2c@ff3e0000";
  54. serial0 = "/serial@ff180000";
  55. serial1 = "/serial@ff190000";
  56. serial2 = "/serial@ff1a0000";
  57. serial3 = "/serial@ff1b0000";
  58. serial4 = "/serial@ff370000";
  59. dsi0 = "/dsi@ff960000";
  60. dsi1 = "/dsi@ff968000";
  61. };
  62.  
  63. cpus {
  64. #address-cells = <0x2>;
  65. #size-cells = <0x0>;
  66.  
  67. cpu-map {
  68.  
  69. cluster0 {
  70.  
  71. core0 {
  72. cpu = <0x2>;
  73. };
  74.  
  75. core1 {
  76. cpu = <0x3>;
  77. };
  78.  
  79. core2 {
  80. cpu = <0x4>;
  81. };
  82.  
  83. core3 {
  84. cpu = <0x5>;
  85. };
  86. };
  87.  
  88. cluster1 {
  89.  
  90. core0 {
  91. cpu = <0x6>;
  92. };
  93.  
  94. core1 {
  95. cpu = <0x7>;
  96. };
  97. };
  98. };
  99.  
  100. cpu@0 {
  101. device_type = "cpu";
  102. compatible = "arm,cortex-a53", "arm,armv8";
  103. reg = <0x0 0x0>;
  104. enable-method = "psci";
  105. #cooling-cells = <0x2>;
  106. dynamic-power-coefficient = <0x64>;
  107. clocks = <0x8 0x8>;
  108. cpu-idle-states = <0x9 0xa>;
  109. operating-points-v2 = <0xb>;
  110. sched-energy-costs = <0xc 0xd>;
  111. cpu-supply = <0xe>;
  112. linux,phandle = <0x2>;
  113. phandle = <0x2>;
  114. };
  115.  
  116. cpu@1 {
  117. device_type = "cpu";
  118. compatible = "arm,cortex-a53", "arm,armv8";
  119. reg = <0x0 0x1>;
  120. enable-method = "psci";
  121. clocks = <0x8 0x8>;
  122. cpu-idle-states = <0x9 0xa>;
  123. operating-points-v2 = <0xb>;
  124. sched-energy-costs = <0xc 0xd>;
  125. cpu-supply = <0xe>;
  126. linux,phandle = <0x3>;
  127. phandle = <0x3>;
  128. };
  129.  
  130. cpu@2 {
  131. device_type = "cpu";
  132. compatible = "arm,cortex-a53", "arm,armv8";
  133. reg = <0x0 0x2>;
  134. enable-method = "psci";
  135. clocks = <0x8 0x8>;
  136. cpu-idle-states = <0x9 0xa>;
  137. operating-points-v2 = <0xb>;
  138. sched-energy-costs = <0xc 0xd>;
  139. cpu-supply = <0xe>;
  140. linux,phandle = <0x4>;
  141. phandle = <0x4>;
  142. };
  143.  
  144. cpu@3 {
  145. device_type = "cpu";
  146. compatible = "arm,cortex-a53", "arm,armv8";
  147. reg = <0x0 0x3>;
  148. enable-method = "psci";
  149. clocks = <0x8 0x8>;
  150. cpu-idle-states = <0x9 0xa>;
  151. operating-points-v2 = <0xb>;
  152. sched-energy-costs = <0xc 0xd>;
  153. cpu-supply = <0xe>;
  154. linux,phandle = <0x5>;
  155. phandle = <0x5>;
  156. };
  157.  
  158. cpu@100 {
  159. device_type = "cpu";
  160. compatible = "arm,cortex-a72", "arm,armv8";
  161. reg = <0x0 0x100>;
  162. enable-method = "psci";
  163. #cooling-cells = <0x2>;
  164. dynamic-power-coefficient = <0x1b4>;
  165. clocks = <0x8 0x9>;
  166. cpu-idle-states = <0x9 0xa>;
  167. operating-points-v2 = <0xf>;
  168. sched-energy-costs = <0x10 0x11>;
  169. cpu-supply = <0x12>;
  170. linux,phandle = <0x6>;
  171. phandle = <0x6>;
  172. };
  173.  
  174. cpu@101 {
  175. device_type = "cpu";
  176. compatible = "arm,cortex-a72", "arm,armv8";
  177. reg = <0x0 0x101>;
  178. enable-method = "psci";
  179. clocks = <0x8 0x9>;
  180. cpu-idle-states = <0x9 0xa>;
  181. operating-points-v2 = <0xf>;
  182. sched-energy-costs = <0x10 0x11>;
  183. cpu-supply = <0x12>;
  184. linux,phandle = <0x7>;
  185. phandle = <0x7>;
  186. };
  187.  
  188. idle-states {
  189. entry-method = "psci";
  190.  
  191. cpu-sleep {
  192. compatible = "arm,idle-state";
  193. local-timer-stop;
  194. arm,psci-suspend-param = <0x10000>;
  195. entry-latency-us = <0x78>;
  196. exit-latency-us = <0xfa>;
  197. min-residency-us = <0x384>;
  198. linux,phandle = <0x9>;
  199. phandle = <0x9>;
  200. };
  201.  
  202. cluster-sleep {
  203. compatible = "arm,idle-state";
  204. local-timer-stop;
  205. arm,psci-suspend-param = <0x1010000>;
  206. entry-latency-us = <0x190>;
  207. exit-latency-us = <0x1f4>;
  208. min-residency-us = <0x7d0>;
  209. linux,phandle = <0xa>;
  210. phandle = <0xa>;
  211. };
  212. };
  213. };
  214.  
  215. pmu_a53 {
  216. compatible = "arm,cortex-a53-pmu";
  217. interrupts = <0x1 0x7 0x8 0x13>;
  218. };
  219.  
  220. pmu_a72 {
  221. compatible = "arm,cortex-a72-pmu";
  222. interrupts = <0x1 0x7 0x8 0x14>;
  223. };
  224.  
  225. psci {
  226. compatible = "arm,psci-1.0";
  227. method = "smc";
  228. };
  229.  
  230. timer {
  231. compatible = "arm,armv8-timer";
  232. interrupts = <0x1 0xd 0x8 0x0 0x1 0xe 0x8 0x0 0x1 0xb 0x8 0x0 0x1 0xa 0x8 0x0>;
  233. };
  234.  
  235. xin24m {
  236. compatible = "fixed-clock";
  237. clock-frequency = <0x16e3600>;
  238. clock-output-names = "xin24m";
  239. #clock-cells = <0x0>;
  240. };
  241.  
  242. dummy_cpll {
  243. compatible = "fixed-clock";
  244. clock-frequency = <0x0>;
  245. clock-output-names = "dummy_cpll";
  246. #clock-cells = <0x0>;
  247. };
  248.  
  249. dummy_vpll {
  250. compatible = "fixed-clock";
  251. clock-frequency = <0x0>;
  252. clock-output-names = "dummy_vpll";
  253. #clock-cells = <0x0>;
  254. };
  255.  
  256. amba {
  257. compatible = "arm,amba-bus";
  258. #address-cells = <0x2>;
  259. #size-cells = <0x2>;
  260. ranges;
  261.  
  262. dma-controller@ff6d0000 {
  263. compatible = "arm,pl330", "arm,primecell";
  264. reg = <0x0 0xff6d0000 0x0 0x4000>;
  265. interrupts = <0x0 0x5 0x4 0x0 0x0 0x6 0x4 0x0>;
  266. #dma-cells = <0x1>;
  267. clocks = <0x8 0xd3>;
  268. clock-names = "apb_pclk";
  269. peripherals-req-type-burst;
  270. linux,phandle = <0x93>;
  271. phandle = <0x93>;
  272. };
  273.  
  274. dma-controller@ff6e0000 {
  275. compatible = "arm,pl330", "arm,primecell";
  276. reg = <0x0 0xff6e0000 0x0 0x4000>;
  277. interrupts = <0x0 0x7 0x4 0x0 0x0 0x8 0x4 0x0>;
  278. #dma-cells = <0x1>;
  279. clocks = <0x8 0xd4>;
  280. clock-names = "apb_pclk";
  281. peripherals-req-type-burst;
  282. };
  283. };
  284.  
  285. ethernet@fe300000 {
  286. compatible = "rockchip,rk3399-gmac";
  287. reg = <0x0 0xfe300000 0x0 0x10000>;
  288. rockchip,grf = <0x15>;
  289. interrupts = <0x0 0xc 0x4 0x0>;
  290. interrupt-names = "macirq";
  291. clocks = <0x8 0x69 0x8 0x67 0x8 0x68 0x8 0x66 0x8 0x6a 0x8 0xd5 0x8 0x166>;
  292. clock-names = "stmmaceth", "mac_clk_rx", "mac_clk_tx", "clk_mac_ref", "clk_mac_refout", "aclk_mac", "pclk_mac";
  293. resets = <0x8 0x89>;
  294. reset-names = "stmmaceth";
  295. power-domains = <0x16 0x16>;
  296. status = "okay";
  297. phy-supply = <0x17>;
  298. phy-mode = "rgmii";
  299. clock_in_out = "input";
  300. snps,reset-gpio = <0x18 0xf 0x1>;
  301. snps,reset-active-low;
  302. snps,reset-delays-us = <0x0 0x2710 0xc350>;
  303. assigned-clocks = <0x8 0xa6>;
  304. assigned-clock-parents = <0x19>;
  305. pinctrl-names = "default", "sleep";
  306. pinctrl-0 = <0x1a>;
  307. pinctrl-1 = <0x1b>;
  308. tx_delay = <0x0>;
  309. rx_delay = <0x0>;
  310. };
  311.  
  312. dwmmc@fe310000 {
  313. compatible = "rockchip,rk3399-dw-mshc", "rockchip,rk3288-dw-mshc";
  314. reg = <0x0 0xfe310000 0x0 0x4000>;
  315. interrupts = <0x0 0x40 0x4 0x0>;
  316. clock-freq-min-max = <0x30d40 0x8f0d180>;
  317. clocks = <0x8 0x1ee 0x8 0x4d 0x8 0x9c 0x8 0x9d>;
  318. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  319. fifo-depth = <0x100>;
  320. power-domains = <0x16 0x1c>;
  321. status = "okay";
  322. clock-frequency = <0x8f0d180>;
  323. supports-sdio;
  324. bus-width = <0x4>;
  325. disable-wp;
  326. cap-sd-highspeed;
  327. cap-sdio-irq;
  328. keep-power-in-suspend;
  329. mmc-pwrseq = <0x1c>;
  330. non-removable;
  331. num-slots = <0x1>;
  332. pinctrl-names = "default";
  333. pinctrl-0 = <0x1d 0x1e 0x1f>;
  334. sd-uhs-sdr104;
  335. };
  336.  
  337. dwmmc@fe320000 {
  338. compatible = "rockchip,rk3399-dw-mshc", "rockchip,rk3288-dw-mshc";
  339. reg = <0x0 0xfe320000 0x0 0x4000>;
  340. interrupts = <0x0 0x41 0x4 0x0>;
  341. clock-freq-min-max = <0x186a0 0x5f5e100>;
  342. clocks = <0x8 0x1ce 0x8 0x4c 0x8 0x9a 0x8 0x9b>;
  343. clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  344. fifo-depth = <0x100>;
  345. power-domains = <0x16 0x1b>;
  346. status = "okay";
  347. clock-frequency = <0x5f5e100>;
  348. supports-sd;
  349. bus-width = <0x4>;
  350. cap-mmc-highspeed;
  351. cap-sd-highspeed;
  352. disable-wp;
  353. num-slots = <0x1>;
  354. vqmmc-supply = <0x20>;
  355. pinctrl-names = "default";
  356. pinctrl-0 = <0x21 0x22 0x23 0x24>;
  357. card-detect-delay = <0x320>;
  358. };
  359.  
  360. sdhci@fe330000 {
  361. compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
  362. reg = <0x0 0xfe330000 0x0 0x10000>;
  363. interrupts = <0x0 0xb 0x4 0x0>;
  364. arasan,soc-ctl-syscon = <0x15>;
  365. assigned-clocks = <0x8 0x4e>;
  366. assigned-clock-rates = <0xbebc200>;
  367. clocks = <0x8 0x4e 0x8 0xf0>;
  368. clock-names = "clk_xin", "clk_ahb";
  369. clock-output-names = "emmc_cardclock";
  370. #clock-cells = <0x0>;
  371. phys = <0x25>;
  372. phy-names = "phy_arasan";
  373. power-domains = <0x16 0x17>;
  374. status = "okay";
  375. assigned-clock-parents = <0x8 0x5>;
  376. bus-width = <0x8>;
  377. mmc-hs400-1_8v;
  378. supports-emmc;
  379. non-removable;
  380. mmc-hs400-enhanced-strobe;
  381. linux,phandle = <0x91>;
  382. phandle = <0x91>;
  383. };
  384.  
  385. usb@fe380000 {
  386. compatible = "generic-ehci";
  387. reg = <0x0 0xfe380000 0x0 0x20000>;
  388. interrupts = <0x0 0x1a 0x4 0x0>;
  389. clocks = <0x8 0x1c8 0x8 0x1c9 0x8 0xa8>;
  390. clock-names = "hclk_host0", "hclk_host0_arb", "usbphy0_480m";
  391. phys = <0x26>;
  392. phy-names = "usb";
  393. power-domains = <0x16 0xe>;
  394. status = "okay";
  395. };
  396.  
  397. usb@fe3a0000 {
  398. compatible = "generic-ohci";
  399. reg = <0x0 0xfe3a0000 0x0 0x20000>;
  400. interrupts = <0x0 0x1c 0x4 0x0>;
  401. clocks = <0x8 0x1c8 0x8 0x1c9 0x8 0xa8>;
  402. clock-names = "hclk_host0", "hclk_host0_arb", "usbphy0_480m";
  403. phys = <0x26>;
  404. phy-names = "usb";
  405. power-domains = <0x16 0xe>;
  406. status = "okay";
  407. };
  408.  
  409. usb@fe3c0000 {
  410. compatible = "generic-ehci";
  411. reg = <0x0 0xfe3c0000 0x0 0x20000>;
  412. interrupts = <0x0 0x1e 0x4 0x0>;
  413. clocks = <0x8 0x1ca 0x8 0x1cb 0x8 0xa9>;
  414. clock-names = "hclk_host1", "hclk_host1_arb", "usbphy1_480m";
  415. phys = <0x27>;
  416. phy-names = "usb";
  417. power-domains = <0x16 0xe>;
  418. status = "okay";
  419. };
  420.  
  421. usb@fe3e0000 {
  422. compatible = "generic-ohci";
  423. reg = <0x0 0xfe3e0000 0x0 0x20000>;
  424. interrupts = <0x0 0x20 0x4 0x0>;
  425. clocks = <0x8 0x1ca 0x8 0x1cb 0x8 0xa9>;
  426. clock-names = "hclk_host1", "hclk_host1_arb", "usbphy1_480m";
  427. phys = <0x27>;
  428. phy-names = "usb";
  429. power-domains = <0x16 0xe>;
  430. status = "okay";
  431. };
  432.  
  433. usb@fe800000 {
  434. compatible = "rockchip,rk3399-dwc3";
  435. clocks = <0x8 0x81 0x8 0x83 0x8 0xf6 0x8 0xf9>;
  436. clock-names = "ref_clk", "suspend_clk", "bus_clk", "grf_clk";
  437. power-domains = <0x16 0x18>;
  438. resets = <0x8 0x125>;
  439. reset-names = "usb3-otg";
  440. #address-cells = <0x2>;
  441. #size-cells = <0x2>;
  442. ranges;
  443. status = "okay";
  444. extcon = <0x28>;
  445.  
  446. dwc3@fe800000 {
  447. compatible = "snps,dwc3";
  448. reg = <0x0 0xfe800000 0x0 0x100000>;
  449. interrupts = <0x0 0x69 0x4 0x0>;
  450. dr_mode = "otg";
  451. phys = <0x29 0x2a>;
  452. phy-names = "usb2-phy", "usb3-phy";
  453. phy_type = "utmi_wide";
  454. snps,dis_enblslpm_quirk;
  455. snps,dis-u2-freeclk-exists-quirk;
  456. snps,dis_u2_susphy_quirk;
  457. snps,dis-del-phy-power-chg-quirk;
  458. snps,tx-ipgap-linecheck-dis-quirk;
  459. snps,xhci-slow-suspend-quirk;
  460. snps,usb3-warm-reset-on-resume-quirk;
  461. status = "okay";
  462. };
  463. };
  464.  
  465. usb@fe900000 {
  466. compatible = "rockchip,rk3399-dwc3";
  467. clocks = <0x8 0x82 0x8 0x84 0x8 0xf7 0x8 0xf9>;
  468. clock-names = "ref_clk", "suspend_clk", "bus_clk", "grf_clk";
  469. power-domains = <0x16 0x18>;
  470. resets = <0x8 0x126>;
  471. reset-names = "usb3-otg";
  472. #address-cells = <0x2>;
  473. #size-cells = <0x2>;
  474. ranges;
  475. status = "okay";
  476.  
  477. dwc3@fe900000 {
  478. compatible = "snps,dwc3";
  479. reg = <0x0 0xfe900000 0x0 0x100000>;
  480. interrupts = <0x0 0x6e 0x4 0x0>;
  481. dr_mode = "host";
  482. phys = <0x2b 0x2c>;
  483. phy-names = "usb2-phy", "usb3-phy";
  484. phy_type = "utmi_wide";
  485. snps,dis_enblslpm_quirk;
  486. snps,dis-u2-freeclk-exists-quirk;
  487. snps,dis_u2_susphy_quirk;
  488. snps,dis-del-phy-power-chg-quirk;
  489. snps,tx-ipgap-linecheck-dis-quirk;
  490. snps,xhci-slow-suspend-quirk;
  491. snps,usb3-warm-reset-on-resume-quirk;
  492. status = "okay";
  493. };
  494. };
  495.  
  496. dp@fec00000 {
  497. compatible = "rockchip,rk3399-cdn-dp";
  498. reg = <0x0 0xfec00000 0x0 0x100000>;
  499. interrupts = <0x0 0x9 0x4>;
  500. clocks = <0x8 0x72 0x8 0x175 0x8 0xa1 0x8 0x16f>;
  501. clock-names = "core-clk", "pclk", "spdif", "grf";
  502. assigned-clocks = <0x8 0x72>;
  503. assigned-clock-rates = <0x5f5e100>;
  504. power-domains = <0x16 0x15>;
  505. phys = <0x2d 0x2e>;
  506. resets = <0x8 0x103 0x8 0x148 0x8 0x14a 0x8 0xfd>;
  507. reset-names = "spdif", "dptx", "apb", "core";
  508. rockchip,grf = <0x15>;
  509. #address-cells = <0x1>;
  510. #size-cells = <0x0>;
  511. #sound-dai-cells = <0x1>;
  512. status = "okay";
  513. extcon = <0x28>;
  514. linux,phandle = <0xcd>;
  515. phandle = <0xcd>;
  516.  
  517. ports {
  518. #address-cells = <0x1>;
  519. #size-cells = <0x0>;
  520.  
  521. port {
  522. #address-cells = <0x1>;
  523. #size-cells = <0x0>;
  524.  
  525. endpoint@0 {
  526. reg = <0x0>;
  527. remote-endpoint = <0x2f>;
  528. status = "disabled";
  529. linux,phandle = <0xa4>;
  530. phandle = <0xa4>;
  531. };
  532.  
  533. endpoint@1 {
  534. reg = <0x1>;
  535. remote-endpoint = <0x30>;
  536. linux,phandle = <0x9d>;
  537. phandle = <0x9d>;
  538. };
  539. };
  540. };
  541. };
  542.  
  543. interrupt-controller@fee00000 {
  544. compatible = "arm,gic-v3";
  545. #interrupt-cells = <0x4>;
  546. #address-cells = <0x2>;
  547. #size-cells = <0x2>;
  548. ranges;
  549. interrupt-controller;
  550. reg = <0x0 0xfee00000 0x0 0x10000 0x0 0xfef00000 0x0 0xc0000 0x0 0xfff00000 0x0 0x10000 0x0 0xfff10000 0x0 0x10000 0x0 0xfff20000 0x0 0x10000>;
  551. interrupts = <0x1 0x9 0x4 0x0>;
  552. linux,phandle = <0x1>;
  553. phandle = <0x1>;
  554.  
  555. interrupt-controller@fee20000 {
  556. compatible = "arm,gic-v3-its";
  557. msi-controller;
  558. reg = <0x0 0xfee20000 0x0 0x20000>;
  559. linux,phandle = <0x81>;
  560. phandle = <0x81>;
  561. };
  562.  
  563. ppi-partitions {
  564.  
  565. interrupt-partition-0 {
  566. affinity = <0x2 0x3 0x4 0x5>;
  567. linux,phandle = <0x13>;
  568. phandle = <0x13>;
  569. };
  570.  
  571. interrupt-partition-1 {
  572. affinity = <0x6 0x7>;
  573. linux,phandle = <0x14>;
  574. phandle = <0x14>;
  575. };
  576. };
  577. };
  578.  
  579. saradc@ff100000 {
  580. compatible = "rockchip,rk3399-saradc";
  581. reg = <0x0 0xff100000 0x0 0x100>;
  582. interrupts = <0x0 0x3e 0x4 0x0>;
  583. #io-channel-cells = <0x1>;
  584. clocks = <0x8 0x50 0x8 0x165>;
  585. clock-names = "saradc", "apb_pclk";
  586. resets = <0x8 0xd4>;
  587. reset-names = "saradc-apb";
  588. status = "okay";
  589. linux,phandle = <0xc2>;
  590. phandle = <0xc2>;
  591. };
  592.  
  593. i2c@ff3c0000 {
  594. compatible = "rockchip,rk3399-i2c";
  595. reg = <0x0 0xff3c0000 0x0 0x1000>;
  596. clocks = <0x31 0x9 0x31 0x1b>;
  597. clock-names = "i2c", "pclk";
  598. interrupts = <0x0 0x39 0x4 0x0>;
  599. pinctrl-names = "default";
  600. pinctrl-0 = <0x32>;
  601. #address-cells = <0x1>;
  602. #size-cells = <0x0>;
  603. status = "okay";
  604. i2c-scl-rising-time-ns = <0xa8>;
  605. i2c-scl-falling-time-ns = <0x4>;
  606. clock-frequency = <0x61a80>;
  607.  
  608. syr827@40 {
  609. compatible = "silergy,syr827";
  610. reg = <0x40>;
  611. regulator-compatible = "fan53555-reg";
  612. pinctrl-0 = <0x33>;
  613. vsel-gpios = <0x34 0x11 0x0>;
  614. regulator-name = "vdd_cpu_b";
  615. regulator-min-microvolt = <0xadf34>;
  616. regulator-max-microvolt = <0x16e360>;
  617. regulator-ramp-delay = <0x3e8>;
  618. fcs,suspend-voltage-selector = <0x1>;
  619. regulator-always-on;
  620. regulator-boot-on;
  621. vin-supply = <0x35>;
  622. linux,phandle = <0x12>;
  623. phandle = <0x12>;
  624.  
  625. regulator-state-mem {
  626. regulator-off-in-suspend;
  627. };
  628. };
  629.  
  630. syr828@41 {
  631. compatible = "silergy,syr828";
  632. reg = <0x41>;
  633. regulator-compatible = "fan53555-reg";
  634. pinctrl-0 = <0x36>;
  635. vsel-gpios = <0x34 0xe 0x0>;
  636. regulator-name = "vdd_gpu";
  637. regulator-min-microvolt = <0xadf34>;
  638. regulator-max-microvolt = <0x16e360>;
  639. regulator-ramp-delay = <0x3e8>;
  640. fcs,suspend-voltage-selector = <0x1>;
  641. regulator-always-on;
  642. regulator-boot-on;
  643. vin-supply = <0x35>;
  644. regulator-initial-mode = <0x1>;
  645. linux,phandle = <0x98>;
  646. phandle = <0x98>;
  647.  
  648. regulator-state-mem {
  649. regulator-off-in-suspend;
  650. };
  651. };
  652.  
  653. pmic@1b {
  654. compatible = "rockchip,rk808";
  655. reg = <0x1b>;
  656. interrupt-parent = <0x34>;
  657. interrupts = <0x15 0x8>;
  658. pinctrl-names = "default";
  659. pinctrl-0 = <0x37>;
  660. rockchip,system-power-controller;
  661. wakeup-source;
  662. #clock-cells = <0x1>;
  663. clock-output-names = "xin32k", "rk808-clkout2";
  664. vcc1-supply = <0x35>;
  665. vcc2-supply = <0x35>;
  666. vcc3-supply = <0x35>;
  667. vcc4-supply = <0x35>;
  668. vcc6-supply = <0x35>;
  669. vcc7-supply = <0x35>;
  670. vcc8-supply = <0x38>;
  671. vcc9-supply = <0x35>;
  672. vcc10-supply = <0x35>;
  673. vcc11-supply = <0x35>;
  674. vcc12-supply = <0x38>;
  675. vddio-supply = <0x39>;
  676. linux,phandle = <0xd6>;
  677. phandle = <0xd6>;
  678.  
  679. regulators {
  680.  
  681. DCDC_REG1 {
  682. regulator-name = "vdd_center";
  683. regulator-min-microvolt = <0xb71b0>;
  684. regulator-max-microvolt = <0x149970>;
  685. regulator-ramp-delay = <0x1771>;
  686. regulator-always-on;
  687. regulator-boot-on;
  688.  
  689. regulator-state-mem {
  690. regulator-off-in-suspend;
  691. };
  692. };
  693.  
  694. DCDC_REG2 {
  695. regulator-name = "vdd_cpu_l";
  696. regulator-min-microvolt = <0xb71b0>;
  697. regulator-max-microvolt = <0x149970>;
  698. regulator-ramp-delay = <0x1771>;
  699. regulator-always-on;
  700. regulator-boot-on;
  701. linux,phandle = <0xe>;
  702. phandle = <0xe>;
  703.  
  704. regulator-state-mem {
  705. regulator-off-in-suspend;
  706. };
  707. };
  708.  
  709. DCDC_REG3 {
  710. regulator-name = "vcc_ddr";
  711. regulator-always-on;
  712. regulator-boot-on;
  713.  
  714. regulator-state-mem {
  715. regulator-on-in-suspend;
  716. };
  717. };
  718.  
  719. DCDC_REG4 {
  720. regulator-name = "vcc_1v8";
  721. regulator-min-microvolt = <0x1b7740>;
  722. regulator-max-microvolt = <0x1b7740>;
  723. regulator-always-on;
  724. regulator-boot-on;
  725. linux,phandle = <0x39>;
  726. phandle = <0x39>;
  727.  
  728. regulator-state-mem {
  729. regulator-on-in-suspend;
  730. regulator-suspend-microvolt = <0x1b7740>;
  731. };
  732. };
  733.  
  734. LDO_REG1 {
  735. regulator-name = "vcc1v8_dvp";
  736. regulator-min-microvolt = <0x1b7740>;
  737. regulator-max-microvolt = <0x1b7740>;
  738. regulator-always-on;
  739. regulator-boot-on;
  740.  
  741. regulator-state-mem {
  742. regulator-on-in-suspend;
  743. regulator-suspend-microvolt = <0x1b7740>;
  744. };
  745. };
  746.  
  747. LDO_REG2 {
  748. regulator-name = "vcca1v8_hdmi";
  749. regulator-min-microvolt = <0x1b7740>;
  750. regulator-max-microvolt = <0x1b7740>;
  751. regulator-always-on;
  752. regulator-boot-on;
  753.  
  754. regulator-state-mem {
  755. regulator-on-in-suspend;
  756. regulator-suspend-microvolt = <0x1b7740>;
  757. };
  758. };
  759.  
  760. LDO_REG3 {
  761. regulator-name = "vcca_1v8";
  762. regulator-min-microvolt = <0x1b7740>;
  763. regulator-max-microvolt = <0x1b7740>;
  764. regulator-always-on;
  765. regulator-boot-on;
  766.  
  767. regulator-state-mem {
  768. regulator-on-in-suspend;
  769. regulator-suspend-microvolt = <0x1b7740>;
  770. };
  771. };
  772.  
  773. LDO_REG4 {
  774. regulator-name = "vcc_sd";
  775. regulator-min-microvolt = <0x1b7740>;
  776. regulator-max-microvolt = <0x325aa0>;
  777. regulator-always-on;
  778. regulator-boot-on;
  779. linux,phandle = <0x20>;
  780. phandle = <0x20>;
  781.  
  782. regulator-state-mem {
  783. regulator-on-in-suspend;
  784. regulator-suspend-microvolt = <0x325aa0>;
  785. };
  786. };
  787.  
  788. LDO_REG5 {
  789. regulator-name = "vcc3v0_sd";
  790. regulator-min-microvolt = <0x2dc6c0>;
  791. regulator-max-microvolt = <0x2dc6c0>;
  792. regulator-always-on;
  793. regulator-boot-on;
  794.  
  795. regulator-state-mem {
  796. regulator-on-in-suspend;
  797. regulator-suspend-microvolt = <0x2dc6c0>;
  798. };
  799. };
  800.  
  801. LDO_REG6 {
  802. regulator-name = "vcc_1v5";
  803. regulator-min-microvolt = <0x16e360>;
  804. regulator-max-microvolt = <0x16e360>;
  805. regulator-always-on;
  806. regulator-boot-on;
  807.  
  808. regulator-state-mem {
  809. regulator-on-in-suspend;
  810. regulator-suspend-microvolt = <0x16e360>;
  811. };
  812. };
  813.  
  814. LDO_REG7 {
  815. regulator-name = "vcca0v9_hdmi";
  816. regulator-min-microvolt = <0xdbba0>;
  817. regulator-max-microvolt = <0xdbba0>;
  818. regulator-always-on;
  819. regulator-boot-on;
  820.  
  821. regulator-state-mem {
  822. regulator-on-in-suspend;
  823. regulator-suspend-microvolt = <0xdbba0>;
  824. };
  825. };
  826.  
  827. LDO_REG8 {
  828. regulator-name = "vcc_3v0";
  829. regulator-min-microvolt = <0x2dc6c0>;
  830. regulator-max-microvolt = <0x2dc6c0>;
  831. regulator-always-on;
  832. regulator-boot-on;
  833. linux,phandle = <0x90>;
  834. phandle = <0x90>;
  835.  
  836. regulator-state-mem {
  837. regulator-on-in-suspend;
  838. regulator-suspend-microvolt = <0x2dc6c0>;
  839. };
  840. };
  841.  
  842. SWITCH_REG1 {
  843. regulator-name = "vcc3v3_s3";
  844. regulator-always-on;
  845. regulator-boot-on;
  846.  
  847. regulator-state-mem {
  848. regulator-on-in-suspend;
  849. };
  850. };
  851.  
  852. SWITCH_REG2 {
  853. regulator-name = "vcc3v3_s0";
  854. regulator-always-on;
  855. regulator-boot-on;
  856.  
  857. regulator-state-mem {
  858. regulator-on-in-suspend;
  859. };
  860. };
  861. };
  862. };
  863. };
  864.  
  865. i2c@ff110000 {
  866. compatible = "rockchip,rk3399-i2c";
  867. reg = <0x0 0xff110000 0x0 0x1000>;
  868. clocks = <0x8 0x41 0x8 0x155>;
  869. clock-names = "i2c", "pclk";
  870. interrupts = <0x0 0x3b 0x4 0x0>;
  871. pinctrl-names = "default";
  872. pinctrl-0 = <0x3a>;
  873. #address-cells = <0x1>;
  874. #size-cells = <0x0>;
  875. status = "disabled";
  876. };
  877.  
  878. i2c@ff120000 {
  879. compatible = "rockchip,rk3399-i2c";
  880. reg = <0x0 0xff120000 0x0 0x1000>;
  881. clocks = <0x8 0x42 0x8 0x156>;
  882. clock-names = "i2c", "pclk";
  883. interrupts = <0x0 0x23 0x4 0x0>;
  884. pinctrl-names = "default";
  885. pinctrl-0 = <0x3b>;
  886. #address-cells = <0x1>;
  887. #size-cells = <0x0>;
  888. status = "disabled";
  889. };
  890.  
  891. i2c@ff130000 {
  892. compatible = "rockchip,rk3399-i2c";
  893. reg = <0x0 0xff130000 0x0 0x1000>;
  894. clocks = <0x8 0x43 0x8 0x157>;
  895. clock-names = "i2c", "pclk";
  896. interrupts = <0x0 0x22 0x4 0x0>;
  897. pinctrl-names = "default";
  898. pinctrl-0 = <0x3c>;
  899. #address-cells = <0x1>;
  900. #size-cells = <0x0>;
  901. status = "disabled";
  902. };
  903.  
  904. i2c@ff140000 {
  905. compatible = "rockchip,rk3399-i2c";
  906. reg = <0x0 0xff140000 0x0 0x1000>;
  907. clocks = <0x8 0x44 0x8 0x158>;
  908. clock-names = "i2c", "pclk";
  909. interrupts = <0x0 0x26 0x4 0x0>;
  910. pinctrl-names = "default";
  911. pinctrl-0 = <0x3d>;
  912. #address-cells = <0x1>;
  913. #size-cells = <0x0>;
  914. status = "disabled";
  915. };
  916.  
  917. i2c@ff150000 {
  918. compatible = "rockchip,rk3399-i2c";
  919. reg = <0x0 0xff150000 0x0 0x1000>;
  920. clocks = <0x8 0x45 0x8 0x159>;
  921. clock-names = "i2c", "pclk";
  922. interrupts = <0x0 0x25 0x4 0x0>;
  923. pinctrl-names = "default";
  924. pinctrl-0 = <0x3e>;
  925. #address-cells = <0x1>;
  926. #size-cells = <0x0>;
  927. status = "disabled";
  928. };
  929.  
  930. i2c@ff160000 {
  931. compatible = "rockchip,rk3399-i2c";
  932. reg = <0x0 0xff160000 0x0 0x1000>;
  933. clocks = <0x8 0x46 0x8 0x15a>;
  934. clock-names = "i2c", "pclk";
  935. interrupts = <0x0 0x24 0x4 0x0>;
  936. pinctrl-names = "default";
  937. pinctrl-0 = <0x3f>;
  938. #address-cells = <0x1>;
  939. #size-cells = <0x0>;
  940. status = "disabled";
  941. };
  942.  
  943. serial@ff180000 {
  944. compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
  945. reg = <0x0 0xff180000 0x0 0x100>;
  946. clocks = <0x8 0x51 0x8 0x160>;
  947. clock-names = "baudclk", "apb_pclk";
  948. interrupts = <0x0 0x63 0x4 0x0>;
  949. reg-shift = <0x2>;
  950. reg-io-width = <0x4>;
  951. pinctrl-names = "default";
  952. pinctrl-0 = <0x40 0x41>;
  953. status = "okay";
  954. assigned-clocks = <0x8 0xac>;
  955. assigned-clock-parents = <0x8 0x5>;
  956. };
  957.  
  958. serial@ff190000 {
  959. compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
  960. reg = <0x0 0xff190000 0x0 0x100>;
  961. clocks = <0x8 0x52 0x8 0x161>;
  962. clock-names = "baudclk", "apb_pclk";
  963. interrupts = <0x0 0x62 0x4 0x0>;
  964. reg-shift = <0x2>;
  965. reg-io-width = <0x4>;
  966. pinctrl-names = "default";
  967. pinctrl-0 = <0x42>;
  968. status = "disabled";
  969. assigned-clocks = <0x8 0xad>;
  970. assigned-clock-parents = <0x8 0x5>;
  971. };
  972.  
  973. serial@ff1a0000 {
  974. compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
  975. reg = <0x0 0xff1a0000 0x0 0x100>;
  976. clocks = <0x8 0x53 0x8 0x162>;
  977. clock-names = "baudclk", "apb_pclk";
  978. interrupts = <0x0 0x64 0x4 0x0>;
  979. reg-shift = <0x2>;
  980. reg-io-width = <0x4>;
  981. pinctrl-names = "default";
  982. pinctrl-0 = <0x43>;
  983. status = "okay";
  984. assigned-clocks = <0x8 0xad>;
  985. assigned-clock-parents = <0x8 0x5>;
  986. };
  987.  
  988. serial@ff1b0000 {
  989. compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
  990. reg = <0x0 0xff1b0000 0x0 0x100>;
  991. clocks = <0x8 0x54 0x8 0x163>;
  992. clock-names = "baudclk", "apb_pclk";
  993. interrupts = <0x0 0x65 0x4 0x0>;
  994. reg-shift = <0x2>;
  995. reg-io-width = <0x4>;
  996. pinctrl-names = "default";
  997. pinctrl-0 = <0x44 0x45 0x46>;
  998. status = "disabled";
  999. assigned-clocks = <0x8 0xad>;
  1000. assigned-clock-parents = <0x8 0x5>;
  1001. };
  1002.  
  1003. spi@ff1c0000 {
  1004. compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
  1005. reg = <0x0 0xff1c0000 0x0 0x1000>;
  1006. clocks = <0x8 0x47 0x8 0x15b>;
  1007. clock-names = "spiclk", "apb_pclk";
  1008. interrupts = <0x0 0x44 0x4 0x0>;
  1009. pinctrl-names = "default";
  1010. pinctrl-0 = <0x47 0x48 0x49 0x4a>;
  1011. #address-cells = <0x1>;
  1012. #size-cells = <0x0>;
  1013. status = "disabled";
  1014. };
  1015.  
  1016. spi@ff1d0000 {
  1017. compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
  1018. reg = <0x0 0xff1d0000 0x0 0x1000>;
  1019. clocks = <0x8 0x48 0x8 0x15c>;
  1020. clock-names = "spiclk", "apb_pclk";
  1021. interrupts = <0x0 0x35 0x4 0x0>;
  1022. pinctrl-names = "default";
  1023. pinctrl-0 = <0x4b 0x4c 0x4d 0x4e>;
  1024. #address-cells = <0x1>;
  1025. #size-cells = <0x0>;
  1026. status = "disabled";
  1027. };
  1028.  
  1029. spi@ff1e0000 {
  1030. compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
  1031. reg = <0x0 0xff1e0000 0x0 0x1000>;
  1032. clocks = <0x8 0x49 0x8 0x15d>;
  1033. clock-names = "spiclk", "apb_pclk";
  1034. interrupts = <0x0 0x34 0x4 0x0>;
  1035. pinctrl-names = "default";
  1036. pinctrl-0 = <0x4f 0x50 0x51 0x52>;
  1037. #address-cells = <0x1>;
  1038. #size-cells = <0x0>;
  1039. status = "disabled";
  1040. };
  1041.  
  1042. spi@ff1f0000 {
  1043. compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
  1044. reg = <0x0 0xff1f0000 0x0 0x1000>;
  1045. clocks = <0x8 0x4a 0x8 0x15e>;
  1046. clock-names = "spiclk", "apb_pclk";
  1047. interrupts = <0x0 0x43 0x4 0x0>;
  1048. pinctrl-names = "default";
  1049. pinctrl-0 = <0x53 0x54 0x55 0x56>;
  1050. #address-cells = <0x1>;
  1051. #size-cells = <0x0>;
  1052. status = "disabled";
  1053. };
  1054.  
  1055. spi@ff200000 {
  1056. compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
  1057. reg = <0x0 0xff200000 0x0 0x1000>;
  1058. clocks = <0x8 0x4b 0x8 0x15f>;
  1059. clock-names = "spiclk", "apb_pclk";
  1060. interrupts = <0x0 0x84 0x4 0x0>;
  1061. pinctrl-names = "default";
  1062. pinctrl-0 = <0x57 0x58 0x59 0x5a>;
  1063. #address-cells = <0x1>;
  1064. #size-cells = <0x0>;
  1065. status = "disabled";
  1066. };
  1067.  
  1068. thermal-zones {
  1069.  
  1070. soc-thermal {
  1071. polling-delay-passive = <0x14>;
  1072. polling-delay = <0x3e8>;
  1073. sustainable-power = <0x3e8>;
  1074. thermal-sensors = <0x5b 0x0>;
  1075.  
  1076. trips {
  1077.  
  1078. trip-point@0 {
  1079. temperature = <0x14c08>;
  1080. hysteresis = <0x7d0>;
  1081. type = "passive";
  1082. };
  1083.  
  1084. trip-point@1 {
  1085. temperature = <0x186a0>;
  1086. hysteresis = <0x7d0>;
  1087. type = "passive";
  1088. linux,phandle = <0x5c>;
  1089. phandle = <0x5c>;
  1090. };
  1091.  
  1092. soc-crit {
  1093. temperature = <0x19a28>;
  1094. hysteresis = <0x7d0>;
  1095. type = "critical";
  1096. };
  1097. };
  1098.  
  1099. cooling-maps {
  1100.  
  1101. map0 {
  1102. trip = <0x5c>;
  1103. cooling-device = <0x2 0xffffffff 0xffffffff>;
  1104. contribution = <0x1000>;
  1105. };
  1106.  
  1107. map1 {
  1108. trip = <0x5c>;
  1109. cooling-device = <0x6 0xffffffff 0xffffffff>;
  1110. contribution = <0x400>;
  1111. };
  1112.  
  1113. map2 {
  1114. trip = <0x5c>;
  1115. cooling-device = <0x5d 0xffffffff 0xffffffff>;
  1116. contribution = <0x1000>;
  1117. };
  1118. };
  1119. };
  1120.  
  1121. gpu-thermal {
  1122. polling-delay-passive = <0x64>;
  1123. polling-delay = <0x3e8>;
  1124. thermal-sensors = <0x5b 0x1>;
  1125. };
  1126. };
  1127.  
  1128. tsadc@ff260000 {
  1129. compatible = "rockchip,rk3399-tsadc";
  1130. reg = <0x0 0xff260000 0x0 0x100>;
  1131. interrupts = <0x0 0x61 0x4 0x0>;
  1132. rockchip,grf = <0x15>;
  1133. clocks = <0x8 0x4f 0x8 0x164>;
  1134. clock-names = "tsadc", "apb_pclk";
  1135. assigned-clocks = <0x8 0x4f>;
  1136. assigned-clock-rates = <0xb71b0>;
  1137. resets = <0x8 0xe8>;
  1138. reset-names = "tsadc-apb";
  1139. pinctrl-names = "init", "default", "sleep";
  1140. pinctrl-0 = <0x5e>;
  1141. pinctrl-1 = <0x5f>;
  1142. pinctrl-2 = <0x5e>;
  1143. #thermal-sensor-cells = <0x1>;
  1144. rockchip,hw-tshut-temp = <0x1adb0>;
  1145. status = "okay";
  1146. rockchip,hw-tshut-mode = <0x1>;
  1147. rockchip,hw-tshut-polarity = <0x1>;
  1148. linux,phandle = <0x5b>;
  1149. phandle = <0x5b>;
  1150. };
  1151.  
  1152. qos@ffa58000 {
  1153. compatible = "syscon";
  1154. reg = <0x0 0xffa58000 0x0 0x20>;
  1155. linux,phandle = <0x67>;
  1156. phandle = <0x67>;
  1157. };
  1158.  
  1159. qos@ffa5c000 {
  1160. compatible = "syscon";
  1161. reg = <0x0 0xffa5c000 0x0 0x20>;
  1162. linux,phandle = <0x68>;
  1163. phandle = <0x68>;
  1164. };
  1165.  
  1166. qos@ffa60080 {
  1167. compatible = "syscon";
  1168. reg = <0x0 0xffa60080 0x0 0x20>;
  1169. linux,phandle = <0x6a>;
  1170. phandle = <0x6a>;
  1171. };
  1172.  
  1173. qos@ffa60100 {
  1174. compatible = "syscon";
  1175. reg = <0x0 0xffa60100 0x0 0x20>;
  1176. linux,phandle = <0x6b>;
  1177. phandle = <0x6b>;
  1178. };
  1179.  
  1180. qos@ffa60180 {
  1181. compatible = "syscon";
  1182. reg = <0x0 0xffa60180 0x0 0x20>;
  1183. linux,phandle = <0x6c>;
  1184. phandle = <0x6c>;
  1185. };
  1186.  
  1187. qos@ffa70000 {
  1188. compatible = "syscon";
  1189. reg = <0x0 0xffa70000 0x0 0x20>;
  1190. linux,phandle = <0x6f>;
  1191. phandle = <0x6f>;
  1192. };
  1193.  
  1194. qos@ffa70080 {
  1195. compatible = "syscon";
  1196. reg = <0x0 0xffa70080 0x0 0x20>;
  1197. linux,phandle = <0x70>;
  1198. phandle = <0x70>;
  1199. };
  1200.  
  1201. qos@ffa74000 {
  1202. compatible = "syscon";
  1203. reg = <0x0 0xffa74000 0x0 0x20>;
  1204. linux,phandle = <0x6d>;
  1205. phandle = <0x6d>;
  1206. };
  1207.  
  1208. qos@ffa76000 {
  1209. compatible = "syscon";
  1210. reg = <0x0 0xffa76000 0x0 0x20>;
  1211. linux,phandle = <0x6e>;
  1212. phandle = <0x6e>;
  1213. };
  1214.  
  1215. qos@ffa90000 {
  1216. compatible = "syscon";
  1217. reg = <0x0 0xffa90000 0x0 0x20>;
  1218. linux,phandle = <0x71>;
  1219. phandle = <0x71>;
  1220. };
  1221.  
  1222. qos@ffa98000 {
  1223. compatible = "syscon";
  1224. reg = <0x0 0xffa98000 0x0 0x20>;
  1225. linux,phandle = <0x60>;
  1226. phandle = <0x60>;
  1227. };
  1228.  
  1229. qos@ffaa0000 {
  1230. compatible = "syscon";
  1231. reg = <0x0 0xffaa0000 0x0 0x20>;
  1232. linux,phandle = <0x72>;
  1233. phandle = <0x72>;
  1234. };
  1235.  
  1236. qos@ffaa0080 {
  1237. compatible = "syscon";
  1238. reg = <0x0 0xffaa0080 0x0 0x20>;
  1239. linux,phandle = <0x73>;
  1240. phandle = <0x73>;
  1241. };
  1242.  
  1243. qos@ffaa8000 {
  1244. compatible = "syscon";
  1245. reg = <0x0 0xffaa8000 0x0 0x20>;
  1246. linux,phandle = <0x74>;
  1247. phandle = <0x74>;
  1248. };
  1249.  
  1250. qos@ffaa8080 {
  1251. compatible = "syscon";
  1252. reg = <0x0 0xffaa8080 0x0 0x20>;
  1253. linux,phandle = <0x75>;
  1254. phandle = <0x75>;
  1255. };
  1256.  
  1257. qos@ffab0000 {
  1258. compatible = "syscon";
  1259. reg = <0x0 0xffab0000 0x0 0x20>;
  1260. linux,phandle = <0x61>;
  1261. phandle = <0x61>;
  1262. };
  1263.  
  1264. qos@ffab0080 {
  1265. compatible = "syscon";
  1266. reg = <0x0 0xffab0080 0x0 0x20>;
  1267. linux,phandle = <0x62>;
  1268. phandle = <0x62>;
  1269. };
  1270.  
  1271. qos@ffab8000 {
  1272. compatible = "syscon";
  1273. reg = <0x0 0xffab8000 0x0 0x20>;
  1274. linux,phandle = <0x63>;
  1275. phandle = <0x63>;
  1276. };
  1277.  
  1278. qos@ffac0000 {
  1279. compatible = "syscon";
  1280. reg = <0x0 0xffac0000 0x0 0x20>;
  1281. linux,phandle = <0x64>;
  1282. phandle = <0x64>;
  1283. };
  1284.  
  1285. qos@ffac0080 {
  1286. compatible = "syscon";
  1287. reg = <0x0 0xffac0080 0x0 0x20>;
  1288. linux,phandle = <0x65>;
  1289. phandle = <0x65>;
  1290. };
  1291.  
  1292. qos@ffac8000 {
  1293. compatible = "syscon";
  1294. reg = <0x0 0xffac8000 0x0 0x20>;
  1295. linux,phandle = <0x76>;
  1296. phandle = <0x76>;
  1297. };
  1298.  
  1299. qos@ffac8080 {
  1300. compatible = "syscon";
  1301. reg = <0x0 0xffac8080 0x0 0x20>;
  1302. linux,phandle = <0x77>;
  1303. phandle = <0x77>;
  1304. };
  1305.  
  1306. qos@ffad0000 {
  1307. compatible = "syscon";
  1308. reg = <0x0 0xffad0000 0x0 0x20>;
  1309. linux,phandle = <0x78>;
  1310. phandle = <0x78>;
  1311. };
  1312.  
  1313. qos@ffad8080 {
  1314. compatible = "syscon";
  1315. reg = <0x0 0xffad8080 0x0 0x20>;
  1316. linux,phandle = <0x69>;
  1317. phandle = <0x69>;
  1318. };
  1319.  
  1320. qos@ffae0000 {
  1321. compatible = "syscon";
  1322. reg = <0x0 0xffae0000 0x0 0x20>;
  1323. linux,phandle = <0x66>;
  1324. phandle = <0x66>;
  1325. };
  1326.  
  1327. power-management@ff310000 {
  1328. compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
  1329. reg = <0x0 0xff310000 0x0 0x1000>;
  1330.  
  1331. power-controller {
  1332. compatible = "rockchip,rk3399-power-controller";
  1333. #power-domain-cells = <0x1>;
  1334. #address-cells = <0x1>;
  1335. #size-cells = <0x0>;
  1336. linux,phandle = <0x16>;
  1337. phandle = <0x16>;
  1338.  
  1339. pd_iep@34 {
  1340. reg = <0x22>;
  1341. clocks = <0x8 0xe1 0x8 0x1dd>;
  1342. pm_qos = <0x60>;
  1343. };
  1344.  
  1345. pd_rga@33 {
  1346. reg = <0x21>;
  1347. clocks = <0x8 0xdc 0x8 0x1e5>;
  1348. pm_qos = <0x61 0x62>;
  1349. };
  1350.  
  1351. pd_vcodec@31 {
  1352. reg = <0x1f>;
  1353. clocks = <0x8 0xeb 0x8 0x1ea>;
  1354. pm_qos = <0x63>;
  1355. };
  1356.  
  1357. pd_vdu@32 {
  1358. reg = <0x20>;
  1359. clocks = <0x8 0xed 0x8 0x1ec>;
  1360. pm_qos = <0x64 0x65>;
  1361. };
  1362.  
  1363. pd_gpu@35 {
  1364. reg = <0x23>;
  1365. clocks = <0x8 0xd0>;
  1366. pm_qos = <0x66>;
  1367. };
  1368.  
  1369. pd_edp@25 {
  1370. reg = <0x19>;
  1371. clocks = <0x8 0x16c>;
  1372. };
  1373.  
  1374. pd_emmc@23 {
  1375. reg = <0x17>;
  1376. clocks = <0x8 0xf0>;
  1377. pm_qos = <0x67>;
  1378. };
  1379.  
  1380. pd_gmac@22 {
  1381. reg = <0x16>;
  1382. clocks = <0x8 0xd5 0x8 0x166>;
  1383. pm_qos = <0x68>;
  1384. };
  1385.  
  1386. pd_perihp@14 {
  1387. reg = <0xe>;
  1388. #address-cells = <0x1>;
  1389. #size-cells = <0x0>;
  1390. clocks = <0x8 0xc0>;
  1391. pm_qos = <0x69 0x6a 0x6b 0x6c>;
  1392.  
  1393. pd_sd@27 {
  1394. reg = <0x1b>;
  1395. clocks = <0x8 0x1ce 0x8 0x4c>;
  1396. pm_qos = <0x6d>;
  1397. };
  1398. };
  1399.  
  1400. pd_sdioaudio@28 {
  1401. reg = <0x1c>;
  1402. clocks = <0x8 0x1ee>;
  1403. pm_qos = <0x6e>;
  1404. };
  1405.  
  1406. pd_usb3@24 {
  1407. reg = <0x18>;
  1408. clocks = <0x8 0xf4>;
  1409. pm_qos = <0x6f 0x70>;
  1410. };
  1411.  
  1412. pd_vio@15 {
  1413. reg = <0xf>;
  1414. #address-cells = <0x1>;
  1415. #size-cells = <0x0>;
  1416.  
  1417. pd_hdcp@21 {
  1418. reg = <0x15>;
  1419. clocks = <0x8 0xde 0x8 0x1e7 0x8 0x172>;
  1420. pm_qos = <0x71>;
  1421. };
  1422.  
  1423. pd_isp0@19 {
  1424. reg = <0x13>;
  1425. clocks = <0x8 0xe5 0x8 0x1df>;
  1426. pm_qos = <0x72 0x73>;
  1427. };
  1428.  
  1429. pd_isp1@20 {
  1430. reg = <0x14>;
  1431. clocks = <0x8 0xe6 0x8 0x1e0>;
  1432. pm_qos = <0x74 0x75>;
  1433. };
  1434.  
  1435. pd_tcpc0@RK3399_PD_TCPC0 {
  1436. reg = <0x8>;
  1437. clocks = <0x8 0x7e 0x8 0x7d>;
  1438. };
  1439.  
  1440. pd_tcpc1@RK3399_PD_TCPC1 {
  1441. reg = <0x9>;
  1442. clocks = <0x8 0x80 0x8 0x7f>;
  1443. };
  1444.  
  1445. pd_vo@16 {
  1446. reg = <0x10>;
  1447. #address-cells = <0x1>;
  1448. #size-cells = <0x0>;
  1449.  
  1450. pd_vopb@17 {
  1451. reg = <0x11>;
  1452. clocks = <0x8 0xd9 0x8 0x1d9>;
  1453. pm_qos = <0x76 0x77>;
  1454. };
  1455.  
  1456. pd_vopl@18 {
  1457. reg = <0x12>;
  1458. clocks = <0x8 0xdb 0x8 0x1db>;
  1459. pm_qos = <0x78>;
  1460. };
  1461. };
  1462. };
  1463. };
  1464. };
  1465.  
  1466. syscon@ff320000 {
  1467. compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
  1468. reg = <0x0 0xff320000 0x0 0x1000>;
  1469. #address-cells = <0x1>;
  1470. #size-cells = <0x1>;
  1471. linux,phandle = <0x88>;
  1472. phandle = <0x88>;
  1473.  
  1474. io-domains {
  1475. compatible = "rockchip,rk3399-pmu-io-voltage-domain";
  1476. status = "okay";
  1477. pmu1830-supply = <0x39>;
  1478. };
  1479.  
  1480. reboot-mode {
  1481. compatible = "syscon-reboot-mode";
  1482. offset = <0x300>;
  1483. mode-bootloader = <0x5242c301>;
  1484. mode-charge = <0x5242c30b>;
  1485. mode-fastboot = <0x5242c309>;
  1486. mode-loader = <0x5242c301>;
  1487. mode-normal = <0x5242c300>;
  1488. mode-recovery = <0x5242c303>;
  1489. mode-ums = <0x5242c30c>;
  1490. };
  1491.  
  1492. pmu-pvtm {
  1493. compatible = "rockchip,rk3399-pmu-pvtm";
  1494. clocks = <0x31 0x7>;
  1495. clock-names = "pmu";
  1496. resets = <0x8 0x1b>;
  1497. reset-names = "pmu";
  1498. status = "okay";
  1499. };
  1500. };
  1501.  
  1502. spi@ff350000 {
  1503. compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
  1504. reg = <0x0 0xff350000 0x0 0x1000>;
  1505. clocks = <0x31 0x3 0x31 0x1f>;
  1506. clock-names = "spiclk", "apb_pclk";
  1507. interrupts = <0x0 0x3c 0x4 0x0>;
  1508. pinctrl-names = "default";
  1509. pinctrl-0 = <0x79 0x7a 0x7b 0x7c>;
  1510. #address-cells = <0x1>;
  1511. #size-cells = <0x0>;
  1512. status = "disabled";
  1513. };
  1514.  
  1515. serial@ff370000 {
  1516. compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
  1517. reg = <0x0 0xff370000 0x0 0x100>;
  1518. clocks = <0x31 0x6 0x31 0x22>;
  1519. clock-names = "baudclk", "apb_pclk";
  1520. interrupts = <0x0 0x66 0x4 0x0>;
  1521. reg-shift = <0x2>;
  1522. reg-io-width = <0x4>;
  1523. pinctrl-names = "default";
  1524. pinctrl-0 = <0x7d>;
  1525. status = "disabled";
  1526. assigned-clocks = <0x8 0xad>;
  1527. assigned-clock-parents = <0x8 0x5>;
  1528. };
  1529.  
  1530. i2c@ff3d0000 {
  1531. compatible = "rockchip,rk3399-i2c";
  1532. reg = <0x0 0xff3d0000 0x0 0x1000>;
  1533. clocks = <0x31 0xa 0x31 0x1c>;
  1534. clock-names = "i2c", "pclk";
  1535. interrupts = <0x0 0x38 0x4 0x0>;
  1536. pinctrl-names = "default";
  1537. pinctrl-0 = <0x7e>;
  1538. #address-cells = <0x1>;
  1539. #size-cells = <0x0>;
  1540. status = "okay";
  1541.  
  1542. fusb30x@22 {
  1543. compatible = "fairchild,fusb302";
  1544. reg = <0x22>;
  1545. pinctrl-names = "default";
  1546. pinctrl-0 = <0x7f>;
  1547. vbus-5v-gpios = <0x34 0x3 0x1>;
  1548. int-n-gpios = <0x34 0x2 0x0>;
  1549. status = "okay";
  1550. linux,phandle = <0x28>;
  1551. phandle = <0x28>;
  1552. };
  1553. };
  1554.  
  1555. i2c@ff3e0000 {
  1556. compatible = "rockchip,rk3399-i2c";
  1557. reg = <0x0 0xff3e0000 0x0 0x1000>;
  1558. clocks = <0x31 0xb 0x31 0x1d>;
  1559. clock-names = "i2c", "pclk";
  1560. interrupts = <0x0 0x3a 0x4 0x0>;
  1561. pinctrl-names = "default";
  1562. pinctrl-0 = <0x80>;
  1563. #address-cells = <0x1>;
  1564. #size-cells = <0x0>;
  1565. status = "disabled";
  1566. };
  1567.  
  1568. phy@e220 {
  1569. compatible = "rockchip,rk3399-pcie-phy";
  1570. #phy-cells = <0x0>;
  1571. rockchip,grf = <0x15>;
  1572. clocks = <0x8 0x8a>;
  1573. clock-names = "refclk";
  1574. resets = <0x8 0x87>;
  1575. reset-names = "phy";
  1576. status = "disabled";
  1577. linux,phandle = <0x83>;
  1578. phandle = <0x83>;
  1579. };
  1580.  
  1581. pcie@f8000000 {
  1582. compatible = "rockchip,rk3399-pcie";
  1583. #address-cells = <0x3>;
  1584. #size-cells = <0x2>;
  1585. aspm-no-l0s;
  1586. clocks = <0x8 0xc5 0x8 0xc4 0x8 0x147 0x8 0xa0>;
  1587. clock-names = "aclk", "aclk-perf", "hclk", "pm";
  1588. bus-range = <0x0 0x1>;
  1589. max-link-speed = <0x1>;
  1590. linux,pci-domain = <0x0>;
  1591. msi-map = <0x0 0x81 0x0 0x1000>;
  1592. interrupts = <0x0 0x31 0x4 0x0 0x0 0x32 0x4 0x0 0x0 0x33 0x4 0x0>;
  1593. interrupt-names = "sys", "legacy", "client";
  1594. #interrupt-cells = <0x1>;
  1595. interrupt-map-mask = <0x0 0x0 0x0 0x7>;
  1596. interrupt-map = <0x0 0x0 0x0 0x1 0x82 0x0 0x0 0x0 0x0 0x2 0x82 0x1 0x0 0x0 0x0 0x3 0x82 0x2 0x0 0x0 0x0 0x4 0x82 0x3>;
  1597. phys = <0x83>;
  1598. phy-names = "pcie-phy";
  1599. ranges = <0x82000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x600000 0x81000000 0x0 0xfa600000 0x0 0xfa600000 0x0 0x100000>;
  1600. reg = <0x0 0xf8000000 0x0 0x2000000 0x0 0xfd000000 0x0 0x1000000>;
  1601. reg-names = "axi-base", "apb-base";
  1602. resets = <0x8 0x82 0x8 0x83 0x8 0x84 0x8 0x85 0x8 0x86 0x8 0x81 0x8 0x80>;
  1603. reset-names = "core", "mgmt", "mgmt-sticky", "pipe", "pm", "pclk", "aclk";
  1604. status = "disabled";
  1605.  
  1606. interrupt-controller {
  1607. interrupt-controller;
  1608. #address-cells = <0x0>;
  1609. #interrupt-cells = <0x1>;
  1610. linux,phandle = <0x82>;
  1611. phandle = <0x82>;
  1612. };
  1613. };
  1614.  
  1615. pwm@ff420000 {
  1616. compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
  1617. reg = <0x0 0xff420000 0x0 0x10>;
  1618. #pwm-cells = <0x3>;
  1619. pinctrl-names = "default";
  1620. pinctrl-0 = <0x84>;
  1621. clocks = <0x31 0x1e>;
  1622. clock-names = "pwm";
  1623. status = "disabled";
  1624. };
  1625.  
  1626. pwm@ff420010 {
  1627. compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
  1628. reg = <0x0 0xff420010 0x0 0x10>;
  1629. #pwm-cells = <0x3>;
  1630. pinctrl-names = "default";
  1631. pinctrl-0 = <0x85>;
  1632. clocks = <0x31 0x1e>;
  1633. clock-names = "pwm";
  1634. status = "disabled";
  1635. };
  1636.  
  1637. pwm@ff420020 {
  1638. compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
  1639. reg = <0x0 0xff420020 0x0 0x10>;
  1640. #pwm-cells = <0x3>;
  1641. pinctrl-names = "default";
  1642. pinctrl-0 = <0x86>;
  1643. clocks = <0x31 0x1e>;
  1644. clock-names = "pwm";
  1645. status = "okay";
  1646. linux,phandle = <0xd3>;
  1647. phandle = <0xd3>;
  1648. };
  1649.  
  1650. pwm@ff420030 {
  1651. compatible = "rockchip,remotectl-pwm";
  1652. reg = <0x0 0xff420030 0x0 0x10>;
  1653. #pwm-cells = <0x3>;
  1654. pinctrl-names = "default";
  1655. pinctrl-0 = <0x87>;
  1656. clocks = <0x31 0x1e>;
  1657. clock-names = "pwm";
  1658. status = "okay";
  1659. interrupts = <0x0 0x3d 0x4 0x0>;
  1660. remote_pwm_id = <0x3>;
  1661. handle_cpu_id = <0x1>;
  1662. remote_support_psci = <0x1>;
  1663.  
  1664. ir_key1 {
  1665. rockchip,usercode = <0x4040>;
  1666. rockchip,key_table = <0xb2 0x74 0xbc 0x71 0xac 0xff 0xa4 0x100 0xa8 0x96 0xab 0xfa 0xe3 0x72 0xe1 0x19c 0xe0 0x197 0xea 0x73 0xe5 0x66 0xf4 0x67 0xbd 0x9e 0xef 0x69 0xf2 0xe8 0xee 0x6a 0xba 0x8b 0xf1 0x6c 0xbb 0x184 0xfe 0x2 0xfd 0x3 0xfc 0x4 0xfb 0x5 0xfa 0x6 0xf9 0x7 0xf8 0x8 0xf7 0x9 0xf6 0xa 0xf0 0x0 0xff 0xb 0xf3 0x6f 0xd0 0xfa 0xd1 0xfb>;
  1667. };
  1668.  
  1669. ir_key2 {
  1670. rockchip,usercode = <0xfe01>;
  1671. rockchip,key_table = <0xbf 0x74 0xbe 0x71 0xef 0x72 0xe7 0x73 0xee 0x66 0xe9 0x67 0xe6 0x9e 0xae 0x69 0xec 0xe8 0xaf 0x6a 0xb3 0x8b 0xe5 0x6c 0xff 0x184 0xb1 0x2 0xf2 0x3 0xf3 0x4 0xb5 0x5 0xf6 0x6 0xf7 0x7 0xb9 0x8 0xfa 0x9 0xfb 0xa 0xfe 0xb 0xbd 0x6f 0xf0 0xfa 0xbc 0xfb>;
  1672. };
  1673.  
  1674. ir_key3 {
  1675. rockchip,usercode = <0x1dcc>;
  1676. rockchip,key_table = <0xff 0x74 0xfe 0x71 0xf6 0x19c 0xd9 0xa4 0xdc 0x73 0xf5 0x197 0xe5 0x66 0xdd 0x72 0xfd 0x8b 0xfa 0x67 0xfc 0x9e 0xf8 0x69 0xfb 0xe8 0xf7 0x6a 0xef 0xb 0xf9 0x6c 0xe4 0x0 0xee 0x2 0xed 0x3 0xec 0x4 0xeb 0x5 0xea 0x6 0xe9 0x7 0xe8 0x8 0xe7 0x9 0xe6 0xa>;
  1677. };
  1678.  
  1679. ir_key4 {
  1680. rockchip,usercode = <0xdf00>;
  1681. rockchip,key_table = <0xe3 0x74 0xb2 0xfb 0xbe 0x96 0xa0 0xf9 0xfe 0x100 0xa3 0x72 0xb4 0x19c 0xb0 0x197 0xa2 0x73 0xbd 0x66 0xe5 0x67 0xf5 0x9e 0xb8 0x69 0xf9 0xe8 0xf8 0x6a 0xe7 0x8b 0xb7 0x6c 0xfc 0x184 0xab 0x2 0xe9 0x3 0xea 0x4 0xaf 0x5 0xed 0x6 0xee 0x7 0xb3 0x8 0xf1 0x9 0xf2 0xa 0xf3 0xb 0xef 0x6f>;
  1682. };
  1683. };
  1684.  
  1685. dfi@ff630000 {
  1686. reg = <0x0 0xff630000 0x0 0x4000>;
  1687. compatible = "rockchip,rk3399-dfi";
  1688. rockchip,pmu = <0x88>;
  1689. clocks = <0x8 0x179>;
  1690. clock-names = "pclk_ddr_mon";
  1691. status = "disabled";
  1692. linux,phandle = <0x89>;
  1693. phandle = <0x89>;
  1694. };
  1695.  
  1696. dmc {
  1697. compatible = "rockchip,rk3399-dmc";
  1698. devfreq-events = <0x89>;
  1699. interrupts = <0x0 0x1 0x4 0x0>;
  1700. clocks = <0x8 0xaa>;
  1701. clock-names = "dmc_clk";
  1702. ddr_timing = <0x8a>;
  1703. upthreshold = <0x28>;
  1704. downdifferential = <0x14>;
  1705. system-status-freq = <0x1 0xc3500 0x8 0x80e80 0x2 0x30d40 0x20 0x493e0 0x10 0x927c0 0x10000 0xc3500 0x2000 0xc3500 0x1000 0x61a80 0xc00 0x927c0 0x4000 0x927c0>;
  1706. auto-min-freq = <0x61a80>;
  1707. auto-freq-en = <0x1>;
  1708. status = "disabled";
  1709. operating-points-v2 = <0x8b>;
  1710. };
  1711.  
  1712. vpu_service@ff650000 {
  1713. compatible = "rockchip,vpu_service";
  1714. rockchip,grf = <0x15>;
  1715. iommus = <0x8c>;
  1716. iommu_enabled = <0x1>;
  1717. reg = <0x0 0xff650000 0x0 0x800>;
  1718. interrupts = <0x0 0x71 0x4 0x0 0x0 0x72 0x4 0x0>;
  1719. interrupt-names = "irq_dec", "irq_enc";
  1720. clocks = <0x8 0xeb 0x8 0x1ea>;
  1721. clock-names = "aclk_vcodec", "hclk_vcodec";
  1722. resets = <0x8 0x53 0x8 0x51>;
  1723. reset-names = "video_h", "video_a";
  1724. power-domains = <0x16 0x1f>;
  1725. dev_mode = <0x0>;
  1726. allocator = <0x1>;
  1727. status = "okay";
  1728. };
  1729.  
  1730. iommu@ff650800 {
  1731. compatible = "rockchip,iommu";
  1732. reg = <0x0 0xff650800 0x0 0x40>;
  1733. interrupts = <0x0 0x73 0x4 0x0>;
  1734. interrupt-names = "vpu_mmu";
  1735. clocks = <0x8 0xeb 0x8 0x1ea>;
  1736. clock-names = "aclk", "hclk";
  1737. power-domains = <0x16 0x1f>;
  1738. #iommu-cells = <0x0>;
  1739. linux,phandle = <0x8c>;
  1740. phandle = <0x8c>;
  1741. };
  1742.  
  1743. rkvdec@ff660000 {
  1744. compatible = "rockchip,rkvdec";
  1745. rockchip,grf = <0x15>;
  1746. iommus = <0x8d>;
  1747. iommu_enabled = <0x1>;
  1748. reg = <0x0 0xff660000 0x0 0x400>;
  1749. interrupts = <0x0 0x74 0x4 0x0>;
  1750. interrupt-names = "irq_dec";
  1751. clocks = <0x8 0xed 0x8 0x1ec 0x8 0x9f 0x8 0x9e>;
  1752. clock-names = "aclk_vcodec", "hclk_vcodec", "clk_cabac", "clk_core";
  1753. resets = <0x8 0x5b 0x8 0x59 0x8 0x5c 0x8 0x5d 0x8 0x58 0x8 0x5a>;
  1754. reset-names = "video_h", "video_a", "video_core", "video_cabac", "niu_a", "niu_h";
  1755. power-domains = <0x16 0x20>;
  1756. dev_mode = <0x2>;
  1757. allocator = <0x1>;
  1758. status = "okay";
  1759. };
  1760.  
  1761. iommu@ff660480 {
  1762. compatible = "rockchip,iommu";
  1763. reg = <0x0 0xff660480 0x0 0x40 0x0 0xff6604c0 0x0 0x40>;
  1764. interrupts = <0x0 0x75 0x4 0x0>;
  1765. interrupt-names = "vdec_mmu";
  1766. clocks = <0x8 0xed 0x8 0x1ec>;
  1767. clock-names = "aclk", "hclk";
  1768. power-domains = <0x16 0x20>;
  1769. #iommu-cells = <0x0>;
  1770. linux,phandle = <0x8d>;
  1771. phandle = <0x8d>;
  1772. };
  1773.  
  1774. iep@ff670000 {
  1775. compatible = "rockchip,iep";
  1776. iommu_enabled = <0x1>;
  1777. iommus = <0x8e>;
  1778. reg = <0x0 0xff670000 0x0 0x800>;
  1779. interrupts = <0x0 0x2a 0x4 0x0>;
  1780. clocks = <0x8 0xe1 0x8 0x1dd>;
  1781. clock-names = "aclk_iep", "hclk_iep";
  1782. power-domains = <0x16 0x22>;
  1783. allocator = <0x1>;
  1784. version = <0x2>;
  1785. status = "okay";
  1786. };
  1787.  
  1788. iommu@ff670800 {
  1789. compatible = "rockchip,iommu";
  1790. reg = <0x0 0xff670800 0x0 0x40>;
  1791. interrupts = <0x0 0x2a 0x4 0x0>;
  1792. interrupt-names = "iep_mmu";
  1793. #iommu-cells = <0x0>;
  1794. status = "okay";
  1795. linux,phandle = <0x8e>;
  1796. phandle = <0x8e>;
  1797. };
  1798.  
  1799. rga@ff680000 {
  1800. compatible = "rockchip,rga2";
  1801. reg = <0x0 0xff680000 0x0 0x1000>;
  1802. interrupts = <0x0 0x37 0x4 0x0>;
  1803. clocks = <0x8 0xdc 0x8 0x1e5 0x8 0x6d>;
  1804. clock-names = "aclk_rga", "hclk_rga", "clk_rga";
  1805. resets = <0x8 0x6a 0x8 0x67 0x8 0x69>;
  1806. reset-names = "core", "axi", "ahb";
  1807. power-domains = <0x16 0x21>;
  1808. status = "okay";
  1809. dev_mode = <0x1>;
  1810. dma-coherent;
  1811. };
  1812.  
  1813. efuse@ff690000 {
  1814. compatible = "rockchip,rk3399-efuse";
  1815. reg = <0x0 0xff690000 0x0 0x80>;
  1816. #address-cells = <0x1>;
  1817. #size-cells = <0x1>;
  1818. clocks = <0x8 0x17d>;
  1819. clock-names = "pclk_efuse";
  1820.  
  1821. id {
  1822. reg = <0x7 0x10>;
  1823. linux,phandle = <0xc0>;
  1824. phandle = <0xc0>;
  1825. };
  1826.  
  1827. cpul-leakage {
  1828. reg = <0x1a 0x1>;
  1829. linux,phandle = <0xce>;
  1830. phandle = <0xce>;
  1831. };
  1832.  
  1833. cpub-leakage {
  1834. reg = <0x17 0x1>;
  1835. linux,phandle = <0xcf>;
  1836. phandle = <0xcf>;
  1837. };
  1838.  
  1839. gpu-leakage {
  1840. reg = <0x18 0x1>;
  1841. linux,phandle = <0xd0>;
  1842. phandle = <0xd0>;
  1843. };
  1844.  
  1845. center-leakage {
  1846. reg = <0x19 0x1>;
  1847. };
  1848.  
  1849. logic-leakage {
  1850. reg = <0x1b 0x1>;
  1851. };
  1852.  
  1853. wafer-info {
  1854. reg = <0x1c 0x1>;
  1855. };
  1856. };
  1857.  
  1858. pmu-clock-controller@ff750000 {
  1859. compatible = "rockchip,rk3399-pmucru";
  1860. reg = <0x0 0xff750000 0x0 0x1000>;
  1861. #clock-cells = <0x1>;
  1862. #reset-cells = <0x1>;
  1863. assigned-clocks = <0x31 0x1>;
  1864. assigned-clock-rates = <0x284af100>;
  1865. linux,phandle = <0x31>;
  1866. phandle = <0x31>;
  1867. };
  1868.  
  1869. clock-controller@ff760000 {
  1870. compatible = "rockchip,rk3399-cru";
  1871. reg = <0x0 0xff760000 0x0 0x1000>;
  1872. #clock-cells = <0x1>;
  1873. #reset-cells = <0x1>;
  1874. assigned-clocks = <0x8 0xc0 0x8 0xc2 0x8 0x1c2 0x8 0x4c 0x8 0xf0 0x8 0xcd 0x8 0x1cd 0x8 0x9f 0x8 0x9e 0x8 0xf4 0x8 0xbe 0x8 0xc9 0x8 0x186 0x8 0xd5 0x8 0x88 0x8 0x87 0x8 0x8 0x8 0x9 0x8 0x6 0x8 0xd0 0x8 0x5 0x8 0xc0 0x8 0x1c0 0x8 0x140 0x8 0xc2 0x8 0x1c1 0x8 0x142 0x8 0x1c2 0x8 0x143 0x8 0x41 0x8 0x42 0x8 0x43 0x8 0x44 0x8 0x45 0x8 0x46 0x8 0x47 0x8 0x48 0x8 0x49 0x8 0x4a 0x8 0x4b 0x8 0xfa 0x8 0xe5 0x8 0xe6 0x8 0x6b 0x8 0x6c 0x8 0x16a 0x8 0xde 0x8 0xe3 0x8 0x1cd 0x8 0x85 0x8 0x86 0x8 0x4e 0x8 0xf0 0x8 0xcd 0x8 0xe1 0x8 0xdc 0x8 0x6d 0x8 0xed 0x8 0xeb 0x8 0x178 0x8 0xd5 0x8 0x9f 0x8 0x9e 0x8 0xf4 0x8 0xbe 0x8 0xc9 0x8 0x186 0x8 0x88 0x8 0x87 0x8 0xd9 0x8 0x1d9 0x8 0xdb 0x8 0x1db>;
  1875. assigned-clock-rates = <0x47868c0 0x2faf080 0x2faf080 0x2faf080 0x2faf080 0x5f5e100 0x2faf080 0x8f0d180 0x8f0d180 0x8f0d180 0x2faf080 0x8f0d180 0x2faf080 0x5f5e100 0x47868c0 0x47868c0 0x30a32c00 0x30a32c00 0x23c34600 0xbebc200 0x2faf0800 0x8f0d180 0x47868c0 0x23c3460 0x5f5e100 0x5f5e100 0x2faf080 0x5f5e100 0x2faf080 0x5f5e100 0x5f5e100 0x5f5e100 0x5f5e100 0x5f5e100 0x5f5e100 0x2faf080 0x2faf080 0x2faf080 0x2faf080 0x2faf080 0xbebc200 0x17d78400 0x17d78400 0x5f5e100 0x5f5e100 0x5f5e100 0x17d78400 0x17d78400 0xbebc200 0x5f5e100 0xbebc200 0xbebc200 0x5f5e100 0x17d78400 0x17d78400 0x17d78400 0x17d78400 0x11e1a300 0x17d78400 0xbebc200 0x17d78400 0x11e1a300 0x11e1a300 0x11e1a300 0x11e1a300 0x11e1a300 0x5f5e100 0x8f0d180 0x8f0d180 0x17d78400 0x5f5e100 0x17d78400 0x5f5e100>;
  1876. linux,phandle = <0x8>;
  1877. phandle = <0x8>;
  1878. };
  1879.  
  1880. syscon@ff770000 {
  1881. compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
  1882. reg = <0x0 0xff770000 0x0 0x10000>;
  1883. #address-cells = <0x1>;
  1884. #size-cells = <0x1>;
  1885. linux,phandle = <0x15>;
  1886. phandle = <0x15>;
  1887.  
  1888. io-domains {
  1889. compatible = "rockchip,rk3399-io-voltage-domain";
  1890. status = "okay";
  1891. bt656-supply = <0x8f>;
  1892. audio-supply = <0x8f>;
  1893. sdmmc-supply = <0x20>;
  1894. gpio1830-supply = <0x90>;
  1895. };
  1896.  
  1897. phy@f780 {
  1898. compatible = "rockchip,rk3399-emmc-phy";
  1899. reg = <0xf780 0x24>;
  1900. clocks = <0x91>;
  1901. clock-names = "emmcclk";
  1902. #phy-cells = <0x0>;
  1903. status = "okay";
  1904. linux,phandle = <0x25>;
  1905. phandle = <0x25>;
  1906. };
  1907.  
  1908. usb2-phy@e450 {
  1909. compatible = "rockchip,rk3399-usb2phy";
  1910. reg = <0xe450 0x10>;
  1911. clocks = <0x8 0x7b>;
  1912. clock-names = "phyclk";
  1913. #clock-cells = <0x0>;
  1914. clock-output-names = "clk_usbphy0_480m";
  1915. status = "okay";
  1916. extcon = <0x28>;
  1917.  
  1918. otg-port {
  1919. #phy-cells = <0x0>;
  1920. interrupts = <0x0 0x67 0x4 0x0 0x0 0x68 0x4 0x0 0x0 0x6a 0x4 0x0>;
  1921. interrupt-names = "otg-bvalid", "otg-id", "linestate";
  1922. status = "okay";
  1923. linux,phandle = <0x29>;
  1924. phandle = <0x29>;
  1925. };
  1926.  
  1927. host-port {
  1928. #phy-cells = <0x0>;
  1929. interrupts = <0x0 0x1b 0x4 0x0>;
  1930. interrupt-names = "linestate";
  1931. status = "okay";
  1932. phy-supply = <0x92>;
  1933. linux,phandle = <0x26>;
  1934. phandle = <0x26>;
  1935. };
  1936. };
  1937.  
  1938. usb2-phy@e460 {
  1939. compatible = "rockchip,rk3399-usb2phy";
  1940. reg = <0xe460 0x10>;
  1941. clocks = <0x8 0x7c>;
  1942. clock-names = "phyclk";
  1943. #clock-cells = <0x0>;
  1944. clock-output-names = "clk_usbphy1_480m";
  1945. status = "okay";
  1946.  
  1947. otg-port {
  1948. #phy-cells = <0x0>;
  1949. interrupts = <0x0 0x6c 0x4 0x0 0x0 0x6d 0x4 0x0 0x0 0x6f 0x4 0x0>;
  1950. interrupt-names = "otg-bvalid", "otg-id", "linestate";
  1951. status = "okay";
  1952. linux,phandle = <0x2b>;
  1953. phandle = <0x2b>;
  1954. };
  1955.  
  1956. host-port {
  1957. #phy-cells = <0x0>;
  1958. interrupts = <0x0 0x1f 0x4 0x0>;
  1959. interrupt-names = "linestate";
  1960. status = "okay";
  1961. phy-supply = <0x92>;
  1962. linux,phandle = <0x27>;
  1963. phandle = <0x27>;
  1964. };
  1965. };
  1966.  
  1967. pvtm {
  1968. compatible = "rockchip,rk3399-pvtm";
  1969. clocks = <0x8 0x73 0x8 0x74 0x8 0x75 0x8 0x76>;
  1970. clock-names = "core_l", "core_b", "gpu", "ddr";
  1971. resets = <0x8 0x1f 0x8 0x2f 0x8 0x123 0x8 0x4f>;
  1972. reset-names = "core_l", "core_b", "gpu", "ddr";
  1973. status = "okay";
  1974. };
  1975. };
  1976.  
  1977. phy@ff7c0000 {
  1978. compatible = "rockchip,rk3399-typec-phy";
  1979. reg = <0x0 0xff7c0000 0x0 0x40000>;
  1980. rockchip,grf = <0x15>;
  1981. #phy-cells = <0x1>;
  1982. clocks = <0x8 0x7e 0x8 0x7d>;
  1983. clock-names = "tcpdcore", "tcpdphy-ref";
  1984. assigned-clocks = <0x8 0x7e>;
  1985. assigned-clock-rates = <0x2faf080>;
  1986. power-domains = <0x16 0x8>;
  1987. resets = <0x8 0x95 0x8 0x94 0x8 0x14c>;
  1988. reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
  1989. rockchip,typec-conn-dir = <0xe580 0x0 0x10>;
  1990. rockchip,usb3tousb2-en = <0xe580 0x3 0x13>;
  1991. rockchip,usb3-host-disable = <0x2434 0x0 0x10>;
  1992. rockchip,usb3-host-port = <0x2434 0xc 0x1c>;
  1993. rockchip,external-psm = <0xe588 0xe 0x1e>;
  1994. rockchip,pipe-status = <0xe5c0 0x0 0x0>;
  1995. rockchip,uphy-dp-sel = <0x6268 0x13 0x13>;
  1996. status = "okay";
  1997. extcon = <0x28>;
  1998.  
  1999. dp-port {
  2000. #phy-cells = <0x0>;
  2001. linux,phandle = <0x2d>;
  2002. phandle = <0x2d>;
  2003. };
  2004.  
  2005. usb3-port {
  2006. #phy-cells = <0x0>;
  2007. linux,phandle = <0x2a>;
  2008. phandle = <0x2a>;
  2009. };
  2010. };
  2011.  
  2012. phy@ff800000 {
  2013. compatible = "rockchip,rk3399-typec-phy";
  2014. reg = <0x0 0xff800000 0x0 0x40000>;
  2015. rockchip,grf = <0x15>;
  2016. #phy-cells = <0x1>;
  2017. clocks = <0x8 0x80 0x8 0x7f>;
  2018. clock-names = "tcpdcore", "tcpdphy-ref";
  2019. assigned-clocks = <0x8 0x80>;
  2020. assigned-clock-rates = <0x2faf080>;
  2021. power-domains = <0x16 0x9>;
  2022. resets = <0x8 0x9d 0x8 0x9c 0x8 0x14d>;
  2023. reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
  2024. rockchip,typec-conn-dir = <0xe58c 0x0 0x10>;
  2025. rockchip,usb3tousb2-en = <0xe58c 0x3 0x13>;
  2026. rockchip,usb3-host-disable = <0x2444 0x0 0x10>;
  2027. rockchip,usb3-host-port = <0x2444 0xc 0x1c>;
  2028. rockchip,external-psm = <0xe594 0xe 0x1e>;
  2029. rockchip,pipe-status = <0xe5c0 0x10 0x10>;
  2030. rockchip,uphy-dp-sel = <0x6268 0x3 0x13>;
  2031. status = "okay";
  2032.  
  2033. dp-port {
  2034. #phy-cells = <0x0>;
  2035. linux,phandle = <0x2e>;
  2036. phandle = <0x2e>;
  2037. };
  2038.  
  2039. usb3-port {
  2040. #phy-cells = <0x0>;
  2041. linux,phandle = <0x2c>;
  2042. phandle = <0x2c>;
  2043. };
  2044. };
  2045.  
  2046. watchdog@ff848000 {
  2047. compatible = "snps,dw-wdt";
  2048. reg = <0x0 0xff848000 0x0 0x100>;
  2049. clocks = <0x8 0x17c>;
  2050. interrupts = <0x0 0x78 0x4 0x0>;
  2051. };
  2052.  
  2053. rktimer@ff850000 {
  2054. compatible = "rockchip,rk3399-timer";
  2055. reg = <0x0 0xff850000 0x0 0x1000>;
  2056. interrupts = <0x0 0x51 0x4 0x0>;
  2057. clocks = <0x8 0x168 0x8 0x5a>;
  2058. clock-names = "pclk", "timer";
  2059. };
  2060.  
  2061. spdif@ff870000 {
  2062. compatible = "rockchip,rk3399-spdif";
  2063. reg = <0x0 0xff870000 0x0 0x1000>;
  2064. interrupts = <0x0 0x42 0x4 0x0>;
  2065. dmas = <0x93 0x7>;
  2066. dma-names = "tx";
  2067. clock-names = "mclk", "hclk";
  2068. clocks = <0x8 0x55 0x8 0x1d7>;
  2069. pinctrl-names = "default";
  2070. pinctrl-0 = <0x94>;
  2071. power-domains = <0x16 0x1c>;
  2072. status = "okay";
  2073. assigned-clocks = <0x8 0xb1>;
  2074. assigned-clock-parents = <0x8 0x5>;
  2075. #sound-dai-cells = <0x0>;
  2076. linux,phandle = <0xd4>;
  2077. phandle = <0xd4>;
  2078. };
  2079.  
  2080. i2s@ff880000 {
  2081. compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
  2082. reg = <0x0 0xff880000 0x0 0x1000>;
  2083. rockchip,grf = <0x15>;
  2084. interrupts = <0x0 0x27 0x4 0x0>;
  2085. dmas = <0x93 0x0 0x93 0x1>;
  2086. dma-names = "tx", "rx";
  2087. clock-names = "i2s_clk", "i2s_hclk";
  2088. clocks = <0x8 0x56 0x8 0x1d4>;
  2089. pinctrl-names = "default";
  2090. pinctrl-0 = <0x95>;
  2091. power-domains = <0x16 0x1c>;
  2092. status = "okay";
  2093. assigned-clocks = <0x8 0xae>;
  2094. assigned-clock-parents = <0x8 0x5>;
  2095. rockchip,i2s-broken-burst-len;
  2096. rockchip,playback-channels = <0x8>;
  2097. rockchip,capture-channels = <0x8>;
  2098. #sound-dai-cells = <0x0>;
  2099. };
  2100.  
  2101. i2s@ff890000 {
  2102. compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
  2103. reg = <0x0 0xff890000 0x0 0x1000>;
  2104. interrupts = <0x0 0x28 0x4 0x0>;
  2105. dmas = <0x93 0x2 0x93 0x3>;
  2106. dma-names = "tx", "rx";
  2107. clock-names = "i2s_clk", "i2s_hclk";
  2108. clocks = <0x8 0x57 0x8 0x1d5>;
  2109. pinctrl-names = "default";
  2110. pinctrl-0 = <0x96>;
  2111. power-domains = <0x16 0x1c>;
  2112. status = "disabled";
  2113. assigned-clocks = <0x8 0xaf>;
  2114. assigned-clock-parents = <0x8 0x5>;
  2115. };
  2116.  
  2117. i2s@ff8a0000 {
  2118. compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
  2119. reg = <0x0 0xff8a0000 0x0 0x1000>;
  2120. interrupts = <0x0 0x29 0x4 0x0>;
  2121. dmas = <0x93 0x4 0x93 0x5>;
  2122. dma-names = "tx", "rx";
  2123. clock-names = "i2s_clk", "i2s_hclk";
  2124. clocks = <0x8 0x58 0x8 0x1d6>;
  2125. power-domains = <0x16 0x1c>;
  2126. status = "okay";
  2127. assigned-clocks = <0x8 0xb0>;
  2128. assigned-clock-parents = <0x8 0x5>;
  2129. #sound-dai-cells = <0x0>;
  2130. rockchip,bclk-fs = <0x80>;
  2131. linux,phandle = <0xcb>;
  2132. phandle = <0xcb>;
  2133. };
  2134.  
  2135. gpu@ff9a0000 {
  2136. compatible = "arm,malit860", "arm,malit86x", "arm,malit8xx", "arm,mali-midgard";
  2137. reg = <0x0 0xff9a0000 0x0 0x10000>;
  2138. interrupts = <0x0 0x13 0x4 0x0 0x0 0x14 0x4 0x0 0x0 0x15 0x4 0x0>;
  2139. interrupt-names = "GPU", "JOB", "MMU";
  2140. clocks = <0x8 0xd0>;
  2141. clock-names = "clk_mali";
  2142. #cooling-cells = <0x2>;
  2143. power-domains = <0x16 0x23>;
  2144. power-off-delay-ms = <0xc8>;
  2145. status = "okay";
  2146. operating-points-v2 = <0x97>;
  2147. mali-supply = <0x98>;
  2148. linux,phandle = <0x5d>;
  2149. phandle = <0x5d>;
  2150.  
  2151. power_model {
  2152. compatible = "arm,mali-simple-power-model";
  2153. voltage = <0x384>;
  2154. frequency = <0x1f4>;
  2155. static-power = <0x12c>;
  2156. dynamic-power = <0x18c>;
  2157. ts = <0x7d00 0x125c 0xffffffb0 0x2>;
  2158. thermal-zone = "gpu-thermal";
  2159. };
  2160. };
  2161.  
  2162. vop@ff8f0000 {
  2163. compatible = "rockchip,rk3399-vop-lit";
  2164. reg = <0x0 0xff8f0000 0x0 0x600 0x0 0xff8f1c00 0x0 0x200 0x0 0xff8f2000 0x0 0x400>;
  2165. reg-names = "regs", "cabc_lut", "gamma_lut";
  2166. interrupts = <0x0 0x77 0x4 0x0>;
  2167. clocks = <0x8 0xdb 0x8 0xb5 0x8 0x1db 0x8 0xb7>;
  2168. clock-names = "aclk_vop", "dclk_vop", "hclk_vop", "dclk_source";
  2169. resets = <0x8 0x113 0x8 0x117 0x8 0x119>;
  2170. reset-names = "axi", "ahb", "dclk";
  2171. power-domains = <0x16 0x12>;
  2172. iommus = <0x99>;
  2173. status = "okay";
  2174. assigned-clocks = <0x8 0xb7>;
  2175. assigned-clock-parents = <0x8 0x4>;
  2176.  
  2177. port {
  2178. #address-cells = <0x1>;
  2179. #size-cells = <0x0>;
  2180. linux,phandle = <0xb2>;
  2181. phandle = <0xb2>;
  2182.  
  2183. endpoint@0 {
  2184. reg = <0x0>;
  2185. remote-endpoint = <0x9a>;
  2186. linux,phandle = <0xab>;
  2187. phandle = <0xab>;
  2188. };
  2189.  
  2190. endpoint@1 {
  2191. reg = <0x1>;
  2192. remote-endpoint = <0x9b>;
  2193. linux,phandle = <0xb0>;
  2194. phandle = <0xb0>;
  2195. };
  2196.  
  2197. endpoint@2 {
  2198. reg = <0x2>;
  2199. remote-endpoint = <0x9c>;
  2200. linux,phandle = <0xa9>;
  2201. phandle = <0xa9>;
  2202. };
  2203.  
  2204. endpoint@3 {
  2205. reg = <0x3>;
  2206. remote-endpoint = <0x9d>;
  2207. linux,phandle = <0x30>;
  2208. phandle = <0x30>;
  2209. };
  2210.  
  2211. endpoint@4 {
  2212. reg = <0x4>;
  2213. remote-endpoint = <0x9e>;
  2214. linux,phandle = <0xad>;
  2215. phandle = <0xad>;
  2216. };
  2217. };
  2218. };
  2219.  
  2220. voppwm@ff8f01a0 {
  2221. compatible = "rockchip,vop-pwm";
  2222. reg = <0x0 0xff8f01a0 0x0 0x10>;
  2223. #pwm-cells = <0x3>;
  2224. pinctrl-names = "default";
  2225. pinctrl-0 = <0x9f>;
  2226. clocks = <0x8 0x6c>;
  2227. clock-names = "pwm";
  2228. status = "disabled";
  2229. };
  2230.  
  2231. iommu@ff8f3f00 {
  2232. compatible = "rockchip,iommu";
  2233. reg = <0x0 0xff8f3f00 0x0 0x100>;
  2234. interrupts = <0x0 0x77 0x4 0x0>;
  2235. interrupt-names = "vopl_mmu";
  2236. clocks = <0x8 0xdb 0x8 0x1db>;
  2237. clock-names = "aclk", "hclk";
  2238. power-domains = <0x16 0x12>;
  2239. #iommu-cells = <0x0>;
  2240. status = "okay";
  2241. linux,phandle = <0x99>;
  2242. phandle = <0x99>;
  2243. };
  2244.  
  2245. vop@ff900000 {
  2246. compatible = "rockchip,rk3399-vop-big";
  2247. reg = <0x0 0xff900000 0x0 0x600 0x0 0xff901c00 0x0 0x200 0x0 0xff902000 0x0 0x1000>;
  2248. reg-names = "regs", "cabc_lut", "gamma_lut";
  2249. interrupts = <0x0 0x76 0x4 0x0>;
  2250. clocks = <0x8 0xd9 0x8 0xb4 0x8 0x1d9 0x8 0xb6>;
  2251. clock-names = "aclk_vop", "dclk_vop", "hclk_vop", "dclk_source";
  2252. resets = <0x8 0x112 0x8 0x116 0x8 0x118>;
  2253. reset-names = "axi", "ahb", "dclk";
  2254. power-domains = <0x16 0x11>;
  2255. iommus = <0xa0>;
  2256. status = "okay";
  2257. assigned-clocks = <0x8 0xb6>;
  2258. assigned-clock-parents = <0x8 0x7>;
  2259.  
  2260. port {
  2261. #address-cells = <0x1>;
  2262. #size-cells = <0x0>;
  2263. linux,phandle = <0xb1>;
  2264. phandle = <0xb1>;
  2265.  
  2266. endpoint@0 {
  2267. reg = <0x0>;
  2268. remote-endpoint = <0xa1>;
  2269. linux,phandle = <0xaf>;
  2270. phandle = <0xaf>;
  2271. };
  2272.  
  2273. endpoint@1 {
  2274. reg = <0x1>;
  2275. remote-endpoint = <0xa2>;
  2276. linux,phandle = <0xaa>;
  2277. phandle = <0xaa>;
  2278. };
  2279.  
  2280. endpoint@2 {
  2281. reg = <0x2>;
  2282. remote-endpoint = <0xa3>;
  2283. linux,phandle = <0xa8>;
  2284. phandle = <0xa8>;
  2285. };
  2286.  
  2287. endpoint@3 {
  2288. reg = <0x3>;
  2289. remote-endpoint = <0xa4>;
  2290. linux,phandle = <0x2f>;
  2291. phandle = <0x2f>;
  2292. };
  2293.  
  2294. endpoint@4 {
  2295. reg = <0x4>;
  2296. remote-endpoint = <0xa5>;
  2297. linux,phandle = <0xac>;
  2298. phandle = <0xac>;
  2299. };
  2300. };
  2301. };
  2302.  
  2303. voppwm@ff9001a0 {
  2304. compatible = "rockchip,vop-pwm";
  2305. reg = <0x0 0xff9001a0 0x0 0x10>;
  2306. #pwm-cells = <0x3>;
  2307. pinctrl-names = "default";
  2308. pinctrl-0 = <0xa6>;
  2309. clocks = <0x8 0x6b>;
  2310. clock-names = "pwm";
  2311. status = "disabled";
  2312. };
  2313.  
  2314. iommu@ff903f00 {
  2315. compatible = "rockchip,iommu";
  2316. reg = <0x0 0xff903f00 0x0 0x100>;
  2317. interrupts = <0x0 0x76 0x4 0x0>;
  2318. interrupt-names = "vopb_mmu";
  2319. clocks = <0x8 0xd9 0x8 0x1d9>;
  2320. clock-names = "aclk", "hclk";
  2321. power-domains = <0x16 0x11>;
  2322. #iommu-cells = <0x0>;
  2323. status = "okay";
  2324. linux,phandle = <0xa0>;
  2325. phandle = <0xa0>;
  2326. };
  2327.  
  2328. iommu@ff914000 {
  2329. compatible = "rockchip,iommu";
  2330. reg = <0x0 0xff914000 0x0 0x100 0x0 0xff915000 0x0 0x100>;
  2331. interrupts = <0x0 0x2b 0x4 0x0>;
  2332. interrupt-names = "isp0_mmu";
  2333. #iommu-cells = <0x0>;
  2334. clocks = <0x8 0xe7 0x8 0x1e1>;
  2335. clock-names = "aclk", "hclk";
  2336. power-domains = <0x16 0x13>;
  2337. rk_iommu,disable_reset_quirk;
  2338. status = "disabled";
  2339. linux,phandle = <0xc9>;
  2340. phandle = <0xc9>;
  2341. };
  2342.  
  2343. iommu@ff924000 {
  2344. compatible = "rockchip,iommu";
  2345. reg = <0x0 0xff924000 0x0 0x100 0x0 0xff925000 0x0 0x100>;
  2346. interrupts = <0x0 0x2c 0x4 0x0>;
  2347. interrupt-names = "isp1_mmu";
  2348. #iommu-cells = <0x0>;
  2349. clocks = <0x8 0xe8 0x8 0x1e2>;
  2350. clock-names = "aclk", "hclk";
  2351. power-domains = <0x16 0x14>;
  2352. rk_iommu,disable_reset_quirk;
  2353. status = "disabled";
  2354. linux,phandle = <0xca>;
  2355. phandle = <0xca>;
  2356. };
  2357.  
  2358. hdmi@ff940000 {
  2359. compatible = "rockchip,rk3399-dw-hdmi";
  2360. reg = <0x0 0xff940000 0x0 0x20000>;
  2361. reg-io-width = <0x4>;
  2362. rockchip,grf = <0x15>;
  2363. pinctrl-names = "default";
  2364. pinctrl-0 = <0xa7>;
  2365. power-domains = <0x16 0x15>;
  2366. interrupts = <0x0 0x17 0x4 0x0>;
  2367. clocks = <0x8 0x174 0x8 0x71 0x8 0x7 0x8 0x16f>;
  2368. clock-names = "iahb", "isfr", "vpll", "grf";
  2369. status = "okay";
  2370. #address-cells = <0x1>;
  2371. #size-cells = <0x0>;
  2372. #sound-dai-cells = <0x0>;
  2373. ddc-i2c-scl-high-time-ns = <0x2599>;
  2374. ddc-i2c-scl-low-time-ns = <0x2710>;
  2375. rockchip,phy-table = <0x46cf710 0x8009 0x4 0x272 0x9d5b340 0x802b 0x4 0x209 0x11b3dc40 0x8039 0x5 0x28d 0x2367b880 0x8039 0x0 0x19d 0x0 0x0 0x0 0x0>;
  2376. linux,phandle = <0xcc>;
  2377. phandle = <0xcc>;
  2378.  
  2379. ports {
  2380.  
  2381. port {
  2382. #address-cells = <0x1>;
  2383. #size-cells = <0x0>;
  2384.  
  2385. endpoint@0 {
  2386. reg = <0x0>;
  2387. remote-endpoint = <0xa8>;
  2388. linux,phandle = <0xa3>;
  2389. phandle = <0xa3>;
  2390. };
  2391.  
  2392. endpoint@1 {
  2393. reg = <0x1>;
  2394. remote-endpoint = <0xa9>;
  2395. status = "disabled";
  2396. linux,phandle = <0x9c>;
  2397. phandle = <0x9c>;
  2398. };
  2399. };
  2400. };
  2401. };
  2402.  
  2403. dsi@ff960000 {
  2404. compatible = "rockchip,rk3399-mipi-dsi";
  2405. reg = <0x0 0xff960000 0x0 0x8000>;
  2406. interrupts = <0x0 0x2d 0x4 0x0>;
  2407. clocks = <0x8 0xa2 0x8 0x170 0x8 0xa3>;
  2408. clock-names = "ref", "pclk", "phy_cfg";
  2409. resets = <0x8 0xfb>;
  2410. reset-names = "apb";
  2411. power-domains = <0x16 0xf>;
  2412. rockchip,grf = <0x15>;
  2413. #address-cells = <0x1>;
  2414. #size-cells = <0x0>;
  2415. status = "disabled";
  2416.  
  2417. ports {
  2418.  
  2419. port {
  2420. #address-cells = <0x1>;
  2421. #size-cells = <0x0>;
  2422.  
  2423. endpoint@0 {
  2424. reg = <0x0>;
  2425. remote-endpoint = <0xaa>;
  2426. linux,phandle = <0xa2>;
  2427. phandle = <0xa2>;
  2428. };
  2429.  
  2430. endpoint@1 {
  2431. reg = <0x1>;
  2432. remote-endpoint = <0xab>;
  2433. linux,phandle = <0x9a>;
  2434. phandle = <0x9a>;
  2435. };
  2436. };
  2437. };
  2438. };
  2439.  
  2440. dsi@ff968000 {
  2441. compatible = "rockchip,rk3399-mipi-dsi";
  2442. reg = <0x0 0xff968000 0x0 0x8000>;
  2443. interrupts = <0x0 0x2e 0x4 0x0>;
  2444. clocks = <0x8 0xa2 0x8 0x171 0x8 0xa4>;
  2445. clock-names = "ref", "pclk", "phy_cfg";
  2446. resets = <0x8 0xfc>;
  2447. reset-names = "apb";
  2448. power-domains = <0x16 0xf>;
  2449. rockchip,grf = <0x15>;
  2450. #address-cells = <0x1>;
  2451. #size-cells = <0x0>;
  2452. status = "disabled";
  2453.  
  2454. ports {
  2455.  
  2456. port {
  2457. #address-cells = <0x1>;
  2458. #size-cells = <0x0>;
  2459.  
  2460. endpoint@0 {
  2461. reg = <0x0>;
  2462. remote-endpoint = <0xac>;
  2463. linux,phandle = <0xa5>;
  2464. phandle = <0xa5>;
  2465. };
  2466.  
  2467. endpoint@1 {
  2468. reg = <0x1>;
  2469. remote-endpoint = <0xad>;
  2470. linux,phandle = <0x9e>;
  2471. phandle = <0x9e>;
  2472. };
  2473. };
  2474. };
  2475. };
  2476.  
  2477. edp@ff970000 {
  2478. compatible = "rockchip,rk3399-edp";
  2479. reg = <0x0 0xff970000 0x0 0x8000>;
  2480. interrupts = <0x0 0xa 0x4 0x0>;
  2481. clocks = <0x8 0x16a 0x8 0x16c>;
  2482. clock-names = "dp", "pclk";
  2483. power-domains = <0x16 0x19>;
  2484. resets = <0x8 0x11d>;
  2485. reset-names = "dp";
  2486. rockchip,grf = <0x15>;
  2487. status = "disabled";
  2488. pinctrl-names = "default";
  2489. pinctrl-0 = <0xae>;
  2490.  
  2491. ports {
  2492. #address-cells = <0x1>;
  2493. #size-cells = <0x0>;
  2494.  
  2495. port@0 {
  2496. reg = <0x0>;
  2497. #address-cells = <0x1>;
  2498. #size-cells = <0x0>;
  2499.  
  2500. endpoint@0 {
  2501. reg = <0x0>;
  2502. remote-endpoint = <0xaf>;
  2503. linux,phandle = <0xa1>;
  2504. phandle = <0xa1>;
  2505. };
  2506.  
  2507. endpoint@1 {
  2508. reg = <0x1>;
  2509. remote-endpoint = <0xb0>;
  2510. linux,phandle = <0x9b>;
  2511. phandle = <0x9b>;
  2512. };
  2513. };
  2514. };
  2515. };
  2516.  
  2517. display-subsystem {
  2518. compatible = "rockchip,display-subsystem";
  2519. ports = <0xb1 0xb2>;
  2520. clocks = <0x8 0x7 0x8 0x4>;
  2521. clock-names = "hdmi-tmds-pll", "default-vop-pll";
  2522. status = "okay";
  2523. memory-region = <0xb3>;
  2524. secure-memory-region = <0xb4>;
  2525.  
  2526. route {
  2527.  
  2528. route-hdmi {
  2529. status = "okay";
  2530. logo,uboot = "logo.bmp";
  2531. logo,mode = "center";
  2532. charge_logo,mode = "center";
  2533. connect = <0xa8>;
  2534. };
  2535.  
  2536. route-dsi {
  2537. status = "disabled";
  2538. logo,uboot = "logo.bmp";
  2539. logo,kernel = "logo_kernel.bmp";
  2540. logo,mode = "fullscreen";
  2541. charge_logo,mode = "center";
  2542. connect = <0xaa>;
  2543. };
  2544.  
  2545. route-dsi1 {
  2546. status = "disabled";
  2547. logo,uboot = "logo.bmp";
  2548. logo,kernel = "logo_kernel.bmp";
  2549. logo,mode = "fullscreen";
  2550. charge_logo,mode = "center";
  2551. connect = <0xad>;
  2552. };
  2553.  
  2554. route-edp {
  2555. status = "disabled";
  2556. logo,uboot = "logo.bmp";
  2557. logo,kernel = "logo_kernel.bmp";
  2558. logo,mode = "fullscreen";
  2559. charge_logo,mode = "center";
  2560. connect = <0xaf>;
  2561. };
  2562. };
  2563. };
  2564.  
  2565. pinctrl {
  2566. compatible = "rockchip,rk3399-pinctrl";
  2567. rockchip,grf = <0x15>;
  2568. rockchip,pmu = <0x88>;
  2569. #address-cells = <0x2>;
  2570. #size-cells = <0x2>;
  2571. ranges;
  2572. pinctrl-names = "default";
  2573. pinctrl-0 = <0xb5>;
  2574.  
  2575. gpio0@ff720000 {
  2576. compatible = "rockchip,gpio-bank";
  2577. reg = <0x0 0xff720000 0x0 0x100>;
  2578. clocks = <0x31 0x17>;
  2579. interrupts = <0x0 0xe 0x4 0x0>;
  2580. gpio-controller;
  2581. #gpio-cells = <0x2>;
  2582. interrupt-controller;
  2583. #interrupt-cells = <0x2>;
  2584. linux,phandle = <0xc3>;
  2585. phandle = <0xc3>;
  2586. };
  2587.  
  2588. gpio1@ff730000 {
  2589. compatible = "rockchip,gpio-bank";
  2590. reg = <0x0 0xff730000 0x0 0x100>;
  2591. clocks = <0x31 0x18>;
  2592. interrupts = <0x0 0xf 0x4 0x0>;
  2593. gpio-controller;
  2594. #gpio-cells = <0x2>;
  2595. interrupt-controller;
  2596. #interrupt-cells = <0x2>;
  2597. linux,phandle = <0x34>;
  2598. phandle = <0x34>;
  2599. };
  2600.  
  2601. gpio2@ff780000 {
  2602. compatible = "rockchip,gpio-bank";
  2603. reg = <0x0 0xff780000 0x0 0x100>;
  2604. clocks = <0x8 0x150>;
  2605. interrupts = <0x0 0x10 0x4 0x0>;
  2606. gpio-controller;
  2607. #gpio-cells = <0x2>;
  2608. interrupt-controller;
  2609. #interrupt-cells = <0x2>;
  2610. linux,phandle = <0xd8>;
  2611. phandle = <0xd8>;
  2612. };
  2613.  
  2614. gpio3@ff788000 {
  2615. compatible = "rockchip,gpio-bank";
  2616. reg = <0x0 0xff788000 0x0 0x100>;
  2617. clocks = <0x8 0x151>;
  2618. interrupts = <0x0 0x11 0x4 0x0>;
  2619. gpio-controller;
  2620. #gpio-cells = <0x2>;
  2621. interrupt-controller;
  2622. #interrupt-cells = <0x2>;
  2623. linux,phandle = <0x18>;
  2624. phandle = <0x18>;
  2625. };
  2626.  
  2627. gpio4@ff790000 {
  2628. compatible = "rockchip,gpio-bank";
  2629. reg = <0x0 0xff790000 0x0 0x100>;
  2630. clocks = <0x8 0x152>;
  2631. interrupts = <0x0 0x12 0x4 0x0>;
  2632. gpio-controller;
  2633. #gpio-cells = <0x2>;
  2634. interrupt-controller;
  2635. #interrupt-cells = <0x2>;
  2636. linux,phandle = <0xd1>;
  2637. phandle = <0xd1>;
  2638. };
  2639.  
  2640. pcfg-pull-up {
  2641. bias-pull-up;
  2642. linux,phandle = <0xb6>;
  2643. phandle = <0xb6>;
  2644. };
  2645.  
  2646. pcfg-pull-down {
  2647. bias-pull-down;
  2648. linux,phandle = <0xbf>;
  2649. phandle = <0xbf>;
  2650. };
  2651.  
  2652. pcfg-pull-none {
  2653. bias-disable;
  2654. linux,phandle = <0xb8>;
  2655. phandle = <0xb8>;
  2656. };
  2657.  
  2658. pcfg-pull-up-20ma {
  2659. bias-pull-up;
  2660. drive-strength = <0x14>;
  2661. linux,phandle = <0xbb>;
  2662. phandle = <0xbb>;
  2663. };
  2664.  
  2665. pcfg-pull-none-20ma {
  2666. bias-disable;
  2667. drive-strength = <0x14>;
  2668. linux,phandle = <0xbc>;
  2669. phandle = <0xbc>;
  2670. };
  2671.  
  2672. pcfg-pull-none-18ma {
  2673. bias-disable;
  2674. drive-strength = <0x12>;
  2675. linux,phandle = <0xbe>;
  2676. phandle = <0xbe>;
  2677. };
  2678.  
  2679. pcfg-pull-none-12ma {
  2680. bias-disable;
  2681. drive-strength = <0xc>;
  2682. linux,phandle = <0xba>;
  2683. phandle = <0xba>;
  2684. };
  2685.  
  2686. pcfg-pull-up-8ma {
  2687. bias-pull-up;
  2688. drive-strength = <0x8>;
  2689. linux,phandle = <0xbd>;
  2690. phandle = <0xbd>;
  2691. };
  2692.  
  2693. pcfg-pull-down-4ma {
  2694. bias-pull-down;
  2695. drive-strength = <0x4>;
  2696. };
  2697.  
  2698. pcfg-pull-up-2ma {
  2699. bias-pull-up;
  2700. drive-strength = <0x2>;
  2701. };
  2702.  
  2703. pcfg-pull-down-12ma {
  2704. bias-pull-down;
  2705. drive-strength = <0xc>;
  2706. };
  2707.  
  2708. pcfg-pull-none-13ma {
  2709. bias-disable;
  2710. drive-strength = <0xd>;
  2711. linux,phandle = <0xb7>;
  2712. phandle = <0xb7>;
  2713. };
  2714.  
  2715. pcfg-output-high {
  2716. output-high;
  2717. };
  2718.  
  2719. pcfg-output-low {
  2720. output-low;
  2721. linux,phandle = <0xb9>;
  2722. phandle = <0xb9>;
  2723. };
  2724.  
  2725. pcfg-input {
  2726. input-enable;
  2727. };
  2728.  
  2729. emmc {
  2730.  
  2731. emmc-pwr {
  2732. rockchip,pins = <0x0 0x5 0x1 0xb6>;
  2733. };
  2734. };
  2735.  
  2736. gmac {
  2737.  
  2738. rgmii-pins {
  2739. rockchip,pins = <0x3 0x11 0x1 0xb7 0x3 0xe 0x1 0xb8 0x3 0xd 0x1 0xb8 0x3 0xc 0x1 0xb7 0x3 0xb 0x1 0xb8 0x3 0x9 0x1 0xb8 0x3 0x8 0x1 0xb8 0x3 0x7 0x1 0xb8 0x3 0x6 0x1 0xb8 0x3 0x5 0x1 0xb7 0x3 0x4 0x1 0xb7 0x3 0x3 0x1 0xb8 0x3 0x2 0x1 0xb8 0x3 0x1 0x1 0xb7 0x3 0x0 0x1 0xb7>;
  2740. linux,phandle = <0x1a>;
  2741. phandle = <0x1a>;
  2742. };
  2743.  
  2744. rmii-pins {
  2745. rockchip,pins = <0x3 0xd 0x1 0xb8 0x3 0xc 0x1 0xb7 0x3 0xb 0x1 0xb8 0x3 0xa 0x1 0xb8 0x3 0x9 0x1 0xb8 0x3 0x8 0x1 0xb8 0x3 0x7 0x1 0xb8 0x3 0x6 0x1 0xb8 0x3 0x5 0x1 0xb7 0x3 0x4 0x1 0xb7>;
  2746. };
  2747.  
  2748. rgmii-sleep-pins {
  2749. rockchip,pins = <0x3 0xf 0x0 0xb9>;
  2750. linux,phandle = <0x1b>;
  2751. phandle = <0x1b>;
  2752. };
  2753. };
  2754.  
  2755. i2c0 {
  2756.  
  2757. i2c0-xfer {
  2758. rockchip,pins = <0x1 0xf 0x2 0xb8 0x1 0x10 0x2 0xb8>;
  2759. linux,phandle = <0x32>;
  2760. phandle = <0x32>;
  2761. };
  2762. };
  2763.  
  2764. i2c1 {
  2765.  
  2766. i2c1-xfer {
  2767. rockchip,pins = <0x4 0x2 0x1 0xb8 0x4 0x1 0x1 0xb8>;
  2768. linux,phandle = <0x3a>;
  2769. phandle = <0x3a>;
  2770. };
  2771. };
  2772.  
  2773. i2c2 {
  2774.  
  2775. i2c2-xfer {
  2776. rockchip,pins = <0x2 0x1 0x2 0xba 0x2 0x0 0x2 0xba>;
  2777. linux,phandle = <0x3b>;
  2778. phandle = <0x3b>;
  2779. };
  2780. };
  2781.  
  2782. i2c3 {
  2783.  
  2784. i2c3-xfer {
  2785. rockchip,pins = <0x4 0x11 0x1 0xb8 0x4 0x10 0x1 0xb8>;
  2786. linux,phandle = <0x3c>;
  2787. phandle = <0x3c>;
  2788. };
  2789.  
  2790. i2c3_gpio {
  2791. rockchip,pins = <0x4 0x11 0x0 0xb8 0x4 0x10 0x0 0xb8>;
  2792. };
  2793. };
  2794.  
  2795. i2c4 {
  2796.  
  2797. i2c4-xfer {
  2798. rockchip,pins = <0x1 0xc 0x1 0xb8 0x1 0xb 0x1 0xb8>;
  2799. linux,phandle = <0x7e>;
  2800. phandle = <0x7e>;
  2801. };
  2802. };
  2803.  
  2804. i2c5 {
  2805.  
  2806. i2c5-xfer {
  2807. rockchip,pins = <0x3 0xb 0x2 0xb8 0x3 0xa 0x2 0xb8>;
  2808. linux,phandle = <0x3d>;
  2809. phandle = <0x3d>;
  2810. };
  2811. };
  2812.  
  2813. i2c6 {
  2814.  
  2815. i2c6-xfer {
  2816. rockchip,pins = <0x2 0xa 0x2 0xb8 0x2 0x9 0x2 0xb8>;
  2817. linux,phandle = <0x3e>;
  2818. phandle = <0x3e>;
  2819. };
  2820. };
  2821.  
  2822. i2c7 {
  2823.  
  2824. i2c7-xfer {
  2825. rockchip,pins = <0x2 0x8 0x2 0xb8 0x2 0x7 0x2 0xb8>;
  2826. linux,phandle = <0x3f>;
  2827. phandle = <0x3f>;
  2828. };
  2829. };
  2830.  
  2831. i2c8 {
  2832.  
  2833. i2c8-xfer {
  2834. rockchip,pins = <0x1 0x15 0x1 0xb8 0x1 0x14 0x1 0xb8>;
  2835. linux,phandle = <0x80>;
  2836. phandle = <0x80>;
  2837. };
  2838. };
  2839.  
  2840. i2s0 {
  2841.  
  2842. i2s0-8ch-bus {
  2843. rockchip,pins = <0x3 0x18 0x1 0xb8 0x3 0x19 0x1 0xb8 0x3 0x1a 0x1 0xb8 0x3 0x1b 0x1 0xb8 0x3 0x1c 0x1 0xb8 0x3 0x1d 0x1 0xb8 0x3 0x1e 0x1 0xb8 0x3 0x1f 0x1 0xb8 0x4 0x0 0x1 0xb8>;
  2844. linux,phandle = <0x95>;
  2845. phandle = <0x95>;
  2846. };
  2847. };
  2848.  
  2849. i2s1 {
  2850.  
  2851. i2s1-2ch-bus {
  2852. rockchip,pins = <0x4 0x3 0x1 0xb8 0x4 0x4 0x1 0xb8 0x4 0x5 0x1 0xb8 0x4 0x6 0x1 0xb8 0x4 0x7 0x1 0xb8>;
  2853. linux,phandle = <0x96>;
  2854. phandle = <0x96>;
  2855. };
  2856. };
  2857.  
  2858. sdio0 {
  2859.  
  2860. sdio0-bus1 {
  2861. rockchip,pins = <0x2 0x14 0x1 0xbb>;
  2862. };
  2863.  
  2864. sdio0-bus4 {
  2865. rockchip,pins = <0x2 0x14 0x1 0xbb 0x2 0x15 0x1 0xbb 0x2 0x16 0x1 0xbb 0x2 0x17 0x1 0xbb>;
  2866. linux,phandle = <0x1d>;
  2867. phandle = <0x1d>;
  2868. };
  2869.  
  2870. sdio0-cmd {
  2871. rockchip,pins = <0x2 0x18 0x1 0xbb>;
  2872. linux,phandle = <0x1e>;
  2873. phandle = <0x1e>;
  2874. };
  2875.  
  2876. sdio0-clk {
  2877. rockchip,pins = <0x2 0x19 0x1 0xbc>;
  2878. linux,phandle = <0x1f>;
  2879. phandle = <0x1f>;
  2880. };
  2881.  
  2882. sdio0-cd {
  2883. rockchip,pins = <0x2 0x1a 0x1 0xb6>;
  2884. };
  2885.  
  2886. sdio0-pwr {
  2887. rockchip,pins = <0x2 0x1b 0x1 0xb6>;
  2888. };
  2889.  
  2890. sdio0-bkpwr {
  2891. rockchip,pins = <0x2 0x1c 0x1 0xb6>;
  2892. };
  2893.  
  2894. sdio0-wp {
  2895. rockchip,pins = <0x0 0x3 0x1 0xb6>;
  2896. };
  2897.  
  2898. sdio0-int {
  2899. rockchip,pins = <0x0 0x4 0x1 0xb6>;
  2900. };
  2901. };
  2902.  
  2903. sdmmc {
  2904.  
  2905. sdmmc-bus1 {
  2906. rockchip,pins = <0x4 0x8 0x1 0xbd>;
  2907. };
  2908.  
  2909. sdmmc-bus4 {
  2910. rockchip,pins = <0x4 0x8 0x1 0xbd 0x4 0x9 0x1 0xbd 0x4 0xa 0x1 0xbd 0x4 0xb 0x1 0xbd>;
  2911. linux,phandle = <0x24>;
  2912. phandle = <0x24>;
  2913. };
  2914.  
  2915. sdmmc-clk {
  2916. rockchip,pins = <0x4 0xc 0x1 0xbe>;
  2917. linux,phandle = <0x21>;
  2918. phandle = <0x21>;
  2919. };
  2920.  
  2921. sdmmc-cmd {
  2922. rockchip,pins = <0x4 0xd 0x1 0xbd>;
  2923. linux,phandle = <0x22>;
  2924. phandle = <0x22>;
  2925. };
  2926.  
  2927. sdmcc-cd {
  2928. rockchip,pins = <0x0 0x7 0x1 0xb6>;
  2929. linux,phandle = <0x23>;
  2930. phandle = <0x23>;
  2931. };
  2932.  
  2933. sdmmc-wp {
  2934. rockchip,pins = <0x0 0x8 0x1 0xb6>;
  2935. };
  2936. };
  2937.  
  2938. spdif {
  2939.  
  2940. spdif-bus {
  2941. rockchip,pins = <0x4 0x15 0x1 0xb8>;
  2942. };
  2943.  
  2944. spdif-bus-1 {
  2945. rockchip,pins = <0x3 0x10 0x3 0xb8>;
  2946. linux,phandle = <0x94>;
  2947. phandle = <0x94>;
  2948. };
  2949. };
  2950.  
  2951. spi0 {
  2952.  
  2953. spi0-clk {
  2954. rockchip,pins = <0x3 0x6 0x2 0xb6>;
  2955. linux,phandle = <0x47>;
  2956. phandle = <0x47>;
  2957. };
  2958.  
  2959. spi0-cs0 {
  2960. rockchip,pins = <0x3 0x7 0x2 0xb6>;
  2961. linux,phandle = <0x4a>;
  2962. phandle = <0x4a>;
  2963. };
  2964.  
  2965. spi0-cs1 {
  2966. rockchip,pins = <0x3 0x8 0x2 0xb6>;
  2967. };
  2968.  
  2969. spi0-tx {
  2970. rockchip,pins = <0x3 0x5 0x2 0xb6>;
  2971. linux,phandle = <0x48>;
  2972. phandle = <0x48>;
  2973. };
  2974.  
  2975. spi0-rx {
  2976. rockchip,pins = <0x3 0x4 0x2 0xb6>;
  2977. linux,phandle = <0x49>;
  2978. phandle = <0x49>;
  2979. };
  2980. };
  2981.  
  2982. spi1 {
  2983.  
  2984. spi1-clk {
  2985. rockchip,pins = <0x1 0x9 0x2 0xb6>;
  2986. linux,phandle = <0x4b>;
  2987. phandle = <0x4b>;
  2988. };
  2989.  
  2990. spi1-cs0 {
  2991. rockchip,pins = <0x1 0xa 0x2 0xb6>;
  2992. linux,phandle = <0x4e>;
  2993. phandle = <0x4e>;
  2994. };
  2995.  
  2996. spi1-rx {
  2997. rockchip,pins = <0x1 0x7 0x2 0xb6>;
  2998. linux,phandle = <0x4d>;
  2999. phandle = <0x4d>;
  3000. };
  3001.  
  3002. spi1-tx {
  3003. rockchip,pins = <0x1 0x8 0x2 0xb6>;
  3004. linux,phandle = <0x4c>;
  3005. phandle = <0x4c>;
  3006. };
  3007. };
  3008.  
  3009. spi2 {
  3010.  
  3011. spi2-clk {
  3012. rockchip,pins = <0x2 0xb 0x1 0xb6>;
  3013. linux,phandle = <0x4f>;
  3014. phandle = <0x4f>;
  3015. };
  3016.  
  3017. spi2-cs0 {
  3018. rockchip,pins = <0x2 0xc 0x1 0xb6>;
  3019. linux,phandle = <0x52>;
  3020. phandle = <0x52>;
  3021. };
  3022.  
  3023. spi2-rx {
  3024. rockchip,pins = <0x2 0x9 0x1 0xb6>;
  3025. linux,phandle = <0x51>;
  3026. phandle = <0x51>;
  3027. };
  3028.  
  3029. spi2-tx {
  3030. rockchip,pins = <0x2 0xa 0x1 0xb6>;
  3031. linux,phandle = <0x50>;
  3032. phandle = <0x50>;
  3033. };
  3034. };
  3035.  
  3036. spi3 {
  3037.  
  3038. spi3-clk {
  3039. rockchip,pins = <0x1 0x11 0x1 0xb6>;
  3040. linux,phandle = <0x79>;
  3041. phandle = <0x79>;
  3042. };
  3043.  
  3044. spi3-cs0 {
  3045. rockchip,pins = <0x1 0x12 0x1 0xb6>;
  3046. linux,phandle = <0x7c>;
  3047. phandle = <0x7c>;
  3048. };
  3049.  
  3050. spi3-rx {
  3051. rockchip,pins = <0x1 0xf 0x1 0xb6>;
  3052. linux,phandle = <0x7b>;
  3053. phandle = <0x7b>;
  3054. };
  3055.  
  3056. spi3-tx {
  3057. rockchip,pins = <0x1 0x10 0x1 0xb6>;
  3058. linux,phandle = <0x7a>;
  3059. phandle = <0x7a>;
  3060. };
  3061. };
  3062.  
  3063. spi4 {
  3064.  
  3065. spi4-clk {
  3066. rockchip,pins = <0x3 0x2 0x2 0xb6>;
  3067. linux,phandle = <0x53>;
  3068. phandle = <0x53>;
  3069. };
  3070.  
  3071. spi4-cs0 {
  3072. rockchip,pins = <0x3 0x3 0x2 0xb6>;
  3073. linux,phandle = <0x56>;
  3074. phandle = <0x56>;
  3075. };
  3076.  
  3077. spi4-rx {
  3078. rockchip,pins = <0x3 0x0 0x2 0xb6>;
  3079. linux,phandle = <0x55>;
  3080. phandle = <0x55>;
  3081. };
  3082.  
  3083. spi4-tx {
  3084. rockchip,pins = <0x3 0x1 0x2 0xb6>;
  3085. linux,phandle = <0x54>;
  3086. phandle = <0x54>;
  3087. };
  3088. };
  3089.  
  3090. spi5 {
  3091.  
  3092. spi5-clk {
  3093. rockchip,pins = <0x2 0x16 0x2 0xb6>;
  3094. linux,phandle = <0x57>;
  3095. phandle = <0x57>;
  3096. };
  3097.  
  3098. spi5-cs0 {
  3099. rockchip,pins = <0x2 0x17 0x2 0xb6>;
  3100. linux,phandle = <0x5a>;
  3101. phandle = <0x5a>;
  3102. };
  3103.  
  3104. spi5-rx {
  3105. rockchip,pins = <0x2 0x14 0x2 0xb6>;
  3106. linux,phandle = <0x59>;
  3107. phandle = <0x59>;
  3108. };
  3109.  
  3110. spi5-tx {
  3111. rockchip,pins = <0x2 0x15 0x2 0xb6>;
  3112. linux,phandle = <0x58>;
  3113. phandle = <0x58>;
  3114. };
  3115. };
  3116.  
  3117. tsadc {
  3118.  
  3119. otp-gpio {
  3120. rockchip,pins = <0x1 0x6 0x0 0xb8>;
  3121. linux,phandle = <0x5e>;
  3122. phandle = <0x5e>;
  3123. };
  3124.  
  3125. otp-out {
  3126. rockchip,pins = <0x1 0x6 0x1 0xb8>;
  3127. linux,phandle = <0x5f>;
  3128. phandle = <0x5f>;
  3129. };
  3130. };
  3131.  
  3132. uart0 {
  3133.  
  3134. uart0-xfer {
  3135. rockchip,pins = <0x2 0x10 0x1 0xb6 0x2 0x11 0x1 0xb8>;
  3136. linux,phandle = <0x40>;
  3137. phandle = <0x40>;
  3138. };
  3139.  
  3140. uart0-cts {
  3141. rockchip,pins = <0x2 0x12 0x1 0xb8>;
  3142. linux,phandle = <0x41>;
  3143. phandle = <0x41>;
  3144. };
  3145.  
  3146. uart0-rts {
  3147. rockchip,pins = <0x2 0x13 0x1 0xb8>;
  3148. linux,phandle = <0xd9>;
  3149. phandle = <0xd9>;
  3150. };
  3151. };
  3152.  
  3153. uart1 {
  3154.  
  3155. uart1-xfer {
  3156. rockchip,pins = <0x3 0xc 0x2 0xb6 0x3 0xd 0x2 0xb8>;
  3157. linux,phandle = <0x42>;
  3158. phandle = <0x42>;
  3159. };
  3160. };
  3161.  
  3162. uart2a {
  3163.  
  3164. uart2a-xfer {
  3165. rockchip,pins = <0x4 0x8 0x2 0xb6 0x4 0x9 0x2 0xb8>;
  3166. };
  3167. };
  3168.  
  3169. uart2b {
  3170.  
  3171. uart2b-xfer {
  3172. rockchip,pins = <0x4 0x10 0x2 0xb6 0x4 0x11 0x2 0xb8>;
  3173. };
  3174. };
  3175.  
  3176. uart2c {
  3177.  
  3178. uart2c-xfer {
  3179. rockchip,pins = <0x4 0x13 0x1 0xb6 0x4 0x14 0x1 0xb8>;
  3180. linux,phandle = <0x43>;
  3181. phandle = <0x43>;
  3182. };
  3183. };
  3184.  
  3185. uart3 {
  3186.  
  3187. uart3-xfer {
  3188. rockchip,pins = <0x3 0xe 0x2 0xb6 0x3 0xf 0x2 0xb8>;
  3189. linux,phandle = <0x44>;
  3190. phandle = <0x44>;
  3191. };
  3192.  
  3193. uart3-cts {
  3194. rockchip,pins = <0x3 0x12 0x2 0xb8>;
  3195. linux,phandle = <0x45>;
  3196. phandle = <0x45>;
  3197. };
  3198.  
  3199. uart3-rts {
  3200. rockchip,pins = <0x3 0x13 0x2 0xb8>;
  3201. linux,phandle = <0x46>;
  3202. phandle = <0x46>;
  3203. };
  3204. };
  3205.  
  3206. uart4 {
  3207.  
  3208. uart4-xfer {
  3209. rockchip,pins = <0x1 0x7 0x1 0xb6 0x1 0x8 0x1 0xb8>;
  3210. linux,phandle = <0x7d>;
  3211. phandle = <0x7d>;
  3212. };
  3213. };
  3214.  
  3215. uarthdcp {
  3216.  
  3217. uarthdcp-xfer {
  3218. rockchip,pins = <0x4 0x15 0x2 0xb6 0x4 0x16 0x2 0xb8>;
  3219. };
  3220. };
  3221.  
  3222. pwm0 {
  3223.  
  3224. pwm0-pin {
  3225. rockchip,pins = <0x4 0x12 0x1 0xb8>;
  3226. linux,phandle = <0x84>;
  3227. phandle = <0x84>;
  3228. };
  3229.  
  3230. vop0-pwm-pin {
  3231. rockchip,pins = <0x4 0x12 0x2 0xb8>;
  3232. linux,phandle = <0xa6>;
  3233. phandle = <0xa6>;
  3234. };
  3235. };
  3236.  
  3237. pwm1 {
  3238.  
  3239. pwm1-pin {
  3240. rockchip,pins = <0x4 0x16 0x1 0xb8>;
  3241. linux,phandle = <0x85>;
  3242. phandle = <0x85>;
  3243. };
  3244.  
  3245. vop1-pwm-pin {
  3246. rockchip,pins = <0x4 0x12 0x3 0xb8>;
  3247. linux,phandle = <0x9f>;
  3248. phandle = <0x9f>;
  3249. };
  3250. };
  3251.  
  3252. pwm2 {
  3253.  
  3254. pwm2-pin {
  3255. rockchip,pins = <0x1 0x13 0x1 0xb8>;
  3256. linux,phandle = <0x86>;
  3257. phandle = <0x86>;
  3258. };
  3259. };
  3260.  
  3261. pwm3a {
  3262.  
  3263. pwm3a-pin {
  3264. rockchip,pins = <0x0 0x6 0x1 0xb8>;
  3265. linux,phandle = <0x87>;
  3266. phandle = <0x87>;
  3267. };
  3268. };
  3269.  
  3270. pwm3b {
  3271.  
  3272. pwm3b-pin {
  3273. rockchip,pins = <0x1 0xe 0x1 0xb8>;
  3274. };
  3275. };
  3276.  
  3277. edp {
  3278.  
  3279. edp-hpd {
  3280. rockchip,pins = <0x4 0x17 0x2 0xb8>;
  3281. linux,phandle = <0xae>;
  3282. phandle = <0xae>;
  3283. };
  3284. };
  3285.  
  3286. hdmi {
  3287.  
  3288. hdmi-i2c-xfer {
  3289. rockchip,pins = <0x4 0x11 0x3 0xb8 0x4 0x10 0x3 0xb8>;
  3290. linux,phandle = <0xa7>;
  3291. phandle = <0xa7>;
  3292. };
  3293.  
  3294. hdmi-cec {
  3295. rockchip,pins = <0x4 0x17 0x1 0xb8>;
  3296. };
  3297. };
  3298.  
  3299. pcie {
  3300.  
  3301. pci-clkreqn {
  3302. rockchip,pins = <0x2 0x1a 0x2 0xb8>;
  3303. };
  3304.  
  3305. pci-clkreqnb {
  3306. rockchip,pins = <0x4 0x18 0x1 0xb8>;
  3307. };
  3308.  
  3309. pci-clkreqn-cpm {
  3310. rockchip,pins = <0x2 0x1a 0x0 0xb8>;
  3311. };
  3312.  
  3313. pci-clkreqnb-cpm {
  3314. rockchip,pins = <0x4 0x18 0x0 0xb8>;
  3315. };
  3316. };
  3317.  
  3318. isp {
  3319.  
  3320. cif-clkout {
  3321. rockchip,pins = <0x2 0xb 0x3 0xb8>;
  3322. linux,phandle = <0xc4>;
  3323. phandle = <0xc4>;
  3324. };
  3325.  
  3326. isp-dvp-d0d7 {
  3327. rockchip,pins = <0x2 0x0 0x3 0xb8 0x2 0x1 0x3 0xb8 0x2 0x2 0x3 0xb8 0x2 0x3 0x3 0xb8 0x2 0x4 0x3 0xb8 0x2 0x5 0x3 0xb8 0x2 0x6 0x3 0xb8 0x2 0x7 0x3 0xb8 0x2 0x8 0x3 0xb8 0x2 0x9 0x3 0xb8 0x2 0xa 0x3 0xb8>;
  3328. linux,phandle = <0xc5>;
  3329. phandle = <0xc5>;
  3330. };
  3331.  
  3332. isp-shutter {
  3333. rockchip,pins = <0x1 0x1 0x1 0xb8 0x1 0x0 0x1 0xb8>;
  3334. };
  3335.  
  3336. isp-flash-trigger {
  3337. rockchip,pins = <0x1 0x3 0x1 0xb8>;
  3338. linux,phandle = <0xc8>;
  3339. phandle = <0xc8>;
  3340. };
  3341.  
  3342. isp-prelight {
  3343. rockchip,pins = <0x1 0x4 0x1 0xb8>;
  3344. linux,phandle = <0xc6>;
  3345. phandle = <0xc6>;
  3346. };
  3347.  
  3348. isp_flash_trigger_as_gpio {
  3349. rockchip,pins = <0x1 0x3 0x0 0xb8>;
  3350. linux,phandle = <0xc7>;
  3351. phandle = <0xc7>;
  3352. };
  3353. };
  3354.  
  3355. sdio-pwrseq {
  3356.  
  3357. wifi-enable-h {
  3358. rockchip,pins = <0x0 0xa 0x0 0xb8>;
  3359. linux,phandle = <0xd7>;
  3360. phandle = <0xd7>;
  3361. };
  3362. };
  3363.  
  3364. wireless-bluetooth {
  3365.  
  3366. uart0-gpios {
  3367. rockchip,pins = <0x2 0x13 0x0 0xb8>;
  3368. linux,phandle = <0xda>;
  3369. phandle = <0xda>;
  3370. };
  3371. };
  3372.  
  3373. usb2 {
  3374.  
  3375. host-vbus-drv {
  3376. rockchip,pins = <0x4 0x19 0x0 0xb8>;
  3377. linux,phandle = <0xd2>;
  3378. phandle = <0xd2>;
  3379. };
  3380. };
  3381.  
  3382. pmic {
  3383.  
  3384. pmic-int-l {
  3385. rockchip,pins = <0x1 0x15 0x0 0xb6>;
  3386. linux,phandle = <0x37>;
  3387. phandle = <0x37>;
  3388. };
  3389.  
  3390. vsel1-gpio {
  3391. rockchip,pins = <0x1 0x11 0x0 0xbf>;
  3392. linux,phandle = <0x33>;
  3393. phandle = <0x33>;
  3394. };
  3395.  
  3396. vsel2-gpio {
  3397. rockchip,pins = <0x1 0xe 0x0 0xbf>;
  3398. linux,phandle = <0x36>;
  3399. phandle = <0x36>;
  3400. };
  3401. };
  3402.  
  3403. fusb30x {
  3404.  
  3405. fusb0-int {
  3406. rockchip,pins = <0x1 0x2 0x0 0xb6>;
  3407. linux,phandle = <0x7f>;
  3408. phandle = <0x7f>;
  3409. };
  3410. };
  3411.  
  3412. compat {
  3413.  
  3414. cpt-gpio {
  3415. rockchip,pins = <0x1 0x12 0x0 0xb9>;
  3416. linux,phandle = <0xb5>;
  3417. phandle = <0xb5>;
  3418. };
  3419. };
  3420. };
  3421.  
  3422. rockchip-suspend {
  3423. compatible = "rockchip,pm-rk3399";
  3424. status = "okay";
  3425. rockchip,sleep-debug-en = <0x0>;
  3426. rockchip,virtual-poweroff = <0x0>;
  3427. rockchip,sleep-mode-config = <0xde>;
  3428. rockchip,wakeup-config = <0x804>;
  3429. rockchip,pwm-regulator-config = <0x4>;
  3430. rockchip,power-ctrl = <0x34 0x11 0x0 0x34 0xe 0x0>;
  3431. };
  3432.  
  3433. chosen {
  3434. bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1";
  3435. };
  3436.  
  3437. cpuinfo {
  3438. compatible = "rockchip,cpuinfo";
  3439. nvmem-cells = <0xc0>;
  3440. nvmem-cell-names = "id";
  3441. };
  3442.  
  3443. ramoops_mem {
  3444. reg = <0x0 0x110000 0x0 0xf0000>;
  3445. reg-names = "ramoops_mem";
  3446. linux,phandle = <0xc1>;
  3447. phandle = <0xc1>;
  3448. };
  3449.  
  3450. ramoops {
  3451. compatible = "ramoops";
  3452. record-size = <0x0 0x20000>;
  3453. console-size = <0x0 0x80000>;
  3454. ftrace-size = <0x0 0x0>;
  3455. pmsg-size = <0x0 0x50000>;
  3456. memory-region = <0xc1>;
  3457. };
  3458.  
  3459. fiq-debugger {
  3460. compatible = "rockchip,fiq-debugger";
  3461. rockchip,serial-id = <0x2>;
  3462. rockchip,wake-irq = <0x0>;
  3463. rockchip,irq-mode-enable = <0x0>;
  3464. rockchip,baudrate = <0x16e360>;
  3465. pinctrl-names = "default";
  3466. pinctrl-0 = <0x43>;
  3467. interrupts = <0x0 0x96 0x4 0x0>;
  3468. };
  3469.  
  3470. reserved-memory {
  3471. #address-cells = <0x2>;
  3472. #size-cells = <0x2>;
  3473. ranges;
  3474.  
  3475. drm-logo@00000000 {
  3476. compatible = "rockchip,drm-logo";
  3477. reg = <0x0 0x0 0x0 0x0>;
  3478. linux,phandle = <0xb3>;
  3479. phandle = <0xb3>;
  3480. };
  3481.  
  3482. secure-memory@e7000000 {
  3483. compatible = "rockchip,secure-memory";
  3484. reg = <0x0 0xe7000000 0x0 0x10000000>;
  3485. status = "disabled";
  3486. linux,phandle = <0xb4>;
  3487. phandle = <0xb4>;
  3488. };
  3489.  
  3490. stb-devinfo@00000000 {
  3491. compatible = "rockchip,stb-devinfo";
  3492. reg = <0x0 0x0 0x0 0x0>;
  3493. };
  3494. };
  3495.  
  3496. rockchip-key {
  3497. compatible = "rockchip,key";
  3498. status = "okay";
  3499. io-channels = <0xc2 0x1>;
  3500.  
  3501. vol-up-key {
  3502. linux,code = <0x73>;
  3503. label = "volume up";
  3504. rockchip,adc_value = <0x1>;
  3505. };
  3506.  
  3507. vol-down-key {
  3508. linux,code = <0x72>;
  3509. label = "volume down";
  3510. rockchip,adc_value = <0xaa>;
  3511. };
  3512.  
  3513. power-key {
  3514. gpios = <0xc3 0x5 0x1>;
  3515. linux,code = <0x74>;
  3516. label = "power";
  3517. gpio-key,wakeup;
  3518. };
  3519.  
  3520. menu-key {
  3521. linux,code = <0x3b>;
  3522. label = "menu";
  3523. rockchip,adc_value = <0x2ea>;
  3524. };
  3525.  
  3526. home-key {
  3527. linux,code = <0x66>;
  3528. label = "home";
  3529. rockchip,adc_value = <0x163>;
  3530. };
  3531.  
  3532. back-key {
  3533. linux,code = <0x9e>;
  3534. label = "back";
  3535. rockchip,adc_value = <0x230>;
  3536. };
  3537.  
  3538. camera-key {
  3539. linux,code = <0xd4>;
  3540. label = "camera";
  3541. rockchip,adc_value = <0x1c2>;
  3542. };
  3543. };
  3544.  
  3545. isp@ff910000 {
  3546. compatible = "rockchip,rk3399-isp", "rockchip,isp";
  3547. reg = <0x0 0xff910000 0x0 0x4000>;
  3548. interrupts = <0x0 0x2b 0x4 0x0>;
  3549. clocks = <0x8 0x89 0x8 0x89 0x8 0xa4 0x8 0x77 0x8 0xe7 0x8 0xe9 0x8 0x1e1 0x8 0x1e3 0x8 0x6e 0x8 0xa5>;
  3550. clock-names = "clk_cif_out", "clk_cif_pll", "pclk_dphytxrx", "pclk_dphy_ref", "aclk_isp0_noc", "aclk_isp0_wrapper", "hclk_isp0_noc", "hclk_isp0_wrapper", "clk_isp0", "pclk_dphyrx";
  3551. pinctrl-names = "cif_clkout", "isp_dvp8bit0", "isp_mipi_fl", "isp_mipi_fl_prefl", "isp_flash_as_gpio", "isp_flash_as_trigger_out";
  3552. pinctrl-0 = <0xc4>;
  3553. pinctrl-1 = <0xc5>;
  3554. pinctrl-2 = <0xc4>;
  3555. pinctrl-3 = <0xc6>;
  3556. pinctrl-4 = <0xc7>;
  3557. pinctrl-5 = <0xc8>;
  3558. rockchip,isp,mipiphy = <0x2>;
  3559. rockchip,isp,cifphy = <0x1>;
  3560. rockchip,isp,dsiphy,reg = <0xff968000 0x8000>;
  3561. rockchip,grf = <0x15>;
  3562. rockchip,cru = <0x8>;
  3563. rockchip,gpios = <0x34 0x3 0x0>;
  3564. rockchip,isp,iommu-enable = <0x1>;
  3565. power-domains = <0x16 0x13>;
  3566. iommus = <0xc9>;
  3567. status = "disabled";
  3568. };
  3569.  
  3570. isp@ff920000 {
  3571. compatible = "rockchip,rk3399-isp", "rockchip,isp";
  3572. reg = <0x0 0xff920000 0x0 0x4000>;
  3573. interrupts = <0x0 0x2c 0x4 0x0>;
  3574. clocks = <0x8 0xe8 0x8 0xea 0x8 0x1e2 0x8 0x1e4 0x8 0x6f 0x8 0x89 0x8 0x89 0x8 0xa4 0x8 0x77 0x8 0x17b 0x8 0xa5 0x8 0x171 0x8 0x78>;
  3575. clock-names = "aclk_isp1_noc", "aclk_isp1_wrapper", "hclk_isp1_noc", "hclk_isp1_wrapper", "clk_isp1", "clk_cif_out", "clk_cif_pll", "pclk_dphytxrx", "pclk_dphy_ref", "pclk_isp1", "pclk_dphyrx", "pclk_mipi_dsi", "mipi_dphy_cfg";
  3576. pinctrl-names = "cif_clkout", "isp_dvp8bit0", "isp_mipi_fl", "isp_mipi_fl_prefl", "isp_flash_as_gpio", "isp_flash_as_trigger_out";
  3577. pinctrl-0 = <0xc4>;
  3578. pinctrl-1 = <0xc5>;
  3579. pinctrl-2 = <0xc4>;
  3580. pinctrl-3 = <0xc6>;
  3581. pinctrl-4 = <0xc7>;
  3582. pinctrl-5 = <0xc8>;
  3583. rockchip,isp,mipiphy = <0x2>;
  3584. rockchip,isp,cifphy = <0x1>;
  3585. rockchip,isp,dsiphy,reg = <0xff968000 0x8000>;
  3586. rockchip,grf = <0x15>;
  3587. rockchip,cru = <0x8>;
  3588. rockchip,gpios = <0x34 0x3 0x0>;
  3589. rockchip,isp,iommu-enable = <0x1>;
  3590. power-domains = <0x16 0x14>;
  3591. iommus = <0xca>;
  3592. status = "disabled";
  3593. };
  3594.  
  3595. uboot-charge {
  3596. compatible = "rockchip,uboot-charge";
  3597. rockchip,uboot-charge-on = <0x1>;
  3598. rockchip,android-charge-on = <0x0>;
  3599. };
  3600.  
  3601. hdmi-dp-sound {
  3602. status = "okay";
  3603. compatible = "rockchip,rk3399-hdmi-dp";
  3604. rockchip,cpu = <0xcb>;
  3605. rockchip,codec = <0xcc 0xcd>;
  3606. };
  3607.  
  3608. energy-costs {
  3609.  
  3610. rk3399-core-cost0 {
  3611. busy-cost-data = <0x6c 0x2e 0x9f 0x43 0xd8 0x5a 0x10b 0x78 0x13e 0x99 0x177 0xc6 0x191 0xde>;
  3612. idle-cost-data = <0x6 0x6 0x0 0x0>;
  3613. linux,phandle = <0xc>;
  3614. phandle = <0xc>;
  3615. };
  3616.  
  3617. rk3399-core-cost1 {
  3618. busy-cost-data = <0xd2 0x81 0x134 0xb8 0x1a3 0xf6 0x206 0x14f 0x269 0x1ac 0x2d8 0x23d 0x33b 0x2d4 0x39d 0x384 0x400 0x454>;
  3619. idle-cost-data = <0xf 0xf 0x0 0x0>;
  3620. linux,phandle = <0x10>;
  3621. phandle = <0x10>;
  3622. };
  3623.  
  3624. rk3399-cluster-cost0 {
  3625. busy-cost-data = <0x6c 0x2e 0x9f 0x43 0xd8 0x5a 0x10b 0x78 0x13e 0x99 0x177 0xc6 0x191 0xde>;
  3626. idle-cost-data = <0x38 0x38 0x38 0x38>;
  3627. linux,phandle = <0xd>;
  3628. phandle = <0xd>;
  3629. };
  3630.  
  3631. rk3399-cluster-cost1 {
  3632. busy-cost-data = <0xd2 0x81 0x134 0xb8 0x1a3 0xf6 0x206 0x14f 0x269 0x1ac 0x2d8 0x23d 0x33b 0x2d4 0x39d 0x384 0x400 0x454>;
  3633. idle-cost-data = <0x41 0x41 0x41 0x41>;
  3634. linux,phandle = <0x11>;
  3635. phandle = <0x11>;
  3636. };
  3637. };
  3638.  
  3639. opp-table0 {
  3640. compatible = "operating-points-v2";
  3641. opp-shared;
  3642. nvmem-cells = <0xce>;
  3643. nvmem-cell-names = "cpu_leakage";
  3644. rockchip,pvtm-voltage-sel = <0x0 0x2308c 0x0 0x2308d 0x24414 0x1 0x24415 0x251c0 0x2 0x251c1 0xf423f 0x3>;
  3645. rockchip,pvtm-freq = <0x639c0>;
  3646. rockchip,pvtm-volt = <0xf4240>;
  3647. rockchip,pvtm-ch = <0x0 0x0>;
  3648. rockchip,pvtm-sample-time = <0x3e8>;
  3649. rockchip,pvtm-number = <0xa>;
  3650. rockchip,pvtm-error = <0x3e8>;
  3651. rockchip,pvtm-ref-temp = <0x29>;
  3652. rockchip,pvtm-temp-prop = <0x73 0x42>;
  3653. rockchip,pvtm-thermal-zone = "soc-thermal";
  3654. linux,phandle = <0xb>;
  3655. phandle = <0xb>;
  3656.  
  3657. opp-408000000 {
  3658. opp-hz = <0x0 0x18519600>;
  3659. opp-microvolt = <0xc3500>;
  3660. opp-microvolt-L0 = <0xc3500>;
  3661. opp-microvolt-L1 = <0xc3500>;
  3662. opp-microvolt-L2 = <0xc3500>;
  3663. opp-microvolt-L3 = <0xc3500>;
  3664. clock-latency-ns = <0x9c40>;
  3665. };
  3666.  
  3667. opp-600000000 {
  3668. opp-hz = <0x0 0x23c34600>;
  3669. opp-microvolt = <0xc3500>;
  3670. opp-microvolt-L0 = <0xc3500>;
  3671. opp-microvolt-L1 = <0xc3500>;
  3672. opp-microvolt-L2 = <0xc3500>;
  3673. opp-microvolt-L3 = <0xc3500>;
  3674. clock-latency-ns = <0x9c40>;
  3675. };
  3676.  
  3677. opp-816000000 {
  3678. opp-hz = <0x0 0x30a32c00>;
  3679. opp-microvolt = <0xcf850>;
  3680. opp-microvolt-L0 = <0xcf850>;
  3681. opp-microvolt-L1 = <0xc96a8>;
  3682. opp-microvolt-L2 = <0xc3500>;
  3683. opp-microvolt-L3 = <0xc3500>;
  3684. clock-latency-ns = <0x9c40>;
  3685. opp-suspend;
  3686. };
  3687.  
  3688. opp-1008000000 {
  3689. opp-hz = <0x0 0x3c14dc00>;
  3690. opp-microvolt = <0xe1d48>;
  3691. opp-microvolt-L0 = <0xe1d48>;
  3692. opp-microvolt-L1 = <0xdbba0>;
  3693. opp-microvolt-L2 = <0xd59f8>;
  3694. opp-microvolt-L3 = <0xcf850>;
  3695. clock-latency-ns = <0x9c40>;
  3696. };
  3697.  
  3698. opp-1200000000 {
  3699. opp-hz = <0x0 0x47868c00>;
  3700. opp-microvolt = <0xf4240>;
  3701. opp-microvolt-L0 = <0xf4240>;
  3702. opp-microvolt-L1 = <0xee098>;
  3703. opp-microvolt-L2 = <0xe7ef0>;
  3704. opp-microvolt-L3 = <0xe1d48>;
  3705. clock-latency-ns = <0x9c40>;
  3706. };
  3707.  
  3708. opp-1416000000 {
  3709. opp-hz = <0x0 0x54667200>;
  3710. opp-microvolt = <0x112a88>;
  3711. opp-microvolt-L0 = <0x112a88>;
  3712. opp-microvolt-L1 = <0x10c8e0>;
  3713. opp-microvolt-L2 = <0x106738>;
  3714. opp-microvolt-L3 = <0x100590>;
  3715. clock-latency-ns = <0x9c40>;
  3716. };
  3717. };
  3718.  
  3719. opp-table1 {
  3720. compatible = "operating-points-v2";
  3721. opp-shared;
  3722. nvmem-cells = <0xcf>;
  3723. nvmem-cell-names = "cpu_leakage";
  3724. rockchip,pvtm-voltage-sel = <0x0 0x24608 0x0 0x24609 0x25d78 0x1 0x25d79 0x27100 0x2 0x27101 0xf423f 0x3>;
  3725. rockchip,pvtm-freq = <0x639c0>;
  3726. rockchip,pvtm-volt = <0xf4240>;
  3727. rockchip,pvtm-ch = <0x1 0x0>;
  3728. rockchip,pvtm-sample-time = <0x3e8>;
  3729. rockchip,pvtm-number = <0xa>;
  3730. rockchip,pvtm-error = <0x3e8>;
  3731. rockchip,pvtm-ref-temp = <0x29>;
  3732. rockchip,pvtm-temp-prop = <0x47 0x23>;
  3733. rockchip,pvtm-thermal-zone = "soc-thermal";
  3734. linux,phandle = <0xf>;
  3735. phandle = <0xf>;
  3736.  
  3737. opp-408000000 {
  3738. opp-hz = <0x0 0x18519600>;
  3739. opp-microvolt = <0xc3500>;
  3740. opp-microvolt-L0 = <0xc3500>;
  3741. opp-microvolt-L1 = <0xc3500>;
  3742. opp-microvolt-L2 = <0xc3500>;
  3743. opp-microvolt-L3 = <0xc3500>;
  3744. clock-latency-ns = <0x9c40>;
  3745. };
  3746.  
  3747. opp-600000000 {
  3748. opp-hz = <0x0 0x23c34600>;
  3749. opp-microvolt = <0xc3500>;
  3750. opp-microvolt-L0 = <0xc3500>;
  3751. opp-microvolt-L1 = <0xc3500>;
  3752. opp-microvolt-L2 = <0xc3500>;
  3753. opp-microvolt-L3 = <0xc3500>;
  3754. clock-latency-ns = <0x9c40>;
  3755. };
  3756.  
  3757. opp-816000000 {
  3758. opp-hz = <0x0 0x30a32c00>;
  3759. opp-microvolt = <0xc96a8>;
  3760. opp-microvolt-L0 = <0xc96a8>;
  3761. opp-microvolt-L1 = <0xc96a8>;
  3762. opp-microvolt-L2 = <0xc3500>;
  3763. opp-microvolt-L3 = <0xc3500>;
  3764. clock-latency-ns = <0x9c40>;
  3765. opp-suspend;
  3766. };
  3767.  
  3768. opp-1008000000 {
  3769. opp-hz = <0x0 0x3c14dc00>;
  3770. opp-microvolt = <0xd59f8>;
  3771. opp-microvolt-L0 = <0xd59f8>;
  3772. opp-microvolt-L1 = <0xcf850>;
  3773. opp-microvolt-L2 = <0xcf850>;
  3774. opp-microvolt-L3 = <0xcf850>;
  3775. clock-latency-ns = <0x9c40>;
  3776. };
  3777.  
  3778. opp-1200000000 {
  3779. opp-hz = <0x0 0x47868c00>;
  3780. opp-microvolt = <0xe7ef0>;
  3781. opp-microvolt-L0 = <0xe7ef0>;
  3782. opp-microvolt-L1 = <0xe1d48>;
  3783. opp-microvolt-L2 = <0xdbba0>;
  3784. opp-microvolt-L3 = <0xd59f8>;
  3785. clock-latency-ns = <0x9c40>;
  3786. };
  3787.  
  3788. opp-1416000000 {
  3789. opp-hz = <0x0 0x54667200>;
  3790. opp-microvolt = <0xfa3e8>;
  3791. opp-microvolt-L0 = <0xfa3e8>;
  3792. opp-microvolt-L1 = <0xf4240>;
  3793. opp-microvolt-L2 = <0xf4240>;
  3794. opp-microvolt-L3 = <0xee098>;
  3795. clock-latency-ns = <0x9c40>;
  3796. };
  3797.  
  3798. opp-1608000000 {
  3799. opp-hz = <0x0 0x5fd82200>;
  3800. opp-microvolt = <0x10c8e0>;
  3801. opp-microvolt-L0 = <0x10c8e0>;
  3802. opp-microvolt-L1 = <0x106738>;
  3803. opp-microvolt-L2 = <0x100590>;
  3804. opp-microvolt-L3 = <0xfa3e8>;
  3805. clock-latency-ns = <0x9c40>;
  3806. };
  3807.  
  3808. opp-1800000000 {
  3809. opp-hz = <0x0 0x6b49d200>;
  3810. opp-microvolt = <0x124f80>;
  3811. opp-microvolt-L0 = <0x124f80>;
  3812. opp-microvolt-L1 = <0x11edd8>;
  3813. opp-microvolt-L2 = <0x118c30>;
  3814. opp-microvolt-L3 = <0x112a88>;
  3815. clock-latency-ns = <0x9c40>;
  3816. };
  3817. };
  3818.  
  3819. opp-table2 {
  3820. compatible = "operating-points-v2";
  3821. nvmem-cells = <0xd0>;
  3822. nvmem-cell-names = "gpu_leakage";
  3823. rockchip,pvtm-voltage-sel = <0x0 0x1d8a8 0x0 0x1d8a9 0x1ea3c 0x1 0x1ea3d 0x1f5f4 0x2 0x1f5f5 0xf423f 0x3>;
  3824. rockchip,pvtm-freq = <0x30d40>;
  3825. rockchip,pvtm-volt = <0xdbba0>;
  3826. rockchip,pvtm-ch = <0x3 0x0>;
  3827. rockchip,pvtm-sample-time = <0x3e8>;
  3828. rockchip,pvtm-number = <0xa>;
  3829. rockchip,pvtm-error = <0x3e8>;
  3830. rockchip,pvtm-ref-temp = <0x29>;
  3831. rockchip,pvtm-temp-prop = <0x2e 0xc>;
  3832. rockchip,pvtm-thermal-zone = "gpu-thermal";
  3833. linux,phandle = <0x97>;
  3834. phandle = <0x97>;
  3835.  
  3836. opp-200000000 {
  3837. opp-hz = <0x0 0xbebc200>;
  3838. opp-microvolt = <0xc3500>;
  3839. opp-microvolt-L0 = <0xc3500>;
  3840. opp-microvolt-L1 = <0xc3500>;
  3841. opp-microvolt-L2 = <0xc3500>;
  3842. opp-microvolt-L3 = <0xc3500>;
  3843. };
  3844.  
  3845. opp-300000000 {
  3846. opp-hz = <0x0 0x11e1a300>;
  3847. opp-microvolt = <0xc3500>;
  3848. opp-microvolt-L0 = <0xc3500>;
  3849. opp-microvolt-L1 = <0xc3500>;
  3850. opp-microvolt-L2 = <0xc3500>;
  3851. opp-microvolt-L3 = <0xc3500>;
  3852. };
  3853.  
  3854. opp-400000000 {
  3855. opp-hz = <0x0 0x17d78400>;
  3856. opp-microvolt = <0xc96a8>;
  3857. opp-microvolt-L0 = <0xc96a8>;
  3858. opp-microvolt-L1 = <0xc96a8>;
  3859. opp-microvolt-L2 = <0xc3500>;
  3860. opp-microvolt-L3 = <0xc3500>;
  3861. };
  3862.  
  3863. opp-600000000 {
  3864. opp-hz = <0x0 0x23c34600>;
  3865. opp-microvolt = <0xe1d48>;
  3866. opp-microvolt-L0 = <0xe1d48>;
  3867. opp-microvolt-L1 = <0xe1d48>;
  3868. opp-microvolt-L2 = <0xdbba0>;
  3869. opp-microvolt-L3 = <0xdbba0>;
  3870. };
  3871.  
  3872. opp-800000000 {
  3873. opp-hz = <0x0 0x2faf0800>;
  3874. opp-microvolt = <0x10c8e0>;
  3875. opp-microvolt-L0 = <0x10c8e0>;
  3876. opp-microvolt-L1 = <0x106738>;
  3877. opp-microvolt-L2 = <0x100590>;
  3878. opp-microvolt-L3 = <0xfa3e8>;
  3879. };
  3880. };
  3881.  
  3882. opp-table3 {
  3883. compatible = "operating-points-v2";
  3884. linux,phandle = <0x8b>;
  3885. phandle = <0x8b>;
  3886.  
  3887. opp-200000000 {
  3888. opp-hz = <0x0 0xbebc200>;
  3889. opp-microvolt = <0xc96a8>;
  3890. };
  3891.  
  3892. opp-300000000 {
  3893. opp-hz = <0x0 0x11e1a300>;
  3894. opp-microvolt = <0xcf850>;
  3895. };
  3896.  
  3897. opp-400000000 {
  3898. opp-hz = <0x0 0x17d78400>;
  3899. opp-microvolt = <0xcf850>;
  3900. };
  3901.  
  3902. opp-528000000 {
  3903. opp-hz = <0x0 0x1f78a400>;
  3904. opp-microvolt = <0xdbba0>;
  3905. };
  3906.  
  3907. opp-600000000 {
  3908. opp-hz = <0x0 0x23c34600>;
  3909. opp-microvolt = <0xdbba0>;
  3910. };
  3911.  
  3912. opp-800000000 {
  3913. opp-hz = <0x0 0x2faf0800>;
  3914. opp-microvolt = <0xdbba0>;
  3915. };
  3916. };
  3917.  
  3918. vcc1v8-s0 {
  3919. compatible = "regulator-fixed";
  3920. regulator-name = "vcc1v8_s0";
  3921. regulator-min-microvolt = <0x1b7740>;
  3922. regulator-max-microvolt = <0x1b7740>;
  3923. regulator-always-on;
  3924. linux,phandle = <0x8f>;
  3925. phandle = <0x8f>;
  3926. };
  3927.  
  3928. vcc-sys {
  3929. compatible = "regulator-fixed";
  3930. regulator-name = "vcc_sys";
  3931. regulator-min-microvolt = <0x4c4b40>;
  3932. regulator-max-microvolt = <0x4c4b40>;
  3933. regulator-always-on;
  3934. linux,phandle = <0x35>;
  3935. phandle = <0x35>;
  3936. };
  3937.  
  3938. vcc-phy-regulator {
  3939. compatible = "regulator-fixed";
  3940. regulator-name = "vcc_phy";
  3941. regulator-always-on;
  3942. regulator-boot-on;
  3943. linux,phandle = <0x17>;
  3944. phandle = <0x17>;
  3945. };
  3946.  
  3947. vcc3v3-sys {
  3948. compatible = "regulator-fixed";
  3949. regulator-name = "vcc3v3_sys";
  3950. regulator-min-microvolt = <0x325aa0>;
  3951. regulator-max-microvolt = <0x325aa0>;
  3952. regulator-always-on;
  3953. vin-supply = <0x35>;
  3954. linux,phandle = <0x38>;
  3955. phandle = <0x38>;
  3956. };
  3957.  
  3958. vcc5v0-host-regulator {
  3959. compatible = "regulator-fixed";
  3960. enable-active-high;
  3961. gpio = <0xd1 0x19 0x0>;
  3962. pinctrl-names = "default";
  3963. pinctrl-0 = <0xd2>;
  3964. regulator-name = "vcc5v0_host";
  3965. regulator-always-on;
  3966. linux,phandle = <0x92>;
  3967. phandle = <0x92>;
  3968. };
  3969.  
  3970. vdd-log {
  3971. compatible = "pwm-regulator";
  3972. pwms = <0xd3 0x0 0x61a8 0x1>;
  3973. regulator-name = "vdd_log";
  3974. regulator-min-microvolt = <0xc3500>;
  3975. regulator-max-microvolt = <0x155cc0>;
  3976. regulator-always-on;
  3977. regulator-boot-on;
  3978. rockchip,pwm_id = <0x2>;
  3979. rockchip,pwm_voltage = <0xdbba0>;
  3980. vin-supply = <0x35>;
  3981. };
  3982.  
  3983. external-gmac-clock {
  3984. compatible = "fixed-clock";
  3985. clock-frequency = <0x7735940>;
  3986. clock-output-names = "clkin_gmac";
  3987. #clock-cells = <0x0>;
  3988. linux,phandle = <0x19>;
  3989. phandle = <0x19>;
  3990. };
  3991.  
  3992. spdif-sound {
  3993. status = "okay";
  3994. compatible = "simple-audio-card";
  3995. simple-audio-card,name = "ROCKCHIP,SPDIF";
  3996.  
  3997. simple-audio-card,cpu {
  3998. sound-dai = <0xd4>;
  3999. };
  4000.  
  4001. simple-audio-card,codec {
  4002. sound-dai = <0xd5>;
  4003. };
  4004. };
  4005.  
  4006. spdif-out {
  4007. status = "okay";
  4008. compatible = "linux,spdif-dit";
  4009. #sound-dai-cells = <0x0>;
  4010. linux,phandle = <0xd5>;
  4011. phandle = <0xd5>;
  4012. };
  4013.  
  4014. sdio-pwrseq {
  4015. compatible = "mmc-pwrseq-simple";
  4016. clocks = <0xd6 0x1>;
  4017. clock-names = "ext_clock";
  4018. pinctrl-names = "default";
  4019. pinctrl-0 = <0xd7>;
  4020. reset-gpios = <0xc3 0xa 0x1>;
  4021. linux,phandle = <0x1c>;
  4022. phandle = <0x1c>;
  4023. };
  4024.  
  4025. wireless-wlan {
  4026. compatible = "wlan-platdata";
  4027. rockchip,grf = <0x15>;
  4028. wifi_chip_type = "ap6356";
  4029. sdio_vref = <0x708>;
  4030. WIFI,host_wake_irq = <0xc3 0x3 0x0>;
  4031. status = "okay";
  4032. };
  4033.  
  4034. wireless-bluetooth {
  4035. compatible = "bluetooth-platdata";
  4036. clocks = <0xd6 0x1>;
  4037. clock-names = "ext_clock";
  4038. uart_rts_gpios = <0xd8 0x13 0x1>;
  4039. pinctrl-names = "default", "rts_gpio";
  4040. pinctrl-0 = <0xd9>;
  4041. pinctrl-1 = <0xda>;
  4042. BT,reset_gpio = <0xc3 0x9 0x0>;
  4043. BT,wake_gpio = <0xd8 0x1a 0x0>;
  4044. BT,wake_host_irq = <0xc3 0x4 0x0>;
  4045. LED,gpio = <0xd1 0x12 0x0>;
  4046. status = "okay";
  4047. };
  4048.  
  4049. test-power {
  4050. status = "okay";
  4051. };
  4052.  
  4053. status-led {
  4054. compatible = "cyx,leds";
  4055. LED,gpio = <0xd1 0x12 0x0>;
  4056. status = "okay";
  4057. };
  4058. };
RAW Paste Data