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