spacepaste

  1.  
  2. /dts-v1/;
  3. / {
  4. #address-cells = < 0x02 >;
  5. #size-cells = < 0x02 >;
  6. compatible = "asus,rk3288-tinker\0rockchip,rk3288";
  7. interrupt-parent = < 0x01 >;
  8. model = "Rockchip RK3288 Tinker Board";
  9. aliases {
  10. ethernet0 = "/ethernet@ff290000";
  11. i2c0 = "/i2c@ff650000";
  12. i2c1 = "/i2c@ff140000";
  13. i2c2 = "/i2c@ff660000";
  14. i2c3 = "/i2c@ff150000";
  15. i2c4 = "/i2c@ff160000";
  16. i2c5 = "/i2c@ff170000";
  17. mshc0 = "/dwmmc@ff0f0000";
  18. mshc1 = "/dwmmc@ff0c0000";
  19. mshc2 = "/dwmmc@ff0d0000";
  20. mshc3 = "/dwmmc@ff0e0000";
  21. serial0 = "/serial@ff180000";
  22. serial1 = "/serial@ff190000";
  23. serial2 = "/serial@ff690000";
  24. serial3 = "/serial@ff1b0000";
  25. serial4 = "/serial@ff1c0000";
  26. spi0 = "/spi@ff110000";
  27. spi1 = "/spi@ff120000";
  28. spi2 = "/spi@ff130000";
  29. };
  30. arm-pmu {
  31. compatible = "arm,cortex-a12-pmu";
  32. interrupts = < 0x00 0x97 0x04 0x00 0x98 0x04 0x00 0x99 0x04 0x00 0x9a 0x04 >;
  33. interrupt-affinity = < 0x02 0x03 0x04 0x05 >;
  34. };
  35. cpus {
  36. #address-cells = < 0x01 >;
  37. #size-cells = < 0x00 >;
  38. enable-method = "rockchip,rk3066-smp";
  39. rockchip,pmu = < 0x06 >;
  40. cpu@500 {
  41. device_type = "cpu";
  42. compatible = "arm,cortex-a12";
  43. reg = < 0x500 >;
  44. resets = < 0x07 0x00 >;
  45. operating-points = < 0x188940 0x149970 0x171240 0x13d620 0x159b40 0x124f80 0x124f80 0x10c8e0 0xf6180 0x100590 0xc7380 0xf4240 0xa9ec0 0xe7ef0 0x927c0 0xdbba0 0x639c0 0xdbba0 0x4c2c0 0xdbba0 0x34bc0 0xdbba0 0x1ec30 0xdbba0 >;
  46. #cooling-cells = < 0x02 >;
  47. clock-latency = < 0x9c40 >;
  48. clocks = < 0x07 0x06 >;
  49. cpu0-supply = < 0x08 >;
  50. phandle = < 0x02 >;
  51. };
  52. cpu@501 {
  53. device_type = "cpu";
  54. compatible = "arm,cortex-a12";
  55. reg = < 0x501 >;
  56. resets = < 0x07 0x01 >;
  57. phandle = < 0x03 >;
  58. };
  59. cpu@502 {
  60. device_type = "cpu";
  61. compatible = "arm,cortex-a12";
  62. reg = < 0x502 >;
  63. resets = < 0x07 0x02 >;
  64. phandle = < 0x04 >;
  65. };
  66. cpu@503 {
  67. device_type = "cpu";
  68. compatible = "arm,cortex-a12";
  69. reg = < 0x503 >;
  70. resets = < 0x07 0x03 >;
  71. phandle = < 0x05 >;
  72. };
  73. };
  74. amba {
  75. compatible = "simple-bus";
  76. #address-cells = < 0x02 >;
  77. #size-cells = < 0x02 >;
  78. ranges;
  79. dma-controller@ff250000 {
  80. compatible = "arm,pl330\0arm,primecell";
  81. reg = < 0x00 0xff250000 0x00 0x4000 >;
  82. interrupts = < 0x00 0x02 0x04 0x00 0x03 0x04 >;
  83. #dma-cells = < 0x01 >;
  84. arm,pl330-broken-no-flushp;
  85. clocks = < 0x07 0xc2 >;
  86. clock-names = "apb_pclk";
  87. phandle = < 0x1b >;
  88. };
  89. dma-controller@ff600000 {
  90. compatible = "arm,pl330\0arm,primecell";
  91. reg = < 0x00 0xff600000 0x00 0x4000 >;
  92. interrupts = < 0x00 0x00 0x04 0x00 0x01 0x04 >;
  93. #dma-cells = < 0x01 >;
  94. arm,pl330-broken-no-flushp;
  95. clocks = < 0x07 0xc1 >;
  96. clock-names = "apb_pclk";
  97. status = "disabled";
  98. };
  99. dma-controller@ffb20000 {
  100. compatible = "arm,pl330\0arm,primecell";
  101. reg = < 0x00 0xffb20000 0x00 0x4000 >;
  102. interrupts = < 0x00 0x00 0x04 0x00 0x01 0x04 >;
  103. #dma-cells = < 0x01 >;
  104. arm,pl330-broken-no-flushp;
  105. clocks = < 0x07 0xc1 >;
  106. clock-names = "apb_pclk";
  107. phandle = < 0x5b >;
  108. };
  109. };
  110. reserved-memory {
  111. #address-cells = < 0x02 >;
  112. #size-cells = < 0x02 >;
  113. ranges;
  114. dma-unusable@fe000000 {
  115. reg = < 0x00 0xfe000000 0x00 0x1000000 >;
  116. };
  117. };
  118. oscillator {
  119. compatible = "fixed-clock";
  120. clock-frequency = < 0x16e3600 >;
  121. clock-output-names = "xin24m";
  122. #clock-cells = < 0x00 >;
  123. phandle = < 0x09 >;
  124. };
  125. timer {
  126. compatible = "arm,armv7-timer";
  127. arm,cpu-registers-not-fw-configured;
  128. interrupts = < 0x01 0x0d 0xf04 0x01 0x0e 0xf04 0x01 0x0b 0xf04 0x01 0x0a 0xf04 >;
  129. clock-frequency = < 0x16e3600 >;
  130. };
  131. timer@ff810000 {
  132. compatible = "rockchip,rk3288-timer";
  133. reg = < 0x00 0xff810000 0x00 0x20 >;
  134. interrupts = < 0x00 0x48 0x04 >;
  135. clocks = < 0x09 0x07 0x161 >;
  136. clock-names = "timer\0pclk";
  137. };
  138. display-subsystem {
  139. compatible = "rockchip,display-subsystem";
  140. ports = < 0x0a 0x0b >;
  141. };
  142. dwmmc@ff0c0000 {
  143. compatible = "rockchip,rk3288-dw-mshc";
  144. max-frequency = < 0x8f0d180 >;
  145. clocks = < 0x07 0x1c8 0x07 0x44 0x07 0x72 0x07 0x76 >;
  146. clock-names = "biu\0ciu\0ciu-drive\0ciu-sample";
  147. fifo-depth = < 0x100 >;
  148. interrupts = < 0x00 0x20 0x04 >;
  149. reg = < 0x00 0xff0c0000 0x00 0x4000 >;
  150. resets = < 0x07 0x80 >;
  151. reset-names = "reset";
  152. status = "okay";
  153. bus-width = < 0x04 >;
  154. cap-mmc-highspeed;
  155. cap-sd-highspeed;
  156. card-detect-delay = < 0xc8 >;
  157. disable-wp;
  158. pinctrl-names = "default";
  159. pinctrl-0 = < 0x0c 0x0d 0x0e 0x0f >;
  160. vmmc-supply = < 0x10 >;
  161. vqmmc-supply = < 0x11 >;
  162. };
  163. dwmmc@ff0d0000 {
  164. compatible = "rockchip,rk3288-dw-mshc";
  165. max-frequency = < 0x8f0d180 >;
  166. clocks = < 0x07 0x1c9 0x07 0x45 0x07 0x73 0x07 0x77 >;
  167. clock-names = "biu\0ciu\0ciu-drive\0ciu-sample";
  168. fifo-depth = < 0x100 >;
  169. interrupts = < 0x00 0x21 0x04 >;
  170. reg = < 0x00 0xff0d0000 0x00 0x4000 >;
  171. resets = < 0x07 0x81 >;
  172. reset-names = "reset";
  173. status = "okay";
  174. clock-frequency = < 0x2faf080 >;
  175. clock-freq-min-max = < 0x30d40 0x2faf080 >;
  176. bus-width = < 0x04 >;
  177. cap-sd-highspeed;
  178. cap-sdio-irq;
  179. disable-wp;
  180. keep-power-in-suspend;
  181. mmc-pwrseq = < 0x12 >;
  182. non-removable;
  183. num-slots = < 0x01 >;
  184. pinctrl-names = "default";
  185. pinctrl-0 = < 0x13 0x14 0x15 >;
  186. sd-uhs-sdr104;
  187. supports-sdio;
  188. };
  189. dwmmc@ff0e0000 {
  190. compatible = "rockchip,rk3288-dw-mshc";
  191. max-frequency = < 0x8f0d180 >;
  192. clocks = < 0x07 0x1ca 0x07 0x46 0x07 0x74 0x07 0x78 >;
  193. clock-names = "biu\0ciu\0ciu-drive\0ciu-sample";
  194. fifo-depth = < 0x100 >;
  195. interrupts = < 0x00 0x22 0x04 >;
  196. reg = < 0x00 0xff0e0000 0x00 0x4000 >;
  197. resets = < 0x07 0x82 >;
  198. reset-names = "reset";
  199. status = "disabled";
  200. };
  201. dwmmc@ff0f0000 {
  202. compatible = "rockchip,rk3288-dw-mshc";
  203. max-frequency = < 0x8f0d180 >;
  204. clocks = < 0x07 0x1cb 0x07 0x47 0x07 0x75 0x07 0x79 >;
  205. clock-names = "biu\0ciu\0ciu-drive\0ciu-sample";
  206. fifo-depth = < 0x100 >;
  207. interrupts = < 0x00 0x23 0x04 >;
  208. reg = < 0x00 0xff0f0000 0x00 0x4000 >;
  209. resets = < 0x07 0x83 >;
  210. reset-names = "reset";
  211. status = "okay";
  212. bus-width = < 0x08 >;
  213. cap-mmc-highspeed;
  214. disable-wp;
  215. non-removable;
  216. num-slots = < 0x01 >;
  217. pinctrl-names = "default";
  218. pinctrl-0 = < 0x16 0x17 0x18 0x19 >;
  219. mmc-hs200-1_8v;
  220. mmc-ddr-1_8v;
  221. };
  222. saradc@ff100000 {
  223. compatible = "rockchip,saradc";
  224. reg = < 0x00 0xff100000 0x00 0x100 >;
  225. interrupts = < 0x00 0x24 0x04 >;
  226. #io-channel-cells = < 0x01 >;
  227. clocks = < 0x07 0x49 0x07 0x15b >;
  228. clock-names = "saradc\0apb_pclk";
  229. resets = < 0x07 0x57 >;
  230. reset-names = "saradc-apb";
  231. status = "okay";
  232. vref-supply = < 0x1a >;
  233. };
  234. spi@ff110000 {
  235. compatible = "rockchip,rk3288-spi\0rockchip,rk3066-spi";
  236. clocks = < 0x07 0x41 0x07 0x152 >;
  237. clock-names = "spiclk\0apb_pclk";
  238. dmas = < 0x1b 0x0b 0x1b 0x0c >;
  239. dma-names = "tx\0rx";
  240. interrupts = < 0x00 0x2c 0x04 >;
  241. pinctrl-names = "default";
  242. pinctrl-0 = < 0x1c 0x1d 0x1e 0x1f >;
  243. reg = < 0x00 0xff110000 0x00 0x1000 >;
  244. #address-cells = < 0x01 >;
  245. #size-cells = < 0x00 >;
  246. status = "disabled";
  247. };
  248. spi@ff120000 {
  249. compatible = "rockchip,rk3288-spi\0rockchip,rk3066-spi";
  250. clocks = < 0x07 0x42 0x07 0x153 >;
  251. clock-names = "spiclk\0apb_pclk";
  252. dmas = < 0x1b 0x0d 0x1b 0x0e >;
  253. dma-names = "tx\0rx";
  254. interrupts = < 0x00 0x2d 0x04 >;
  255. pinctrl-names = "default";
  256. pinctrl-0 = < 0x20 0x21 0x22 0x23 >;
  257. reg = < 0x00 0xff120000 0x00 0x1000 >;
  258. #address-cells = < 0x01 >;
  259. #size-cells = < 0x00 >;
  260. status = "disabled";
  261. };
  262. spi@ff130000 {
  263. compatible = "rockchip,rk3288-spi\0rockchip,rk3066-spi";
  264. clocks = < 0x07 0x43 0x07 0x154 >;
  265. clock-names = "spiclk\0apb_pclk";
  266. dmas = < 0x1b 0x0f 0x1b 0x10 >;
  267. dma-names = "tx\0rx";
  268. interrupts = < 0x00 0x2e 0x04 >;
  269. pinctrl-names = "default";
  270. pinctrl-0 = < 0x24 0x25 0x26 0x27 >;
  271. reg = < 0x00 0xff130000 0x00 0x1000 >;
  272. #address-cells = < 0x01 >;
  273. #size-cells = < 0x00 >;
  274. status = "disabled";
  275. };
  276. i2c@ff140000 {
  277. compatible = "rockchip,rk3288-i2c";
  278. reg = < 0x00 0xff140000 0x00 0x1000 >;
  279. interrupts = < 0x00 0x3e 0x04 >;
  280. #address-cells = < 0x01 >;
  281. #size-cells = < 0x00 >;
  282. clock-names = "i2c";
  283. clocks = < 0x07 0x14d >;
  284. pinctrl-names = "default";
  285. pinctrl-0 = < 0x28 >;
  286. status = "disabled";
  287. };
  288. i2c@ff150000 {
  289. compatible = "rockchip,rk3288-i2c";
  290. reg = < 0x00 0xff150000 0x00 0x1000 >;
  291. interrupts = < 0x00 0x3f 0x04 >;
  292. #address-cells = < 0x01 >;
  293. #size-cells = < 0x00 >;
  294. clock-names = "i2c";
  295. clocks = < 0x07 0x14f >;
  296. pinctrl-names = "default";
  297. pinctrl-0 = < 0x29 >;
  298. status = "disabled";
  299. };
  300. i2c@ff160000 {
  301. compatible = "rockchip,rk3288-i2c";
  302. reg = < 0x00 0xff160000 0x00 0x1000 >;
  303. interrupts = < 0x00 0x40 0x04 >;
  304. #address-cells = < 0x01 >;
  305. #size-cells = < 0x00 >;
  306. clock-names = "i2c";
  307. clocks = < 0x07 0x150 >;
  308. pinctrl-names = "default";
  309. pinctrl-0 = < 0x2a >;
  310. status = "disabled";
  311. };
  312. i2c@ff170000 {
  313. compatible = "rockchip,rk3288-i2c";
  314. reg = < 0x00 0xff170000 0x00 0x1000 >;
  315. interrupts = < 0x00 0x41 0x04 >;
  316. #address-cells = < 0x01 >;
  317. #size-cells = < 0x00 >;
  318. clock-names = "i2c";
  319. clocks = < 0x07 0x151 >;
  320. pinctrl-names = "default";
  321. pinctrl-0 = < 0x2b >;
  322. status = "okay";
  323. phandle = < 0x71 >;
  324. };
  325. serial@ff180000 {
  326. compatible = "rockchip,rk3288-uart\0snps,dw-apb-uart";
  327. reg = < 0x00 0xff180000 0x00 0x100 >;
  328. interrupts = < 0x00 0x37 0x04 >;
  329. reg-shift = < 0x02 >;
  330. reg-io-width = < 0x04 >;
  331. clocks = < 0x07 0x4d 0x07 0x155 >;
  332. clock-names = "baudclk\0apb_pclk";
  333. pinctrl-names = "default";
  334. pinctrl-0 = < 0x2c 0x2d >;
  335. status = "okay";
  336. };
  337. serial@ff190000 {
  338. compatible = "rockchip,rk3288-uart\0snps,dw-apb-uart";
  339. reg = < 0x00 0xff190000 0x00 0x100 >;
  340. interrupts = < 0x00 0x38 0x04 >;
  341. reg-shift = < 0x02 >;
  342. reg-io-width = < 0x04 >;
  343. clocks = < 0x07 0x4e 0x07 0x156 >;
  344. clock-names = "baudclk\0apb_pclk";
  345. pinctrl-names = "default";
  346. pinctrl-0 = < 0x2e >;
  347. status = "okay";
  348. };
  349. serial@ff690000 {
  350. compatible = "rockchip,rk3288-uart\0snps,dw-apb-uart";
  351. reg = < 0x00 0xff690000 0x00 0x100 >;
  352. interrupts = < 0x00 0x39 0x04 >;
  353. reg-shift = < 0x02 >;
  354. reg-io-width = < 0x04 >;
  355. clocks = < 0x07 0x4f 0x07 0x157 >;
  356. clock-names = "baudclk\0apb_pclk";
  357. pinctrl-names = "default";
  358. pinctrl-0 = < 0x2f >;
  359. status = "okay";
  360. };
  361. serial@ff1b0000 {
  362. compatible = "rockchip,rk3288-uart\0snps,dw-apb-uart";
  363. reg = < 0x00 0xff1b0000 0x00 0x100 >;
  364. interrupts = < 0x00 0x3a 0x04 >;
  365. reg-shift = < 0x02 >;
  366. reg-io-width = < 0x04 >;
  367. clocks = < 0x07 0x50 0x07 0x158 >;
  368. clock-names = "baudclk\0apb_pclk";
  369. pinctrl-names = "default";
  370. pinctrl-0 = < 0x30 >;
  371. status = "okay";
  372. };
  373. serial@ff1c0000 {
  374. compatible = "rockchip,rk3288-uart\0snps,dw-apb-uart";
  375. reg = < 0x00 0xff1c0000 0x00 0x100 >;
  376. interrupts = < 0x00 0x3b 0x04 >;
  377. reg-shift = < 0x02 >;
  378. reg-io-width = < 0x04 >;
  379. clocks = < 0x07 0x51 0x07 0x159 >;
  380. clock-names = "baudclk\0apb_pclk";
  381. pinctrl-names = "default";
  382. pinctrl-0 = < 0x31 >;
  383. status = "okay";
  384. };
  385. thermal-zones {
  386. reserve_thermal {
  387. polling-delay-passive = < 0x3e8 >;
  388. polling-delay = < 0x1388 >;
  389. thermal-sensors = < 0x32 0x00 >;
  390. };
  391. cpu_thermal {
  392. polling-delay-passive = < 0x64 >;
  393. polling-delay = < 0x1388 >;
  394. thermal-sensors = < 0x32 0x01 >;
  395. trips {
  396. cpu_alert0 {
  397. temperature = < 0x11170 >;
  398. hysteresis = < 0x7d0 >;
  399. type = "passive";
  400. phandle = < 0x33 >;
  401. };
  402. cpu_alert1 {
  403. temperature = < 0x124f8 >;
  404. hysteresis = < 0x7d0 >;
  405. type = "passive";
  406. phandle = < 0x34 >;
  407. };
  408. cpu_crit {
  409. temperature = < 0x15f90 >;
  410. hysteresis = < 0x7d0 >;
  411. type = "critical";
  412. };
  413. };
  414. cooling-maps {
  415. map0 {
  416. trip = < 0x33 >;
  417. cooling-device = < 0x02 0xffffffff 0x06 >;
  418. };
  419. map1 {
  420. trip = < 0x34 >;
  421. cooling-device = < 0x02 0xffffffff 0xffffffff >;
  422. };
  423. };
  424. };
  425. gpu_thermal {
  426. polling-delay-passive = < 0x64 >;
  427. polling-delay = < 0x1388 >;
  428. thermal-sensors = < 0x32 0x02 >;
  429. trips {
  430. gpu_alert0 {
  431. temperature = < 0x11170 >;
  432. hysteresis = < 0x7d0 >;
  433. type = "passive";
  434. phandle = < 0x35 >;
  435. };
  436. gpu_crit {
  437. temperature = < 0x15f90 >;
  438. hysteresis = < 0x7d0 >;
  439. type = "critical";
  440. };
  441. };
  442. cooling-maps {
  443. map0 {
  444. trip = < 0x35 >;
  445. cooling-device = < 0x02 0xffffffff 0xffffffff >;
  446. };
  447. };
  448. };
  449. };
  450. tsadc@ff280000 {
  451. compatible = "rockchip,rk3288-tsadc";
  452. reg = < 0x00 0xff280000 0x00 0x100 >;
  453. interrupts = < 0x00 0x25 0x04 >;
  454. clocks = < 0x07 0x48 0x07 0x15a >;
  455. clock-names = "tsadc\0apb_pclk";
  456. resets = < 0x07 0x9f >;
  457. reset-names = "tsadc-apb";
  458. pinctrl-names = "init\0default\0sleep";
  459. pinctrl-0 = < 0x36 >;
  460. pinctrl-1 = < 0x37 >;
  461. pinctrl-2 = < 0x36 >;
  462. #thermal-sensor-cells = < 0x01 >;
  463. rockchip,hw-tshut-temp = < 0x17318 >;
  464. status = "okay";
  465. rockchip,hw-tshut-mode = < 0x01 >;
  466. rockchip,hw-tshut-polarity = < 0x01 >;
  467. phandle = < 0x32 >;
  468. };
  469. ethernet@ff290000 {
  470. compatible = "rockchip,rk3288-gmac";
  471. reg = < 0x00 0xff290000 0x00 0x10000 >;
  472. interrupts = < 0x00 0x1b 0x04 0x00 0x1c 0x04 >;
  473. interrupt-names = "macirq\0eth_wake_irq";
  474. rockchip,grf = < 0x38 >;
  475. clocks = < 0x07 0x97 0x07 0x66 0x07 0x67 0x07 0x63 0x07 0x98 0x07 0xc4 0x07 0x15d >;
  476. clock-names = "stmmaceth\0mac_clk_rx\0mac_clk_tx\0clk_mac_ref\0clk_mac_refout\0aclk_mac\0pclk_mac";
  477. resets = < 0x07 0x42 >;
  478. reset-names = "stmmaceth";
  479. status = "ok";
  480. assigned-clocks = < 0x07 0x97 >;
  481. assigned-clock-parents = < 0x39 >;
  482. clock_in_out = "input";
  483. phy-mode = "rgmii";
  484. phy-supply = < 0x3a >;
  485. pinctrl-names = "default";
  486. pinctrl-0 = < 0x3b >;
  487. snps,reset-gpio = < 0x3c 0x07 0x00 >;
  488. snps,reset-active-low;
  489. snps,reset-delays-us = < 0x00 0x2710 0xf4240 >;
  490. tx_delay = < 0x30 >;
  491. rx_delay = < 0x10 >;
  492. };
  493. usb@ff500000 {
  494. compatible = "generic-ehci";
  495. reg = < 0x00 0xff500000 0x00 0x20000 >;
  496. interrupts = < 0x00 0x18 0x04 >;
  497. clocks = < 0x07 0x1c2 >;
  498. clock-names = "usbhost";
  499. phys = < 0x4e >;
  500. phy-names = "usb";
  501. status = "okay";
  502. no-relinquish-port;
  503. phandle = < 0xce >;
  504. };
  505. usb@ff520000 {
  506. compatible = "generic-ohci";
  507. reg = < 0x00 0xff520000 0x00 0x20000 >;
  508. interrupts = < 0x00 0x29 0x04 >;
  509. clocks = < 0x07 0x1c2 >;
  510. clock-names = "usbhost";
  511. phys = < 0x4e >;
  512. phy-names = "usb";
  513. status = "disabled";
  514. phandle = < 0xcf >;
  515. };
  516. usb@ff540000 {
  517. compatible = "rockchip,rk3288-usb\0rockchip,rk3066-usb\0snps,dwc2";
  518. reg = < 0x00 0xff540000 0x00 0x40000 >;
  519. interrupts = < 0x00 0x19 0x04 >;
  520. clocks = < 0x07 0x1c3 >;
  521. clock-names = "otg";
  522. dr_mode = "host";
  523. phys = < 0x4f >;
  524. phy-names = "usb2-phy";
  525. status = "okay";
  526. phandle = < 0xd0 >;
  527. };
  528. usb@ff580000 {
  529. compatible = "rockchip,rk3288-usb\0rockchip,rk3066-usb\0snps,dwc2";
  530. reg = < 0x00 0xff580000 0x00 0x40000 >;
  531. interrupts = < 0x00 0x17 0x04 >;
  532. clocks = < 0x07 0x1c1 >;
  533. clock-names = "otg";
  534. dr_mode = "otg";
  535. g-np-tx-fifo-size = < 0x10 >;
  536. g-rx-fifo-size = < 0x113 >;
  537. g-tx-fifo-size = < 0x100 0x80 0x80 0x40 0x40 0x20 >;
  538. g-use-dma;
  539. phys = < 0x50 >;
  540. phy-names = "usb2-phy";
  541. status = "okay";
  542. phandle = < 0xd1 >;
  543. };
  544. usb@ff5c0000 {
  545. compatible = "generic-ehci";
  546. reg = < 0x00 0xff5c0000 0x00 0x100 >;
  547. interrupts = < 0x00 0x1a 0x04 >;
  548. clocks = < 0x07 0x1c4 >;
  549. clock-names = "usbhost";
  550. status = "disabled";
  551. phandle = < 0xd2 >;
  552. };
  553. i2c@ff650000 {
  554. compatible = "rockchip,rk3288-i2c";
  555. reg = < 0x00 0xff650000 0x00 0x1000 >;
  556. interrupts = < 0x00 0x3c 0x04 >;
  557. #address-cells = < 0x01 >;
  558. #size-cells = < 0x00 >;
  559. clock-names = "i2c";
  560. clocks = < 0x07 0x14c >;
  561. pinctrl-names = "default";
  562. pinctrl-0 = < 0x40 >;
  563. status = "okay";
  564. clock-frequency = < 0x61a80 >;
  565. pmic@1b {
  566. compatible = "rockchip,rk808";
  567. reg = < 0x1b >;
  568. interrupt-parent = < 0x41 >;
  569. interrupts = < 0x04 0x08 >;
  570. #clock-cells = < 0x01 >;
  571. clock-output-names = "xin32k\0rk808-clkout2";
  572. dvs-gpios = < 0x41 0x0b 0x00 0x41 0x0c 0x00 >;
  573. pinctrl-names = "default";
  574. pinctrl-0 = < 0x42 0x43 0x44 0x45 >;
  575. rockchip,system-power-controller;
  576. wakeup-source;
  577. vcc1-supply = < 0x46 >;
  578. vcc2-supply = < 0x46 >;
  579. vcc3-supply = < 0x46 >;
  580. vcc4-supply = < 0x46 >;
  581. vcc6-supply = < 0x46 >;
  582. vcc7-supply = < 0x46 >;
  583. vcc8-supply = < 0x47 >;
  584. vcc9-supply = < 0x47 >;
  585. vcc10-supply = < 0x47 >;
  586. vcc11-supply = < 0x46 >;
  587. vcc12-supply = < 0x47 >;
  588. vddio-supply = < 0x47 >;
  589. phandle = < 0x80 >;
  590. regulators {
  591. DCDC_REG1 {
  592. regulator-always-on;
  593. regulator-boot-on;
  594. regulator-min-microvolt = < 0xb71b0 >;
  595. regulator-max-microvolt = < 0x149970 >;
  596. regulator-name = "vdd_arm";
  597. regulator-ramp-delay = < 0x1770 >;
  598. phandle = < 0x08 >;
  599. regulator-state-mem {
  600. regulator-off-in-suspend;
  601. };
  602. };
  603. DCDC_REG2 {
  604. regulator-always-on;
  605. regulator-boot-on;
  606. regulator-min-microvolt = < 0xcf850 >;
  607. regulator-max-microvolt = < 0x1312d0 >;
  608. regulator-name = "vdd_gpu";
  609. regulator-ramp-delay = < 0x1770 >;
  610. phandle = < 0x75 >;
  611. regulator-state-mem {
  612. regulator-on-in-suspend;
  613. regulator-suspend-microvolt = < 0xf4240 >;
  614. };
  615. };
  616. DCDC_REG3 {
  617. regulator-always-on;
  618. regulator-boot-on;
  619. regulator-name = "vcc_ddr";
  620. regulator-state-mem {
  621. regulator-on-in-suspend;
  622. };
  623. };
  624. DCDC_REG4 {
  625. regulator-always-on;
  626. regulator-boot-on;
  627. regulator-min-microvolt = < 0x325aa0 >;
  628. regulator-max-microvolt = < 0x325aa0 >;
  629. regulator-name = "vcc_io";
  630. phandle = < 0x47 >;
  631. regulator-state-mem {
  632. regulator-on-in-suspend;
  633. regulator-suspend-microvolt = < 0x325aa0 >;
  634. };
  635. };
  636. LDO_REG1 {
  637. regulator-always-on;
  638. regulator-boot-on;
  639. regulator-min-microvolt = < 0x1b7740 >;
  640. regulator-max-microvolt = < 0x1b7740 >;
  641. regulator-name = "vcc18_ldo1";
  642. phandle = < 0x1a >;
  643. regulator-state-mem {
  644. regulator-on-in-suspend;
  645. regulator-suspend-microvolt = < 0x1b7740 >;
  646. };
  647. };
  648. LDO_REG2 {
  649. regulator-always-on;
  650. regulator-boot-on;
  651. regulator-min-microvolt = < 0x325aa0 >;
  652. regulator-max-microvolt = < 0x325aa0 >;
  653. regulator-name = "vcc33_mipi";
  654. regulator-state-mem {
  655. regulator-off-in-suspend;
  656. };
  657. };
  658. LDO_REG3 {
  659. regulator-always-on;
  660. regulator-boot-on;
  661. regulator-min-microvolt = < 0xf4240 >;
  662. regulator-max-microvolt = < 0xf4240 >;
  663. regulator-name = "vdd_10";
  664. regulator-state-mem {
  665. regulator-on-in-suspend;
  666. regulator-suspend-microvolt = < 0xf4240 >;
  667. };
  668. };
  669. LDO_REG4 {
  670. regulator-always-on;
  671. regulator-boot-on;
  672. regulator-min-microvolt = < 0x1b7740 >;
  673. regulator-max-microvolt = < 0x1b7740 >;
  674. regulator-name = "vcc18_codec";
  675. regulator-state-mem {
  676. regulator-on-in-suspend;
  677. regulator-suspend-microvolt = < 0x1b7740 >;
  678. };
  679. };
  680. LDO_REG5 {
  681. regulator-min-microvolt = < 0x1b7740 >;
  682. regulator-max-microvolt = < 0x325aa0 >;
  683. regulator-name = "vccio_sd";
  684. phandle = < 0x11 >;
  685. regulator-state-mem {
  686. regulator-on-in-suspend;
  687. regulator-suspend-microvolt = < 0x325aa0 >;
  688. };
  689. };
  690. LDO_REG6 {
  691. regulator-always-on;
  692. regulator-boot-on;
  693. regulator-min-microvolt = < 0xf4240 >;
  694. regulator-max-microvolt = < 0xf4240 >;
  695. regulator-name = "vdd10_lcd";
  696. regulator-state-mem {
  697. regulator-on-in-suspend;
  698. regulator-suspend-microvolt = < 0xf4240 >;
  699. };
  700. };
  701. LDO_REG7 {
  702. regulator-always-on;
  703. regulator-boot-on;
  704. regulator-min-microvolt = < 0x1b7740 >;
  705. regulator-max-microvolt = < 0x1b7740 >;
  706. regulator-name = "vcc_18";
  707. phandle = < 0x7f >;
  708. regulator-state-mem {
  709. regulator-on-in-suspend;
  710. regulator-suspend-microvolt = < 0x1b7740 >;
  711. };
  712. };
  713. LDO_REG8 {
  714. regulator-always-on;
  715. regulator-boot-on;
  716. regulator-min-microvolt = < 0x1b7740 >;
  717. regulator-max-microvolt = < 0x1b7740 >;
  718. regulator-name = "vcc18_lcd";
  719. regulator-state-mem {
  720. regulator-on-in-suspend;
  721. regulator-suspend-microvolt = < 0x1b7740 >;
  722. };
  723. };
  724. SWITCH_REG1 {
  725. regulator-always-on;
  726. regulator-boot-on;
  727. regulator-name = "vcc33_sd";
  728. phandle = < 0x10 >;
  729. regulator-state-mem {
  730. regulator-on-in-suspend;
  731. };
  732. };
  733. SWITCH_REG2 {
  734. regulator-always-on;
  735. regulator-boot-on;
  736. regulator-name = "vcc33_lan";
  737. phandle = < 0x3a >;
  738. regulator-state-mem {
  739. regulator-on-in-suspend;
  740. };
  741. };
  742. };
  743. };
  744. };
  745. i2c@ff660000 {
  746. compatible = "rockchip,rk3288-i2c";
  747. reg = < 0x00 0xff660000 0x00 0x1000 >;
  748. interrupts = < 0x00 0x3d 0x04 >;
  749. #address-cells = < 0x01 >;
  750. #size-cells = < 0x00 >;
  751. clock-names = "i2c";
  752. clocks = < 0x07 0x14e >;
  753. pinctrl-names = "default";
  754. pinctrl-0 = < 0x48 >;
  755. status = "okay";
  756. };
  757. pwm@ff680000 {
  758. compatible = "rockchip,rk3288-pwm";
  759. reg = < 0x00 0xff680000 0x00 0x10 >;
  760. #pwm-cells = < 0x03 >;
  761. pinctrl-names = "default";
  762. pinctrl-0 = < 0x49 >;
  763. clocks = < 0x07 0x15e >;
  764. clock-names = "pwm";
  765. status = "okay";
  766. };
  767. pwm@ff680010 {
  768. compatible = "rockchip,rk3288-pwm";
  769. reg = < 0x00 0xff680010 0x00 0x10 >;
  770. #pwm-cells = < 0x03 >;
  771. pinctrl-names = "default";
  772. pinctrl-0 = < 0x4a >;
  773. clocks = < 0x07 0x15e >;
  774. clock-names = "pwm";
  775. status = "disabled";
  776. };
  777. pwm@ff680020 {
  778. compatible = "rockchip,rk3288-pwm";
  779. reg = < 0x00 0xff680020 0x00 0x10 >;
  780. #pwm-cells = < 0x03 >;
  781. pinctrl-names = "default";
  782. pinctrl-0 = < 0x4b >;
  783. clocks = < 0x07 0x15e >;
  784. clock-names = "pwm";
  785. status = "disabled";
  786. };
  787. pwm@ff680030 {
  788. compatible = "rockchip,rk3288-pwm";
  789. reg = < 0x00 0xff680030 0x00 0x10 >;
  790. #pwm-cells = < 0x02 >;
  791. pinctrl-names = "default";
  792. pinctrl-0 = < 0x4c >;
  793. clocks = < 0x07 0x15e >;
  794. clock-names = "pwm";
  795. status = "disabled";
  796. };
  797. bus_intmem@ff700000 {
  798. compatible = "mmio-sram";
  799. reg = < 0x00 0xff700000 0x00 0x18000 >;
  800. #address-cells = < 0x01 >;
  801. #size-cells = < 0x01 >;
  802. ranges = < 0x00 0x00 0xff700000 0x18000 >;
  803. smp-sram@0 {
  804. compatible = "rockchip,rk3066-smp-sram";
  805. reg = < 0x00 0x10 >;
  806. };
  807. };
  808. sram@ff720000 {
  809. compatible = "rockchip,rk3288-pmu-sram\0mmio-sram";
  810. reg = < 0x00 0xff720000 0x00 0x1000 >;
  811. };
  812. power-management@ff730000 {
  813. compatible = "rockchip,rk3288-pmu\0syscon\0simple-mfd";
  814. reg = < 0x00 0xff730000 0x00 0x100 >;
  815. phandle = < 0x06 >;
  816. power-controller {
  817. compatible = "rockchip,rk3288-power-controller";
  818. #power-domain-cells = < 0x01 >;
  819. #address-cells = < 0x01 >;
  820. #size-cells = < 0x00 >;
  821. assigned-clocks = < 0x07 0x68 >;
  822. assigned-clock-parents = < 0x09 >;
  823. phandle = < 0x5e >;
  824. pd_vio@9 {
  825. reg = < 0x09 >;
  826. clocks = < 0x07 0xca 0x07 0xcd 0x07 0xc8 0x07 0xcc 0x07 0xc5 0x07 0xc6 0x07 0xbe 0x07 0xbf 0x07 0x1d4 0x07 0x1d5 0x07 0x1d6 0x07 0x1d9 0x07 0x1d1 0x07 0x1d2 0x07 0x163 0x07 0x168 0x07 0x167 0x07 0x166 0x07 0x164 0x07 0x165 0x07 0x68 0x07 0x69 0x07 0x6c 0x07 0x6b 0x07 0x6a >;
  827. pm_qos = < 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 >;
  828. };
  829. pd_hevc@11 {
  830. reg = < 0x0b >;
  831. clocks = < 0x07 0xcf 0x07 0x6f 0x07 0x70 >;
  832. pm_qos = < 0x56 0x57 >;
  833. };
  834. pd_video@12 {
  835. reg = < 0x0c >;
  836. clocks = < 0x07 0xd0 0x07 0x1dc >;
  837. pm_qos = < 0x58 >;
  838. };
  839. pd_gpu@13 {
  840. reg = < 0x0d >;
  841. clocks = < 0x07 0xc0 >;
  842. pm_qos = < 0x59 0x5a >;
  843. };
  844. };
  845. reboot-mode {
  846. compatible = "syscon-reboot-mode";
  847. offset = < 0x94 >;
  848. mode-normal = < 0x5242c300 >;
  849. mode-recovery = < 0x5242c303 >;
  850. mode-bootloader = < 0x5242c309 >;
  851. mode-loader = < 0x5242c301 >;
  852. };
  853. };
  854. syscon@ff740000 {
  855. compatible = "rockchip,rk3288-sgrf\0syscon";
  856. reg = < 0x00 0xff740000 0x00 0x1000 >;
  857. };
  858. clock-controller@ff760000 {
  859. compatible = "rockchip,rk3288-cru";
  860. reg = < 0x00 0xff760000 0x00 0x1000 >;
  861. rockchip,grf = < 0x38 >;
  862. #clock-cells = < 0x01 >;
  863. #reset-cells = < 0x01 >;
  864. assigned-clocks = < 0x07 0x04 0x07 0x03 0x07 0x05 0x07 0xd1 0x07 0x1dd 0x07 0x16a 0x07 0xd2 0x07 0x1de 0x07 0x16b >;
  865. assigned-clock-rates = < 0x2367b880 0x17d78400 0x1dcd6500 0x11e1a300 0x8f0d180 0x47868c0 0x11e1a300 0x8f0d180 0x47868c0 >;
  866. phandle = < 0x07 >;
  867. };
  868. syscon@ff770000 {
  869. compatible = "rockchip,rk3288-grf\0syscon\0simple-mfd";
  870. reg = < 0x00 0xff770000 0x00 0x1000 >;
  871. phandle = < 0x38 >;
  872. edp-phy {
  873. compatible = "rockchip,rk3288-dp-phy";
  874. clocks = < 0x07 0x68 >;
  875. clock-names = "24m";
  876. #phy-cells = < 0x00 >;
  877. status = "disabled";
  878. phandle = < 0x6e >;
  879. };
  880. io-domains {
  881. compatible = "rockchip,rk3288-io-voltage-domain";
  882. status = "okay";
  883. sdcard-supply = < 0x11 >;
  884. };
  885. usbphy {
  886. compatible = "rockchip,rk3288-usb-phy";
  887. #address-cells = < 0x01 >;
  888. #size-cells = < 0x00 >;
  889. status = "okay";
  890. usb-phy@320 {
  891. #phy-cells = < 0x00 >;
  892. reg = < 0x320 >;
  893. clocks = < 0x07 0x5d >;
  894. clock-names = "phyclk";
  895. #clock-cells = < 0x00 >;
  896. phandle = < 0x3f >;
  897. };
  898. usb-phy@334 {
  899. #phy-cells = < 0x00 >;
  900. reg = < 0x334 >;
  901. clocks = < 0x07 0x5e >;
  902. clock-names = "phyclk";
  903. #clock-cells = < 0x00 >;
  904. phandle = < 0x3d >;
  905. };
  906. usb-phy@348 {
  907. #phy-cells = < 0x00 >;
  908. reg = < 0x348 >;
  909. clocks = < 0x07 0x5f >;
  910. clock-names = "phyclk";
  911. #clock-cells = < 0x00 >;
  912. phandle = < 0x3e >;
  913. };
  914. };
  915. };
  916. watchdog@ff800000 {
  917. compatible = "rockchip,rk3288-wdt\0snps,dw-wdt";
  918. reg = < 0x00 0xff800000 0x00 0x100 >;
  919. clocks = < 0x07 0x170 >;
  920. interrupts = < 0x00 0x4f 0x04 >;
  921. status = "okay";
  922. };
  923. sound@ff88b0000 {
  924. compatible = "rockchip,rk3288-spdif\0rockchip,rk3066-spdif";
  925. reg = < 0x00 0xff8b0000 0x00 0x10000 >;
  926. #sound-dai-cells = < 0x00 >;
  927. clock-names = "hclk\0mclk";
  928. clocks = < 0x07 0x1d0 0x07 0x54 >;
  929. dmas = < 0x5b 0x03 >;
  930. dma-names = "tx";
  931. interrupts = < 0x00 0x36 0x04 >;
  932. pinctrl-names = "default";
  933. pinctrl-0 = < 0x5c >;
  934. rockchip,grf = < 0x38 >;
  935. status = "disabled";
  936. };
  937. i2s@ff890000 {
  938. compatible = "rockchip,rk3288-i2s\0rockchip,rk3066-i2s";
  939. reg = < 0x00 0xff890000 0x00 0x10000 >;
  940. #sound-dai-cells = < 0x00 >;
  941. interrupts = < 0x00 0x35 0x04 >;
  942. #address-cells = < 0x01 >;
  943. #size-cells = < 0x00 >;
  944. dmas = < 0x5b 0x00 0x5b 0x01 >;
  945. dma-names = "tx\0rx";
  946. clock-names = "i2s_hclk\0i2s_clk";
  947. clocks = < 0x07 0x1ce 0x07 0x52 >;
  948. pinctrl-names = "default";
  949. pinctrl-0 = < 0x5d >;
  950. rockchip,playback-channels = < 0x08 >;
  951. rockchip,capture-channels = < 0x02 >;
  952. status = "okay";
  953. phandle = < 0x86 >;
  954. };
  955. cypto-controller@ff8a0000 {
  956. compatible = "rockchip,rk3288-crypto";
  957. reg = < 0x00 0xff8a0000 0x00 0x4000 >;
  958. interrupts = < 0x00 0x30 0x04 >;
  959. clocks = < 0x07 0xc7 0x07 0x1cd 0x07 0x7d 0x07 0xc1 >;
  960. clock-names = "aclk\0hclk\0sclk\0apb_pclk";
  961. resets = < 0x07 0xae >;
  962. reset-names = "crypto-rst";
  963. status = "okay";
  964. };
  965. iommu@ff900800 {
  966. compatible = "rockchip,iommu";
  967. reg = < 0x00 0xff900800 0x00 0x40 >;
  968. interrupts = < 0x00 0x11 0x04 >;
  969. interrupt-names = "iep_mmu";
  970. #iommu-cells = < 0x00 >;
  971. status = "disabled";
  972. };
  973. iommu@ff914000 {
  974. compatible = "rockchip,iommu";
  975. reg = < 0x00 0xff914000 0x00 0x100 0x00 0xff915000 0x00 0x100 >;
  976. interrupts = < 0x00 0x0e 0x04 >;
  977. interrupt-names = "isp_mmu";
  978. #iommu-cells = < 0x00 >;
  979. rockchip,disable-mmu-reset;
  980. status = "disabled";
  981. };
  982. rga@ff920000 {
  983. compatible = "rockchip,rk3288-rga";
  984. reg = < 0x00 0xff920000 0x00 0x180 >;
  985. interrupts = < 0x00 0x12 0x04 >;
  986. clocks = < 0x07 0xc8 0x07 0x1d6 0x07 0x6a >;
  987. clock-names = "aclk\0hclk\0sclk";
  988. power-domains = < 0x5e 0x09 >;
  989. resets = < 0x07 0x69 0x07 0x6c 0x07 0x6d >;
  990. reset-names = "core\0axi\0ahb";
  991. };
  992. vop@ff930000 {
  993. compatible = "rockchip,rk3288-vop";
  994. reg = < 0x00 0xff930000 0x00 0x19c >;
  995. interrupts = < 0x00 0x0f 0x04 >;
  996. clocks = < 0x07 0xc5 0x07 0xbe 0x07 0x1d1 >;
  997. clock-names = "aclk_vop\0dclk_vop\0hclk_vop";
  998. power-domains = < 0x5e 0x09 >;
  999. resets = < 0x07 0x64 0x07 0x65 0x07 0x66 >;
  1000. reset-names = "axi\0ahb\0dclk";
  1001. iommus = < 0x5f >;
  1002. status = "okay";
  1003. port {
  1004. #address-cells = < 0x01 >;
  1005. #size-cells = < 0x00 >;
  1006. phandle = < 0x0b >;
  1007. endpoint@0 {
  1008. reg = < 0x00 >;
  1009. remote-endpoint = < 0x60 >;
  1010. phandle = < 0x72 >;
  1011. };
  1012. endpoint@1 {
  1013. reg = < 0x01 >;
  1014. remote-endpoint = < 0x61 >;
  1015. phandle = < 0x6f >;
  1016. };
  1017. endpoint@2 {
  1018. reg = < 0x02 >;
  1019. remote-endpoint = < 0x62 >;
  1020. phandle = < 0x69 >;
  1021. };
  1022. endpoint@3 {
  1023. reg = < 0x03 >;
  1024. remote-endpoint = < 0x63 >;
  1025. phandle = < 0x6c >;
  1026. };
  1027. };
  1028. };
  1029. iommu@ff930300 {
  1030. compatible = "rockchip,iommu";
  1031. reg = < 0x00 0xff930300 0x00 0x100 >;
  1032. interrupts = < 0x00 0x0f 0x04 >;
  1033. interrupt-names = "vopb_mmu";
  1034. power-domains = < 0x5e 0x09 >;
  1035. #iommu-cells = < 0x00 >;
  1036. status = "okay";
  1037. phandle = < 0x5f >;
  1038. };
  1039. vop@ff940000 {
  1040. compatible = "rockchip,rk3288-vop";
  1041. reg = < 0x00 0xff940000 0x00 0x19c >;
  1042. interrupts = < 0x00 0x10 0x04 >;
  1043. clocks = < 0x07 0xc6 0x07 0xbf 0x07 0x1d2 >;
  1044. clock-names = "aclk_vop\0dclk_vop\0hclk_vop";
  1045. power-domains = < 0x5e 0x09 >;
  1046. resets = < 0x07 0xb0 0x07 0xb1 0x07 0xb2 >;
  1047. reset-names = "axi\0ahb\0dclk";
  1048. iommus = < 0x64 >;
  1049. status = "okay";
  1050. port {
  1051. #address-cells = < 0x01 >;
  1052. #size-cells = < 0x00 >;
  1053. phandle = < 0x0a >;
  1054. endpoint@0 {
  1055. reg = < 0x00 >;
  1056. remote-endpoint = < 0x65 >;
  1057. phandle = < 0x73 >;
  1058. };
  1059. endpoint@1 {
  1060. reg = < 0x01 >;
  1061. remote-endpoint = < 0x66 >;
  1062. phandle = < 0x70 >;
  1063. };
  1064. endpoint@2 {
  1065. reg = < 0x02 >;
  1066. remote-endpoint = < 0x67 >;
  1067. phandle = < 0x6a >;
  1068. };
  1069. endpoint@3 {
  1070. reg = < 0x03 >;
  1071. remote-endpoint = < 0x68 >;
  1072. phandle = < 0x6d >;
  1073. };
  1074. };
  1075. };
  1076. iommu@ff940300 {
  1077. compatible = "rockchip,iommu";
  1078. reg = < 0x00 0xff940300 0x00 0x100 >;
  1079. interrupts = < 0x00 0x10 0x04 >;
  1080. interrupt-names = "vopl_mmu";
  1081. power-domains = < 0x5e 0x09 >;
  1082. #iommu-cells = < 0x00 >;
  1083. status = "okay";
  1084. phandle = < 0x64 >;
  1085. };
  1086. mipi@ff960000 {
  1087. compatible = "rockchip,rk3288-mipi-dsi\0snps,dw-mipi-dsi";
  1088. reg = < 0x00 0xff960000 0x00 0x4000 >;
  1089. interrupts = < 0x00 0x13 0x04 >;
  1090. clocks = < 0x07 0x7e 0x07 0x164 >;
  1091. clock-names = "ref\0pclk";
  1092. power-domains = < 0x5e 0x09 >;
  1093. rockchip,grf = < 0x38 >;
  1094. #address-cells = < 0x01 >;
  1095. #size-cells = < 0x00 >;
  1096. status = "disabled";
  1097. ports {
  1098. port {
  1099. #address-cells = < 0x01 >;
  1100. #size-cells = < 0x00 >;
  1101. endpoint@0 {
  1102. reg = < 0x00 >;
  1103. remote-endpoint = < 0x69 >;
  1104. phandle = < 0x62 >;
  1105. };
  1106. endpoint@1 {
  1107. reg = < 0x01 >;
  1108. remote-endpoint = < 0x6a >;
  1109. phandle = < 0x67 >;
  1110. };
  1111. };
  1112. };
  1113. };
  1114. lvds@ff96c000 {
  1115. compatible = "rockchip,rk3288-lvds";
  1116. reg = < 0x00 0xff96c000 0x00 0x4000 >;
  1117. clocks = < 0x07 0x167 >;
  1118. clock-names = "pclk_lvds";
  1119. pinctrl-names = "lcdc";
  1120. pinctrl-0 = < 0x6b >;
  1121. power-domains = < 0x5e 0x09 >;
  1122. rockchip,grf = < 0x38 >;
  1123. status = "disabled";
  1124. ports {
  1125. #address-cells = < 0x01 >;
  1126. #size-cells = < 0x00 >;
  1127. port@0 {
  1128. reg = < 0x00 >;
  1129. #address-cells = < 0x01 >;
  1130. #size-cells = < 0x00 >;
  1131. endpoint@0 {
  1132. reg = < 0x00 >;
  1133. remote-endpoint = < 0x6c >;
  1134. phandle = < 0x63 >;
  1135. };
  1136. endpoint@1 {
  1137. reg = < 0x01 >;
  1138. remote-endpoint = < 0x6d >;
  1139. phandle = < 0x68 >;
  1140. };
  1141. };
  1142. };
  1143. };
  1144. dp@ff970000 {
  1145. compatible = "rockchip,rk3288-dp";
  1146. reg = < 0x00 0xff970000 0x00 0x4000 >;
  1147. interrupts = < 0x00 0x62 0x04 >;
  1148. clocks = < 0x07 0x69 0x07 0x163 >;
  1149. clock-names = "dp\0pclk";
  1150. phys = < 0x6e >;
  1151. phy-names = "dp";
  1152. resets = < 0x07 0x6f >;
  1153. reset-names = "dp";
  1154. rockchip,grf = < 0x38 >;
  1155. status = "disabled";
  1156. ports {
  1157. #address-cells = < 0x01 >;
  1158. #size-cells = < 0x00 >;
  1159. port@0 {
  1160. reg = < 0x00 >;
  1161. #address-cells = < 0x01 >;
  1162. #size-cells = < 0x00 >;
  1163. endpoint@0 {
  1164. reg = < 0x00 >;
  1165. remote-endpoint = < 0x6f >;
  1166. phandle = < 0x61 >;
  1167. };
  1168. endpoint@1 {
  1169. reg = < 0x01 >;
  1170. remote-endpoint = < 0x70 >;
  1171. phandle = < 0x66 >;
  1172. };
  1173. };
  1174. };
  1175. };
  1176. hdmi@ff980000 {
  1177. compatible = "rockchip,rk3288-dw-hdmi";
  1178. reg = < 0x00 0xff980000 0x00 0x20000 >;
  1179. reg-io-width = < 0x04 >;
  1180. #sound-dai-cells = < 0x00 >;
  1181. rockchip,grf = < 0x38 >;
  1182. interrupts = < 0x00 0x67 0x04 >;
  1183. clocks = < 0x07 0x168 0x07 0x6d 0x07 0x6e >;
  1184. clock-names = "iahb\0isfr\0cec";
  1185. power-domains = < 0x5e 0x09 >;
  1186. status = "okay";
  1187. ddc-i2c-bus = < 0x71 >;
  1188. phandle = < 0x85 >;
  1189. ports {
  1190. port {
  1191. #address-cells = < 0x01 >;
  1192. #size-cells = < 0x00 >;
  1193. endpoint@0 {
  1194. reg = < 0x00 >;
  1195. remote-endpoint = < 0x72 >;
  1196. phandle = < 0x60 >;
  1197. };
  1198. endpoint@1 {
  1199. reg = < 0x01 >;
  1200. remote-endpoint = < 0x73 >;
  1201. phandle = < 0x65 >;
  1202. };
  1203. };
  1204. };
  1205. };
  1206. iommu@ff9a0800 {
  1207. compatible = "rockchip,iommu";
  1208. reg = < 0x00 0xff9a0800 0x00 0x100 >;
  1209. interrupts = < 0x00 0x0b 0x04 >;
  1210. interrupt-names = "vpu_mmu";
  1211. #iommu-cells = < 0x00 >;
  1212. status = "disabled";
  1213. };
  1214. iommu@ff9c0440 {
  1215. compatible = "rockchip,iommu";
  1216. reg = < 0x00 0xff9c0440 0x00 0x40 0x00 0xff9c0480 0x00 0x40 >;
  1217. interrupts = < 0x00 0x6f 0x04 >;
  1218. interrupt-names = "hevc_mmu";
  1219. #iommu-cells = < 0x00 >;
  1220. status = "disabled";
  1221. };
  1222. gpu@ffa30000 {
  1223. compatible = "rockchip,rk3288-mali\0arm,mali-t760";
  1224. reg = < 0x00 0xffa30000 0x00 0x10000 >;
  1225. interrupts = < 0x00 0x06 0x04 0x00 0x07 0x04 0x00 0x08 0x04 >;
  1226. interrupt-names = "job\0mmu\0gpu";
  1227. clocks = < 0x07 0xc0 >;
  1228. operating-points-v2 = < 0x74 >;
  1229. power-domains = < 0x5e 0x0d >;
  1230. status = "okay";
  1231. mali-supply = < 0x75 >;
  1232. };
  1233. gpu-opp-table {
  1234. compatible = "operating-points-v2";
  1235. phandle = < 0x74 >;
  1236. opp@100000000 {
  1237. opp-hz = < 0x00 0x5f5e100 >;
  1238. opp-microvolt = < 0xe7ef0 >;
  1239. };
  1240. opp@200000000 {
  1241. opp-hz = < 0x00 0xbebc200 >;
  1242. opp-microvolt = < 0xe7ef0 >;
  1243. };
  1244. opp@300000000 {
  1245. opp-hz = < 0x00 0x11e1a300 >;
  1246. opp-microvolt = < 0xf4240 >;
  1247. };
  1248. opp@400000000 {
  1249. opp-hz = < 0x00 0x17d78400 >;
  1250. opp-microvolt = < 0x10c8e0 >;
  1251. };
  1252. opp@500000000 {
  1253. opp-hz = < 0x00 0x1dcd6500 >;
  1254. opp-microvolt = < 0x124f80 >;
  1255. };
  1256. opp@600000000 {
  1257. opp-hz = < 0x00 0x23c34600 >;
  1258. opp-microvolt = < 0x1312d0 >;
  1259. };
  1260. };
  1261. qos@ffaa0000 {
  1262. compatible = "syscon";
  1263. reg = < 0x00 0xffaa0000 0x00 0x20 >;
  1264. phandle = < 0x59 >;
  1265. };
  1266. qos@ffaa0080 {
  1267. compatible = "syscon";
  1268. reg = < 0x00 0xffaa0080 0x00 0x20 >;
  1269. phandle = < 0x5a >;
  1270. };
  1271. qos@ffad0000 {
  1272. compatible = "syscon";
  1273. reg = < 0x00 0xffad0000 0x00 0x20 >;
  1274. phandle = < 0x4e >;
  1275. };
  1276. qos@ffad0100 {
  1277. compatible = "syscon";
  1278. reg = < 0x00 0xffad0100 0x00 0x20 >;
  1279. phandle = < 0x4f >;
  1280. };
  1281. qos@ffad0180 {
  1282. compatible = "syscon";
  1283. reg = < 0x00 0xffad0180 0x00 0x20 >;
  1284. phandle = < 0x50 >;
  1285. };
  1286. qos@ffad0400 {
  1287. compatible = "syscon";
  1288. reg = < 0x00 0xffad0400 0x00 0x20 >;
  1289. phandle = < 0x51 >;
  1290. };
  1291. qos@ffad0480 {
  1292. compatible = "syscon";
  1293. reg = < 0x00 0xffad0480 0x00 0x20 >;
  1294. phandle = < 0x52 >;
  1295. };
  1296. qos@ffad0500 {
  1297. compatible = "syscon";
  1298. reg = < 0x00 0xffad0500 0x00 0x20 >;
  1299. phandle = < 0x4d >;
  1300. };
  1301. qos@ffad0800 {
  1302. compatible = "syscon";
  1303. reg = < 0x00 0xffad0800 0x00 0x20 >;
  1304. phandle = < 0x53 >;
  1305. };
  1306. qos@ffad0880 {
  1307. compatible = "syscon";
  1308. reg = < 0x00 0xffad0880 0x00 0x20 >;
  1309. phandle = < 0x54 >;
  1310. };
  1311. qos@ffad0900 {
  1312. compatible = "syscon";
  1313. reg = < 0x00 0xffad0900 0x00 0x20 >;
  1314. phandle = < 0x55 >;
  1315. };
  1316. qos@ffae0000 {
  1317. compatible = "syscon";
  1318. reg = < 0x00 0xffae0000 0x00 0x20 >;
  1319. phandle = < 0x58 >;
  1320. };
  1321. qos@ffaf0000 {
  1322. compatible = "syscon";
  1323. reg = < 0x00 0xffaf0000 0x00 0x20 >;
  1324. phandle = < 0x56 >;
  1325. };
  1326. qos@ffaf0080 {
  1327. compatible = "syscon";
  1328. reg = < 0x00 0xffaf0080 0x00 0x20 >;
  1329. phandle = < 0x57 >;
  1330. };
  1331. interrupt-controller@ffc01000 {
  1332. compatible = "arm,gic-400";
  1333. interrupt-controller;
  1334. #interrupt-cells = < 0x03 >;
  1335. #address-cells = < 0x00 >;
  1336. reg = < 0x00 0xffc01000 0x00 0x1000 0x00 0xffc02000 0x00 0x2000 0x00 0xffc04000 0x00 0x2000 0x00 0xffc06000 0x00 0x2000 >;
  1337. interrupts = < 0x01 0x09 0xf04 >;
  1338. phandle = < 0x01 >;
  1339. };
  1340. efuse@ffb40000 {
  1341. compatible = "rockchip,rk3288-efuse";
  1342. reg = < 0x00 0xffb40000 0x00 0x20 >;
  1343. #address-cells = < 0x01 >;
  1344. #size-cells = < 0x01 >;
  1345. clocks = < 0x07 0x171 >;
  1346. clock-names = "pclk_efuse";
  1347. cpu_leakage@17 {
  1348. reg = < 0x17 0x01 >;
  1349. };
  1350. };
  1351. pinctrl {
  1352. compatible = "rockchip,rk3288-pinctrl";
  1353. rockchip,grf = < 0x38 >;
  1354. rockchip,pmu = < 0x06 >;
  1355. #address-cells = < 0x02 >;
  1356. #size-cells = < 0x02 >;
  1357. ranges;
  1358. gpio0@ff750000 {
  1359. compatible = "rockchip,gpio-bank";
  1360. reg = < 0x00 0xff750000 0x00 0x100 >;
  1361. interrupts = < 0x00 0x51 0x04 >;
  1362. clocks = < 0x07 0x140 >;
  1363. gpio-controller;
  1364. #gpio-cells = < 0x02 >;
  1365. interrupt-controller;
  1366. #interrupt-cells = < 0x02 >;
  1367. phandle = < 0x41 >;
  1368. };
  1369. gpio1@ff780000 {
  1370. compatible = "rockchip,gpio-bank";
  1371. reg = < 0x00 0xff780000 0x00 0x100 >;
  1372. interrupts = < 0x00 0x52 0x04 >;
  1373. clocks = < 0x07 0x141 >;
  1374. gpio-controller;
  1375. #gpio-cells = < 0x02 >;
  1376. interrupt-controller;
  1377. #interrupt-cells = < 0x02 >;
  1378. phandle = < 0x84 >;
  1379. };
  1380. gpio2@ff790000 {
  1381. compatible = "rockchip,gpio-bank";
  1382. reg = < 0x00 0xff790000 0x00 0x100 >;
  1383. interrupts = < 0x00 0x53 0x04 >;
  1384. clocks = < 0x07 0x142 >;
  1385. gpio-controller;
  1386. #gpio-cells = < 0x02 >;
  1387. interrupt-controller;
  1388. #interrupt-cells = < 0x02 >;
  1389. };
  1390. gpio3@ff7a0000 {
  1391. compatible = "rockchip,gpio-bank";
  1392. reg = < 0x00 0xff7a0000 0x00 0x100 >;
  1393. interrupts = < 0x00 0x54 0x04 >;
  1394. clocks = < 0x07 0x143 >;
  1395. gpio-controller;
  1396. #gpio-cells = < 0x02 >;
  1397. interrupt-controller;
  1398. #interrupt-cells = < 0x02 >;
  1399. };
  1400. gpio4@ff7b0000 {
  1401. compatible = "rockchip,gpio-bank";
  1402. reg = < 0x00 0xff7b0000 0x00 0x100 >;
  1403. interrupts = < 0x00 0x55 0x04 >;
  1404. clocks = < 0x07 0x144 >;
  1405. gpio-controller;
  1406. #gpio-cells = < 0x02 >;
  1407. interrupt-controller;
  1408. #interrupt-cells = < 0x02 >;
  1409. phandle = < 0x3c >;
  1410. };
  1411. gpio5@ff7c0000 {
  1412. compatible = "rockchip,gpio-bank";
  1413. reg = < 0x00 0xff7c0000 0x00 0x100 >;
  1414. interrupts = < 0x00 0x56 0x04 >;
  1415. clocks = < 0x07 0x145 >;
  1416. gpio-controller;
  1417. #gpio-cells = < 0x02 >;
  1418. interrupt-controller;
  1419. #interrupt-cells = < 0x02 >;
  1420. };
  1421. gpio6@ff7d0000 {
  1422. compatible = "rockchip,gpio-bank";
  1423. reg = < 0x00 0xff7d0000 0x00 0x100 >;
  1424. interrupts = < 0x00 0x57 0x04 >;
  1425. clocks = < 0x07 0x146 >;
  1426. gpio-controller;
  1427. #gpio-cells = < 0x02 >;
  1428. interrupt-controller;
  1429. #interrupt-cells = < 0x02 >;
  1430. };
  1431. gpio7@ff7e0000 {
  1432. compatible = "rockchip,gpio-bank";
  1433. reg = < 0x00 0xff7e0000 0x00 0x100 >;
  1434. interrupts = < 0x00 0x58 0x04 >;
  1435. clocks = < 0x07 0x147 >;
  1436. gpio-controller;
  1437. #gpio-cells = < 0x02 >;
  1438. interrupt-controller;
  1439. #interrupt-cells = < 0x02 >;
  1440. phandle = < 0x87 >;
  1441. };
  1442. gpio8@ff7f0000 {
  1443. compatible = "rockchip,gpio-bank";
  1444. reg = < 0x00 0xff7f0000 0x00 0x100 >;
  1445. interrupts = < 0x00 0x59 0x04 >;
  1446. clocks = < 0x07 0x148 >;
  1447. gpio-controller;
  1448. #gpio-cells = < 0x02 >;
  1449. interrupt-controller;
  1450. #interrupt-cells = < 0x02 >;
  1451. };
  1452. hdmi {
  1453. hdmi-cec-c0 {
  1454. rockchip,pins = < 0x07 0x10 0x02 0x76 >;
  1455. };
  1456. hdmi-cec-c7 {
  1457. rockchip,pins = < 0x07 0x17 0x04 0x76 >;
  1458. };
  1459. hdmi-ddc {
  1460. rockchip,pins = < 0x07 0x13 0x02 0x76 0x07 0x14 0x02 0x76 >;
  1461. };
  1462. };
  1463. pcfg-pull-up {
  1464. bias-pull-up;
  1465. phandle = < 0x77 >;
  1466. };
  1467. pcfg-pull-down {
  1468. bias-pull-down;
  1469. phandle = < 0x78 >;
  1470. };
  1471. pcfg-pull-none {
  1472. bias-disable;
  1473. phandle = < 0x76 >;
  1474. };
  1475. pcfg-pull-none-12ma {
  1476. bias-disable;
  1477. drive-strength = < 0x0c >;
  1478. phandle = < 0x7b >;
  1479. };
  1480. sleep {
  1481. global-pwroff {
  1482. rockchip,pins = < 0x00 0x00 0x01 0x76 >;
  1483. phandle = < 0x43 >;
  1484. };
  1485. ddrio-pwroff {
  1486. rockchip,pins = < 0x00 0x01 0x01 0x76 >;
  1487. };
  1488. ddr0-retention {
  1489. rockchip,pins = < 0x00 0x02 0x01 0x77 >;
  1490. };
  1491. ddr1-retention {
  1492. rockchip,pins = < 0x00 0x03 0x01 0x77 >;
  1493. };
  1494. };
  1495. edp {
  1496. edp-hpd {
  1497. rockchip,pins = < 0x07 0x0b 0x02 0x78 >;
  1498. };
  1499. };
  1500. i2c0 {
  1501. i2c0-xfer {
  1502. rockchip,pins = < 0x00 0x0f 0x01 0x76 0x00 0x10 0x01 0x76 >;
  1503. phandle = < 0x40 >;
  1504. };
  1505. };
  1506. i2c1 {
  1507. i2c1-xfer {
  1508. rockchip,pins = < 0x08 0x04 0x01 0x76 0x08 0x05 0x01 0x76 >;
  1509. phandle = < 0x28 >;
  1510. };
  1511. };
  1512. i2c2 {
  1513. i2c2-xfer {
  1514. rockchip,pins = < 0x06 0x09 0x01 0x76 0x06 0x0a 0x01 0x76 >;
  1515. phandle = < 0x48 >;
  1516. };
  1517. };
  1518. i2c3 {
  1519. i2c3-xfer {
  1520. rockchip,pins = < 0x02 0x10 0x01 0x76 0x02 0x11 0x01 0x76 >;
  1521. phandle = < 0x29 >;
  1522. };
  1523. };
  1524. i2c4 {
  1525. i2c4-xfer {
  1526. rockchip,pins = < 0x07 0x11 0x01 0x76 0x07 0x12 0x01 0x76 >;
  1527. phandle = < 0x2a >;
  1528. };
  1529. };
  1530. i2c5 {
  1531. i2c5-xfer {
  1532. rockchip,pins = < 0x07 0x13 0x01 0x76 0x07 0x14 0x01 0x76 >;
  1533. phandle = < 0x2b >;
  1534. };
  1535. };
  1536. i2s0 {
  1537. i2s0-bus {
  1538. rockchip,pins = < 0x06 0x00 0x01 0x76 0x06 0x01 0x01 0x76 0x06 0x02 0x01 0x76 0x06 0x03 0x01 0x76 0x06 0x04 0x01 0x76 0x06 0x08 0x01 0x76 >;
  1539. phandle = < 0x5d >;
  1540. };
  1541. };
  1542. lcdc {
  1543. lcdc-ctl {
  1544. rockchip,pins = < 0x01 0x18 0x01 0x76 0x01 0x19 0x01 0x76 0x01 0x1a 0x01 0x76 0x01 0x1b 0x01 0x76 >;
  1545. phandle = < 0x6b >;
  1546. };
  1547. };
  1548. sdmmc {
  1549. sdmmc-clk {
  1550. rockchip,pins = < 0x06 0x14 0x01 0x79 >;
  1551. phandle = < 0x0c >;
  1552. };
  1553. sdmmc-cmd {
  1554. rockchip,pins = < 0x06 0x15 0x01 0x7a >;
  1555. phandle = < 0x0d >;
  1556. };
  1557. sdmmc-cd {
  1558. rockchip,pins = < 0x06 0x16 0x01 0x77 >;
  1559. phandle = < 0x0e >;
  1560. };
  1561. sdmmc-bus1 {
  1562. rockchip,pins = < 0x06 0x10 0x01 0x77 >;
  1563. };
  1564. sdmmc-bus4 {
  1565. rockchip,pins = < 0x06 0x10 0x01 0x7a 0x06 0x11 0x01 0x7a 0x06 0x12 0x01 0x7a 0x06 0x13 0x01 0x7a >;
  1566. phandle = < 0x0f >;
  1567. };
  1568. sdmmc-pwr {
  1569. rockchip,pins = < 0x07 0x0b 0x00 0x76 >;
  1570. phandle = < 0x88 >;
  1571. };
  1572. };
  1573. sdio0 {
  1574. sdio0-bus1 {
  1575. rockchip,pins = < 0x04 0x14 0x01 0x77 >;
  1576. };
  1577. sdio0-bus4 {
  1578. rockchip,pins = < 0x04 0x14 0x01 0x77 0x04 0x15 0x01 0x77 0x04 0x16 0x01 0x77 0x04 0x17 0x01 0x77 >;
  1579. phandle = < 0x13 >;
  1580. };
  1581. sdio0-cmd {
  1582. rockchip,pins = < 0x04 0x18 0x01 0x77 >;
  1583. phandle = < 0x14 >;
  1584. };
  1585. sdio0-clk {
  1586. rockchip,pins = < 0x04 0x19 0x01 0x76 >;
  1587. phandle = < 0x15 >;
  1588. };
  1589. sdio0-cd {
  1590. rockchip,pins = < 0x04 0x1a 0x01 0x77 >;
  1591. };
  1592. sdio0-wp {
  1593. rockchip,pins = < 0x04 0x1b 0x01 0x77 >;
  1594. };
  1595. sdio0-pwr {
  1596. rockchip,pins = < 0x04 0x1c 0x01 0x77 >;
  1597. };
  1598. sdio0-bkpwr {
  1599. rockchip,pins = < 0x04 0x1d 0x01 0x77 >;
  1600. };
  1601. sdio0-int {
  1602. rockchip,pins = < 0x04 0x1e 0x01 0x77 >;
  1603. };
  1604. };
  1605. sdio1 {
  1606. sdio1-bus1 {
  1607. rockchip,pins = < 0x03 0x18 0x04 0x77 >;
  1608. };
  1609. sdio1-bus4 {
  1610. rockchip,pins = < 0x03 0x18 0x04 0x77 0x03 0x19 0x04 0x77 0x03 0x1a 0x04 0x77 0x03 0x1b 0x04 0x77 >;
  1611. };
  1612. sdio1-cd {
  1613. rockchip,pins = < 0x03 0x1c 0x04 0x77 >;
  1614. };
  1615. sdio1-wp {
  1616. rockchip,pins = < 0x03 0x1d 0x04 0x77 >;
  1617. };
  1618. sdio1-bkpwr {
  1619. rockchip,pins = < 0x03 0x1e 0x04 0x77 >;
  1620. };
  1621. sdio1-int {
  1622. rockchip,pins = < 0x03 0x1f 0x04 0x77 >;
  1623. };
  1624. sdio1-cmd {
  1625. rockchip,pins = < 0x04 0x06 0x04 0x77 >;
  1626. };
  1627. sdio1-clk {
  1628. rockchip,pins = < 0x04 0x07 0x04 0x76 >;
  1629. };
  1630. sdio1-pwr {
  1631. rockchip,pins = < 0x04 0x09 0x04 0x77 >;
  1632. };
  1633. };
  1634. emmc {
  1635. emmc-clk {
  1636. rockchip,pins = < 0x03 0x12 0x02 0x76 >;
  1637. phandle = < 0x16 >;
  1638. };
  1639. emmc-cmd {
  1640. rockchip,pins = < 0x03 0x10 0x02 0x77 >;
  1641. phandle = < 0x17 >;
  1642. };
  1643. emmc-pwr {
  1644. rockchip,pins = < 0x03 0x09 0x02 0x77 >;
  1645. phandle = < 0x18 >;
  1646. };
  1647. emmc-bus1 {
  1648. rockchip,pins = < 0x03 0x00 0x02 0x77 >;
  1649. };
  1650. emmc-bus4 {
  1651. rockchip,pins = < 0x03 0x00 0x02 0x77 0x03 0x01 0x02 0x77 0x03 0x02 0x02 0x77 0x03 0x03 0x02 0x77 >;
  1652. };
  1653. emmc-bus8 {
  1654. rockchip,pins = < 0x03 0x00 0x02 0x77 0x03 0x01 0x02 0x77 0x03 0x02 0x02 0x77 0x03 0x03 0x02 0x77 0x03 0x04 0x02 0x77 0x03 0x05 0x02 0x77 0x03 0x06 0x02 0x77 0x03 0x07 0x02 0x77 >;
  1655. phandle = < 0x19 >;
  1656. };
  1657. };
  1658. spi0 {
  1659. spi0-clk {
  1660. rockchip,pins = < 0x05 0x0c 0x01 0x77 >;
  1661. phandle = < 0x1c >;
  1662. };
  1663. spi0-cs0 {
  1664. rockchip,pins = < 0x05 0x0d 0x01 0x77 >;
  1665. phandle = < 0x1f >;
  1666. };
  1667. spi0-tx {
  1668. rockchip,pins = < 0x05 0x0e 0x01 0x77 >;
  1669. phandle = < 0x1d >;
  1670. };
  1671. spi0-rx {
  1672. rockchip,pins = < 0x05 0x0f 0x01 0x77 >;
  1673. phandle = < 0x1e >;
  1674. };
  1675. spi0-cs1 {
  1676. rockchip,pins = < 0x05 0x10 0x01 0x77 >;
  1677. };
  1678. };
  1679. spi1 {
  1680. spi1-clk {
  1681. rockchip,pins = < 0x07 0x0c 0x02 0x77 >;
  1682. phandle = < 0x20 >;
  1683. };
  1684. spi1-cs0 {
  1685. rockchip,pins = < 0x07 0x0d 0x02 0x77 >;
  1686. phandle = < 0x23 >;
  1687. };
  1688. spi1-rx {
  1689. rockchip,pins = < 0x07 0x0e 0x02 0x77 >;
  1690. phandle = < 0x22 >;
  1691. };
  1692. spi1-tx {
  1693. rockchip,pins = < 0x07 0x0f 0x02 0x77 >;
  1694. phandle = < 0x21 >;
  1695. };
  1696. };
  1697. spi2 {
  1698. spi2-cs1 {
  1699. rockchip,pins = < 0x08 0x03 0x01 0x77 >;
  1700. };
  1701. spi2-clk {
  1702. rockchip,pins = < 0x08 0x06 0x01 0x77 >;
  1703. phandle = < 0x24 >;
  1704. };
  1705. spi2-cs0 {
  1706. rockchip,pins = < 0x08 0x07 0x01 0x77 >;
  1707. phandle = < 0x27 >;
  1708. };
  1709. spi2-rx {
  1710. rockchip,pins = < 0x08 0x08 0x01 0x77 >;
  1711. phandle = < 0x26 >;
  1712. };
  1713. spi2-tx {
  1714. rockchip,pins = < 0x08 0x09 0x01 0x77 >;
  1715. phandle = < 0x25 >;
  1716. };
  1717. };
  1718. uart0 {
  1719. uart0-xfer {
  1720. rockchip,pins = < 0x04 0x10 0x01 0x77 0x04 0x11 0x01 0x76 >;
  1721. phandle = < 0x2c >;
  1722. };
  1723. uart0-cts {
  1724. rockchip,pins = < 0x04 0x12 0x01 0x77 >;
  1725. phandle = < 0x2d >;
  1726. };
  1727. uart0-rts {
  1728. rockchip,pins = < 0x04 0x13 0x01 0x76 >;
  1729. phandle = < 0x7c >;
  1730. };
  1731. };
  1732. uart1 {
  1733. uart1-xfer {
  1734. rockchip,pins = < 0x05 0x08 0x01 0x77 0x05 0x09 0x01 0x76 >;
  1735. phandle = < 0x2e >;
  1736. };
  1737. uart1-cts {
  1738. rockchip,pins = < 0x05 0x0a 0x01 0x77 >;
  1739. };
  1740. uart1-rts {
  1741. rockchip,pins = < 0x05 0x0b 0x01 0x76 >;
  1742. };
  1743. };
  1744. uart2 {
  1745. uart2-xfer {
  1746. rockchip,pins = < 0x07 0x16 0x01 0x77 0x07 0x17 0x01 0x76 >;
  1747. phandle = < 0x2f >;
  1748. };
  1749. };
  1750. uart3 {
  1751. uart3-xfer {
  1752. rockchip,pins = < 0x07 0x07 0x01 0x77 0x07 0x08 0x01 0x76 >;
  1753. phandle = < 0x30 >;
  1754. };
  1755. uart3-cts {
  1756. rockchip,pins = < 0x07 0x09 0x01 0x77 >;
  1757. };
  1758. uart3-rts {
  1759. rockchip,pins = < 0x07 0x0a 0x01 0x76 >;
  1760. };
  1761. };
  1762. uart4 {
  1763. uart4-xfer {
  1764. rockchip,pins = < 0x05 0x0c 0x03 0x77 0x05 0x0d 0x03 0x76 >;
  1765. phandle = < 0x31 >;
  1766. };
  1767. uart4-cts {
  1768. rockchip,pins = < 0x05 0x0e 0x03 0x77 >;
  1769. };
  1770. uart4-rts {
  1771. rockchip,pins = < 0x05 0x0f 0x03 0x76 >;
  1772. };
  1773. };
  1774. tsadc {
  1775. otp-gpio {
  1776. rockchip,pins = < 0x00 0x0a 0x00 0x76 >;
  1777. phandle = < 0x36 >;
  1778. };
  1779. otp-out {
  1780. rockchip,pins = < 0x00 0x0a 0x01 0x76 >;
  1781. phandle = < 0x37 >;
  1782. };
  1783. };
  1784. pwm0 {
  1785. pwm0-pin {
  1786. rockchip,pins = < 0x07 0x00 0x01 0x76 >;
  1787. phandle = < 0x49 >;
  1788. };
  1789. };
  1790. pwm1 {
  1791. pwm1-pin {
  1792. rockchip,pins = < 0x07 0x01 0x01 0x76 >;
  1793. phandle = < 0x4a >;
  1794. };
  1795. };
  1796. pwm2 {
  1797. pwm2-pin {
  1798. rockchip,pins = < 0x07 0x16 0x03 0x76 >;
  1799. phandle = < 0x4b >;
  1800. };
  1801. };
  1802. pwm3 {
  1803. pwm3-pin {
  1804. rockchip,pins = < 0x07 0x17 0x03 0x76 >;
  1805. phandle = < 0x4c >;
  1806. };
  1807. };
  1808. gmac {
  1809. rgmii-pins {
  1810. rockchip,pins = < 0x03 0x1e 0x03 0x76 0x03 0x1f 0x03 0x76 0x03 0x1a 0x03 0x76 0x03 0x1b 0x03 0x76 0x03 0x1c 0x03 0x7b 0x03 0x1d 0x03 0x7b 0x03 0x18 0x03 0x7b 0x03 0x19 0x03 0x7b 0x04 0x00 0x03 0x76 0x04 0x05 0x03 0x76 0x04 0x06 0x03 0x76 0x04 0x09 0x03 0x7b 0x04 0x04 0x03 0x7b 0x04 0x01 0x03 0x76 0x04 0x03 0x03 0x76 >;
  1811. phandle = < 0x3b >;
  1812. };
  1813. rmii-pins {
  1814. rockchip,pins = < 0x03 0x1e 0x03 0x76 0x03 0x1f 0x03 0x76 0x03 0x1c 0x03 0x76 0x03 0x1d 0x03 0x76 0x04 0x00 0x03 0x76 0x04 0x05 0x03 0x76 0x04 0x04 0x03 0x76 0x04 0x01 0x03 0x76 0x04 0x02 0x03 0x76 0x04 0x03 0x03 0x76 >;
  1815. };
  1816. };
  1817. spdif {
  1818. spdif-tx {
  1819. rockchip,pins = < 0x06 0x0b 0x01 0x76 >;
  1820. phandle = < 0x5c >;
  1821. };
  1822. };
  1823. pcfg-pull-none-drv-8ma {
  1824. drive-strength = < 0x08 >;
  1825. phandle = < 0x79 >;
  1826. };
  1827. pcfg-pull-up-drv-8ma {
  1828. bias-pull-up;
  1829. drive-strength = < 0x08 >;
  1830. phandle = < 0x7a >;
  1831. };
  1832. backlight {
  1833. bl-en {
  1834. rockchip,pins = < 0x07 0x02 0x00 0x76 >;
  1835. };
  1836. };
  1837. buttons {
  1838. pwrbtn {
  1839. rockchip,pins = < 0x00 0x05 0x00 0x77 >;
  1840. phandle = < 0x83 >;
  1841. };
  1842. };
  1843. eth_phy {
  1844. eth-phy-pwr {
  1845. rockchip,pins = < 0x00 0x06 0x00 0x76 >;
  1846. };
  1847. };
  1848. pmic {
  1849. pmic-int {
  1850. rockchip,pins = < 0x00 0x04 0x00 0x77 >;
  1851. phandle = < 0x42 >;
  1852. };
  1853. dvs-1 {
  1854. rockchip,pins = < 0x00 0x0b 0x00 0x78 >;
  1855. phandle = < 0x44 >;
  1856. };
  1857. dvs-2 {
  1858. rockchip,pins = < 0x00 0x0c 0x00 0x78 >;
  1859. phandle = < 0x45 >;
  1860. };
  1861. };
  1862. sdio-pwrseq {
  1863. wifi-enable-h {
  1864. rockchip,pins = < 0x04 0x1c 0x00 0x76 >;
  1865. phandle = < 0x82 >;
  1866. };
  1867. chip-enable-h {
  1868. rockchip,pins = < 0x04 0x1b 0x00 0x76 >;
  1869. phandle = < 0x81 >;
  1870. };
  1871. };
  1872. usb {
  1873. host-vbus-drv {
  1874. rockchip,pins = < 0x00 0x0e 0x00 0x76 >;
  1875. };
  1876. pwr-3g {
  1877. rockchip,pins = < 0x07 0x08 0x00 0x76 >;
  1878. };
  1879. };
  1880. wireless-bluetooth {
  1881. uart0-gpios {
  1882. rockchip,pins = < 0x04 0x13 0x00 0x76 >;
  1883. phandle = < 0x7d >;
  1884. };
  1885. };
  1886. };
  1887. memory {
  1888. reg = < 0x00 0x00 0x00 0x80000000 >;
  1889. device_type = "memory";
  1890. };
  1891. wireless-bluetooth {
  1892. compatible = "bluetooth-platdata";
  1893. uart_rts_gpios = < 0x3c 0x13 0x01 >;
  1894. pinctrl-names = "default\0rts_gpio";
  1895. pinctrl-0 = < 0x7c >;
  1896. pinctrl-1 = < 0x7d >;
  1897. BT,reset_gpio = < 0x3c 0x1d 0x00 >;
  1898. BT,wake_gpio = < 0x3c 0x1a 0x00 >;
  1899. BT,wake_host_irq = < 0x3c 0x1f 0x00 >;
  1900. status = "okay";
  1901. };
  1902. wireless-wlan {
  1903. compatible = "wlan-platdata";
  1904. rockchip,grf = < 0x38 >;
  1905. wifi_chip_type = "ap6212";
  1906. sdio_vref = < 0x708 >;
  1907. WIFI,host_wake_irq = < 0x3c 0x1e 0x00 >;
  1908. status = "okay";
  1909. };
  1910. external-gmac-clock {
  1911. compatible = "fixed-clock";
  1912. #clock-cells = < 0x00 >;
  1913. clock-frequency = < 0x7735940 >;
  1914. clock-output-names = "ext_gmac";
  1915. phandle = < 0x39 >;
  1916. };
  1917. io-domains {
  1918. compatible = "rockchip,rk3288-io-voltage-domain";
  1919. rockchip,grf = < 0x38 >;
  1920. flash0-supply = < 0x7e >;
  1921. gpio30-supply = < 0x47 >;
  1922. wifi-supply = < 0x7f >;
  1923. sdcard-supply = < 0x11 >;
  1924. };
  1925. sdio-pwrseq {
  1926. compatible = "mmc-pwrseq-simple";
  1927. clocks = < 0x80 0x01 >;
  1928. clock-names = "ext_clock";
  1929. pinctrl-names = "default";
  1930. pinctrl-0 = < 0x81 0x82 >;
  1931. reset-gpios = < 0x3c 0x1c 0x01 0x3c 0x1b 0x01 >;
  1932. phandle = < 0x12 >;
  1933. };
  1934. gpio-keys {
  1935. compatible = "gpio-keys";
  1936. #address-cells = < 0x01 >;
  1937. #size-cells = < 0x00 >;
  1938. autorepeat;
  1939. pinctrl-names = "default";
  1940. pinctrl-0 = < 0x83 >;
  1941. button@0 {
  1942. gpios = < 0x41 0x05 0x01 >;
  1943. linux,code = < 0x74 >;
  1944. label = "GPIO Key Power";
  1945. linux,input-type = < 0x01 >;
  1946. wakeup-source;
  1947. debounce-interval = < 0x64 >;
  1948. };
  1949. };
  1950. gpio-leds {
  1951. compatible = "gpio-leds";
  1952. act-led {
  1953. gpios = < 0x84 0x18 0x00 >;
  1954. linux,default-trigger = "mmc0";
  1955. };
  1956. heartbeat-led {
  1957. gpios = < 0x84 0x19 0x00 >;
  1958. linux,default-trigger = "heartbeat";
  1959. };
  1960. pwr-led {
  1961. gpios = < 0x41 0x03 0x00 >;
  1962. linux,default-trigger = "default-on";
  1963. };
  1964. };
  1965. sound {
  1966. compatible = "simple-audio-card";
  1967. simple-audio-card,format = "i2s";
  1968. simple-audio-card,name = "rockchip,tinker-codec";
  1969. simple-audio-card,mclk-fs = < 0x200 >;
  1970. simple-audio-card,codec {
  1971. sound-dai = < 0x85 >;
  1972. };
  1973. simple-audio-card,cpu {
  1974. sound-dai = < 0x86 >;
  1975. };
  1976. };
  1977. vsys-regulator {
  1978. compatible = "regulator-fixed";
  1979. regulator-name = "vcc_sys";
  1980. regulator-min-microvolt = < 0x4c4b40 >;
  1981. regulator-max-microvolt = < 0x4c4b40 >;
  1982. regulator-always-on;
  1983. regulator-boot-on;
  1984. phandle = < 0x46 >;
  1985. };
  1986. sdmmc-regulator {
  1987. compatible = "regulator-fixed";
  1988. gpio = < 0x87 0x0b 0x01 >;
  1989. pinctrl-names = "default";
  1990. pinctrl-0 = < 0x88 >;
  1991. regulator-name = "vcc_sd";
  1992. regulator-min-microvolt = < 0x325aa0 >;
  1993. regulator-max-microvolt = < 0x325aa0 >;
  1994. startup-delay-us = < 0x186a0 >;
  1995. vin-supply = < 0x47 >;
  1996. };
  1997. flash-regulator {
  1998. compatible = "regulator-fixed";
  1999. regulator-name = "vcc_flash";
  2000. regulator-min-microvolt = < 0x1b7740 >;
  2001. regulator-max-microvolt = < 0x1b7740 >;
  2002. vin-supply = < 0x47 >;
  2003. phandle = < 0x7e >;
  2004. };
  2005. };
  2006.