7Ji / amlogic-s9xxx-archlinuxarm

ArchLinux ARM for Amlogic s9xxx tv box.
GNU General Public License v3.0
63 stars 9 forks source link

系统通过reboot重启后 RTL8761BTV 蓝牙不能使用 #1

Closed xiayang0521 closed 1 year ago

xiayang0521 commented 1 year ago

测试盒子为UNT403A,CPU: S905L3A / S905L3A-b

现在的做法和发现:

  1. 修改dts源码,在uart_A部分增加bluetooth内容并编译为dtb: &uart_A { status = "okay"; pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; pinctrl-names = "default"; uart-has-rtscts;

    bluetooth {
            compatible = "realtek,rtl8723bs-bt";
            enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
            max-speed = <2000000>;
            clocks = <&wifi32k>;
            clock-names = "lpo";
    };

    }; 临时优化方法:上述代码中bluetooth部分其实只有 compatible = "realtek,rtl8723bs-bt"; 这一行有用!

  2. 将2m波特率的config文件复制到/lib/firmware/rtl_bt/rtl8761b_config.bin。

  3. poweroff、断电、重开,蓝牙正常!

  4. reboot后蓝牙无法识别无法使用、gpioset命令也无法使用(因为gpio 82已经被系统/rfkill占用)。 参见https://bbs.hassbian.com/thread-18366-1-1.html 该帖子作者试过reset-gpios,不好使,猜测得修改驱动程序源码重新编译内核了。

我在archlinuxarm和Armbian下,遇到的问题是一样,故过来看看有没有啥解决办法。 相关文件已经放在https://gitee.com/xiayang0521/set_bluetooth

7Ji commented 1 year ago

如果你是修改uart_A引用的节点的话,这个节点最后面对应到的是meson-g12-common.dtsi的这个节点里的这里

https://github.com/unifreq/linux-6.0.y/blob/bf6e1d88ecfa52f2ffc1105534039b6d107059a4/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi#L2309

中间,u200开发板的dts引用了meson-g12a-gpio.h: https://github.com/unifreq/linux-6.0.y/blob/bf6e1d88ecfa52f2ffc1105534039b6d107059a4/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts#L10

https://github.com/unifreq/linux-6.0.y/blob/main/include/dt-bindings/gpio/meson-g12a-gpio.h 其中,GPIO_X17在这里定义: https://github.com/unifreq/linux-6.0.y/blob/bf6e1d88ecfa52f2ffc1105534039b6d107059a4/include/dt-bindings/gpio/meson-g12a-gpio.h#L110

你上面的帖子里和这里的源码是是从radaxa-zero的dts里搬的: https://github.com/unifreq/linux-6.0.y/blob/bf6e1d88ecfa52f2ffc1105534039b6d107059a4/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts#L381 可以参考radaxa-zero做除了这里的其他修改

7Ji commented 1 year ago

我自己没有这个盒子,也没有任何有同款BT芯片的盒子,而且也没有任何相近技术方案的BT芯片的盒子(UART做控制),实在是没法帮你进一步分析。 不过比起动内核的方案,也许可以去动uboot,uboot下如果编译了有gpio相关的命令,可以用gpio toggle <pin>去调整pin的电平,这个可以放到boot.scr(如果你加载的二阶段uboot支持这个命令,且有gpio驱动和数据,如果你是硬用的其他设备的u-boot作为二阶段的话u-boot自带的设备树里gpio的定义可能存在问题),或者是s905_autoscript(如果安装原厂的uboot支持这个命令,且有gpio驱动和数据,一般都是) 这个命令的文档参考u-boot官方文档: https://u-boot.readthedocs.io/en/latest/usage/cmd/gpio.html 参考我博客关于Amlogic启动流程文章里的这一部分,写/偷一个现存的启动脚本 https://7ji.github.io/embedded/2022/11/11/amlogic-booting.html#script--%E8%84%9A%E6%9C%AC 然后在里面加一行(如果只是拉低)两行(如果要拉低再拉高)gpio toggle <pin>,那个pin参考你编译的成品dts里解算完引用关系以后的最终值(整数)

xiayang0521 commented 1 year ago

感谢!我来试试。

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年11月16日(星期三) 上午10:09 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [7Ji/amlogic-s9xxx-archlinuxarm] 系统通过reboot重启后 RTL8761BTV 蓝牙不能使用 (Issue #1)

我自己没有这个盒子,也没有任何有同款BT芯片的盒子,而且也没有任何相近技术方案的BT芯片的盒子(UART做控制),实在是没法帮你进一步分析。 不过比起动内核的方案,也许可以去动uboot,uboot下如果编译了有gpio相关的命令,可以用gpio toggle <pin>去调整pin的电平,这个可以放到boot.scr(如果你加载的二阶段uboot支持这个命令,且有gpio驱动和数据,如果你是硬用的其他设备的u-boot作为二阶段的话u-boot自带的设备树里gpio的定义可能存在问题),或者是s905_autoscript(如果安装原厂的uboot支持这个命令,且有gpio驱动和数据,一般都是) 参考我博客关于Amlogic启动流程文章里的这一部分,写/偷一个现存的启动脚本 https://7ji.github.io/embedded/2022/11/11/amlogic-booting.html#script--%E8%84%9A%E6%9C%AC 然后在里面加一行(如果只是拉低)两行(如果要拉低再拉高)gpio toggle <pin>,那个pin参考你编译的成品dts里解算完引用关系以后的最终值(整数)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

7Ji commented 1 year ago

我的所有repo归档直至今年底23考研结束,issue暂时关闭

7Ji commented 1 year ago

我回来了,如果还有问题可以Reopen这个issue

xiayang0521 commented 1 year ago

1.谢谢 我也回来了 gpio toggle pin,加在boot.scr的什么位置?boot.cmd如下 echo "Start AMLOGIC mainline U-boot" if printenv bootfromsd; then exit; fi; setenv loadaddr "0x44000000" setenv l_mmc "0 1 2 3" usb start for devtype in "usb mmc" ; do if test -e ${devtype} ${devnum} uEnv.txt; then load ${devtype} ${devnum} ${loadaddr} uEnv.txt env import -t ${loadaddr} ${filesize} setenv bootargs ${APPEND} if printenv mac; then setenv bootargs ${bootargs} mac=${mac} elif printenv eth_mac; then setenv bootargs ${bootargs} mac=${eth_mac} elif printenv ethaddr; then setenv bootargs ${bootargs} mac=${ethaddr} fi if load ${devtype} ${devnum} ${kernel_addr_r} ${LINUX}; then if load ${devtype} ${devnum} ${ramdisk_addr_r} ${INITRD}; then if load ${devtype} ${devnum} ${fdt_addr_r} ${FDT}; then fdt addr ${fdt_addr_r} booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} fi fi fi fi done 2.另外 pin的值是咋算的 我不太清楚,下面我列一下 dts内容,

