Advertisement
uaa

sun8i-h3-orangepi-pc.dtb disassembly

uaa
Feb 2nd, 2019
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.88 KB | None | 0 0
  1. /dts-v1/;
  2.  
  3. / {
  4. interrupt-parent = <0x1>;
  5. #address-cells = <0x1>;
  6. #size-cells = <0x1>;
  7. model = "Xunlong Orange Pi PC";
  8. compatible = "xunlong,orangepi-pc", "allwinner,sun8i-h3";
  9.  
  10. chosen {
  11. #address-cells = <0x1>;
  12. #size-cells = <0x1>;
  13. ranges;
  14. stdout-path = "serial0:115200n8";
  15.  
  16. framebuffer-hdmi {
  17. compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
  18. allwinner,pipeline = "mixer0-lcd0-hdmi";
  19. clocks = <0x2 0x6 0x3 0x66 0x3 0x6f>;
  20. status = "disabled";
  21. };
  22.  
  23. framebuffer-tve {
  24. compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
  25. allwinner,pipeline = "mixer1-lcd1-tve";
  26. clocks = <0x2 0x7 0x3 0x67>;
  27. status = "disabled";
  28. };
  29. };
  30.  
  31. clocks {
  32. #address-cells = <0x1>;
  33. #size-cells = <0x1>;
  34. ranges;
  35.  
  36. osc24M_clk {
  37. #clock-cells = <0x0>;
  38. compatible = "fixed-clock";
  39. clock-frequency = <0x16e3600>;
  40. clock-output-names = "osc24M";
  41. linux,phandle = <0xe>;
  42. phandle = <0xe>;
  43. };
  44.  
  45. osc32k_clk {
  46. #clock-cells = <0x0>;
  47. compatible = "fixed-clock";
  48. clock-frequency = <0x8000>;
  49. clock-output-names = "osc32k";
  50. linux,phandle = <0xf>;
  51. phandle = <0xf>;
  52. };
  53.  
  54. internal-osc-clk {
  55. #clock-cells = <0x0>;
  56. compatible = "fixed-clock";
  57. clock-frequency = <0xf42400>;
  58. clock-accuracy = <0x11e1a300>;
  59. clock-output-names = "iosc";
  60. linux,phandle = <0x21>;
  61. phandle = <0x21>;
  62. };
  63. };
  64.  
  65. display-engine {
  66. compatible = "allwinner,sun8i-h3-display-engine";
  67. allwinner,pipelines = <0x4>;
  68. status = "okay";
  69. };
  70.  
  71. soc {
  72. compatible = "simple-bus";
  73. #address-cells = <0x1>;
  74. #size-cells = <0x1>;
  75. ranges;
  76.  
  77. clock@1000000 {
  78. reg = <0x1000000 0x100000>;
  79. clocks = <0x3 0x65 0x3 0x30>;
  80. clock-names = "mod", "bus";
  81. resets = <0x3 0x22>;
  82. #clock-cells = <0x1>;
  83. #reset-cells = <0x1>;
  84. compatible = "allwinner,sun8i-h3-de2-clk";
  85. linux,phandle = <0x2>;
  86. phandle = <0x2>;
  87. };
  88.  
  89. mixer@1100000 {
  90. compatible = "allwinner,sun8i-h3-de2-mixer-0";
  91. reg = <0x1100000 0x100000>;
  92. clocks = <0x2 0x0 0x2 0x6>;
  93. clock-names = "bus", "mod";
  94. resets = <0x2 0x0>;
  95. linux,phandle = <0x4>;
  96. phandle = <0x4>;
  97.  
  98. ports {
  99. #address-cells = <0x1>;
  100. #size-cells = <0x0>;
  101.  
  102. port@1 {
  103. reg = <0x1>;
  104.  
  105. endpoint {
  106. remote-endpoint = <0x5>;
  107. linux,phandle = <0x6>;
  108. phandle = <0x6>;
  109. };
  110. };
  111. };
  112. };
  113.  
  114. syscon@1c00000 {
  115. compatible = "allwinner,sun8i-h3-system-controller", "syscon";
  116. reg = <0x1c00000 0x1000>;
  117. linux,phandle = <0x10>;
  118. phandle = <0x10>;
  119. };
  120.  
  121. dma-controller@1c02000 {
  122. compatible = "allwinner,sun8i-h3-dma";
  123. reg = <0x1c02000 0x1000>;
  124. interrupts = <0x0 0x32 0x4>;
  125. clocks = <0x3 0x15>;
  126. resets = <0x3 0x6>;
  127. #dma-cells = <0x1>;
  128. linux,phandle = <0x13>;
  129. phandle = <0x13>;
  130. };
  131.  
  132. lcd-controller@1c0c000 {
  133. compatible = "allwinner,sun8i-h3-tcon-tv", "allwinner,sun8i-a83t-tcon-tv";
  134. reg = <0x1c0c000 0x1000>;
  135. interrupts = <0x0 0x56 0x4>;
  136. clocks = <0x3 0x2a 0x3 0x66>;
  137. clock-names = "ahb", "tcon-ch1";
  138. resets = <0x3 0x1b>;
  139. reset-names = "lcd";
  140.  
  141. ports {
  142. #address-cells = <0x1>;
  143. #size-cells = <0x0>;
  144.  
  145. port@0 {
  146. reg = <0x0>;
  147.  
  148. endpoint {
  149. remote-endpoint = <0x6>;
  150. linux,phandle = <0x5>;
  151. phandle = <0x5>;
  152. };
  153. };
  154.  
  155. port@1 {
  156. #address-cells = <0x1>;
  157. #size-cells = <0x0>;
  158. reg = <0x1>;
  159.  
  160. endpoint@1 {
  161. reg = <0x1>;
  162. remote-endpoint = <0x7>;
  163. linux,phandle = <0x1f>;
  164. phandle = <0x1f>;
  165. };
  166. };
  167. };
  168. };
  169.  
  170. mmc@1c0f000 {
  171. reg = <0x1c0f000 0x1000>;
  172. pinctrl-names = "default";
  173. pinctrl-0 = <0x8>;
  174. resets = <0x3 0x7>;
  175. reset-names = "ahb";
  176. interrupts = <0x0 0x3c 0x4>;
  177. status = "okay";
  178. #address-cells = <0x1>;
  179. #size-cells = <0x0>;
  180. compatible = "allwinner,sun7i-a20-mmc";
  181. clocks = <0x3 0x16 0x3 0x47 0x3 0x49 0x3 0x48>;
  182. clock-names = "ahb", "mmc", "output", "sample";
  183. vmmc-supply = <0x9>;
  184. bus-width = <0x4>;
  185. cd-gpios = <0xa 0x5 0x6 0x1>;
  186. };
  187.  
  188. mmc@1c10000 {
  189. reg = <0x1c10000 0x1000>;
  190. pinctrl-names = "default";
  191. pinctrl-0 = <0xb>;
  192. resets = <0x3 0x8>;
  193. reset-names = "ahb";
  194. interrupts = <0x0 0x3d 0x4>;
  195. status = "disabled";
  196. #address-cells = <0x1>;
  197. #size-cells = <0x0>;
  198. compatible = "allwinner,sun7i-a20-mmc";
  199. clocks = <0x3 0x17 0x3 0x4a 0x3 0x4c 0x3 0x4b>;
  200. clock-names = "ahb", "mmc", "output", "sample";
  201. };
  202.  
  203. mmc@1c11000 {
  204. reg = <0x1c11000 0x1000>;
  205. resets = <0x3 0x9>;
  206. reset-names = "ahb";
  207. interrupts = <0x0 0x3e 0x4>;
  208. status = "disabled";
  209. #address-cells = <0x1>;
  210. #size-cells = <0x0>;
  211. compatible = "allwinner,sun7i-a20-mmc";
  212. clocks = <0x3 0x18 0x3 0x4d 0x3 0x4f 0x3 0x4e>;
  213. clock-names = "ahb", "mmc", "output", "sample";
  214. };
  215.  
  216. usb@1c19000 {
  217. compatible = "allwinner,sun8i-h3-musb";
  218. reg = <0x1c19000 0x400>;
  219. clocks = <0x3 0x20>;
  220. resets = <0x3 0x11>;
  221. interrupts = <0x0 0x47 0x4>;
  222. interrupt-names = "mc";
  223. phys = <0xc 0x0>;
  224. phy-names = "usb";
  225. extcon = <0xc 0x0>;
  226. status = "okay";
  227. dr_mode = "otg";
  228. };
  229.  
  230. phy@1c19400 {
  231. compatible = "allwinner,sun8i-h3-usb-phy";
  232. reg = <0x1c19400 0x2c 0x1c1a800 0x4 0x1c1b800 0x4 0x1c1c800 0x4 0x1c1d800 0x4>;
  233. reg-names = "phy_ctrl", "pmu0", "pmu1", "pmu2", "pmu3";
  234. clocks = <0x3 0x58 0x3 0x59 0x3 0x5a 0x3 0x5b>;
  235. clock-names = "usb0_phy", "usb1_phy", "usb2_phy", "usb3_phy";
  236. resets = <0x3 0x0 0x3 0x1 0x3 0x2 0x3 0x3>;
  237. reset-names = "usb0_reset", "usb1_reset", "usb2_reset", "usb3_reset";
  238. status = "okay";
  239. #phy-cells = <0x1>;
  240. usb0_id_det-gpios = <0xa 0x6 0xc 0x0>;
  241. usb0_vbus-supply = <0xd>;
  242. linux,phandle = <0xc>;
  243. phandle = <0xc>;
  244. };
  245.  
  246. usb@1c1a000 {
  247. compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
  248. reg = <0x1c1a000 0x100>;
  249. interrupts = <0x0 0x48 0x4>;
  250. clocks = <0x3 0x21 0x3 0x25>;
  251. resets = <0x3 0x12 0x3 0x16>;
  252. status = "okay";
  253. };
  254.  
  255. usb@1c1a400 {
  256. compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
  257. reg = <0x1c1a400 0x100>;
  258. interrupts = <0x0 0x49 0x4>;
  259. clocks = <0x3 0x21 0x3 0x25 0x3 0x5c>;
  260. resets = <0x3 0x12 0x3 0x16>;
  261. status = "okay";
  262. };
  263.  
  264. usb@1c1b000 {
  265. compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
  266. reg = <0x1c1b000 0x100>;
  267. interrupts = <0x0 0x4a 0x4>;
  268. clocks = <0x3 0x22 0x3 0x26>;
  269. resets = <0x3 0x13 0x3 0x17>;
  270. phys = <0xc 0x1>;
  271. phy-names = "usb";
  272. status = "okay";
  273. };
  274.  
  275. usb@1c1b400 {
  276. compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
  277. reg = <0x1c1b400 0x100>;
  278. interrupts = <0x0 0x4b 0x4>;
  279. clocks = <0x3 0x22 0x3 0x26 0x3 0x5d>;
  280. resets = <0x3 0x13 0x3 0x17>;
  281. phys = <0xc 0x1>;
  282. phy-names = "usb";
  283. status = "okay";
  284. };
  285.  
  286. usb@1c1c000 {
  287. compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
  288. reg = <0x1c1c000 0x100>;
  289. interrupts = <0x0 0x4c 0x4>;
  290. clocks = <0x3 0x23 0x3 0x27>;
  291. resets = <0x3 0x14 0x3 0x18>;
  292. phys = <0xc 0x2>;
  293. phy-names = "usb";
  294. status = "okay";
  295. };
  296.  
  297. usb@1c1c400 {
  298. compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
  299. reg = <0x1c1c400 0x100>;
  300. interrupts = <0x0 0x4d 0x4>;
  301. clocks = <0x3 0x23 0x3 0x27 0x3 0x5e>;
  302. resets = <0x3 0x14 0x3 0x18>;
  303. phys = <0xc 0x2>;
  304. phy-names = "usb";
  305. status = "okay";
  306. };
  307.  
  308. usb@1c1d000 {
  309. compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
  310. reg = <0x1c1d000 0x100>;
  311. interrupts = <0x0 0x4e 0x4>;
  312. clocks = <0x3 0x24 0x3 0x28>;
  313. resets = <0x3 0x15 0x3 0x19>;
  314. phys = <0xc 0x3>;
  315. phy-names = "usb";
  316. status = "okay";
  317. };
  318.  
  319. usb@1c1d400 {
  320. compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
  321. reg = <0x1c1d400 0x100>;
  322. interrupts = <0x0 0x4f 0x4>;
  323. clocks = <0x3 0x24 0x3 0x28 0x3 0x5f>;
  324. resets = <0x3 0x15 0x3 0x19>;
  325. phys = <0xc 0x3>;
  326. phy-names = "usb";
  327. status = "okay";
  328. };
  329.  
  330. clock@1c20000 {
  331. reg = <0x1c20000 0x400>;
  332. clocks = <0xe 0xf>;
  333. clock-names = "hosc", "losc";
  334. #clock-cells = <0x1>;
  335. #reset-cells = <0x1>;
  336. compatible = "allwinner,sun8i-h3-ccu";
  337. linux,phandle = <0x3>;
  338. phandle = <0x3>;
  339. };
  340.  
  341. pinctrl@1c20800 {
  342. reg = <0x1c20800 0x400>;
  343. interrupts = <0x0 0xb 0x4 0x0 0x11 0x4>;
  344. clocks = <0x3 0x36 0xe 0xf>;
  345. clock-names = "apb", "hosc", "losc";
  346. gpio-controller;
  347. #gpio-cells = <0x3>;
  348. interrupt-controller;
  349. #interrupt-cells = <0x3>;
  350. compatible = "allwinner,sun8i-h3-pinctrl";
  351. linux,phandle = <0xa>;
  352. phandle = <0xa>;
  353.  
  354. emac0 {
  355. pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD13", "PD15", "PD16", "PD17";
  356. function = "emac";
  357. drive-strength = <0x28>;
  358. };
  359.  
  360. i2c0 {
  361. pins = "PA11", "PA12";
  362. function = "i2c0";
  363. linux,phandle = <0x1b>;
  364. phandle = <0x1b>;
  365. };
  366.  
  367. i2c1 {
  368. pins = "PA18", "PA19";
  369. function = "i2c1";
  370. linux,phandle = <0x1c>;
  371. phandle = <0x1c>;
  372. };
  373.  
  374. i2c2 {
  375. pins = "PE12", "PE13";
  376. function = "i2c2";
  377. linux,phandle = <0x1d>;
  378. phandle = <0x1d>;
  379. };
  380.  
  381. mmc0 {
  382. pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
  383. function = "mmc0";
  384. drive-strength = <0x1e>;
  385. bias-pull-up;
  386. linux,phandle = <0x8>;
  387. phandle = <0x8>;
  388. };
  389.  
  390. mmc1 {
  391. pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
  392. function = "mmc1";
  393. drive-strength = <0x1e>;
  394. bias-pull-up;
  395. linux,phandle = <0xb>;
  396. phandle = <0xb>;
  397. };
  398.  
  399. mmc2_8bit {
  400. pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16";
  401. function = "mmc2";
  402. drive-strength = <0x1e>;
  403. bias-pull-up;
  404. };
  405.  
  406. spdif {
  407. pins = "PA17";
  408. function = "spdif";
  409. };
  410.  
  411. spi0 {
  412. pins = "PC0", "PC1", "PC2", "PC3";
  413. function = "spi0";
  414. linux,phandle = <0x14>;
  415. phandle = <0x14>;
  416. };
  417.  
  418. spi1 {
  419. pins = "PA15", "PA16", "PA14", "PA13";
  420. function = "spi1";
  421. linux,phandle = <0x15>;
  422. phandle = <0x15>;
  423. };
  424.  
  425. uart0 {
  426. pins = "PA4", "PA5";
  427. function = "uart0";
  428. linux,phandle = <0x17>;
  429. phandle = <0x17>;
  430. };
  431.  
  432. uart1 {
  433. pins = "PG6", "PG7";
  434. function = "uart1";
  435. linux,phandle = <0x18>;
  436. phandle = <0x18>;
  437. };
  438.  
  439. uart1_rts_cts {
  440. pins = "PG8", "PG9";
  441. function = "uart1";
  442. };
  443.  
  444. uart2 {
  445. pins = "PA0", "PA1";
  446. function = "uart2";
  447. linux,phandle = <0x19>;
  448. phandle = <0x19>;
  449. };
  450.  
  451. uart3 {
  452. pins = "PA13", "PA14";
  453. function = "uart3";
  454. linux,phandle = <0x1a>;
  455. phandle = <0x1a>;
  456. };
  457.  
  458. uart3_rts_cts {
  459. pins = "PA15", "PA16";
  460. function = "uart3";
  461. };
  462.  
  463. led_pins {
  464. pins = "PA15";
  465. function = "gpio_out";
  466. linux,phandle = <0x29>;
  467. phandle = <0x29>;
  468. };
  469. };
  470.  
  471. timer@1c20c00 {
  472. compatible = "allwinner,sun4i-a10-timer";
  473. reg = <0x1c20c00 0xa0>;
  474. interrupts = <0x0 0x12 0x4 0x0 0x13 0x4>;
  475. clocks = <0xe>;
  476. };
  477.  
  478. ethernet@1c30000 {
  479. compatible = "allwinner,sun8i-h3-emac";
  480. syscon = <0x10>;
  481. reg = <0x1c30000 0x10000>;
  482. interrupts = <0x0 0x52 0x4>;
  483. interrupt-names = "macirq";
  484. resets = <0x3 0xc>;
  485. reset-names = "stmmaceth";
  486. clocks = <0x3 0x1b>;
  487. clock-names = "stmmaceth";
  488. #address-cells = <0x1>;
  489. #size-cells = <0x0>;
  490. status = "okay";
  491. phy-handle = <0x11>;
  492. phy-mode = "mii";
  493. allwinner,leds-active-low;
  494.  
  495. mdio {
  496. #address-cells = <0x1>;
  497. #size-cells = <0x0>;
  498. compatible = "snps,dwmac-mdio";
  499. linux,phandle = <0x12>;
  500. phandle = <0x12>;
  501. };
  502.  
  503. mdio-mux {
  504. compatible = "allwinner,sun8i-h3-mdio-mux";
  505. #address-cells = <0x1>;
  506. #size-cells = <0x0>;
  507. mdio-parent-bus = <0x12>;
  508.  
  509. mdio@1 {
  510. compatible = "allwinner,sun8i-h3-mdio-internal";
  511. reg = <0x1>;
  512. #address-cells = <0x1>;
  513. #size-cells = <0x0>;
  514.  
  515. ethernet-phy@1 {
  516. compatible = "ethernet-phy-ieee802.3-c22";
  517. reg = <0x1>;
  518. clocks = <0x3 0x43>;
  519. resets = <0x3 0x27>;
  520. linux,phandle = <0x11>;
  521. phandle = <0x11>;
  522. };
  523. };
  524.  
  525. mdio@2 {
  526. reg = <0x2>;
  527. #address-cells = <0x1>;
  528. #size-cells = <0x0>;
  529. };
  530. };
  531. };
  532.  
  533. spi@1c68000 {
  534. compatible = "allwinner,sun8i-h3-spi";
  535. reg = <0x1c68000 0x1000>;
  536. interrupts = <0x0 0x41 0x4>;
  537. clocks = <0x3 0x1e 0x3 0x52>;
  538. clock-names = "ahb", "mod";
  539. dmas = <0x13 0x17 0x13 0x17>;
  540. dma-names = "rx", "tx";
  541. pinctrl-names = "default";
  542. pinctrl-0 = <0x14>;
  543. resets = <0x3 0xf>;
  544. status = "disabled";
  545. #address-cells = <0x1>;
  546. #size-cells = <0x0>;
  547. };
  548.  
  549. spi@1c69000 {
  550. compatible = "allwinner,sun8i-h3-spi";
  551. reg = <0x1c69000 0x1000>;
  552. interrupts = <0x0 0x42 0x4>;
  553. clocks = <0x3 0x1f 0x3 0x53>;
  554. clock-names = "ahb", "mod";
  555. dmas = <0x13 0x18 0x13 0x18>;
  556. dma-names = "rx", "tx";
  557. pinctrl-names = "default";
  558. pinctrl-0 = <0x15>;
  559. resets = <0x3 0x10>;
  560. status = "disabled";
  561. #address-cells = <0x1>;
  562. #size-cells = <0x0>;
  563. };
  564.  
  565. watchdog@1c20ca0 {
  566. compatible = "allwinner,sun6i-a31-wdt";
  567. reg = <0x1c20ca0 0x20>;
  568. interrupts = <0x0 0x19 0x4>;
  569. };
  570.  
  571. spdif@1c21000 {
  572. #sound-dai-cells = <0x0>;
  573. compatible = "allwinner,sun8i-h3-spdif";
  574. reg = <0x1c21000 0x400>;
  575. interrupts = <0x0 0xc 0x4>;
  576. clocks = <0x3 0x35 0x3 0x57>;
  577. resets = <0x3 0x29>;
  578. clock-names = "apb", "spdif";
  579. dmas = <0x13 0x2>;
  580. dma-names = "tx";
  581. status = "disabled";
  582. };
  583.  
  584. pwm@1c21400 {
  585. compatible = "allwinner,sun8i-h3-pwm";
  586. reg = <0x1c21400 0x8>;
  587. clocks = <0xe>;
  588. #pwm-cells = <0x3>;
  589. status = "disabled";
  590. };
  591.  
  592. i2s@1c22000 {
  593. #sound-dai-cells = <0x0>;
  594. compatible = "allwinner,sun8i-h3-i2s";
  595. reg = <0x1c22000 0x400>;
  596. interrupts = <0x0 0xd 0x4>;
  597. clocks = <0x3 0x38 0x3 0x54>;
  598. clock-names = "apb", "mod";
  599. dmas = <0x13 0x3 0x13 0x3>;
  600. resets = <0x3 0x2b>;
  601. dma-names = "rx", "tx";
  602. status = "disabled";
  603. };
  604.  
  605. i2s@1c22400 {
  606. #sound-dai-cells = <0x0>;
  607. compatible = "allwinner,sun8i-h3-i2s";
  608. reg = <0x1c22400 0x400>;
  609. interrupts = <0x0 0xe 0x4>;
  610. clocks = <0x3 0x39 0x3 0x55>;
  611. clock-names = "apb", "mod";
  612. dmas = <0x13 0x4 0x13 0x4>;
  613. resets = <0x3 0x2c>;
  614. dma-names = "rx", "tx";
  615. status = "disabled";
  616. };
  617.  
  618. codec@1c22c00 {
  619. #sound-dai-cells = <0x0>;
  620. compatible = "allwinner,sun8i-h3-codec";
  621. reg = <0x1c22c00 0x400>;
  622. interrupts = <0x0 0x1d 0x4>;
  623. clocks = <0x3 0x34 0x3 0x6d>;
  624. clock-names = "apb", "codec";
  625. resets = <0x3 0x28>;
  626. dmas = <0x13 0xf 0x13 0xf>;
  627. dma-names = "rx", "tx";
  628. allwinner,codec-analog-controls = <0x16>;
  629. status = "okay";
  630. allwinner,audio-routing = "Line Out", "LINEOUT", "MIC1", "Mic", "Mic", "MBIAS";
  631. };
  632.  
  633. serial@1c28000 {
  634. compatible = "snps,dw-apb-uart";
  635. reg = <0x1c28000 0x400>;
  636. interrupts = <0x0 0x0 0x4>;
  637. reg-shift = <0x2>;
  638. reg-io-width = <0x4>;
  639. clocks = <0x3 0x3e>;
  640. resets = <0x3 0x31>;
  641. dmas = <0x13 0x6 0x13 0x6>;
  642. dma-names = "rx", "tx";
  643. status = "okay";
  644. pinctrl-names = "default";
  645. pinctrl-0 = <0x17>;
  646. };
  647.  
  648. serial@1c28400 {
  649. compatible = "snps,dw-apb-uart";
  650. reg = <0x1c28400 0x400>;
  651. interrupts = <0x0 0x1 0x4>;
  652. reg-shift = <0x2>;
  653. reg-io-width = <0x4>;
  654. clocks = <0x3 0x3f>;
  655. resets = <0x3 0x32>;
  656. dmas = <0x13 0x7 0x13 0x7>;
  657. dma-names = "rx", "tx";
  658. status = "disabled";
  659. pinctrl-names = "default";
  660. pinctrl-0 = <0x18>;
  661. };
  662.  
  663. serial@1c28800 {
  664. compatible = "snps,dw-apb-uart";
  665. reg = <0x1c28800 0x400>;
  666. interrupts = <0x0 0x2 0x4>;
  667. reg-shift = <0x2>;
  668. reg-io-width = <0x4>;
  669. clocks = <0x3 0x40>;
  670. resets = <0x3 0x33>;
  671. dmas = <0x13 0x8 0x13 0x8>;
  672. dma-names = "rx", "tx";
  673. status = "disabled";
  674. pinctrl-names = "default";
  675. pinctrl-0 = <0x19>;
  676. };
  677.  
  678. serial@1c28c00 {
  679. compatible = "snps,dw-apb-uart";
  680. reg = <0x1c28c00 0x400>;
  681. interrupts = <0x0 0x3 0x4>;
  682. reg-shift = <0x2>;
  683. reg-io-width = <0x4>;
  684. clocks = <0x3 0x41>;
  685. resets = <0x3 0x34>;
  686. dmas = <0x13 0x9 0x13 0x9>;
  687. dma-names = "rx", "tx";
  688. status = "disabled";
  689. pinctrl-names = "default";
  690. pinctrl-0 = <0x1a>;
  691. };
  692.  
  693. i2c@1c2ac00 {
  694. compatible = "allwinner,sun6i-a31-i2c";
  695. reg = <0x1c2ac00 0x400>;
  696. interrupts = <0x0 0x6 0x4>;
  697. clocks = <0x3 0x3b>;
  698. resets = <0x3 0x2e>;
  699. pinctrl-names = "default";
  700. pinctrl-0 = <0x1b>;
  701. status = "disabled";
  702. #address-cells = <0x1>;
  703. #size-cells = <0x0>;
  704. };
  705.  
  706. i2c@1c2b000 {
  707. compatible = "allwinner,sun6i-a31-i2c";
  708. reg = <0x1c2b000 0x400>;
  709. interrupts = <0x0 0x7 0x4>;
  710. clocks = <0x3 0x3c>;
  711. resets = <0x3 0x2f>;
  712. pinctrl-names = "default";
  713. pinctrl-0 = <0x1c>;
  714. status = "disabled";
  715. #address-cells = <0x1>;
  716. #size-cells = <0x0>;
  717. };
  718.  
  719. i2c@1c2b400 {
  720. compatible = "allwinner,sun6i-a31-i2c";
  721. reg = <0x1c2b400 0x400>;
  722. interrupts = <0x0 0x8 0x4>;
  723. clocks = <0x3 0x3d>;
  724. resets = <0x3 0x30>;
  725. pinctrl-names = "default";
  726. pinctrl-0 = <0x1d>;
  727. status = "disabled";
  728. #address-cells = <0x1>;
  729. #size-cells = <0x0>;
  730. };
  731.  
  732. interrupt-controller@1c81000 {
  733. compatible = "arm,gic-400";
  734. reg = <0x1c81000 0x1000 0x1c82000 0x2000 0x1c84000 0x2000 0x1c86000 0x2000>;
  735. interrupt-controller;
  736. #interrupt-cells = <0x3>;
  737. interrupts = <0x1 0x9 0xf04>;
  738. linux,phandle = <0x1>;
  739. phandle = <0x1>;
  740. };
  741.  
  742. hdmi@1ee0000 {
  743. compatible = "allwinner,sun8i-h3-dw-hdmi", "allwinner,sun8i-a83t-dw-hdmi";
  744. reg = <0x1ee0000 0x10000>;
  745. reg-io-width = <0x1>;
  746. interrupts = <0x0 0x58 0x4>;
  747. clocks = <0x3 0x2f 0x3 0x70 0x3 0x6f>;
  748. clock-names = "iahb", "isfr", "tmds";
  749. resets = <0x3 0x21>;
  750. reset-names = "ctrl";
  751. phys = <0x1e>;
  752. phy-names = "hdmi-phy";
  753. status = "okay";
  754.  
  755. ports {
  756. #address-cells = <0x1>;
  757. #size-cells = <0x0>;
  758.  
  759. port@0 {
  760. reg = <0x0>;
  761.  
  762. endpoint {
  763. remote-endpoint = <0x1f>;
  764. linux,phandle = <0x7>;
  765. phandle = <0x7>;
  766. };
  767. };
  768.  
  769. port@1 {
  770. reg = <0x1>;
  771.  
  772. endpoint {
  773. remote-endpoint = <0x20>;
  774. linux,phandle = <0x28>;
  775. phandle = <0x28>;
  776. };
  777. };
  778. };
  779. };
  780.  
  781. hdmi-phy@1ef0000 {
  782. compatible = "allwinner,sun8i-h3-hdmi-phy";
  783. reg = <0x1ef0000 0x10000>;
  784. clocks = <0x3 0x2f 0x3 0x70 0x3 0x6>;
  785. clock-names = "bus", "mod", "pll-0";
  786. resets = <0x3 0x20>;
  787. reset-names = "phy";
  788. #phy-cells = <0x0>;
  789. linux,phandle = <0x1e>;
  790. phandle = <0x1e>;
  791. };
  792.  
  793. rtc@1f00000 {
  794. compatible = "allwinner,sun6i-a31-rtc";
  795. reg = <0x1f00000 0x54>;
  796. interrupts = <0x0 0x28 0x4 0x0 0x29 0x4>;
  797. };
  798.  
  799. clock@1f01400 {
  800. compatible = "allwinner,sun8i-h3-r-ccu";
  801. reg = <0x1f01400 0x100>;
  802. clocks = <0xe 0xf 0x21 0x3 0x9>;
  803. clock-names = "hosc", "losc", "iosc", "pll-periph";
  804. #clock-cells = <0x1>;
  805. #reset-cells = <0x1>;
  806. linux,phandle = <0x22>;
  807. phandle = <0x22>;
  808. };
  809.  
  810. codec-analog@1f015c0 {
  811. compatible = "allwinner,sun8i-h3-codec-analog";
  812. reg = <0x1f015c0 0x4>;
  813. linux,phandle = <0x16>;
  814. phandle = <0x16>;
  815. };
  816.  
  817. ir@1f02000 {
  818. compatible = "allwinner,sun5i-a13-ir";
  819. clocks = <0x22 0x4 0x22 0xb>;
  820. clock-names = "apb", "ir";
  821. resets = <0x22 0x0>;
  822. interrupts = <0x0 0x25 0x4>;
  823. reg = <0x1f02000 0x40>;
  824. status = "okay";
  825. pinctrl-names = "default";
  826. pinctrl-0 = <0x23>;
  827. };
  828.  
  829. i2c@1f02400 {
  830. compatible = "allwinner,sun6i-a31-i2c";
  831. reg = <0x1f02400 0x400>;
  832. interrupts = <0x0 0x2c 0x4>;
  833. pinctrl-names = "default";
  834. pinctrl-0 = <0x24>;
  835. clocks = <0x22 0x9>;
  836. resets = <0x22 0x5>;
  837. status = "okay";
  838. #address-cells = <0x1>;
  839. #size-cells = <0x0>;
  840.  
  841. regulator@65 {
  842. compatible = "silergy,sy8106a";
  843. reg = <0x65>;
  844. regulator-name = "vdd-cpux";
  845. silergy,fixed-microvolt = <0x124f80>;
  846. regulator-min-microvolt = <0xf4240>;
  847. regulator-max-microvolt = <0x13d620>;
  848. regulator-boot-on;
  849. regulator-always-on;
  850. linux,phandle = <0x26>;
  851. phandle = <0x26>;
  852. };
  853. };
  854.  
  855. pinctrl@1f02c00 {
  856. compatible = "allwinner,sun8i-h3-r-pinctrl";
  857. reg = <0x1f02c00 0x400>;
  858. interrupts = <0x0 0x2d 0x4>;
  859. clocks = <0x22 0x3 0xe 0xf>;
  860. clock-names = "apb", "hosc", "losc";
  861. gpio-controller;
  862. #gpio-cells = <0x3>;
  863. interrupt-controller;
  864. #interrupt-cells = <0x3>;
  865. linux,phandle = <0x27>;
  866. phandle = <0x27>;
  867.  
  868. ir {
  869. pins = "PL11";
  870. function = "s_cir_rx";
  871. linux,phandle = <0x23>;
  872. phandle = <0x23>;
  873. };
  874.  
  875. r-i2c {
  876. pins = "PL0", "PL1";
  877. function = "s_i2c";
  878. linux,phandle = <0x24>;
  879. phandle = <0x24>;
  880. };
  881.  
  882. led_pins {
  883. pins = "PL10";
  884. function = "gpio_out";
  885. linux,phandle = <0x2a>;
  886. phandle = <0x2a>;
  887. };
  888.  
  889. key_pins {
  890. pins = "PL3";
  891. function = "gpio_in";
  892. linux,phandle = <0x2b>;
  893. phandle = <0x2b>;
  894. };
  895. };
  896.  
  897. gpu@1c40000 {
  898. compatible = "allwinner,sun8i-h3-mali", "arm,mali-400";
  899. reg = <0x1c40000 0x10000>;
  900. interrupts = <0x0 0x61 0x4 0x0 0x62 0x4 0x0 0x63 0x4 0x0 0x64 0x4 0x0 0x66 0x4 0x0 0x67 0x4 0x0 0x65 0x4>;
  901. interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", "ppmmu1", "pmu";
  902. clocks = <0x3 0x31 0x3 0x72>;
  903. clock-names = "bus", "core";
  904. resets = <0x3 0x23>;
  905. assigned-clocks = <0x3 0x72>;
  906. assigned-clock-rates = <0x16e36000>;
  907. };
  908. };
  909.  
  910. opp_table0 {
  911. compatible = "operating-points-v2";
  912. opp-shared;
  913. linux,phandle = <0x25>;
  914. phandle = <0x25>;
  915.  
  916. opp@648000000 {
  917. opp-hz = <0x0 0x269fb200>;
  918. opp-microvolt = <0xfde80 0xfde80 0x13d620>;
  919. clock-latency-ns = <0x3b9b0>;
  920. };
  921.  
  922. opp@816000000 {
  923. opp-hz = <0x0 0x30a32c00>;
  924. opp-microvolt = <0x10c8e0 0x10c8e0 0x13d620>;
  925. clock-latency-ns = <0x3b9b0>;
  926. };
  927.  
  928. opp@1008000000 {
  929. opp-hz = <0x0 0x3c14dc00>;
  930. opp-microvolt = <0x124f80 0x124f80 0x13d620>;
  931. clock-latency-ns = <0x3b9b0>;
  932. };
  933. };
  934.  
  935. cpus {
  936. #address-cells = <0x1>;
  937. #size-cells = <0x0>;
  938.  
  939. cpu@0 {
  940. compatible = "arm,cortex-a7";
  941. device_type = "cpu";
  942. reg = <0x0>;
  943. clocks = <0x3 0xe>;
  944. clock-names = "cpu";
  945. operating-points-v2 = <0x25>;
  946. #cooling-cells = <0x2>;
  947. cpu-supply = <0x26>;
  948. };
  949.  
  950. cpu@1 {
  951. compatible = "arm,cortex-a7";
  952. device_type = "cpu";
  953. reg = <0x1>;
  954. operating-points-v2 = <0x25>;
  955. };
  956.  
  957. cpu@2 {
  958. compatible = "arm,cortex-a7";
  959. device_type = "cpu";
  960. reg = <0x2>;
  961. operating-points-v2 = <0x25>;
  962. };
  963.  
  964. cpu@3 {
  965. compatible = "arm,cortex-a7";
  966. device_type = "cpu";
  967. reg = <0x3>;
  968. operating-points-v2 = <0x25>;
  969. };
  970. };
  971.  
  972. timer {
  973. compatible = "arm,armv7-timer";
  974. interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
  975. };
  976.  
  977. ahci-5v {
  978. compatible = "regulator-fixed";
  979. regulator-name = "ahci-5v";
  980. regulator-min-microvolt = <0x4c4b40>;
  981. regulator-max-microvolt = <0x4c4b40>;
  982. regulator-boot-on;
  983. enable-active-high;
  984. gpio = <0xa 0x1 0x8 0x0>;
  985. status = "disabled";
  986. };
  987.  
  988. usb0-vbus {
  989. compatible = "regulator-fixed";
  990. regulator-name = "usb0-vbus";
  991. regulator-min-microvolt = <0x4c4b40>;
  992. regulator-max-microvolt = <0x4c4b40>;
  993. enable-active-high;
  994. gpio = <0x27 0x0 0x2 0x0>;
  995. status = "okay";
  996. linux,phandle = <0xd>;
  997. phandle = <0xd>;
  998. };
  999.  
  1000. usb1-vbus {
  1001. compatible = "regulator-fixed";
  1002. regulator-name = "usb1-vbus";
  1003. regulator-min-microvolt = <0x4c4b40>;
  1004. regulator-max-microvolt = <0x4c4b40>;
  1005. regulator-boot-on;
  1006. enable-active-high;
  1007. gpio = <0xa 0x7 0x6 0x0>;
  1008. status = "disabled";
  1009. };
  1010.  
  1011. usb2-vbus {
  1012. compatible = "regulator-fixed";
  1013. regulator-name = "usb2-vbus";
  1014. regulator-min-microvolt = <0x4c4b40>;
  1015. regulator-max-microvolt = <0x4c4b40>;
  1016. regulator-boot-on;
  1017. enable-active-high;
  1018. gpio = <0xa 0x7 0x3 0x0>;
  1019. status = "disabled";
  1020. };
  1021.  
  1022. vcc3v0 {
  1023. compatible = "regulator-fixed";
  1024. regulator-name = "vcc3v0";
  1025. regulator-min-microvolt = <0x2dc6c0>;
  1026. regulator-max-microvolt = <0x2dc6c0>;
  1027. };
  1028.  
  1029. vcc3v3 {
  1030. compatible = "regulator-fixed";
  1031. regulator-name = "vcc3v3";
  1032. regulator-min-microvolt = <0x325aa0>;
  1033. regulator-max-microvolt = <0x325aa0>;
  1034. linux,phandle = <0x9>;
  1035. phandle = <0x9>;
  1036. };
  1037.  
  1038. vcc5v0 {
  1039. compatible = "regulator-fixed";
  1040. regulator-name = "vcc5v0";
  1041. regulator-min-microvolt = <0x4c4b40>;
  1042. regulator-max-microvolt = <0x4c4b40>;
  1043. };
  1044.  
  1045. aliases {
  1046. ethernet0 = "/soc/ethernet@1c30000";
  1047. serial0 = "/soc/serial@1c28000";
  1048. };
  1049.  
  1050. connector {
  1051. compatible = "hdmi-connector";
  1052. type = [61 00];
  1053.  
  1054. port {
  1055.  
  1056. endpoint {
  1057. remote-endpoint = <0x28>;
  1058. linux,phandle = <0x20>;
  1059. phandle = <0x20>;
  1060. };
  1061. };
  1062. };
  1063.  
  1064. leds {
  1065. compatible = "gpio-leds";
  1066. pinctrl-names = "default";
  1067. pinctrl-0 = <0x29 0x2a>;
  1068.  
  1069. pwr_led {
  1070. label = "orangepi:green:pwr";
  1071. gpios = <0x27 0x0 0xa 0x0>;
  1072. default-state = "on";
  1073. };
  1074.  
  1075. status_led {
  1076. label = "orangepi:red:status";
  1077. gpios = <0xa 0x0 0xf 0x0>;
  1078. };
  1079. };
  1080.  
  1081. r_gpio_keys {
  1082. compatible = "gpio-keys";
  1083. pinctrl-names = "default";
  1084. pinctrl-0 = <0x2b>;
  1085.  
  1086. sw4 {
  1087. label = "sw4";
  1088. linux,code = <0x100>;
  1089. gpios = <0x27 0x0 0x3 0x1>;
  1090. };
  1091. };
  1092. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement