meson-gxl.dtsi 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2016 Endless Computers, Inc.
  4. * Author: Carlo Caione <carlo@endlessm.com>
  5. */
  6. #include "meson-gx.dtsi"
  7. #include <dt-bindings/clock/gxbb-clkc.h>
  8. #include <dt-bindings/clock/gxbb-aoclkc.h>
  9. #include <dt-bindings/gpio/meson-gxl-gpio.h>
  10. #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
  11. / {
  12. compatible = "amlogic,meson-gxl";
  13. soc {
  14. usb0: usb@c9000000 {
  15. status = "disabled";
  16. compatible = "amlogic,meson-gxl-dwc3";
  17. #address-cells = <2>;
  18. #size-cells = <2>;
  19. ranges;
  20. clocks = <&clkc CLKID_USB>;
  21. clock-names = "usb_general";
  22. resets = <&reset RESET_USB_OTG>;
  23. reset-names = "usb_otg";
  24. dwc3: dwc3@c9000000 {
  25. compatible = "snps,dwc3";
  26. reg = <0x0 0xc9000000 0x0 0x100000>;
  27. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  28. dr_mode = "host";
  29. maximum-speed = "high-speed";
  30. snps,dis_u2_susphy_quirk;
  31. phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>;
  32. };
  33. };
  34. };
  35. };
  36. &apb {
  37. usb2_phy0: phy@78000 {
  38. compatible = "amlogic,meson-gxl-usb2-phy";
  39. #phy-cells = <0>;
  40. reg = <0x0 0x78000 0x0 0x20>;
  41. clocks = <&clkc CLKID_USB>;
  42. clock-names = "phy";
  43. resets = <&reset RESET_USB_OTG>;
  44. reset-names = "phy";
  45. status = "okay";
  46. };
  47. usb2_phy1: phy@78020 {
  48. compatible = "amlogic,meson-gxl-usb2-phy";
  49. #phy-cells = <0>;
  50. reg = <0x0 0x78020 0x0 0x20>;
  51. clocks = <&clkc CLKID_USB>;
  52. clock-names = "phy";
  53. resets = <&reset RESET_USB_OTG>;
  54. reset-names = "phy";
  55. status = "okay";
  56. };
  57. usb3_phy: phy@78080 {
  58. compatible = "amlogic,meson-gxl-usb3-phy";
  59. #phy-cells = <0>;
  60. reg = <0x0 0x78080 0x0 0x20>;
  61. interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  62. clocks = <&clkc CLKID_USB>, <&clkc_AO CLKID_AO_CEC_32K>;
  63. clock-names = "phy", "peripheral";
  64. resets = <&reset RESET_USB_OTG>, <&reset RESET_USB_OTG>;
  65. reset-names = "phy", "peripheral";
  66. status = "okay";
  67. };
  68. };
  69. &ethmac {
  70. reg = <0x0 0xc9410000 0x0 0x10000
  71. 0x0 0xc8834540 0x0 0x4>;
  72. clocks = <&clkc CLKID_ETH>,
  73. <&clkc CLKID_FCLK_DIV2>,
  74. <&clkc CLKID_MPLL2>;
  75. clock-names = "stmmaceth", "clkin0", "clkin1";
  76. mdio0: mdio {
  77. #address-cells = <1>;
  78. #size-cells = <0>;
  79. compatible = "snps,dwmac-mdio";
  80. };
  81. };
  82. &aobus {
  83. pinctrl_aobus: pinctrl@14 {
  84. compatible = "amlogic,meson-gxl-aobus-pinctrl";
  85. #address-cells = <2>;
  86. #size-cells = <2>;
  87. ranges;
  88. gpio_ao: bank@14 {
  89. reg = <0x0 0x00014 0x0 0x8>,
  90. <0x0 0x0002c 0x0 0x4>,
  91. <0x0 0x00024 0x0 0x8>;
  92. reg-names = "mux", "pull", "gpio";
  93. gpio-controller;
  94. #gpio-cells = <2>;
  95. gpio-ranges = <&pinctrl_aobus 0 0 14>;
  96. };
  97. uart_ao_a_pins: uart_ao_a {
  98. mux {
  99. groups = "uart_tx_ao_a", "uart_rx_ao_a";
  100. function = "uart_ao";
  101. };
  102. };
  103. uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
  104. mux {
  105. groups = "uart_cts_ao_a",
  106. "uart_rts_ao_a";
  107. function = "uart_ao";
  108. };
  109. };
  110. uart_ao_b_pins: uart_ao_b {
  111. mux {
  112. groups = "uart_tx_ao_b", "uart_rx_ao_b";
  113. function = "uart_ao_b";
  114. };
  115. };
  116. uart_ao_b_0_1_pins: uart_ao_b_0_1 {
  117. mux {
  118. groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1";
  119. function = "uart_ao_b";
  120. };
  121. };
  122. uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
  123. mux {
  124. groups = "uart_cts_ao_b",
  125. "uart_rts_ao_b";
  126. function = "uart_ao_b";
  127. };
  128. };
  129. remote_input_ao_pins: remote_input_ao {
  130. mux {
  131. groups = "remote_input_ao";
  132. function = "remote_input_ao";
  133. };
  134. };
  135. i2c_ao_pins: i2c_ao {
  136. mux {
  137. groups = "i2c_sck_ao",
  138. "i2c_sda_ao";
  139. function = "i2c_ao";
  140. };
  141. };
  142. pwm_ao_a_3_pins: pwm_ao_a_3 {
  143. mux {
  144. groups = "pwm_ao_a_3";
  145. function = "pwm_ao_a";
  146. };
  147. };
  148. pwm_ao_a_8_pins: pwm_ao_a_8 {
  149. mux {
  150. groups = "pwm_ao_a_8";
  151. function = "pwm_ao_a";
  152. };
  153. };
  154. pwm_ao_b_pins: pwm_ao_b {
  155. mux {
  156. groups = "pwm_ao_b";
  157. function = "pwm_ao_b";
  158. };
  159. };
  160. pwm_ao_b_6_pins: pwm_ao_b_6 {
  161. mux {
  162. groups = "pwm_ao_b_6";
  163. function = "pwm_ao_b";
  164. };
  165. };
  166. i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
  167. mux {
  168. groups = "i2s_out_ch23_ao";
  169. function = "i2s_out_ao";
  170. };
  171. };
  172. i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
  173. mux {
  174. groups = "i2s_out_ch45_ao";
  175. function = "i2s_out_ao";
  176. };
  177. };
  178. spdif_out_ao_6_pins: spdif_out_ao_6 {
  179. mux {
  180. groups = "spdif_out_ao_6";
  181. function = "spdif_out_ao";
  182. };
  183. };
  184. spdif_out_ao_9_pins: spdif_out_ao_9 {
  185. mux {
  186. groups = "spdif_out_ao_9";
  187. function = "spdif_out_ao";
  188. };
  189. };
  190. ao_cec_pins: ao_cec {
  191. mux {
  192. groups = "ao_cec";
  193. function = "cec_ao";
  194. };
  195. };
  196. ee_cec_pins: ee_cec {
  197. mux {
  198. groups = "ee_cec";
  199. function = "cec_ao";
  200. };
  201. };
  202. };
  203. };
  204. &cec_AO {
  205. clocks = <&clkc_AO CLKID_AO_CEC_32K>;
  206. clock-names = "core";
  207. };
  208. &clkc_AO {
  209. compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc";
  210. };
  211. &gpio_intc {
  212. compatible = "amlogic,meson-gpio-intc",
  213. "amlogic,meson-gxl-gpio-intc";
  214. status = "okay";
  215. };
  216. &hdmi_tx {
  217. compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
  218. resets = <&reset RESET_HDMITX_CAPB3>,
  219. <&reset RESET_HDMI_SYSTEM_RESET>,
  220. <&reset RESET_HDMI_TX>;
  221. reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
  222. clocks = <&clkc CLKID_HDMI_PCLK>,
  223. <&clkc CLKID_CLK81>,
  224. <&clkc CLKID_GCLK_VENCI_INT0>;
  225. clock-names = "isfr", "iahb", "venci";
  226. };
  227. &sysctrl {
  228. clkc: clock-controller {
  229. compatible = "amlogic,gxl-clkc";
  230. #clock-cells = <1>;
  231. };
  232. };
  233. &hwrng {
  234. clocks = <&clkc CLKID_RNG0>;
  235. clock-names = "core";
  236. };
  237. &i2c_A {
  238. clocks = <&clkc CLKID_I2C>;
  239. };
  240. &i2c_AO {
  241. clocks = <&clkc CLKID_AO_I2C>;
  242. };
  243. &i2c_B {
  244. clocks = <&clkc CLKID_I2C>;
  245. };
  246. &i2c_C {
  247. clocks = <&clkc CLKID_I2C>;
  248. };
  249. &periphs {
  250. pinctrl_periphs: pinctrl@4b0 {
  251. compatible = "amlogic,meson-gxl-periphs-pinctrl";
  252. #address-cells = <2>;
  253. #size-cells = <2>;
  254. ranges;
  255. gpio: bank@4b0 {
  256. reg = <0x0 0x004b0 0x0 0x28>,
  257. <0x0 0x004e8 0x0 0x14>,
  258. <0x0 0x00520 0x0 0x14>,
  259. <0x0 0x00430 0x0 0x40>;
  260. reg-names = "mux", "pull", "pull-enable", "gpio";
  261. gpio-controller;
  262. #gpio-cells = <2>;
  263. gpio-ranges = <&pinctrl_periphs 0 0 100>;
  264. };
  265. emmc_pins: emmc {
  266. mux {
  267. groups = "emmc_nand_d07",
  268. "emmc_cmd",
  269. "emmc_clk";
  270. function = "emmc";
  271. };
  272. };
  273. emmc_ds_pins: emmc-ds {
  274. mux {
  275. groups = "emmc_ds";
  276. function = "emmc";
  277. };
  278. };
  279. emmc_clk_gate_pins: emmc_clk_gate {
  280. mux {
  281. groups = "BOOT_8";
  282. function = "gpio_periphs";
  283. };
  284. cfg-pull-down {
  285. pins = "BOOT_8";
  286. bias-pull-down;
  287. };
  288. };
  289. nor_pins: nor {
  290. mux {
  291. groups = "nor_d",
  292. "nor_q",
  293. "nor_c",
  294. "nor_cs";
  295. function = "nor";
  296. };
  297. };
  298. spi_pins: spi-pins {
  299. mux {
  300. groups = "spi_miso",
  301. "spi_mosi",
  302. "spi_sclk";
  303. function = "spi";
  304. };
  305. };
  306. spi_ss0_pins: spi-ss0 {
  307. mux {
  308. groups = "spi_ss0";
  309. function = "spi";
  310. };
  311. };
  312. sdcard_pins: sdcard {
  313. mux {
  314. groups = "sdcard_d0",
  315. "sdcard_d1",
  316. "sdcard_d2",
  317. "sdcard_d3",
  318. "sdcard_cmd",
  319. "sdcard_clk";
  320. function = "sdcard";
  321. };
  322. };
  323. sdcard_clk_gate_pins: sdcard_clk_gate {
  324. mux {
  325. groups = "CARD_2";
  326. function = "gpio_periphs";
  327. };
  328. cfg-pull-down {
  329. pins = "CARD_2";
  330. bias-pull-down;
  331. };
  332. };
  333. sdio_pins: sdio {
  334. mux {
  335. groups = "sdio_d0",
  336. "sdio_d1",
  337. "sdio_d2",
  338. "sdio_d3",
  339. "sdio_cmd",
  340. "sdio_clk";
  341. function = "sdio";
  342. };
  343. };
  344. sdio_clk_gate_pins: sdio_clk_gate {
  345. mux {
  346. groups = "GPIOX_4";
  347. function = "gpio_periphs";
  348. };
  349. cfg-pull-down {
  350. pins = "GPIOX_4";
  351. bias-pull-down;
  352. };
  353. };
  354. sdio_irq_pins: sdio_irq {
  355. mux {
  356. groups = "sdio_irq";
  357. function = "sdio";
  358. };
  359. };
  360. uart_a_pins: uart_a {
  361. mux {
  362. groups = "uart_tx_a",
  363. "uart_rx_a";
  364. function = "uart_a";
  365. };
  366. };
  367. uart_a_cts_rts_pins: uart_a_cts_rts {
  368. mux {
  369. groups = "uart_cts_a",
  370. "uart_rts_a";
  371. function = "uart_a";
  372. };
  373. };
  374. uart_b_pins: uart_b {
  375. mux {
  376. groups = "uart_tx_b",
  377. "uart_rx_b";
  378. function = "uart_b";
  379. };
  380. };
  381. uart_b_cts_rts_pins: uart_b_cts_rts {
  382. mux {
  383. groups = "uart_cts_b",
  384. "uart_rts_b";
  385. function = "uart_b";
  386. };
  387. };
  388. uart_c_pins: uart_c {
  389. mux {
  390. groups = "uart_tx_c",
  391. "uart_rx_c";
  392. function = "uart_c";
  393. };
  394. };
  395. uart_c_cts_rts_pins: uart_c_cts_rts {
  396. mux {
  397. groups = "uart_cts_c",
  398. "uart_rts_c";
  399. function = "uart_c";
  400. };
  401. };
  402. i2c_a_pins: i2c_a {
  403. mux {
  404. groups = "i2c_sck_a",
  405. "i2c_sda_a";
  406. function = "i2c_a";
  407. };
  408. };
  409. i2c_b_pins: i2c_b {
  410. mux {
  411. groups = "i2c_sck_b",
  412. "i2c_sda_b";
  413. function = "i2c_b";
  414. };
  415. };
  416. i2c_c_pins: i2c_c {
  417. mux {
  418. groups = "i2c_sck_c",
  419. "i2c_sda_c";
  420. function = "i2c_c";
  421. };
  422. };
  423. eth_pins: eth_c {
  424. mux {
  425. groups = "eth_mdio",
  426. "eth_mdc",
  427. "eth_clk_rx_clk",
  428. "eth_rx_dv",
  429. "eth_rxd0",
  430. "eth_rxd1",
  431. "eth_rxd2",
  432. "eth_rxd3",
  433. "eth_rgmii_tx_clk",
  434. "eth_tx_en",
  435. "eth_txd0",
  436. "eth_txd1",
  437. "eth_txd2",
  438. "eth_txd3";
  439. function = "eth";
  440. };
  441. };
  442. eth_link_led_pins: eth_link_led {
  443. mux {
  444. groups = "eth_link_led";
  445. function = "eth_led";
  446. };
  447. };
  448. eth_act_led_pins: eth_act_led {
  449. mux {
  450. groups = "eth_act_led";
  451. function = "eth_led";
  452. };
  453. };
  454. pwm_a_pins: pwm_a {
  455. mux {
  456. groups = "pwm_a";
  457. function = "pwm_a";
  458. };
  459. };
  460. pwm_b_pins: pwm_b {
  461. mux {
  462. groups = "pwm_b";
  463. function = "pwm_b";
  464. };
  465. };
  466. pwm_c_pins: pwm_c {
  467. mux {
  468. groups = "pwm_c";
  469. function = "pwm_c";
  470. };
  471. };
  472. pwm_d_pins: pwm_d {
  473. mux {
  474. groups = "pwm_d";
  475. function = "pwm_d";
  476. };
  477. };
  478. pwm_e_pins: pwm_e {
  479. mux {
  480. groups = "pwm_e";
  481. function = "pwm_e";
  482. };
  483. };
  484. pwm_f_clk_pins: pwm_f_clk {
  485. mux {
  486. groups = "pwm_f_clk";
  487. function = "pwm_f";
  488. };
  489. };
  490. pwm_f_x_pins: pwm_f_x {
  491. mux {
  492. groups = "pwm_f_x";
  493. function = "pwm_f";
  494. };
  495. };
  496. hdmi_hpd_pins: hdmi_hpd {
  497. mux {
  498. groups = "hdmi_hpd";
  499. function = "hdmi_hpd";
  500. };
  501. };
  502. hdmi_i2c_pins: hdmi_i2c {
  503. mux {
  504. groups = "hdmi_sda", "hdmi_scl";
  505. function = "hdmi_i2c";
  506. };
  507. };
  508. i2s_am_clk_pins: i2s_am_clk {
  509. mux {
  510. groups = "i2s_am_clk";
  511. function = "i2s_out";
  512. };
  513. };
  514. i2s_out_ao_clk_pins: i2s_out_ao_clk {
  515. mux {
  516. groups = "i2s_out_ao_clk";
  517. function = "i2s_out";
  518. };
  519. };
  520. i2s_out_lr_clk_pins: i2s_out_lr_clk {
  521. mux {
  522. groups = "i2s_out_lr_clk";
  523. function = "i2s_out";
  524. };
  525. };
  526. i2s_out_ch01_pins: i2s_out_ch01 {
  527. mux {
  528. groups = "i2s_out_ch01";
  529. function = "i2s_out";
  530. };
  531. };
  532. i2sout_ch23_z_pins: i2sout_ch23_z {
  533. mux {
  534. groups = "i2sout_ch23_z";
  535. function = "i2s_out";
  536. };
  537. };
  538. i2sout_ch45_z_pins: i2sout_ch45_z {
  539. mux {
  540. groups = "i2sout_ch45_z";
  541. function = "i2s_out";
  542. };
  543. };
  544. i2sout_ch67_z_pins: i2sout_ch67_z {
  545. mux {
  546. groups = "i2sout_ch67_z";
  547. function = "i2s_out";
  548. };
  549. };
  550. spdif_out_h_pins: spdif_out_ao_h {
  551. mux {
  552. groups = "spdif_out_h";
  553. function = "spdif_out";
  554. };
  555. };
  556. };
  557. eth-phy-mux {
  558. compatible = "mdio-mux-mmioreg", "mdio-mux";
  559. #address-cells = <1>;
  560. #size-cells = <0>;
  561. reg = <0x0 0x55c 0x0 0x4>;
  562. mux-mask = <0xffffffff>;
  563. mdio-parent-bus = <&mdio0>;
  564. internal_mdio: mdio@e40908ff {
  565. reg = <0xe40908ff>;
  566. #address-cells = <1>;
  567. #size-cells = <0>;
  568. internal_phy: ethernet-phy@8 {
  569. compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22";
  570. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  571. reg = <8>;
  572. max-speed = <100>;
  573. };
  574. };
  575. external_mdio: mdio@2009087f {
  576. reg = <0x2009087f>;
  577. #address-cells = <1>;
  578. #size-cells = <0>;
  579. };
  580. };
  581. };
  582. &pwrc_vpu {
  583. resets = <&reset RESET_VIU>,
  584. <&reset RESET_VENC>,
  585. <&reset RESET_VCBUS>,
  586. <&reset RESET_BT656>,
  587. <&reset RESET_DVIN_RESET>,
  588. <&reset RESET_RDMA>,
  589. <&reset RESET_VENCI>,
  590. <&reset RESET_VENCP>,
  591. <&reset RESET_VDAC>,
  592. <&reset RESET_VDI6>,
  593. <&reset RESET_VENCL>,
  594. <&reset RESET_VID_LOCK>;
  595. clocks = <&clkc CLKID_VPU>,
  596. <&clkc CLKID_VAPB>;
  597. clock-names = "vpu", "vapb";
  598. /*
  599. * VPU clocking is provided by two identical clock paths
  600. * VPU_0 and VPU_1 muxed to a single clock by a glitch
  601. * free mux to safely change frequency while running.
  602. * Same for VAPB but with a final gate after the glitch free mux.
  603. */
  604. assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
  605. <&clkc CLKID_VPU_0>,
  606. <&clkc CLKID_VPU>, /* Glitch free mux */
  607. <&clkc CLKID_VAPB_0_SEL>,
  608. <&clkc CLKID_VAPB_0>,
  609. <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
  610. assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
  611. <0>, /* Do Nothing */
  612. <&clkc CLKID_VPU_0>,
  613. <&clkc CLKID_FCLK_DIV4>,
  614. <0>, /* Do Nothing */
  615. <&clkc CLKID_VAPB_0>;
  616. assigned-clock-rates = <0>, /* Do Nothing */
  617. <666666666>,
  618. <0>, /* Do Nothing */
  619. <0>, /* Do Nothing */
  620. <250000000>,
  621. <0>; /* Do Nothing */
  622. };
  623. &saradc {
  624. compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
  625. clocks = <&xtal>,
  626. <&clkc CLKID_SAR_ADC>,
  627. <&clkc CLKID_SAR_ADC_CLK>,
  628. <&clkc CLKID_SAR_ADC_SEL>;
  629. clock-names = "clkin", "core", "adc_clk", "adc_sel";
  630. };
  631. &sd_emmc_a {
  632. clocks = <&clkc CLKID_SD_EMMC_A>,
  633. <&clkc CLKID_SD_EMMC_A_CLK0>,
  634. <&clkc CLKID_FCLK_DIV2>;
  635. clock-names = "core", "clkin0", "clkin1";
  636. resets = <&reset RESET_SD_EMMC_A>;
  637. };
  638. &sd_emmc_b {
  639. clocks = <&clkc CLKID_SD_EMMC_B>,
  640. <&clkc CLKID_SD_EMMC_B_CLK0>,
  641. <&clkc CLKID_FCLK_DIV2>;
  642. clock-names = "core", "clkin0", "clkin1";
  643. resets = <&reset RESET_SD_EMMC_B>;
  644. };
  645. &sd_emmc_c {
  646. clocks = <&clkc CLKID_SD_EMMC_C>,
  647. <&clkc CLKID_SD_EMMC_C_CLK0>,
  648. <&clkc CLKID_FCLK_DIV2>;
  649. clock-names = "core", "clkin0", "clkin1";
  650. resets = <&reset RESET_SD_EMMC_C>;
  651. };
  652. &spicc {
  653. clocks = <&clkc CLKID_SPICC>;
  654. clock-names = "core";
  655. resets = <&reset RESET_PERIPHS_SPICC>;
  656. num-cs = <1>;
  657. };
  658. &spifc {
  659. clocks = <&clkc CLKID_SPI>;
  660. };
  661. &uart_A {
  662. clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
  663. clock-names = "xtal", "pclk", "baud";
  664. };
  665. &uart_AO {
  666. clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>;
  667. clock-names = "xtal", "pclk", "baud";
  668. };
  669. &uart_AO_B {
  670. clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>;
  671. clock-names = "xtal", "pclk", "baud";
  672. };
  673. &uart_B {
  674. clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
  675. clock-names = "xtal", "pclk", "baud";
  676. };
  677. &uart_C {
  678. clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>;
  679. clock-names = "xtal", "pclk", "baud";
  680. };
  681. &vpu {
  682. compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
  683. power-domains = <&pwrc_vpu>;
  684. };