`/dts-v1/;

/ { interrupt-parent = <0x01>;

address-cells = <0x02>;

#size-cells = <0x02>;
compatible = "cm311,m401a,e900v22c\0amlogic,g12a";
model = "CM311-1a-YST";

aliases {
    mmc0 = "/soc/sd@ffe03000";
    mmc1 = "/soc/sd@ffe05000";
    mmc2 = "/soc/mmc@ffe07000";
    serial0 = "/soc/bus@ff800000/serial@3000";
    ethernet0 = "/soc/ethernet@ff3f0000";
};

chosen {
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    ranges;
    stdout-path = "serial0:115200n8";

    framebuffer-cvbs {
        compatible = "amlogic,simple-framebuffer\0simple-framebuffer";
        amlogic,pipeline = "vpu-cvbs";
        clocks = <0x02 0xa8 0x02 0x35 0x02 0x3a>;
        status = "disabled";
        power-domains = <0x03 0x00>;
        phandle = <0x59>;
    };

    framebuffer-hdmi {
        compatible = "amlogic,simple-framebuffer\0simple-framebuffer";
        amlogic,pipeline = "vpu-hdmi";
        clocks = <0x02 0xa8 0x02 0x35 0x02 0x3a>;
        status = "disabled";
        power-domains = <0x03 0x00>;
        phandle = <0x5a>;
    };
};

efuse {
    compatible = "amlogic,meson-gxbb-efuse";
    clocks = <0x02 0x6a>;
    #address-cells = <0x01>;
    #size-cells = <0x01>;
    read-only;
    secure-monitor = <0x04>;
    phandle = <0x5b>;
};

opp-table-gpu {
    compatible = "operating-points-v2";
    phandle = <0x45>;

    opp-124999998 {
        opp-hz = <0x00 0x773593e>;
        opp-microvolt = <0xc3500>;
    };

    opp-249999996 {
        opp-hz = <0x00 0xee6b27c>;
        opp-microvolt = <0xc3500>;
    };

    opp-285714281 {
        opp-hz = <0x00 0x1107a769>;
        opp-microvolt = <0xc3500>;
    };

    opp-399999994 {
        opp-hz = <0x00 0x17d783fa>;
        opp-microvolt = <0xc3500>;
    };

    opp-499999992 {
        opp-hz = <0x00 0x1dcd64f8>;
        opp-microvolt = <0xc3500>;
    };

    opp-666666656 {
        opp-hz = <0x00 0x27bc86a0>;
        opp-microvolt = <0xc3500>;
    };

    opp-799999987 {
        opp-hz = <0x00 0x2faf07f3>;
        opp-microvolt = <0xc3500>;
    };
};

psci {
    compatible = "arm,psci-1.0";
    method = "smc";
};

reserved-memory {
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    ranges;

    secmon@5000000 {
        reg = <0x00 0x5000000 0x00 0x300000>;
        no-map;
        phandle = <0x5c>;
    };

    secmon@5300000 {
        reg = <0x00 0x5300000 0x00 0x2000000>;
        no-map;
        phandle = <0x5d>;
    };

    linux,cma {
        compatible = "shared-dma-pool";
        reusable;
        size = <0x00 0x10000000>;
        alignment = <0x00 0x400000>;
        linux,cma-default;
    };
};

secure-monitor {
    compatible = "amlogic,meson-gxbb-sm";
    phandle = <0x04>;
};

soc {
    compatible = "simple-bus";
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    ranges;

    pcie@fc000000 {
        compatible = "amlogic,g12a-pcie\0snps,dw-pcie";
        reg = <0x00 0xfc000000 0x00 0x400000 0x00 0xff648000 0x00 0x2000 0x00 0xfc400000 0x00 0x200000>;
        reg-names = "elbi\0cfg\0config";
        interrupts = <0x00 0xdd 0x04>;
        #interrupt-cells = <0x01>;
        interrupt-map-mask = <0x00 0x00 0x00 0x00>;
        interrupt-map = <0x00 0x00 0x00 0x00 0x01 0x00 0xdf 0x04>;
        bus-range = <0x00 0xff>;
        #address-cells = <0x03>;
        #size-cells = <0x02>;
        device_type = "pci";
        ranges = <0x81000000 0x00 0x00 0x00 0xfc600000 0x00 0x100000 0x82000000 0x00 0xfc700000 0x00 0xfc700000 0x00 0x1900000>;
        clocks = <0x02 0x30 0x02 0x2d 0x02 0xc9>;
        clock-names = "general\0pclk\0port";
        resets = <0x05 0x0c 0x05 0x0f>;
        reset-names = "port\0apb";
        num-lanes = <0x01>;
        phys = <0x06 0x02>;
        phy-names = "pcie";
        status = "disabled";
        phandle = <0x5e>;
    };

    thermal-zones {

        cpu-thermal {
            polling-delay = <0x3e8>;
            polling-delay-passive = <0x64>;
            thermal-sensors = <0x07>;
            phandle = <0x5f>;

            trips {

                cpu-passive {
                    temperature = <0x14c08>;
                    hysteresis = <0x7d0>;
                    type = "passive";
                    phandle = <0x08>;
                };

                cpu-hot {
                    temperature = <0x17318>;
                    hysteresis = <0x7d0>;
                    type = "hot";
                    phandle = <0x0d>;
                };

                cpu-critical {
                    temperature = <0x1adb0>;
                    hysteresis = <0x7d0>;
                    type = "critical";
                    phandle = <0x60>;
                };
            };

            cooling-maps {

                map0 {
                    trip = <0x08>;
                    cooling-device = <0x09 0xffffffff 0xffffffff 0x0a 0xffffffff 0xffffffff 0x0b 0xffffffff 0xffffffff 0x0c 0xffffffff 0xffffffff>;
                };

                map1 {
                    trip = <0x0d>;
                    cooling-device = <0x09 0xffffffff 0xffffffff 0x0a 0xffffffff 0xffffffff 0x0b 0xffffffff 0xffffffff 0x0c 0xffffffff 0xffffffff>;
                };
            };
        };

        ddr-thermal {
            polling-delay = <0x3e8>;
            polling-delay-passive = <0x64>;
            thermal-sensors = <0x0e>;
            phandle = <0x61>;

            trips {

                ddr-passive {
                    temperature = <0x14c08>;
                    hysteresis = <0x7d0>;
                    type = "passive";
                    phandle = <0x0f>;
                };

                ddr-critical {
                    temperature = <0x1adb0>;
                    hysteresis = <0x7d0>;
                    type = "critical";
                    phandle = <0x62>;
                };
            };

            cooling-maps {

                map {
                    trip = <0x0f>;
                    cooling-device = <0x10 0xffffffff 0xffffffff>;
                };
            };
        };
    };

    ethernet@ff3f0000 {
        compatible = "amlogic,meson-g12a-dwmac\0snps,dwmac-3.70a\0snps,dwmac";
        reg = <0x00 0xff3f0000 0x00 0x10000 0x00 0xff634540 0x00 0x08>;
        interrupts = <0x00 0x08 0x04>;
        interrupt-names = "macirq";
        clocks = <0x02 0x26 0x02 0x02 0x02 0x0d 0x02 0x02>;
        clock-names = "stmmaceth\0clkin0\0clkin1\0timing-adjustment";
        rx-fifo-depth = <0x1000>;
        tx-fifo-depth = <0x800>;
        status = "okay";
        power-domains = <0x03 0x01>;
        phy-handle = <0x11>;
        phy-mode = "rmii";
        phandle = <0x63>;

        mdio {
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            compatible = "snps,dwmac-mdio";
            phandle = <0x1b>;
        };
    };

    bus@ff600000 {
        compatible = "simple-bus";
        reg = <0x00 0xff600000 0x00 0x200000>;
        #address-cells = <0x02>;
        #size-cells = <0x02>;
        ranges = <0x00 0x00 0x00 0xff600000 0x00 0x200000>;
        phandle = <0x64>;

        hdmi-tx@0 {
            compatible = "amlogic,meson-g12a-dw-hdmi";
            reg = <0x00 0x00 0x00 0x10000>;
            interrupts = <0x00 0x39 0x01>;
            resets = <0x05 0x13 0x05 0x42 0x05 0x4f>;
            reset-names = "hdmitx_apb\0hdmitx\0hdmitx_phy";
            clocks = <0x02 0xa8 0x02 0x35 0x02 0x3a>;
            clock-names = "isfr\0iahb\0venci";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            #sound-dai-cells = <0x00>;
            status = "okay";
            pinctrl-0 = <0x12 0x13>;
            pinctrl-names = "default";
            hdmi-supply = <0x14>;
            phandle = <0x22>;

            port@0 {
                reg = <0x00>;
                phandle = <0x65>;

                endpoint {
                    remote-endpoint = <0x15>;
                    phandle = <0x29>;
                };
            };

            port@1 {
                reg = <0x01>;
                phandle = <0x66>;

                endpoint {
                    remote-endpoint = <0x16>;
                    phandle = <0x4b>;
                };
            };
        };

        bus@30000 {
            compatible = "simple-bus";
            reg = <0x00 0x30000 0x00 0x2000>;
            #address-cells = <0x02>;
            #size-cells = <0x02>;
            ranges = <0x00 0x00 0x00 0x30000 0x00 0x2000>;
            phandle = <0x67>;

            rng@218 {
                compatible = "amlogic,meson-rng";
                reg = <0x00 0x218 0x00 0x04>;
                clocks = <0x02 0x1b>;
                clock-names = "core";
                phandle = <0x68>;
            };
        };

        audio-controller@32000 {
            compatible = "amlogic,t9015";
            reg = <0x00 0x32000 0x00 0x14>;
            #sound-dai-cells = <0x00>;
            sound-name-prefix = "ACODEC";
            clocks = <0x02 0x24>;
            clock-names = "pclk";
            resets = <0x05 0x3d>;
            status = "disabled";
            phandle = <0x69>;
        };

        bus@34400 {
            compatible = "simple-bus";
            reg = <0x00 0x34400 0x00 0x400>;
            #address-cells = <0x02>;
            #size-cells = <0x02>;
            ranges = <0x00 0x00 0x00 0x34400 0x00 0x400>;
            phandle = <0x6a>;

            pinctrl@40 {
                compatible = "amlogic,meson-g12a-periphs-pinctrl";
                #address-cells = <0x02>;
                #size-cells = <0x02>;
                ranges;
                phandle = <0x17>;

                bank@40 {
                    reg = <0x00 0x40 0x00 0x4c 0x00 0xe8 0x00 0x18 0x00 0x120 0x00 0x18 0x00 0x2c0 0x00 0x40 0x00 0x340 0x00 0x1c>;
                    reg-names = "gpio\0pull\0pull-enable\0mux\0ds";
                    gpio-controller;
                    #gpio-cells = <0x02>;
                    gpio-ranges = <0x17 0x00 0x00 0x56>;
                    phandle = <0x32>;
                };

                cec_ao_a_h {
                    phandle = <0x21>;

                    mux {
                        groups = "cec_ao_a_h";
                        function = "cec_ao_a_h";
                        bias-disable;
                    };
                };

                cec_ao_b_h {
                    phandle = <0x23>;

                    mux {
                        groups = "cec_ao_b_h";
                        function = "cec_ao_b_h";
                        bias-disable;
                    };
                };

                emmc-ctrl {
                    phandle = <0x3b>;

                    mux-0 {
                        groups = "emmc_cmd";
                        function = "emmc";
                        bias-pull-up;
                        drive-strength-microamp = <0xfa0>;
                    };

                    mux-1 {
                        groups = "emmc_clk";
                        function = "emmc";
                        bias-disable;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                emmc-data-4b {
                    phandle = <0x6b>;

                    mux-0 {
                        groups = "emmc_nand_d0\0emmc_nand_d1\0emmc_nand_d2\0emmc_nand_d3";
                        function = "emmc";
                        bias-pull-up;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                emmc-data-8b {
                    phandle = <0x3c>;

                    mux-0 {
                        groups = "emmc_nand_d0\0emmc_nand_d1\0emmc_nand_d2\0emmc_nand_d3\0emmc_nand_d4\0emmc_nand_d5\0emmc_nand_d6\0emmc_nand_d7";
                        function = "emmc";
                        bias-pull-up;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                emmc-ds {
                    phandle = <0x3d>;

                    mux {
                        groups = "emmc_nand_ds";
                        function = "emmc";
                        bias-pull-down;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                emmc_clk_gate {
                    phandle = <0x3e>;

                    mux {
                        groups = "BOOT_8";
                        function = "gpio_periphs";
                        bias-pull-down;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                hdmitx_ddc {
                    phandle = <0x13>;

                    mux {
                        groups = "hdmitx_sda\0hdmitx_sck";
                        function = "hdmitx";
                        bias-disable;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                hdmitx_hpd {
                    phandle = <0x12>;

                    mux {
                        groups = "hdmitx_hpd_in";
                        function = "hdmitx";
                        bias-disable;
                    };
                };

                i2c0-sda-c {
                    phandle = <0x6c>;

                    mux {
                        groups = "i2c0_sda_c";
                        function = "i2c0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c0-sck-c {
                    phandle = <0x6d>;

                    mux {
                        groups = "i2c0_sck_c";
                        function = "i2c0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c0-sda-z0 {
                    phandle = <0x2e>;

                    mux {
                        groups = "i2c0_sda_z0";
                        function = "i2c0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c0-sck-z1 {
                    phandle = <0x2f>;

                    mux {
                        groups = "i2c0_sck_z1";
                        function = "i2c0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c0-sda-z7 {
                    phandle = <0x6e>;

                    mux {
                        groups = "i2c0_sda_z7";
                        function = "i2c0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c0-sda-z8 {
                    phandle = <0x6f>;

                    mux {
                        groups = "i2c0_sda_z8";
                        function = "i2c0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c1-sda-x {
                    phandle = <0x70>;

                    mux {
                        groups = "i2c1_sda_x";
                        function = "i2c1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c1-sck-x {
                    phandle = <0x71>;

                    mux {
                        groups = "i2c1_sck_x";
                        function = "i2c1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c1-sda-h2 {
                    phandle = <0x72>;

                    mux {
                        groups = "i2c1_sda_h2";
                        function = "i2c1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c1-sck-h3 {
                    phandle = <0x73>;

                    mux {
                        groups = "i2c1_sck_h3";
                        function = "i2c1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c1-sda-h6 {
                    phandle = <0x74>;

                    mux {
                        groups = "i2c1_sda_h6";
                        function = "i2c1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c1-sck-h7 {
                    phandle = <0x75>;

                    mux {
                        groups = "i2c1_sck_h7";
                        function = "i2c1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c2-sda-x {
                    phandle = <0x76>;

                    mux {
                        groups = "i2c2_sda_x";
                        function = "i2c2";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c2-sck-x {
                    phandle = <0x77>;

                    mux {
                        groups = "i2c2_sck_x";
                        function = "i2c2";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c2-sda-z {
                    phandle = <0x2c>;

                    mux {
                        groups = "i2c2_sda_z";
                        function = "i2c2";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c2-sck-z {
                    phandle = <0x2d>;

                    mux {
                        groups = "i2c2_sck_z";
                        function = "i2c2";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c3-sda-h {
                    phandle = <0x78>;

                    mux {
                        groups = "i2c3_sda_h";
                        function = "i2c3";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c3-sck-h {
                    phandle = <0x79>;

                    mux {
                        groups = "i2c3_sck_h";
                        function = "i2c3";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c3-sda-a {
                    phandle = <0x2a>;

                    mux {
                        groups = "i2c3_sda_a";
                        function = "i2c3";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c3-sck-a {
                    phandle = <0x2b>;

                    mux {
                        groups = "i2c3_sck_a";
                        function = "i2c3";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                mclk0-a {
                    phandle = <0x7a>;

                    mux {
                        groups = "mclk0_a";
                        function = "mclk0";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                mclk1-a {
                    phandle = <0x7b>;

                    mux {
                        groups = "mclk1_a";
                        function = "mclk1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                mclk1-x {
                    phandle = <0x7c>;

                    mux {
                        groups = "mclk1_x";
                        function = "mclk1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                mclk1-z {
                    phandle = <0x7d>;

                    mux {
                        groups = "mclk1_z";
                        function = "mclk1";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                nor {
                    phandle = <0x7e>;

                    mux {
                        groups = "nor_d\0nor_q\0nor_c\0nor_cs";
                        function = "nor";
                        bias-disable;
                    };
                };

                pdm-din0-a {
                    phandle = <0x7f>;

                    mux {
                        groups = "pdm_din0_a";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din0-c {
                    phandle = <0x80>;

                    mux {
                        groups = "pdm_din0_c";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din0-x {
                    phandle = <0x81>;

                    mux {
                        groups = "pdm_din0_x";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din0-z {
                    phandle = <0x82>;

                    mux {
                        groups = "pdm_din0_z";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din1-a {
                    phandle = <0x83>;

                    mux {
                        groups = "pdm_din1_a";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din1-c {
                    phandle = <0x84>;

                    mux {
                        groups = "pdm_din1_c";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din1-x {
                    phandle = <0x85>;

                    mux {
                        groups = "pdm_din1_x";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din1-z {
                    phandle = <0x86>;

                    mux {
                        groups = "pdm_din1_z";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din2-a {
                    phandle = <0x87>;

                    mux {
                        groups = "pdm_din2_a";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din2-c {
                    phandle = <0x88>;

                    mux {
                        groups = "pdm_din2_c";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din2-x {
                    phandle = <0x89>;

                    mux {
                        groups = "pdm_din2_x";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din2-z {
                    phandle = <0x8a>;

                    mux {
                        groups = "pdm_din2_z";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din3-a {
                    phandle = <0x8b>;

                    mux {
                        groups = "pdm_din3_a";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din3-c {
                    phandle = <0x8c>;

                    mux {
                        groups = "pdm_din3_c";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din3-x {
                    phandle = <0x8d>;

                    mux {
                        groups = "pdm_din3_x";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-din3-z {
                    phandle = <0x8e>;

                    mux {
                        groups = "pdm_din3_z";
                        function = "pdm";
                        bias-disable;
                    };
                };

                pdm-dclk-a {
                    phandle = <0x8f>;

                    mux {
                        groups = "pdm_dclk_a";
                        function = "pdm";
                        bias-disable;
                        drive-strength-microamp = <0x1f4>;
                    };
                };

                pdm-dclk-c {
                    phandle = <0x90>;

                    mux {
                        groups = "pdm_dclk_c";
                        function = "pdm";
                        bias-disable;
                        drive-strength-microamp = <0x1f4>;
                    };
                };

                pdm-dclk-x {
                    phandle = <0x91>;

                    mux {
                        groups = "pdm_dclk_x";
                        function = "pdm";
                        bias-disable;
                        drive-strength-microamp = <0x1f4>;
                    };
                };

                pdm-dclk-z {
                    phandle = <0x92>;

                    mux {
                        groups = "pdm_dclk_z";
                        function = "pdm";
                        bias-disable;
                        drive-strength-microamp = <0x1f4>;
                    };
                };

                pwm-a {
                    phandle = <0x93>;

                    mux {
                        groups = "pwm_a";
                        function = "pwm_a";
                        bias-disable;
                    };
                };

                pwm-b-x7 {
                    phandle = <0x94>;

                    mux {
                        groups = "pwm_b_x7";
                        function = "pwm_b";
                        bias-disable;
                    };
                };

                pwm-b-x19 {
                    phandle = <0x95>;

                    mux {
                        groups = "pwm_b_x19";
                        function = "pwm_b";
                        bias-disable;
                    };
                };

                pwm-c-c {
                    phandle = <0x96>;

                    mux {
                        groups = "pwm_c_c";
                        function = "pwm_c";
                        bias-disable;
                    };
                };

                pwm-c-x5 {
                    phandle = <0x97>;

                    mux {
                        groups = "pwm_c_x5";
                        function = "pwm_c";
                        bias-disable;
                    };
                };

                pwm-c-x8 {
                    phandle = <0x98>;

                    mux {
                        groups = "pwm_c_x8";
                        function = "pwm_c";
                        bias-disable;
                    };
                };

                pwm-d-x3 {
                    phandle = <0x99>;

                    mux {
                        groups = "pwm_d_x3";
                        function = "pwm_d";
                        bias-disable;
                    };
                };

                pwm-d-x6 {
                    phandle = <0x9a>;

                    mux {
                        groups = "pwm_d_x6";
                        function = "pwm_d";
                        bias-disable;
                    };
                };

                pwm-e {
                    phandle = <0x9b>;

                    mux {
                        groups = "pwm_e";
                        function = "pwm_e";
                        bias-disable;
                    };
                };

                pwm-f-x {
                    phandle = <0x9c>;

                    mux {
                        groups = "pwm_f_x";
                        function = "pwm_f";
                        bias-disable;
                    };
                };

                pwm-f-h {
                    phandle = <0x9d>;

                    mux {
                        groups = "pwm_f_h";
                        function = "pwm_f";
                        bias-disable;
                    };
                };

                sdcard_c {
                    phandle = <0x39>;

                    mux-0 {
                        groups = "sdcard_d0_c\0sdcard_d1_c\0sdcard_d2_c\0sdcard_d3_c\0sdcard_cmd_c";
                        function = "sdcard";
                        bias-pull-up;
                        drive-strength-microamp = <0xfa0>;
                    };

                    mux-1 {
                        groups = "sdcard_clk_c";
                        function = "sdcard";
                        bias-disable;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                sdcard_clk_gate_c {
                    phandle = <0x3a>;

                    mux {
                        groups = "GPIOC_4";
                        function = "gpio_periphs";
                        bias-pull-down;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                sdcard_z {
                    phandle = <0x9e>;

                    mux-0 {
                        groups = "sdcard_d0_z\0sdcard_d1_z\0sdcard_d2_z\0sdcard_d3_z\0sdcard_cmd_z";
                        function = "sdcard";
                        bias-pull-up;
                        drive-strength-microamp = <0xfa0>;
                    };

                    mux-1 {
                        groups = "sdcard_clk_z";
                        function = "sdcard";
                        bias-disable;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                sdcard_clk_gate_z {
                    phandle = <0x9f>;

                    mux {
                        groups = "GPIOZ_6";
                        function = "gpio_periphs";
                        bias-pull-down;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                sdio {
                    phandle = <0x34>;

                    mux {
                        groups = "sdio_d0\0sdio_d1\0sdio_d2\0sdio_d3\0sdio_clk\0sdio_cmd";
                        function = "sdio";
                        bias-disable;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                sdio_clk_gate {
                    phandle = <0x35>;

                    mux {
                        groups = "GPIOX_4";
                        function = "gpio_periphs";
                        bias-pull-down;
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                spdif-in-a10 {
                    phandle = <0xa0>;

                    mux {
                        groups = "spdif_in_a10";
                        function = "spdif_in";
                        bias-disable;
                    };
                };

                spdif-in-a12 {
                    phandle = <0xa1>;

                    mux {
                        groups = "spdif_in_a12";
                        function = "spdif_in";
                        bias-disable;
                    };
                };

                spdif-in-h {
                    phandle = <0xa2>;

                    mux {
                        groups = "spdif_in_h";
                        function = "spdif_in";
                        bias-disable;
                    };
                };

                spdif-out-h {
                    phandle = <0x1e>;

                    mux {
                        groups = "spdif_out_h";
                        function = "spdif_out";
                        drive-strength-microamp = <0x1f4>;
                        bias-disable;
                    };
                };

                spdif-out-a11 {
                    phandle = <0xa3>;

                    mux {
                        groups = "spdif_out_a11";
                        function = "spdif_out";
                        drive-strength-microamp = <0x1f4>;
                        bias-disable;
                    };
                };

                spdif-out-a13 {
                    phandle = <0xa4>;

                    mux {
                        groups = "spdif_out_a13";
                        function = "spdif_out";
                        drive-strength-microamp = <0x1f4>;
                        bias-disable;
                    };
                };

                spicc0-x {
                    phandle = <0xa5>;

                    mux {
                        groups = "spi0_mosi_x\0spi0_miso_x\0spi0_clk_x";
                        function = "spi0";
                        drive-strength-microamp = <0xfa0>;
                        bias-disable;
                    };
                };

                spicc0-ss0-x {
                    phandle = <0xa6>;

                    mux {
                        groups = "spi0_ss0_x";
                        function = "spi0";
                        drive-strength-microamp = <0xfa0>;
                        bias-disable;
                    };
                };

                spicc0-c {
                    phandle = <0xa7>;

                    mux {
                        groups = "spi0_mosi_c\0spi0_miso_c\0spi0_ss0_c\0spi0_clk_c";
                        function = "spi0";
                        drive-strength-microamp = <0xfa0>;
                        bias-disable;
                    };
                };

                spicc1 {
                    phandle = <0xa8>;

                    mux {
                        groups = "spi1_mosi\0spi1_miso\0spi1_clk";
                        function = "spi1";
                        drive-strength-microamp = <0xfa0>;
                    };
                };

                spicc1-ss0 {
                    phandle = <0xa9>;

                    mux {
                        groups = "spi1_ss0";
                        function = "spi1";
                        drive-strength-microamp = <0xfa0>;
                        bias-disable;
                    };
                };

                tdm-a-din0 {
                    phandle = <0xaa>;

                    mux {
                        groups = "tdm_a_din0";
                        function = "tdm_a";
                        bias-disable;
                    };
                };

                tdm-a-din1 {
                    phandle = <0xab>;

                    mux {
                        groups = "tdm_a_din1";
                        function = "tdm_a";
                        bias-disable;
                    };
                };

                tdm-a-dout0 {
                    phandle = <0xac>;

                    mux {
                        groups = "tdm_a_dout0";
                        function = "tdm_a";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-a-dout1 {
                    phandle = <0xad>;

                    mux {
                        groups = "tdm_a_dout1";
                        function = "tdm_a";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-a-fs {
                    phandle = <0xae>;

                    mux {
                        groups = "tdm_a_fs";
                        function = "tdm_a";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-a-sclk {
                    phandle = <0xaf>;

                    mux {
                        groups = "tdm_a_sclk";
                        function = "tdm_a";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-a-slv-fs {
                    phandle = <0xb0>;

                    mux {
                        groups = "tdm_a_slv_fs";
                        function = "tdm_a";
                        bias-disable;
                    };
                };

                tdm-a-slv-sclk {
                    phandle = <0xb1>;

                    mux {
                        groups = "tdm_a_slv_sclk";
                        function = "tdm_a";
                        bias-disable;
                    };
                };

                tdm-b-din0 {
                    phandle = <0xb2>;

                    mux {
                        groups = "tdm_b_din0";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-b-din1 {
                    phandle = <0xb3>;

                    mux {
                        groups = "tdm_b_din1";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-b-din2 {
                    phandle = <0xb4>;

                    mux {
                        groups = "tdm_b_din2";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-b-din3-a {
                    phandle = <0xb5>;

                    mux {
                        groups = "tdm_b_din3_a";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-b-din3-h {
                    phandle = <0xb6>;

                    mux {
                        groups = "tdm_b_din3_h";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-b-dout0 {
                    phandle = <0xb7>;

                    mux {
                        groups = "tdm_b_dout0";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-dout1 {
                    phandle = <0xb8>;

                    mux {
                        groups = "tdm_b_dout1";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-dout2 {
                    phandle = <0xb9>;

                    mux {
                        groups = "tdm_b_dout2";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-dout3-a {
                    phandle = <0xba>;

                    mux {
                        groups = "tdm_b_dout3_a";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-dout3-h {
                    phandle = <0xbb>;

                    mux {
                        groups = "tdm_b_dout3_h";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-fs {
                    phandle = <0xbc>;

                    mux {
                        groups = "tdm_b_fs";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-sclk {
                    phandle = <0xbd>;

                    mux {
                        groups = "tdm_b_sclk";
                        function = "tdm_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-b-slv-fs {
                    phandle = <0xbe>;

                    mux {
                        groups = "tdm_b_slv_fs";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-b-slv-sclk {
                    phandle = <0xbf>;

                    mux {
                        groups = "tdm_b_slv_sclk";
                        function = "tdm_b";
                        bias-disable;
                    };
                };

                tdm-c-din0-a {
                    phandle = <0xc0>;

                    mux {
                        groups = "tdm_c_din0_a";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-din0-z {
                    phandle = <0xc1>;

                    mux {
                        groups = "tdm_c_din0_z";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-din1-a {
                    phandle = <0xc2>;

                    mux {
                        groups = "tdm_c_din1_a";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-din1-z {
                    phandle = <0xc3>;

                    mux {
                        groups = "tdm_c_din1_z";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-din2-a {
                    phandle = <0xc4>;

                    mux {
                        groups = "tdm_c_din2_a";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                eth-leds {
                    phandle = <0xc5>;

                    mux {
                        groups = "eth_link_led\0eth_act_led";
                        function = "eth";
                        bias-disable;
                    };
                };

                eth {
                    phandle = <0xc6>;

                    mux {
                        groups = "eth_mdio\0eth_mdc\0eth_rgmii_rx_clk\0eth_rx_dv\0eth_rxd0\0eth_rxd1\0eth_txen\0eth_txd0\0eth_txd1";
                        function = "eth";
                        drive-strength-microamp = <0xfa0>;
                        bias-disable;
                    };
                };

                eth-rgmii {
                    phandle = <0xc7>;

                    mux {
                        groups = "eth_rxd2_rgmii\0eth_rxd3_rgmii\0eth_rgmii_tx_clk\0eth_txd2_rgmii\0eth_txd3_rgmii";
                        function = "eth";
                        drive-strength-microamp = <0xfa0>;
                        bias-disable;
                    };
                };

                tdm-c-din2-z {
                    phandle = <0xc8>;

                    mux {
                        groups = "tdm_c_din2_z";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-din3-a {
                    phandle = <0xc9>;

                    mux {
                        groups = "tdm_c_din3_a";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-din3-z {
                    phandle = <0xca>;

                    mux {
                        groups = "tdm_c_din3_z";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-dout0-a {
                    phandle = <0xcb>;

                    mux {
                        groups = "tdm_c_dout0_a";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout0-z {
                    phandle = <0xcc>;

                    mux {
                        groups = "tdm_c_dout0_z";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout1-a {
                    phandle = <0xcd>;

                    mux {
                        groups = "tdm_c_dout1_a";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout1-z {
                    phandle = <0xce>;

                    mux {
                        groups = "tdm_c_dout1_z";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout2-a {
                    phandle = <0xcf>;

                    mux {
                        groups = "tdm_c_dout2_a";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout2-z {
                    phandle = <0xd0>;

                    mux {
                        groups = "tdm_c_dout2_z";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout3-a {
                    phandle = <0xd1>;

                    mux {
                        groups = "tdm_c_dout3_a";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-dout3-z {
                    phandle = <0xd2>;

                    mux {
                        groups = "tdm_c_dout3_z";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-fs-a {
                    phandle = <0xd3>;

                    mux {
                        groups = "tdm_c_fs_a";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-fs-z {
                    phandle = <0xd4>;

                    mux {
                        groups = "tdm_c_fs_z";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-sclk-a {
                    phandle = <0xd5>;

                    mux {
                        groups = "tdm_c_sclk_a";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-sclk-z {
                    phandle = <0xd6>;

                    mux {
                        groups = "tdm_c_sclk_z";
                        function = "tdm_c";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-c-slv-fs-a {
                    phandle = <0xd7>;

                    mux {
                        groups = "tdm_c_slv_fs_a";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-slv-fs-z {
                    phandle = <0xd8>;

                    mux {
                        groups = "tdm_c_slv_fs_z";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-slv-sclk-a {
                    phandle = <0xd9>;

                    mux {
                        groups = "tdm_c_slv_sclk_a";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                tdm-c-slv-sclk-z {
                    phandle = <0xda>;

                    mux {
                        groups = "tdm_c_slv_sclk_z";
                        function = "tdm_c";
                        bias-disable;
                    };
                };

                uart-a {
                    phandle = <0x30>;

                    mux {
                        groups = "uart_a_tx\0uart_a_rx";
                        function = "uart_a";
                        bias-disable;
                    };
                };

                uart-a-cts-rts {
                    phandle = <0x31>;

                    mux {
                        groups = "uart_a_cts\0uart_a_rts";
                        function = "uart_a";
                        bias-disable;
                    };
                };

                uart-b {
                    phandle = <0xdb>;

                    mux {
                        groups = "uart_b_tx\0uart_b_rx";
                        function = "uart_b";
                        bias-disable;
                    };
                };

                uart-c {
                    phandle = <0xdc>;

                    mux {
                        groups = "uart_c_tx\0uart_c_rx";
                        function = "uart_c";
                        bias-disable;
                    };
                };

                uart-c-cts-rts {
                    phandle = <0xdd>;

                    mux {
                        groups = "uart_c_cts\0uart_c_rts";
                        function = "uart_c";
                        bias-disable;
                    };
                };
            };
        };

        temperature-sensor@34800 {
            compatible = "amlogic,g12a-cpu-thermal\0amlogic,g12a-thermal";
            reg = <0x00 0x34800 0x00 0x50>;
            interrupts = <0x00 0x23 0x01>;
            clocks = <0x02 0xd4>;
            #thermal-sensor-cells = <0x00>;
            amlogic,ao-secure = <0x18>;
            phandle = <0x07>;
        };

        temperature-sensor@34c00 {
            compatible = "amlogic,g12a-ddr-thermal\0amlogic,g12a-thermal";
            reg = <0x00 0x34c00 0x00 0x50>;
            interrupts = <0x00 0x24 0x01>;
            clocks = <0x02 0xd4>;
            #thermal-sensor-cells = <0x00>;
            amlogic,ao-secure = <0x18>;
            phandle = <0x0e>;
        };

        phy@36000 {
            compatible = "amlogic,g12a-usb2-phy";
            reg = <0x00 0x36000 0x00 0x2000>;
            clocks = <0x19>;
            clock-names = "xtal";
            resets = <0x05 0x30>;
            reset-names = "phy";
            #phy-cells = <0x00>;
            phy-supply = <0x14>;
            phandle = <0x42>;
        };

        bus@38000 {
            compatible = "simple-bus";
            reg = <0x00 0x38000 0x00 0x400>;
            #address-cells = <0x02>;
            #size-cells = <0x02>;
            ranges = <0x00 0x00 0x00 0x38000 0x00 0x400>;
            phandle = <0xde>;

            video-lut@48 {
                compatible = "amlogic,canvas";
                reg = <0x00 0x48 0x00 0x14>;
                phandle = <0x27>;
            };
        };

        phy@3a000 {
            compatible = "amlogic,g12a-usb2-phy";
            reg = <0x00 0x3a000 0x00 0x2000>;
            clocks = <0x19>;
            clock-names = "xtal";
            resets = <0x05 0x31>;
            reset-names = "phy";
            #phy-cells = <0x00>;
            phy-supply = <0x14>;
            phandle = <0x43>;
        };

        bus@3c000 {
            compatible = "simple-bus";
            reg = <0x00 0x3c000 0x00 0x1400>;
            #address-cells = <0x02>;
            #size-cells = <0x02>;
            ranges = <0x00 0x00 0x00 0x3c000 0x00 0x1400>;
            phandle = <0xdf>;

            system-controller@0 {
                compatible = "amlogic,meson-gx-hhi-sysctrl\0simple-mfd\0syscon";
                reg = <0x00 0x00 0x00 0x400>;
                phandle = <0xe0>;

                clock-controller {
                    compatible = "amlogic,g12a-clkc";
                    #clock-cells = <0x01>;
                    clocks = <0x19>;
                    clock-names = "xtal";
                    phandle = <0x02>;
                };

                power-controller {
                    compatible = "amlogic,meson-g12a-pwrc";
                    #power-domain-cells = <0x01>;
                    amlogic,ao-sysctrl = <0x1a>;
                    resets = <0x05 0x05 0x05 0x0a 0x05 0x0d 0x05 0x25 0x05 0x85 0x05 0x86 0x05 0x87 0x05 0x89 0x05 0x8c 0x05 0x8d 0x05 0xe7>;
                    reset-names = "viu\0venc\0vcbus\0bt656\0rdma\0venci\0vencp\0vdac\0vdi6\0vencl\0vid_lock";
                    clocks = <0x02 0x74 0x02 0x7c>;
                    clock-names = "vpu\0vapb";
                    assigned-clocks = <0x02 0x6e 0x02 0x70 0x02 0x74 0x02 0x75 0x02 0x77 0x02 0x7b>;
                    assigned-clock-parents = <0x02 0x03 0x00 0x02 0x70 0x02 0x04 0x00 0x02 0x77>;
                    assigned-clock-rates = <0x00 0x27bc86aa 0x00 0x00 0xee6b280 0x00>;
                    phandle = <0x03>;
                };
            };
        };

        phy@46000 {
            compatible = "amlogic,g12a-usb3-pcie-phy";
            reg = <0x00 0x46000 0x00 0x2000>;
            clocks = <0x02 0xc9>;
            clock-names = "ref_clk";
            resets = <0x05 0x0e>;
            reset-names = "phy";
            assigned-clocks = <0x02 0xc9>;
            assigned-clock-rates = <0x5f5e100>;
            #phy-cells = <0x01>;
            phandle = <0x06>;
        };

        mdio-multiplexer@4c000 {
            compatible = "amlogic,g12a-mdio-mux";
            reg = <0x00 0x4c000 0x00 0xa4>;
            clocks = <0x02 0x13 0x19 0x02 0xb1>;
            clock-names = "pclk\0clkin0\0clkin1";
            mdio-parent-bus = <0x1b>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            phandle = <0xe1>;

            mdio@0 {
                reg = <0x00>;
                #address-cells = <0x01>;
                #size-cells = <0x00>;
                phandle = <0xe2>;
            };

            mdio@1 {
                reg = <0x01>;
                #address-cells = <0x01>;
                #size-cells = <0x00>;
                phandle = <0xe3>;

                ethernet_phy@8 {
                    compatible = "ethernet-phy-id0180.3301\0ethernet-phy-ieee802.3-c22";
                    interrupts = <0x00 0x09 0x04>;
                    reg = <0x08>;
                    max-speed = <0x64>;
                    phandle = <0x11>;
                };
            };
        };

        audio-controller@40000 {
            compatible = "amlogic,g12a-pdm\0amlogic,axg-pdm";
            reg = <0x00 0x40000 0x00 0x34>;
            #sound-dai-cells = <0x00>;
            sound-name-prefix = "PDM";
            clocks = <0x1c 0x1e 0x1c 0x39 0x1c 0x3a>;
            clock-names = "pclk\0dclk\0sysclk";
            resets = <0x1c 0x00>;
            status = "disabled";
            phandle = <0xe4>;
        };

        bus@42000 {
            compatible = "simple-bus";
            reg = <0x00 0x42000 0x00 0x2000>;
            #address-cells = <0x02>;
            #size-cells = <0x02>;
            ranges = <0x00 0x00 0x00 0x42000 0x00 0x2000>;
            phandle = <0xe5>;

            clock-controller@0 {
                status = "okay";
                compatible = "amlogic,g12a-audio-clkc";
                reg = <0x00 0x00 0x00 0xb4>;
                #clock-cells = <0x01>;
                #reset-cells = <0x01>;
                clocks = <0x02 0x25 0x02 0x0b 0x02 0x0c 0x02 0x0d 0x02 0x0e 0x02 0x4a 0x02 0x03 0x02 0x04 0x02 0x07>;
                clock-names = "pclk\0mst_in0\0mst_in1\0mst_in2\0mst_in3\0mst_in4\0mst_in5\0mst_in6\0mst_in7";
                resets = <0x05 0x41>;
                phandle = <0x1c>;
            };

            audio-controller@100 {
                compatible = "amlogic,g12a-toddr\0amlogic,axg-toddr";
                reg = <0x00 0x100 0x00 0x2c>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "TODDR_A";
                interrupts = <0x00 0x94 0x01>;
                clocks = <0x1c 0x29>;
                resets = <0x1d 0x00 0x1c 0x06>;
                reset-names = "arb\0rst";
                amlogic,fifo-depth = <0x200>;
                status = "disabled";
                phandle = <0xe6>;
            };

            audio-controller@140 {
                compatible = "amlogic,g12a-toddr\0amlogic,axg-toddr";
                reg = <0x00 0x140 0x00 0x2c>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "TODDR_B";
                interrupts = <0x00 0x95 0x01>;
                clocks = <0x1c 0x2a>;
                resets = <0x1d 0x01 0x1c 0x07>;
                reset-names = "arb\0rst";
                amlogic,fifo-depth = <0x100>;
                status = "disabled";
                phandle = <0xe7>;
            };

            audio-controller@180 {
                compatible = "amlogic,g12a-toddr\0amlogic,axg-toddr";
                reg = <0x00 0x180 0x00 0x2c>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "TODDR_C";
                interrupts = <0x00 0x96 0x01>;
                clocks = <0x1c 0x2b>;
                resets = <0x1d 0x02 0x1c 0x08>;
                reset-names = "arb\0rst";
                amlogic,fifo-depth = <0x100>;
                status = "disabled";
                phandle = <0xe8>;
            };

            audio-controller@1c0 {
                compatible = "amlogic,g12a-frddr\0amlogic,axg-frddr";
                reg = <0x00 0x1c0 0x00 0x2c>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "FRDDR_A";
                interrupts = <0x00 0x98 0x01>;
                clocks = <0x1c 0x26>;
                resets = <0x1d 0x03 0x1c 0x09>;
                reset-names = "arb\0rst";
                amlogic,fifo-depth = <0x200>;
                status = "okay";
                phandle = <0x4f>;
            };

            audio-controller@200 {
                compatible = "amlogic,g12a-frddr\0amlogic,axg-frddr";
                reg = <0x00 0x200 0x00 0x2c>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "FRDDR_B";
                interrupts = <0x00 0x99 0x01>;
                clocks = <0x1c 0x27>;
                resets = <0x1d 0x04 0x1c 0x0a>;
                reset-names = "arb\0rst";
                amlogic,fifo-depth = <0x100>;
                status = "okay";
                phandle = <0x50>;
            };

            audio-controller@240 {
                compatible = "amlogic,g12a-frddr\0amlogic,axg-frddr";
                reg = <0x00 0x240 0x00 0x2c>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "FRDDR_C";
                interrupts = <0x00 0x9a 0x01>;
                clocks = <0x1c 0x28>;
                resets = <0x1d 0x05 0x1c 0x0b>;
                reset-names = "arb\0rst";
                amlogic,fifo-depth = <0x100>;
                status = "okay";
                phandle = <0x51>;
            };

            reset-controller@280 {
                status = "okay";
                compatible = "amlogic,meson-axg-audio-arb";
                reg = <0x00 0x280 0x00 0x04>;
                #reset-cells = <0x01>;
                clocks = <0x1c 0x1d>;
                phandle = <0x1d>;
            };

            audio-controller@300 {
                compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
                reg = <0x00 0x300 0x00 0x40>;
                sound-name-prefix = "TDMIN_A";
                resets = <0x1c 0x01>;
                clocks = <0x1c 0x1f 0x1c 0x7b 0x1c 0x74 0x1c 0x82 0x1c 0x82>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "disabled";
                phandle = <0xe9>;
            };

            audio-controller@340 {
                compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
                reg = <0x00 0x340 0x00 0x40>;
                sound-name-prefix = "TDMIN_B";
                resets = <0x1c 0x02>;
                clocks = <0x1c 0x20 0x1c 0x7c 0x1c 0x75 0x1c 0x83 0x1c 0x83>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "disabled";
                phandle = <0xea>;
            };

            audio-controller@380 {
                compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
                reg = <0x00 0x380 0x00 0x40>;
                sound-name-prefix = "TDMIN_C";
                resets = <0x1c 0x03>;
                clocks = <0x1c 0x21 0x1c 0x7d 0x1c 0x76 0x1c 0x84 0x1c 0x84>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "disabled";
                phandle = <0xeb>;
            };

            audio-controller@3c0 {
                compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
                reg = <0x00 0x3c0 0x00 0x40>;
                sound-name-prefix = "TDMIN_LB";
                resets = <0x1c 0x04>;
                clocks = <0x1c 0x22 0x1c 0x7e 0x1c 0x77 0x1c 0x85 0x1c 0x85>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "disabled";
                phandle = <0xec>;
            };

            audio-controller@400 {
                compatible = "amlogic,g12a-spdifin\0amlogic,axg-spdifin";
                reg = <0x00 0x400 0x00 0x30>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "SPDIFIN";
                interrupts = <0x00 0x97 0x01>;
                clocks = <0x1c 0x2d 0x1c 0x38>;
                clock-names = "pclk\0refclk";
                resets = <0x1c 0x11>;
                status = "disabled";
                phandle = <0xed>;
            };

            audio-controller@480 {
                compatible = "amlogic,g12a-spdifout\0amlogic,axg-spdifout";
                reg = <0x00 0x480 0x00 0x50>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "SPDIFOUT";
                clocks = <0x1c 0x2e 0x1c 0x37>;
                clock-names = "pclk\0mclk";
                resets = <0x1c 0x0f>;
                status = "okay";
                pinctrl-0 = <0x1e>;
                pinctrl-names = "default";
                phandle = <0x54>;
            };

            audio-controller@500 {
                compatible = "amlogic,g12a-tdmout";
                reg = <0x00 0x500 0x00 0x40>;
                sound-name-prefix = "TDMOUT_A";
                resets = <0x1c 0x0c>;
                clocks = <0x1c 0x23 0x1c 0x7f 0x1c 0x78 0x1c 0x86 0x1c 0x86>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "disabled";
                phandle = <0xee>;
            };

            audio-controller@540 {
                compatible = "amlogic,g12a-tdmout";
                reg = <0x00 0x540 0x00 0x40>;
                sound-name-prefix = "TDMOUT_B";
                resets = <0x1c 0x0d>;
                clocks = <0x1c 0x24 0x1c 0x80 0x1c 0x79 0x1c 0x87 0x1c 0x87>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "okay";
                phandle = <0x4e>;
            };

            audio-controller@580 {
                compatible = "amlogic,g12a-tdmout";
                reg = <0x00 0x580 0x00 0x40>;
                sound-name-prefix = "TDMOUT_C";
                resets = <0x1c 0x0e>;
                clocks = <0x1c 0x25 0x1c 0x81 0x1c 0x7a 0x1c 0x88 0x1c 0x88>;
                clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
                status = "disabled";
                phandle = <0xef>;
            };

            audio-controller@680 {
                compatible = "amlogic,g12a-spdifout\0amlogic,axg-spdifout";
                reg = <0x00 0x680 0x00 0x50>;
                #sound-dai-cells = <0x00>;
                sound-name-prefix = "SPDIFOUT_B";
                clocks = <0x1c 0x97 0x1c 0x98>;
                clock-names = "pclk\0mclk";
                resets = <0x1c 0x10>;
                status = "okay";
                phandle = <0x56>;
            };

            audio-controller@740 {
                compatible = "amlogic,g12a-toacodec";
                reg = <0x00 0x740 0x00 0x04>;
                #sound-dai-cells = <0x01>;
                sound-name-prefix = "TOACODEC";
                resets = <0x1c 0x17>;
                status = "disabled";
                phandle = <0xf0>;
            };

            audio-controller@744 {
                compatible = "amlogic,g12a-tohdmitx";
                reg = <0x00 0x744 0x00 0x04>;
                #sound-dai-cells = <0x01>;
                sound-name-prefix = "TOHDMITX";
                resets = <0x1c 0x18>;
                status = "okay";
                phandle = <0x53>;
            };
        };
    };

    bus@ff800000 {
        compatible = "simple-bus";
        reg = <0x00 0xff800000 0x00 0x100000>;
        #address-cells = <0x02>;
        #size-cells = <0x02>;
        ranges = <0x00 0x00 0x00 0xff800000 0x00 0x100000>;
        phandle = <0xf1>;

        sys-ctrl@0 {
            compatible = "amlogic,meson-gx-ao-sysctrl\0simple-mfd\0syscon";
            reg = <0x00 0x00 0x00 0x100>;
            #address-cells = <0x02>;
            #size-cells = <0x02>;
            ranges = <0x00 0x00 0x00 0x00 0x00 0x100>;
            phandle = <0x1a>;

            clock-controller {
                compatible = "amlogic,meson-g12a-aoclkc";
                #clock-cells = <0x01>;
                #reset-cells = <0x01>;
                clocks = <0x19 0x02 0x0a>;
                clock-names = "xtal\0mpeg-clk";
                phandle = <0x20>;
            };

            pinctrl@14 {
                compatible = "amlogic,meson-g12a-aobus-pinctrl";
                #address-cells = <0x02>;
                #size-cells = <0x02>;
                ranges;
                phandle = <0x1f>;

                bank@14 {
                    reg = <0x00 0x14 0x00 0x08 0x00 0x1c 0x00 0x08 0x00 0x24 0x00 0x14>;
                    reg-names = "mux\0ds\0gpio";
                    gpio-controller;
                    #gpio-cells = <0x02>;
                    gpio-ranges = <0x1f 0x00 0x00 0x0f>;
                    phandle = <0x58>;
                };

                i2c_ao_sck_pins {
                    phandle = <0xf2>;

                    mux {
                        groups = "i2c_ao_sck";
                        function = "i2c_ao";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c_ao_sda {
                    phandle = <0xf3>;

                    mux {
                        groups = "i2c_ao_sda";
                        function = "i2c_ao";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c_ao_sck_e {
                    phandle = <0xf4>;

                    mux {
                        groups = "i2c_ao_sck_e";
                        function = "i2c_ao";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                i2c_ao_sda_e {
                    phandle = <0xf5>;

                    mux {
                        groups = "i2c_ao_sda_e";
                        function = "i2c_ao";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                mclk0-ao {
                    phandle = <0xf6>;

                    mux {
                        groups = "mclk0_ao";
                        function = "mclk0_ao";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-ao-b-din0 {
                    phandle = <0xf7>;

                    mux {
                        groups = "tdm_ao_b_din0";
                        function = "tdm_ao_b";
                        bias-disable;
                    };
                };

                spdif-ao-out {
                    phandle = <0xf8>;

                    mux {
                        groups = "spdif_ao_out";
                        function = "spdif_ao_out";
                        drive-strength-microamp = <0x1f4>;
                        bias-disable;
                    };
                };

                tdm-ao-b-din1 {
                    phandle = <0xf9>;

                    mux {
                        groups = "tdm_ao_b_din1";
                        function = "tdm_ao_b";
                        bias-disable;
                    };
                };

                tdm-ao-b-din2 {
                    phandle = <0xfa>;

                    mux {
                        groups = "tdm_ao_b_din2";
                        function = "tdm_ao_b";
                        bias-disable;
                    };
                };

                tdm-ao-b-dout0 {
                    phandle = <0xfb>;

                    mux {
                        groups = "tdm_ao_b_dout0";
                        function = "tdm_ao_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-ao-b-dout1 {
                    phandle = <0xfc>;

                    mux {
                        groups = "tdm_ao_b_dout1";
                        function = "tdm_ao_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-ao-b-dout2 {
                    phandle = <0xfd>;

                    mux {
                        groups = "tdm_ao_b_dout2";
                        function = "tdm_ao_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-ao-b-fs {
                    phandle = <0xfe>;

                    mux {
                        groups = "tdm_ao_b_fs";
                        function = "tdm_ao_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-ao-b-sclk {
                    phandle = <0xff>;

                    mux {
                        groups = "tdm_ao_b_sclk";
                        function = "tdm_ao_b";
                        bias-disable;
                        drive-strength-microamp = <0xbb8>;
                    };
                };

                tdm-ao-b-slv-fs {
                    phandle = <0x100>;

                    mux {
                        groups = "tdm_ao_b_slv_fs";
                        function = "tdm_ao_b";
                        bias-disable;
                    };
                };

                tdm-ao-b-slv-sclk {
                    phandle = <0x101>;

                    mux {
                        groups = "tdm_ao_b_slv_sclk";
                        function = "tdm_ao_b";
                        bias-disable;
                    };
                };

                uart-a-ao {
                    phandle = <0x25>;

                    mux {
                        groups = "uart_ao_a_tx\0uart_ao_a_rx";
                        function = "uart_ao_a";
                        bias-pull-up;
                    };
                };

                uart-ao-a-cts-rts {
                    phandle = <0x102>;

                    mux {
                        groups = "uart_ao_a_cts\0uart_ao_a_rts";
                        function = "uart_ao_a";
                        bias-pull-up;
                    };
                };

                pwm-a-e {
                    phandle = <0x103>;

                    mux {
                        groups = "pwm_a_e";
                        function = "pwm_a_e";
                        bias-disable;
                    };
                };

                pwm-ao-a {
                    phandle = <0x104>;

                    mux {
                        groups = "pwm_ao_a";
                        function = "pwm_ao_a";
                        bias-disable;
                    };
                };

                pwm-ao-b {
                    phandle = <0x105>;

                    mux {
                        groups = "pwm_ao_b";
                        function = "pwm_ao_b";
                        bias-disable;
                    };
                };

                pwm-ao-c-4 {
                    phandle = <0x106>;

                    mux {
                        groups = "pwm_ao_c_4";
                        function = "pwm_ao_c";
                        bias-disable;
                    };
                };

                pwm-ao-c-6 {
                    phandle = <0x107>;

                    mux {
                        groups = "pwm_ao_c_6";
                        function = "pwm_ao_c";
                        bias-disable;
                    };
                };

                pwm-ao-d-5 {
                    phandle = <0x108>;

                    mux {
                        groups = "pwm_ao_d_5";
                        function = "pwm_ao_d";
                        bias-disable;
                    };
                };

                pwm-ao-d-10 {
                    phandle = <0x109>;

                    mux {
                        groups = "pwm_ao_d_10";
                        function = "pwm_ao_d";
                        bias-disable;
                    };
                };

                pwm-ao-d-e {
                    phandle = <0x24>;

                    mux {
                        groups = "pwm_ao_d_e";
                        function = "pwm_ao_d";
                    };
                };

                remote-input-ao {
                    phandle = <0x26>;

                    mux {
                        groups = "remote_ao_input";
                        function = "remote_ao_input";
                        bias-disable;
                    };
                };
            };
        };

        rtc@a8 {
            compatible = "amlogic,meson-vrtc";
            reg = <0x00 0xa8 0x00 0x04>;
            phandle = <0x10a>;
        };

        cec@100 {
            compatible = "amlogic,meson-gx-ao-cec";
            reg = <0x00 0x100 0x00 0x14>;
            interrupts = <0x00 0xc7 0x01>;
            clocks = <0x20 0x1b>;
            clock-names = "core";
            status = "disabled";
            pinctrl-0 = <0x21>;
            pinctrl-names = "default";
            hdmi-phandle = <0x22>;
            phandle = <0x10b>;
        };

        ao-secure@140 {
            compatible = "amlogic,meson-gx-ao-secure\0syscon";
            reg = <0x00 0x140 0x00 0x140>;
            amlogic,has-chip-id;
            phandle = <0x18>;
        };

        cec@280 {
            compatible = "amlogic,meson-g12a-ao-cec";
            reg = <0x00 0x280 0x00 0x1c>;
            interrupts = <0x00 0xcb 0x01>;
            clocks = <0x20 0x13>;
            clock-names = "oscin";
            status = "okay";
            pinctrl-0 = <0x23>;
            pinctrl-names = "default";
            hdmi-phandle = <0x22>;
            phandle = <0x10c>;
        };

        pwm@2000 {
            compatible = "amlogic,meson-g12a-ao-pwm-cd";
            reg = <0x00 0x2000 0x00 0x20>;
            #pwm-cells = <0x03>;
            status = "okay";
            pinctrl-0 = <0x24>;
            pinctrl-names = "default";
            clocks = <0x19>;
            clock-names = "clkin1";
            phandle = <0x4d>;
        };

        serial@3000 {
            compatible = "amlogic,meson-gx-uart\0amlogic,meson-ao-uart";
            reg = <0x00 0x3000 0x00 0x18>;
            interrupts = <0x00 0xc1 0x01>;
            clocks = <0x19 0x20 0x04 0x19>;
            clock-names = "xtal\0pclk\0baud";
            status = "okay";
            pinctrl-0 = <0x25>;
            pinctrl-names = "default";
            phandle = <0x10d>;
        };

        serial@4000 {
            compatible = "amlogic,meson-gx-uart\0amlogic,meson-ao-uart";
            reg = <0x00 0x4000 0x00 0x18>;
            interrupts = <0x00 0xc5 0x01>;
            clocks = <0x19 0x20 0x06 0x19>;
            clock-names = "xtal\0pclk\0baud";
            status = "disabled";
            phandle = <0x10e>;
        };

        i2c@5000 {
            compatible = "amlogic,meson-axg-i2c";
            status = "disabled";
            reg = <0x00 0x5000 0x00 0x20>;
            interrupts = <0x00 0xc3 0x01>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            clocks = <0x02 0x18>;
            phandle = <0x10f>;
        };

        pwm@7000 {
            compatible = "amlogic,meson-g12a-ao-pwm-ab";
            reg = <0x00 0x7000 0x00 0x20>;
            #pwm-cells = <0x03>;
            status = "disabled";
            phandle = <0x110>;
        };

        ir@8000 {
            compatible = "amlogic,meson-gxbb-ir";
            reg = <0x00 0x8000 0x00 0x20>;
            interrupts = <0x00 0xc4 0x01>;
            status = "okay";
            pinctrl-0 = <0x26>;
            pinctrl-names = "default";
            phandle = <0x111>;
        };

        adc@9000 {
            compatible = "amlogic,meson-g12a-saradc\0amlogic,meson-saradc";
            reg = <0x00 0x9000 0x00 0x48>;
            #io-channel-cells = <0x01>;
            interrupts = <0x00 0xc8 0x01>;
            clocks = <0x19 0x20 0x08 0x20 0x12 0x20 0x10>;
            clock-names = "clkin\0core\0adc_clk\0adc_sel";
            status = "disabled";
            phandle = <0x112>;
        };
    };

    video-decoder@ff620000 {
        compatible = "amlogic,g12a-vdec";
        reg = <0x00 0xff620000 0x00 0x10000 0x00 0xffd0e180 0x00 0xe4>;
        reg-names = "dos\0esparser";
        interrupts = <0x00 0x2c 0x01 0x00 0x20 0x01>;
        interrupt-names = "vdec\0esparser";
        amlogic,ao-sysctrl = <0x1a>;
        amlogic,canvas = <0x27>;
        clocks = <0x02 0x2e 0x02 0x10 0x02 0xcc 0x02 0xcf 0x02 0xd2>;
        clock-names = "dos_parser\0dos\0vdec_1\0vdec_hevc\0vdec_hevcf";
        resets = <0x05 0x28>;
        reset-names = "esparser";
        phandle = <0x113>;
    };

    vpu@ff900000 {
        compatible = "amlogic,meson-g12a-vpu";
        reg = <0x00 0xff900000 0x00 0x100000 0x00 0xff63c000 0x00 0x1000>;
        reg-names = "vpu\0hhi";
        interrupts = <0x00 0x03 0x01>;
        #address-cells = <0x01>;
        #size-cells = <0x00>;
        amlogic,canvas = <0x27>;
        power-domains = <0x03 0x00>;
        phandle = <0x114>;

        port@0 {
            reg = <0x00>;
            phandle = <0x115>;

            endpoint {
                remote-endpoint = <0x28>;
                phandle = <0x4a>;
            };
        };

        port@1 {
            reg = <0x01>;
            phandle = <0x116>;

            endpoint {
                remote-endpoint = <0x29>;
                phandle = <0x15>;
            };
        };
    };

    interrupt-controller@ffc01000 {
        compatible = "arm,gic-400";
        reg = <0x00 0xffc01000 0x00 0x1000 0x00 0xffc02000 0x00 0x2000 0x00 0xffc04000 0x00 0x2000 0x00 0xffc06000 0x00 0x2000>;
        interrupt-controller;
        interrupts = <0x01 0x09 0xff04>;
        #interrupt-cells = <0x03>;
        #address-cells = <0x00>;
        phandle = <0x01>;
    };

    bus@ffd00000 {
        compatible = "simple-bus";
        reg = <0x00 0xffd00000 0x00 0x100000>;
        #address-cells = <0x02>;
        #size-cells = <0x02>;
        ranges = <0x00 0x00 0x00 0xffd00000 0x00 0x100000>;
        phandle = <0x117>;

        reset-controller@1004 {
            compatible = "amlogic,meson-axg-reset";
            reg = <0x00 0x1004 0x00 0x9c>;
            #reset-cells = <0x01>;
            phandle = <0x05>;
        };

        interrupt-controller@f080 {
            compatible = "amlogic,meson-g12a-gpio-intc\0amlogic,meson-gpio-intc";
            reg = <0x00 0xf080 0x00 0x10>;
            interrupt-controller;
            #interrupt-cells = <0x02>;
            amlogic,channel-interrupts = <0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47>;
            phandle = <0x118>;
        };

        watchdog@f0d0 {
            compatible = "amlogic,meson-gxbb-wdt";
            reg = <0x00 0xf0d0 0x00 0x10>;
            clocks = <0x19>;
            phandle = <0x119>;
        };

        spi@13000 {
            compatible = "amlogic,meson-g12a-spicc";
            reg = <0x00 0x13000 0x00 0x44>;
            interrupts = <0x00 0x51 0x04>;
            clocks = <0x02 0x17 0x02 0x102>;
            clock-names = "core\0pclk";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            status = "disabled";
            phandle = <0x11a>;
        };

        spi@15000 {
            compatible = "amlogic,meson-g12a-spicc";
            reg = <0x00 0x15000 0x00 0x44>;
            interrupts = <0x00 0x5a 0x04>;
            clocks = <0x02 0x1d 0x02 0x105>;
            clock-names = "core\0pclk";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            status = "disabled";
            phandle = <0x11b>;
        };

        spi@14000 {
            compatible = "amlogic,meson-gxbb-spifc";
            status = "disabled";
            reg = <0x00 0x14000 0x00 0x80>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            clocks = <0x02 0x0a>;
            phandle = <0x11c>;
        };

        pwm@19000 {
            compatible = "amlogic,meson-g12a-ee-pwm";
            reg = <0x00 0x19000 0x00 0x20>;
            #pwm-cells = <0x03>;
            status = "disabled";
            phandle = <0x57>;
        };

        pwm@1a000 {
            compatible = "amlogic,meson-g12a-ee-pwm";
            reg = <0x00 0x1a000 0x00 0x20>;
            #pwm-cells = <0x03>;
            status = "disabled";
            phandle = <0x11d>;
        };

        pwm@1b000 {
            compatible = "amlogic,meson-g12a-ee-pwm";
            reg = <0x00 0x1b000 0x00 0x20>;
            #pwm-cells = <0x03>;
            status = "disabled";
            phandle = <0x11e>;
        };

        i2c@1c000 {
            compatible = "amlogic,meson-axg-i2c";
            status = "okay";
            reg = <0x00 0x1c000 0x00 0x20>;
            interrupts = <0x00 0x27 0x01>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            clocks = <0x02 0x18>;
            pinctrl-0 = <0x2a 0x2b>;
            pinctrl-names = "default";
            phandle = <0x11f>;
        };

        i2c@1d000 {
            compatible = "amlogic,meson-axg-i2c";
            status = "okay";
            reg = <0x00 0x1d000 0x00 0x20>;
            interrupts = <0x00 0xd7 0x01>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            clocks = <0x02 0x18>;
            pinctrl-0 = <0x2c 0x2d>;
            pinctrl-names = "default";
            phandle = <0x120>;
        };

        i2c@1e000 {
            compatible = "amlogic,meson-axg-i2c";
            status = "disabled";
            reg = <0x00 0x1e000 0x00 0x20>;
            interrupts = <0x00 0xd6 0x01>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            clocks = <0x02 0x18>;
            phandle = <0x121>;
        };

        i2c@1f000 {
            compatible = "amlogic,meson-axg-i2c";
            status = "okay";
            reg = <0x00 0x1f000 0x00 0x20>;
            interrupts = <0x00 0x15 0x01>;
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            clocks = <0x02 0x18>;
            pinctrl-0 = <0x2e 0x2f>;
            pinctrl-names = "default";
            phandle = <0x122>;
        };

        clock-measure@18000 {
            compatible = "amlogic,meson-g12a-clk-measure";
            reg = <0x00 0x18000 0x00 0x10>;
            phandle = <0x123>;
        };

        serial@22000 {
            compatible = "amlogic,meson-gx-uart";
            reg = <0x00 0x22000 0x00 0x18>;
            interrupts = <0x00 0x5d 0x01>;
            clocks = <0x19 0x02 0x39 0x19>;
            clock-names = "xtal\0pclk\0baud";
            status = "disabled";
            phandle = <0x124>;
        };

        serial@23000 {
            compatible = "amlogic,meson-gx-uart";
            reg = <0x00 0x23000 0x00 0x18>;
            interrupts = <0x00 0x4b 0x01>;
            clocks = <0x19 0x02 0x2a 0x19>;
            clock-names = "xtal\0pclk\0baud";
            status = "disabled";
            phandle = <0x125>;
        };

        serial@24000 {
            compatible = "amlogic,meson-gx-uart";
            reg = <0x00 0x24000 0x00 0x18>;
            interrupts = <0x00 0x1a 0x01>;
            clocks = <0x19 0x02 0x1c 0x19>;
            clock-names = "xtal\0pclk\0baud";
            status = "okay";
            fifo-size = <0x80>;
            pinctrl-0 = <0x30 0x31>;
            uart-has-rtscts;
            pinctrl-names = "default";
            phandle = <0x126>;

            bluetooth {
                compatible = "realtek,rtl8723bs-bt";
            };
        };
    };

    sd@ffe03000 {
        compatible = "amlogic,meson-axg-mmc";
        reg = <0x00 0xffe03000 0x00 0x800>;
        interrupts = <0x00 0xbd 0x01>;
        status = "okay";
        clocks = <0x02 0x21 0x02 0x3c 0x02 0x02>;
        clock-names = "core\0clkin0\0clkin1";
        resets = <0x05 0x2c>;
        amlogic,dram-access-quirk;
        pinctrl-0 = <0x34>;
        pinctrl-1 = <0x35>;
        pinctrl-names = "default\0clk-gate";
        #address-cells = <0x01>;
        #size-cells = <0x00>;
        bus-width = <0x04>;
        cap-sd-highspeed;
        sd-uhs-sdr50;
        max-frequency = <0x5f5e100>;
        non-removable;
        disable-wp;
        keep-power-in-suspend;
        mmc-pwrseq = <0x36>;
        vmmc-supply = <0x37>;
        vqmmc-supply = <0x38>;
        phandle = <0x127>;

        wifi@1 {
            reg = <0x01>;
            compatible = "sprd,unisoc-wifi";
            phandle = <0x128>;
        };
    };

    sd@ffe05000 {
        compatible = "amlogic,meson-axg-mmc";
        reg = <0x00 0xffe05000 0x00 0x800>;
        interrupts = <0x00 0xbe 0x01>;
        status = "okay";
        clocks = <0x02 0x22 0x02 0x3d 0x02 0x02>;
        clock-names = "core\0clkin0\0clkin1";
        resets = <0x05 0x2d>;
        pinctrl-0 = <0x39>;
        pinctrl-1 = <0x3a>;
        pinctrl-names = "default\0clk-gate";
        bus-width = <0x04>;
        cap-sd-highspeed;
        max-frequency = <0x5f5e100>;
        disable-wp;
        cd-gpios = <0x32 0x2f 0x01>;
        vmmc-supply = <0x37>;
        vqmmc-supply = <0x37>;
        phandle = <0x129>;
    };

    mmc@ffe07000 {
        compatible = "amlogic,meson-axg-mmc";
        reg = <0x00 0xffe07000 0x00 0x800>;
        interrupts = <0x00 0xbf 0x01>;
        status = "okay";
        clocks = <0x02 0x23 0x02 0x3e 0x02 0x02>;
        clock-names = "core\0clkin0\0clkin1";
        resets = <0x05 0x2e>;
        pinctrl-0 = <0x3b 0x3c 0x3d>;
        pinctrl-1 = <0x3e>;
        pinctrl-names = "default\0clk-gate";
        bus-width = <0x08>;
        cap-mmc-highspeed;
        mmc-ddr-1_8v;
        mmc-hs200-1_8v;
        max-frequency = <0x5f5e100>;
        non-removable;
        disable-wp;
        mmc-pwrseq = <0x3f>;
        vmmc-supply = <0x40>;
        vqmmc-supply = <0x41>;
        phandle = <0x12a>;
    };

    usb@ffe09000 {
        status = "okay";
        compatible = "amlogic,meson-g12a-usb-ctrl";
        reg = <0x00 0xffe09000 0x00 0xa0>;
        interrupts = <0x00 0x10 0x04>;
        #address-cells = <0x02>;
        #size-cells = <0x02>;
        ranges;
        clocks = <0x02 0x2f>;
        resets = <0x05 0x22>;
        dr_mode = "otg";
        phys = <0x42 0x43 0x06 0x04>;
        phy-names = "usb2-phy0\0usb2-phy1\0usb3-phy0";
        vbus-supply = <0x44>;
        phandle = <0x12b>;

        usb@ff400000 {
            compatible = "amlogic,meson-g12a-usb\0snps,dwc2";
            reg = <0x00 0xff400000 0x00 0x40000>;
            interrupts = <0x00 0x1f 0x04>;
            clocks = <0x02 0x37>;
            clock-names = "otg";
            phys = <0x43>;
            phy-names = "usb2-phy";
            dr_mode = "peripheral";
            g-rx-fifo-size = <0xc0>;
            g-np-tx-fifo-size = <0x80>;
            g-tx-fifo-size = <0x80 0x80 0x10 0x10 0x10>;
            phandle = <0x12c>;
        };

        usb@ff500000 {
            compatible = "snps,dwc3";
            reg = <0x00 0xff500000 0x00 0x100000>;
            interrupts = <0x00 0x1e 0x04>;
            dr_mode = "host";
            snps,dis_u2_susphy_quirk;
            snps,quirk-frame-length-adjustment = <0x20>;
            snps,parkmode-disable-ss-quirk;
            phandle = <0x12d>;
        };
    };

    gpu@ffe40000 {
        compatible = "amlogic,meson-g12a-mali\0arm,mali-bifrost";
        reg = <0x00 0xffe40000 0x00 0x40000>;
        interrupt-parent = <0x01>;
        interrupts = <0x00 0xa2 0x04 0x00 0xa1 0x04 0x00 0xa0 0x04>;
        interrupt-names = "job\0mmu\0gpu";
        clocks = <0x02 0xaf>;
        resets = <0x05 0x14 0x05 0x4e>;
        operating-points-v2 = <0x45>;
        #cooling-cells = <0x02>;
        mali-supply = <0x46>;
        phandle = <0x10>;
    };
};

timer {
    compatible = "arm,armv8-timer";
    interrupts = <0x01 0x0d 0xff08 0x01 0x0e 0xff08 0x01 0x0b 0xff08 0x01 0x0a 0xff08>;
    arm,no-tick-in-suspend;
};

xtal-clk {
    compatible = "fixed-clock";
    clock-frequency = <0x16e3600>;
    clock-output-names = "xtal";
    #clock-cells = <0x00>;
    phandle = <0x19>;
};

audio-controller-0 {
    compatible = "amlogic,axg-tdm-iface";
    #sound-dai-cells = <0x00>;
    sound-name-prefix = "TDM_A";
    clocks = <0x1c 0x31 0x1c 0x4f 0x1c 0x56>;
    clock-names = "mclk\0sclk\0lrclk";
    status = "disabled";
    phandle = <0x12e>;
};

audio-controller-1 {
    compatible = "amlogic,axg-tdm-iface";
    #sound-dai-cells = <0x00>;
    sound-name-prefix = "TDM_B";
    clocks = <0x1c 0x32 0x1c 0x50 0x1c 0x57>;
    clock-names = "mclk\0sclk\0lrclk";
    status = "okay";
    phandle = <0x52>;
};

audio-controller-2 {
    compatible = "amlogic,axg-tdm-iface";
    #sound-dai-cells = <0x00>;
    sound-name-prefix = "TDM_C";
    clocks = <0x1c 0x33 0x1c 0x51 0x1c 0x58>;
    clock-names = "mclk\0sclk\0lrclk";
    status = "disabled";
    phandle = <0x12f>;
};

cpus {
    #address-cells = <0x02>;
    #size-cells = <0x00>;

    cpu@0 {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00 0x00>;
        enable-method = "psci";
        next-level-cache = <0x47>;
        #cooling-cells = <0x02>;
        cpu-supply = <0x48>;
        operating-points-v2 = <0x49>;
        clocks = <0x02 0xbb>;
        clock-latency = <0xc350>;
        phandle = <0x09>;
    };

    cpu@1 {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00 0x01>;
        enable-method = "psci";
        next-level-cache = <0x47>;
        #cooling-cells = <0x02>;
        cpu-supply = <0x48>;
        operating-points-v2 = <0x49>;
        clocks = <0x02 0xbb>;
        clock-latency = <0xc350>;
        phandle = <0x0a>;
    };

    cpu@2 {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00 0x02>;
        enable-method = "psci";
        next-level-cache = <0x47>;
        #cooling-cells = <0x02>;
        cpu-supply = <0x48>;
        operating-points-v2 = <0x49>;
        clocks = <0x02 0xbb>;
        clock-latency = <0xc350>;
        phandle = <0x0b>;
    };

    cpu@3 {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00 0x03>;
        enable-method = "psci";
        next-level-cache = <0x47>;
        #cooling-cells = <0x02>;
        cpu-supply = <0x48>;
        operating-points-v2 = <0x49>;
        clocks = <0x02 0xbb>;
        clock-latency = <0xc350>;
        phandle = <0x0c>;
    };

    l2-cache0 {
        compatible = "cache";
        phandle = <0x47>;
    };
};

opp-table {
    compatible = "operating-points-v2";
    opp-shared;
    phandle = <0x49>;

    opp-100000000 {
        opp-hz = <0x00 0x5f5e100>;
        opp-microvolt = <0xb2778>;
        status = "disabled";
    };

    opp-250000000 {
        opp-hz = <0x00 0xee6b280>;
        opp-microvolt = <0xb2778>;
        status = "disabled";
    };

    opp-500000000 {
        opp-hz = <0x00 0x1dcd6500>;
        opp-microvolt = <0xb2778>;
        status = "disabled";
    };

    opp-667000000 {
        opp-hz = <0x00 0x27bc86aa>;
        opp-microvolt = <0xb2778>;
        status = "disabled";
    };

    opp-1000000000 {
        opp-hz = <0x00 0x3b9aca00>;
        opp-microvolt = <0xb2778>;
    };

    opp-1200000000 {
        opp-hz = <0x00 0x47868c00>;
        opp-microvolt = <0xb2778>;
    };

    opp-1398000000 {
        opp-hz = <0x00 0x5353c980>;
        opp-microvolt = <0xb9ca8>;
    };

    opp-1512000000 {
        opp-hz = <0x00 0x5a1f4a00>;
        opp-microvolt = <0xc11d8>;
    };

    opp-1608000000 {
        opp-hz = <0x00 0x5fd82200>;
        opp-microvolt = <0xcae18>;
    };

    opp-1704000000 {
        opp-hz = <0x00 0x6590fa00>;
        opp-microvolt = <0xd2348>;
    };

    opp-1800000000 {
        opp-hz = <0x00 0x6b49d200>;
        opp-microvolt = <0xef808>;
    };

    opp-1908000000 {
        opp-hz = <0x00 0x71b9c500>;
        opp-microvolt = <0xf4628>;
    };
};

audio-codec-1 {
    #sound-dai-cells = <0x00>;
    compatible = "linux,spdif-dit";
    status = "okay";
    sound-name-prefix = "DIT";
    phandle = <0x55>;
};

cvbs-connector {
    compatible = "composite-video-connector";

    port {

        endpoint {
            remote-endpoint = <0x4a>;
            phandle = <0x28>;
        };
    };
};

emmc-pwrseq {
    compatible = "mmc-pwrseq-emmc";
    reset-gpios = <0x32 0x25 0x01>;
    phandle = <0x3f>;
};

hdmi-connector {
    compatible = "hdmi-connector";
    type = [61 00];

    port {

        endpoint {
            remote-endpoint = <0x4b>;
            phandle = <0x16>;
        };
    };
};

memory@0 {
    device_type = "memory";
    reg = <0x00 0x00 0x00 0x80000000>;
};

regulator-flash_1v8 {
    compatible = "regulator-fixed";
    regulator-name = "FLASH_1V8";
    regulator-min-microvolt = <0x1b7740>;
    regulator-max-microvolt = <0x1b7740>;
    vin-supply = <0x40>;
    regulator-always-on;
    phandle = <0x41>;
};

regulator-main_12v {
    compatible = "regulator-fixed";
    regulator-name = "12V";
    regulator-min-microvolt = <0xb71b00>;
    regulator-max-microvolt = <0xb71b00>;
    regulator-always-on;
    phandle = <0x4c>;
};

regulator-usb_pwr_en {
    compatible = "regulator-fixed";
    regulator-name = "USB_PWR_EN";
    regulator-min-microvolt = <0x4c4b40>;
    regulator-max-microvolt = <0x4c4b40>;
    vin-supply = <0x14>;
    gpio = <0x32 0x16 0x00>;
    enable-active-high;
    phandle = <0x44>;
};

regulator-vcc_1v8 {
    compatible = "regulator-fixed";
    regulator-name = "VCC_1V8";
    regulator-min-microvolt = <0x1b7740>;
    regulator-max-microvolt = <0x1b7740>;
    vin-supply = <0x40>;
    regulator-always-on;
    phandle = <0x130>;
};

regulator-vcc_3v3 {
    compatible = "regulator-fixed";
    regulator-name = "VCC_3V3";
    regulator-min-microvolt = <0x325aa0>;
    regulator-max-microvolt = <0x325aa0>;
    vin-supply = <0x37>;
    regulator-always-on;
    phandle = <0x40>;
};

regulator-vcc_5v {
    compatible = "regulator-fixed";
    regulator-name = "VCC_5V";
    regulator-min-microvolt = <0x4c4b40>;
    regulator-max-microvolt = <0x4c4b40>;
    vin-supply = <0x4c>;
    gpio = <0x32 0x18 0x06>;
    enable-active-high;
    phandle = <0x14>;
};

regulator-vddao_1v8 {
    compatible = "regulator-fixed";
    regulator-name = "VDDAO_1V8";
    regulator-min-microvolt = <0x1b7740>;
    regulator-max-microvolt = <0x1b7740>;
    vin-supply = <0x37>;
    regulator-always-on;
    phandle = <0x38>;
};

regulator-vddao_3v3 {
    compatible = "regulator-fixed";
    regulator-name = "VDDAO_3V3";
    regulator-min-microvolt = <0x325aa0>;
    regulator-max-microvolt = <0x325aa0>;
    vin-supply = <0x4c>;
    regulator-always-on;
    phandle = <0x37>;
};

regulator-vddcpu {
    compatible = "pwm-regulator";
    regulator-name = "VDDCPU";
    regulator-min-microvolt = <0xb0068>;
    regulator-max-microvolt = <0xf9830>;
    pwm-supply = <0x4c>;
    pwms = <0x4d 0x01 0x4e2 0x00>;
    pwm-dutycycle-range = <0x64 0x00>;
    regulator-boot-on;
    regulator-always-on;
    phandle = <0x48>;
};

sound {
    compatible = "amlogic,axg-sound-card";
    model = "U200";
    audio-aux-devs = <0x4e>;
    audio-routing = "TDMOUT_B IN 0\0FRDDR_A OUT 1\0TDMOUT_B IN 1\0FRDDR_B OUT 1\0TDMOUT_B IN 2\0FRDDR_C OUT 1\0TDM_B Playback\0TDMOUT_B OUT\0SPDIFOUT IN 0\0FRDDR_A OUT 3\0SPDIFOUT IN 1\0FRDDR_B OUT 3\0SPDIFOUT IN 2\0FRDDR_C OUT 3";
    assigned-clocks = <0x02 0x0d 0x02 0x0b 0x02 0x0c>;
    assigned-clock-parents = <0x00 0x00 0x00>;
    assigned-clock-rates = <0x11940000 0x10266000 0x17700000>;
    status = "okay";

    dai-link-0 {
        sound-dai = <0x4f>;
    };

    dai-link-1 {
        sound-dai = <0x50>;
    };

    dai-link-2 {
        sound-dai = <0x51>;
    };

    dai-link-3 {
        sound-dai = <0x52>;
        dai-format = "i2s";
        dai-tdm-slot-tx-mask-0 = <0x01 0x01>;
        dai-tdm-slot-tx-mask-1 = <0x01 0x01>;
        dai-tdm-slot-tx-mask-2 = <0x01 0x01>;
        dai-tdm-slot-tx-mask-3 = <0x01 0x01>;
        mclk-fs = <0x100>;

        codec {
            sound-dai = <0x53 0x01>;
        };
    };

    dai-link-4 {
        sound-dai = <0x54>;

        codec-0 {
            sound-dai = <0x55>;
        };

        codec-1 {
            sound-dai = <0x53 0x04>;
        };
    };

    dai-link-5 {
        sound-dai = <0x56>;

        codec {
            sound-dai = <0x53 0x05>;
        };
    };

    dai-link-6 {
        sound-dai = <0x53 0x03>;

        codec {
            sound-dai = <0x22>;
        };
    };
};

regulator-vddgpu {
    compatible = "regulator-fixed";
    regulator-name = "mali";
    regulator-min-microvolt = <0xc3500>;
    regulator-max-microvolt = <0xc3500>;
    vin-supply = <0x4c>;
    regulator-boot-on;
    regulator-always-on;
    phandle = <0x46>;
};

sdio-pwrseq {
    compatible = "mmc-pwrseq-simple";
    reset-gpios = <0x32 0x47 0x01>;
    clocks = <0x33>;
    clock-names = "ext_clock";
    phandle = <0x36>;
};

leds {
    compatible = "gpio-leds";

    power_led {
        led_name = "power_led";
        gpios = <0x58 0x0b 0x01>;
        default-state = "on";
    };

    net_led {
        led_name = "net_led";
        gpios = <0x58 0x09 0x01>;
        default-state = "off";
        linux,default-trigger = "0.0:00:link";
    };

    remote_led {
        led_name = "remote_led";
        gpios = <0x58 0x0a 0x01>;
        default-state = "off";
        linux,default-trigger = "rc-feedback";
    };
};

__symbols__ {
    simplefb_cvbs = "/chosen/framebuffer-cvbs";
    simplefb_hdmi = "/chosen/framebuffer-hdmi";
    efuse = "/efuse";
    gpu_opp_table = "/opp-table-gpu";
    secmon_reserved = "/reserved-memory/secmon@5000000";
    secmon_reserved_bl32 = "/reserved-memory/secmon@5300000";
    sm = "/secure-monitor";
    pcie = "/soc/pcie@fc000000";
    cpu_thermal = "/soc/thermal-zones/cpu-thermal";
    cpu_passive = "/soc/thermal-zones/cpu-thermal/trips/cpu-passive";
    cpu_hot = "/soc/thermal-zones/cpu-thermal/trips/cpu-hot";
    cpu_critical = "/soc/thermal-zones/cpu-thermal/trips/cpu-critical";
    ddr_thermal = "/soc/thermal-zones/ddr-thermal";
    ddr_passive = "/soc/thermal-zones/ddr-thermal/trips/ddr-passive";
    ddr_critical = "/soc/thermal-zones/ddr-thermal/trips/ddr-critical";
    ethmac = "/soc/ethernet@ff3f0000";
    mdio0 = "/soc/ethernet@ff3f0000/mdio";
    apb = "/soc/bus@ff600000";
    hdmi_tx = "/soc/bus@ff600000/hdmi-tx@0";
    hdmi_tx_venc_port = "/soc/bus@ff600000/hdmi-tx@0/port@0";
    hdmi_tx_in = "/soc/bus@ff600000/hdmi-tx@0/port@0/endpoint";
    hdmi_tx_tmds_port = "/soc/bus@ff600000/hdmi-tx@0/port@1";
    hdmi_tx_tmds_out = "/soc/bus@ff600000/hdmi-tx@0/port@1/endpoint";
    apb_efuse = "/soc/bus@ff600000/bus@30000";
    hwrng = "/soc/bus@ff600000/bus@30000/rng@218";
    acodec = "/soc/bus@ff600000/audio-controller@32000";
    periphs = "/soc/bus@ff600000/bus@34400";
    periphs_pinctrl = "/soc/bus@ff600000/bus@34400/pinctrl@40";
    gpio = "/soc/bus@ff600000/bus@34400/pinctrl@40/bank@40";
    cec_ao_a_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/cec_ao_a_h";
    cec_ao_b_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/cec_ao_b_h";
    emmc_ctrl_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-ctrl";
    emmc_data_4b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-data-4b";
    emmc_data_8b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-data-8b";
    emmc_ds_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-ds";
    emmc_clk_gate_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc_clk_gate";
    hdmitx_ddc_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_ddc";
    hdmitx_hpd_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_hpd";
    i2c0_sda_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-c";
    i2c0_sck_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sck-c";
    i2c0_sda_z0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z0";
    i2c0_sck_z1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sck-z1";
    i2c0_sda_z7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z7";
    i2c0_sda_z8_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z8";
    i2c1_sda_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-x";
    i2c1_sck_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-x";
    i2c1_sda_h2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-h2";
    i2c1_sck_h3_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-h3";
    i2c1_sda_h6_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-h6";
    i2c1_sck_h7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-h7";
    i2c2_sda_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sda-x";
    i2c2_sck_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sck-x";
    i2c2_sda_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sda-z";
    i2c2_sck_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sck-z";
    i2c3_sda_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sda-h";
    i2c3_sck_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sck-h";
    i2c3_sda_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sda-a";
    i2c3_sck_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sck-a";
    mclk0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk0-a";
    mclk1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-a";
    mclk1_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-x";
    mclk1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-z";
    nor_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/nor";
    pdm_din0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-a";
    pdm_din0_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-c";
    pdm_din0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-x";
    pdm_din0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-z";
    pdm_din1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-a";
    pdm_din1_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-c";
    pdm_din1_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-x";
    pdm_din1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-z";
    pdm_din2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-a";
    pdm_din2_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-c";
    pdm_din2_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-x";
    pdm_din2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-z";
    pdm_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-a";
    pdm_din3_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-c";
    pdm_din3_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-x";
    pdm_din3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-z";
    pdm_dclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-a";
    pdm_dclk_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-c";
    pdm_dclk_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-x";
    pdm_dclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-z";
    pwm_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-a";
    pwm_b_x7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-x7";
    pwm_b_x19_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-x19";
    pwm_c_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-c";
    pwm_c_x5_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-x5";
    pwm_c_x8_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-x8";
    pwm_d_x3_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-x3";
    pwm_d_x6_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-x6";
    pwm_e_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-e";
    pwm_f_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-f-x";
    pwm_f_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-f-h";
    sdcard_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_c";
    sdcard_clk_gate_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_clk_gate_c";
    sdcard_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_z";
    sdcard_clk_gate_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_clk_gate_z";
    sdio_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdio";
    sdio_clk_gate_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdio_clk_gate";
    spdif_in_a10_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-a10";
    spdif_in_a12_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-a12";
    spdif_in_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-h";
    spdif_out_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-h";
    spdif_out_a11_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-a11";
    spdif_out_a13_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-a13";
    spicc0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-x";
    spicc0_ss0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-ss0-x";
    spicc0_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-c";
    spicc1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc1";
    spicc1_ss0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc1-ss0";
    tdm_a_din0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-din0";
    tdm_a_din1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-din1";
    tdm_a_dout0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-dout0";
    tdm_a_dout1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-dout1";
    tdm_a_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-fs";
    tdm_a_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-sclk";
    tdm_a_slv_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-slv-fs";
    tdm_a_slv_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-slv-sclk";
    tdm_b_din0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din0";
    tdm_b_din1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din1";
    tdm_b_din2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din2";
    tdm_b_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din3-a";
    tdm_b_din3_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din3-h";
    tdm_b_dout0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout0";
    tdm_b_dout1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout1";
    tdm_b_dout2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout2";
    tdm_b_dout3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout3-a";
    tdm_b_dout3_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout3-h";
    tdm_b_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-fs";
    tdm_b_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-sclk";
    tdm_b_slv_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-slv-fs";
    tdm_b_slv_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-slv-sclk";
    tdm_c_din0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din0-a";
    tdm_c_din0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din0-z";
    tdm_c_din1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din1-a";
    tdm_c_din1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din1-z";
    tdm_c_din2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din2-a";
    eth_leds_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth-leds";
    eth_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth";
    eth_rgmii_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth-rgmii";
    tdm_c_din2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din2-z";
    tdm_c_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din3-a";
    tdm_c_din3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din3-z";
    tdm_c_dout0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout0-a";
    tdm_c_dout0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout0-z";
    tdm_c_dout1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout1-a";
    tdm_c_dout1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout1-z";
    tdm_c_dout2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout2-a";
    tdm_c_dout2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout2-z";
    tdm_c_dout3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout3-a";
    tdm_c_dout3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout3-z";
    tdm_c_fs_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-fs-a";
    tdm_c_fs_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-fs-z";
    tdm_c_sclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-sclk-a";
    tdm_c_sclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-sclk-z";
    tdm_c_slv_fs_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-fs-a";
    tdm_c_slv_fs_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-fs-z";
    tdm_c_slv_sclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-sclk-a";
    tdm_c_slv_sclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-sclk-z";
    uart_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-a";
    uart_a_cts_rts_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-a-cts-rts";
    uart_b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-b";
    uart_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-c";
    uart_c_cts_rts_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-c-cts-rts";
    cpu_temp = "/soc/bus@ff600000/temperature-sensor@34800";
    ddr_temp = "/soc/bus@ff600000/temperature-sensor@34c00";
    usb2_phy0 = "/soc/bus@ff600000/phy@36000";
    dmc = "/soc/bus@ff600000/bus@38000";
    canvas = "/soc/bus@ff600000/bus@38000/video-lut@48";
    usb2_phy1 = "/soc/bus@ff600000/phy@3a000";
    hiu = "/soc/bus@ff600000/bus@3c000";
    hhi = "/soc/bus@ff600000/bus@3c000/system-controller@0";
    clkc = "/soc/bus@ff600000/bus@3c000/system-controller@0/clock-controller";
    pwrc = "/soc/bus@ff600000/bus@3c000/system-controller@0/power-controller";
    usb3_pcie_phy = "/soc/bus@ff600000/phy@46000";
    eth_phy = "/soc/bus@ff600000/mdio-multiplexer@4c000";
    ext_mdio = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@0";
    int_mdio = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@1";
    internal_ephy = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@1/ethernet_phy@8";
    pdm = "/soc/bus@ff600000/audio-controller@40000";
    audio = "/soc/bus@ff600000/bus@42000";
    clkc_audio = "/soc/bus@ff600000/bus@42000/clock-controller@0";
    toddr_a = "/soc/bus@ff600000/bus@42000/audio-controller@100";
    toddr_b = "/soc/bus@ff600000/bus@42000/audio-controller@140";
    toddr_c = "/soc/bus@ff600000/bus@42000/audio-controller@180";
    frddr_a = "/soc/bus@ff600000/bus@42000/audio-controller@1c0";
    frddr_b = "/soc/bus@ff600000/bus@42000/audio-controller@200";
    frddr_c = "/soc/bus@ff600000/bus@42000/audio-controller@240";
    arb = "/soc/bus@ff600000/bus@42000/reset-controller@280";
    tdmin_a = "/soc/bus@ff600000/bus@42000/audio-controller@300";
    tdmin_b = "/soc/bus@ff600000/bus@42000/audio-controller@340";
    tdmin_c = "/soc/bus@ff600000/bus@42000/audio-controller@380";
    tdmin_lb = "/soc/bus@ff600000/bus@42000/audio-controller@3c0";
    spdifin = "/soc/bus@ff600000/bus@42000/audio-controller@400";
    spdifout = "/soc/bus@ff600000/bus@42000/audio-controller@480";
    tdmout_a = "/soc/bus@ff600000/bus@42000/audio-controller@500";
    tdmout_b = "/soc/bus@ff600000/bus@42000/audio-controller@540";
    tdmout_c = "/soc/bus@ff600000/bus@42000/audio-controller@580";
    spdifout_b = "/soc/bus@ff600000/bus@42000/audio-controller@680";
    toacodec = "/soc/bus@ff600000/bus@42000/audio-controller@740";
    tohdmitx = "/soc/bus@ff600000/bus@42000/audio-controller@744";
    aobus = "/soc/bus@ff800000";
    rti = "/soc/bus@ff800000/sys-ctrl@0";
    clkc_AO = "/soc/bus@ff800000/sys-ctrl@0/clock-controller";
    ao_pinctrl = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14";
    gpio_ao = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/bank@14";
    i2c_ao_sck_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sck_pins";
    i2c_ao_sda_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sda";
    i2c_ao_sck_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sck_e";
    i2c_ao_sda_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sda_e";
    mclk0_ao_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/mclk0-ao";
    tdm_ao_b_din0_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din0";
    spdif_ao_out_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/spdif-ao-out";
    tdm_ao_b_din1_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din1";
    tdm_ao_b_din2_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din2";
    tdm_ao_b_dout0_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout0";
    tdm_ao_b_dout1_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout1";
    tdm_ao_b_dout2_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout2";
    tdm_ao_b_fs_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-fs";
    tdm_ao_b_sclk_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-sclk";
    tdm_ao_b_slv_fs_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-slv-fs";
    tdm_ao_b_slv_sclk_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-slv-sclk";
    uart_ao_a_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-a-ao";
    uart_ao_a_cts_rts_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-ao-a-cts-rts";
    pwm_a_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-a-e";
    pwm_ao_a_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-a";
    pwm_ao_b_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-b";
    pwm_ao_c_4_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-c-4";
    pwm_ao_c_6_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-c-6";
    pwm_ao_d_5_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-5";
    pwm_ao_d_10_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-10";
    pwm_ao_d_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-e";
    remote_input_ao_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/remote-input-ao";
    vrtc = "/soc/bus@ff800000/rtc@a8";
    cec_AO = "/soc/bus@ff800000/cec@100";
    sec_AO = "/soc/bus@ff800000/ao-secure@140";
    cecb_AO = "/soc/bus@ff800000/cec@280";
    pwm_AO_cd = "/soc/bus@ff800000/pwm@2000";
    uart_AO = "/soc/bus@ff800000/serial@3000";
    uart_AO_B = "/soc/bus@ff800000/serial@4000";
    i2c_AO = "/soc/bus@ff800000/i2c@5000";
    pwm_AO_ab = "/soc/bus@ff800000/pwm@7000";
    ir = "/soc/bus@ff800000/ir@8000";
    saradc = "/soc/bus@ff800000/adc@9000";
    vdec = "/soc/video-decoder@ff620000";
    vpu = "/soc/vpu@ff900000";
    cvbs_vdac_port = "/soc/vpu@ff900000/port@0";
    cvbs_vdac_out = "/soc/vpu@ff900000/port@0/endpoint";
    hdmi_tx_port = "/soc/vpu@ff900000/port@1";
    hdmi_tx_out = "/soc/vpu@ff900000/port@1/endpoint";
    gic = "/soc/interrupt-controller@ffc01000";
    cbus = "/soc/bus@ffd00000";
    reset = "/soc/bus@ffd00000/reset-controller@1004";
    gpio_intc = "/soc/bus@ffd00000/interrupt-controller@f080";
    watchdog = "/soc/bus@ffd00000/watchdog@f0d0";
    spicc0 = "/soc/bus@ffd00000/spi@13000";
    spicc1 = "/soc/bus@ffd00000/spi@15000";
    spifc = "/soc/bus@ffd00000/spi@14000";
    pwm_ef = "/soc/bus@ffd00000/pwm@19000";
    pwm_cd = "/soc/bus@ffd00000/pwm@1a000";
    pwm_ab = "/soc/bus@ffd00000/pwm@1b000";
    i2c3 = "/soc/bus@ffd00000/i2c@1c000";
    i2c2 = "/soc/bus@ffd00000/i2c@1d000";
    i2c1 = "/soc/bus@ffd00000/i2c@1e000";
    i2c0 = "/soc/bus@ffd00000/i2c@1f000";
    clk_msr = "/soc/bus@ffd00000/clock-measure@18000";
    uart_C = "/soc/bus@ffd00000/serial@22000";
    uart_B = "/soc/bus@ffd00000/serial@23000";
    uart_A = "/soc/bus@ffd00000/serial@24000";
    sd_emmc_a = "/soc/sd@ffe03000";
    wifi = "/soc/sd@ffe03000/wifi@1";
    sd_emmc_b = "/soc/sd@ffe05000";
    sd_emmc_c = "/soc/mmc@ffe07000";
    usb = "/soc/usb@ffe09000";
    dwc2 = "/soc/usb@ffe09000/usb@ff400000";
    dwc3 = "/soc/usb@ffe09000/usb@ff500000";
    mali = "/soc/gpu@ffe40000";
    xtal = "/xtal-clk";
    tdmif_a = "/audio-controller-0";
    tdmif_b = "/audio-controller-1";
    tdmif_c = "/audio-controller-2";
    cpu0 = "/cpus/cpu@0";
    cpu1 = "/cpus/cpu@1";
    cpu2 = "/cpus/cpu@2";
    cpu3 = "/cpus/cpu@3";
    l2 = "/cpus/l2-cache0";
    cpu_opp_table = "/opp-table";
    spdif_dit = "/audio-codec-1";
    cvbs_connector_in = "/cvbs-connector/port/endpoint";
    emmc_pwrseq = "/emmc-pwrseq";
    hdmi_connector_in = "/hdmi-connector/port/endpoint";
    flash_1v8 = "/regulator-flash_1v8";
    main_12v = "/regulator-main_12v";
    usb_pwr_en = "/regulator-usb_pwr_en";
    vcc_1v8 = "/regulator-vcc_1v8";
    vcc_3v3 = "/regulator-vcc_3v3";
    vcc_5v = "/regulator-vcc_5v";
    vddao_1v8 = "/regulator-vddao_1v8";
    vddao_3v3 = "/regulator-vddao_3v3";
    vddcpu = "/regulator-vddcpu";
    vddgpu = "/regulator-vddgpu";
    wifi32k = "/wifi32k";
    sdio_pwrseq = "/sdio-pwrseq";
};

}; `