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