althafvly / AmlogicKitchen

Android firmware kitchen for amlogic devices
137 stars 55 forks source link

about the dump.bat pattern bug #16

Closed Rekoe closed 1 year ago

Rekoe commented 1 year ago

for that dts

/dts-v1/;

/ {
    model = "Amlogic";
    compatible = "amlogic, Gxbb";
    amlogic-dt-id = "gxl_p211_1g";
    interrupt-parent = <0x1>;
    #address-cells = <0x2>;
    #size-cells = <0x2>;

    mali@d00c0000 {
        #cooling-cells = <0x2>;
        compatible = "arm,mali-450";
        interrupt-parent = <0x1>;
        reg = <0x0 0xd00c0000 0x0 0x40000 0x0 0xc883c000 0x0 0x4 0x0 0xc8100000 0x0 0x4 0x0 0xc883c000 0x0 0x100 0x0 0xc1104440 0x0 0x100>;
        interrupts = <0x0 0xa0 0x4 0x0 0xa1 0x4 0x0 0xa2 0x4 0x0 0xa3 0x4 0x0 0xa4 0x4 0x0 0xa5 0x4 0x0 0xa6 0x4 0x0 0xa7 0x4 0x0 0xa8 0x4 0x0 0xa9 0x4>;
        interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2";
        pmu_domain_config = <0x1 0x2 0x4 0x4 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>;
        pmu_switch_delay = <0xffff>;
        num_of_pp = <0x3>;
        def_clock = <0x3>;
        sc_mpp = <0x3>;
        tbl = <0x2 0x3 0x4 0x5 0x7>;
        clocks = <0x8 0x8 0x8 0x9 0x8 0x11 0x8 0x12 0x8 0x1e 0x8 0x15 0x8 0x13 0x8 0x14>;
        clock-names = "fclk_div3", "fclk_div4", "fclk_div5", "fclk_div7", "gp0_pll", "clk_mali", "clk_mali_0", "clk_mali_1";
        control_interval = <0xc8>;

        clk125_cfg {
            clk_freq = <0x7735940>;
            clk_parent = "fclk_div4";
            clkp_freq = <0x1dcd6500>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0x1e 0x78>;
            linux,phandle = <0x2>;
            phandle = <0x2>;
        };

        clk250_cfg {
            clk_freq = <0xee6b280>;
            clk_parent = "fclk_div4";
            clkp_freq = <0x1dcd6500>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0x50 0xaa>;
        };

        clk285_cfg {
            clk_freq = <0x10fcc140>;
            clk_parent = "fclk_div7";
            clkp_freq = <0x10fcc140>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0x64 0xbe>;
            linux,phandle = <0x3>;
            phandle = <0x3>;
        };

        clk400_cfg {
            clk_freq = <0x17d78400>;
            clk_parent = "fclk_div5";
            clkp_freq = <0x17d78400>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0x98 0xcf>;
            linux,phandle = <0x4>;
            phandle = <0x4>;
        };

        clk500_cfg {
            clk_freq = <0x1dcd6500>;
            clk_parent = "fclk_div4";
            clkp_freq = <0x1dcd6500>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0xb4 0xdc>;
            linux,phandle = <0x5>;
            phandle = <0x5>;
        };

        clk666_cfg {
            clk_freq = <0x27b25a80>;
            clk_parent = "fclk_div3";
            clkp_freq = <0x27b25a80>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0xd2 0xec>;
            linux,phandle = <0x7>;
            phandle = <0x7>;
        };

        clk750_cfg {
            clk_freq = <0x2c588a00>;
            clk_parent = "gp0_pll";
            clkp_freq = <0x2c588a00>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0xe6 0xff>;
        };

        clk800_cfg {
            clk_freq = <0x2f34f600>;
            clk_parent = "gp0_pll";
            clkp_freq = <0x2f34f600>;
            voltage = <0x47e>;
            keep_count = <0x5>;
            threshold = <0xe6 0xff>;
        };
    };

    cpus {
        #address-cells = <0x2>;
        #size-cells = <0x0>;
        #cooling-cells = <0x2>;

        cpu@0 {
            device_type = "cpu";
            compatible = "arm,cortex-a53", "arm,armv8";
            reg = <0x0 0x0>;
            enable-method = "psci";
        };

        cpu@1 {
            device_type = "cpu";
            compatible = "arm,cortex-a53", "arm,armv8";
            reg = <0x0 0x1>;
            enable-method = "psci";
        };

        cpu@2 {
            device_type = "cpu";
            compatible = "arm,cortex-a53", "arm,armv8";
            reg = <0x0 0x2>;
            enable-method = "psci";
        };

        cpu@3 {
            device_type = "cpu";
            compatible = "arm,cortex-a53", "arm,armv8";
            reg = <0x0 0x3>;
            enable-method = "psci";
        };
    };

    timer {
        compatible = "arm,armv8-timer";
        interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>;
    };

    arm_pmu {
        compatible = "arm,armv8-pmuv3";
        interrupts = <0x0 0x89 0x4 0x0 0x8a 0x4 0x0 0x99 0x4 0x0 0x9a 0x4>;
    };

    pm {
        compatible = "amlogic, pm";
        device_name = "aml_pm";
        gxbaby-suspend;
        reg = <0x0 0xc81000a8 0x0 0x4 0x0 0xc810023c 0x0 0x4>;
    };

    interrupt-controller@2c001000 {
        compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
        #interrupt-cells = <0x3>;
        #address-cells = <0x0>;
        interrupt-controller;
        reg = <0x0 0xc4301000 0x0 0x1000 0x0 0xc4302000 0x0 0x100>;
        interrupts = <0x1 0x9 0xf04>;
        linux,phandle = <0x1>;
        phandle = <0x1>;
    };

    aml_restart {
        compatible = "aml, restart";
        sys_reset = <0x84000009>;
        sys_poweroff = <0x84000008>;
    };

    psci {
        compatible = "arm,psci";
        method = "smc";
        cpu_suspend = <0xc4000001>;
        cpu_off = <0x84000002>;
        cpu_on = <0xc4000003>;
        migrate = <0xc4000005>;
    };

    secmon {
        compatible = "amlogic, secmon";
        memory-region = <0x9>;
        in_base_func = <0x82000020>;
        out_base_func = <0x82000021>;
    };

    securitykey {
        compatible = "aml, securitykey";
        storage_query = <0x82000060>;
        storage_read = <0x82000061>;
        storage_write = <0x82000062>;
        storage_tell = <0x82000063>;
        storage_verify = <0x82000064>;
        storage_status = <0x82000065>;
        storage_list = <0x82000067>;
        storage_remove = <0x82000068>;
        storage_in_func = <0x82000023>;
        storage_out_func = <0x82000024>;
        storage_block_func = <0x82000025>;
        storage_size_func = <0x82000027>;
    };

    cpu_iomap {
        compatible = "amlogic, iomap";
        #address-cells = <0x2>;
        #size-cells = <0x2>;
        ranges;

        io_cbus_base {
            reg = <0x0 0xc1100000 0x0 0x100000>;
        };

        io_apb_base {
            reg = <0x0 0xd0000000 0x0 0x200000>;
        };

        io_aobus_base {
            reg = <0x0 0xc8100000 0x0 0x100000>;
        };
    };

    cpufreq-meson {
        compatible = "amlogic, cpufreq-scpi";
        status = "okay";
        clocks = <0xa 0x0>;
        clock-names = "cpu_clk";
    };

    amlogic-watchdog {
        compatible = "amlogic, gx-wdt";
        status = "disable";
        default_timeout = <0xa>;
        reset_watchdog_method = <0x1>;
        reset_watchdog_time = <0x2>;
        shutdown_timeout = <0xa>;
        firmware_timeout = <0x6>;
        suspend_timeout = <0x6>;
        reg = <0x0 0xc11098d0 0x0 0x10>;
        clocks = <0x8 0x2>;
    };

    amlogic-jtag {
        compatible = "amlogic, jtag";
        status = "okay";
        pinctrl-names = "jtag_apao_pins", "jtag_apee_pins";
        pinctrl-0 = <0xb>;
        pinctrl-1 = <0xc>;
    };

    meson_clock {
        compatible = "amlogic, gxl-clock";
        reg = <0x0 0xc883c000 0x0 0x1000 0x0 0xc8100000 0x0 0x1000>;
        #clock-cells = <0x1>;
        #reset-cells = <0x1>;
        sys_max = <0x5b8d8000>;
        linux,phandle = <0x8>;
        phandle = <0x8>;
    };

    cpu_info {
        compatible = "amlogic, cpuinfo";
        cpuinfo_cmd = <0x82000044>;
    };

    pinmux {
        compatible = "amlogic, pinmux-gxl";
        dev_name = "pinmux";
        #pinmux-cells = <0x2>;
        #address-cells = <0x2>;
        #size-cells = <0x2>;
        reg = <0x0 0xc1109880 0x0 0x10>;
        ranges;

        banks@c11080b0 {
            reg = <0x0 0xc88344b0 0x0 0x28 0x0 0xc88344e8 0x0 0x14 0x0 0xc8834520 0x0 0x14 0x0 0xc8834430 0x0 0x40>;
            reg-names = "mux", "pull", "pull-enable", "gpio";
            gpio-controller;
            #gpio-cells = <0x2>;
            linux,phandle = <0x19>;
            phandle = <0x19>;
        };

        ao-bank@c1108030 {
            reg = <0x0 0xc8100014 0x0 0x8 0x0 0xc810002c 0x0 0x4 0x0 0xc8100024 0x0 0x8>;
            reg-names = "mux", "pull", "gpio";
            gpio-controller;
            #gpio-cells = <0x2>;
            linux,phandle = <0x18>;
            phandle = <0x18>;
        };

        eth_pins {
            amlogic,setmask = <0x4 0x3000000>;
            amlogic,clrmask = <0x3 0x300000>;
            amlogic,pins = "GPIOZ_14", "GPIOZ_15";
            linux,phandle = <0x1d>;
            phandle = <0x1d>;
        };

        jtag_apao_pin {
            amlogic,clrmask = <0x6 0x7fe0000>;
            amlogic,pins = "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9";
            linux,phandle = <0xb>;
            phandle = <0xb>;
        };

        jtag_apee_pin {
            amlogic,clrmask = <0x6 0x3c>;
            amlogic,pins = "CARD_0", "CARD_1", "CARD_2", "CARD_3";
            linux,phandle = <0xc>;
            phandle = <0xc>;
        };

        remote_pin {
            amlogic,setmask = <0x10 0x1>;
            amlogic,pins = "GPIOAO_7";
            linux,phandle = <0x17>;
            phandle = <0x17>;
        };

        ao_uart {
            amlogic,setmask = <0x10 0x1800>;
            amlogic,pins = "GPIOAO_0", "GPIOAO_1";
        };

        ao_b_uart {
            amlogic,setmask = <0x10 0x1800000>;
            amlogic,pins = "GPIOAO_4", "GPIOAO_5";
            linux,phandle = <0x5b>;
            phandle = <0x5b>;
        };

        a_uart {
            amlogic,setmask = <0x5 0xf0000>;
            amlogic,clrmask = <0x5 0x3c0>;
            amlogic,pins = "GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15";
            linux,phandle = <0x58>;
            phandle = <0x58>;
        };

        b_uart {
            amlogic,setmask = <0x2 0x18000>;
            amlogic,pins = "GPIODV_24", "GPIODV_25";
            linux,phandle = <0x59>;
            phandle = <0x59>;
        };

        c_uart {
            amlogic,setmask = <0x5 0x3000>;
            amlogic,pins = "GPIOX_8", "GPIOX_9";
            linux,phandle = <0x5a>;
            phandle = <0x5a>;
        };

        wifi_32k_pins {
            amlogic,setmask = <0x5 0x8000>;
            amlogic,pins = "GPIOX_16";
            linux,phandle = <0x23>;
            phandle = <0x23>;
        };

        sd_clk_cmd_pins {
            amlogic,setmask = <0x6 0xc 0x10 0x1800>;
            amlogic,pins = "CARD_2", "CARD_3";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x24>;
            phandle = <0x24>;
        };

        sd_all_pins {
            amlogic,setmask = <0x6 0x3f 0x10 0x1800>;
            amlogic,clrmask = <0x6 0xfc0>;
            amlogic,pins = "CARD_0", "CARD_1", "CARD_2", "CARD_3", "CARD_4", "CARD_5";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x25>;
            phandle = <0x25>;
        };

        sd_clear_all_pin {
            amlogic,setmask = <0x10 0x1800>;
            amlogic,clrmask = <0x6 0x3f 0x6 0xfc0>;
            amlogic,pins = "GPIOAO_0", "GPIOAO_1";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x2d>;
            phandle = <0x2d>;
        };

        sd_1bit_pins {
            amlogic,setmask = <0x6 0x1c 0x10 0x1800>;
            amlogic,clrmask = <0x6 0xcc3>;
            amlogic,pins = "CARD_1", "CARD_2", "CARD_3";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x26>;
            phandle = <0x26>;
        };

        sd_clk_cmd_uart_pins {
            amlogic,setmask = <0x6 0x30c>;
            amlogic,clrmask = <0x6 0xcc3 0x10 0x1800>;
            amlogic,pins = "CARD_2", "CARD_3";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x27>;
            phandle = <0x27>;
        };

        sd_1bit_uart_pins {
            amlogic,setmask = <0x6 0x31c>;
            amlogic,clrmask = <0x6 0xcc3 0x10 0x1800>;
            amlogic,pins = "CARD_1", "CARD_2", "CARD_3";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x28>;
            phandle = <0x28>;
        };

        sd_to_ao_uart_pins {
            amlogic,setmask = <0x10 0x1800>;
            amlogic,clrmask = <0x6 0x300>;
            amlogic,pins = "GPIOAO_0", "GPIOAO_1";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x29>;
            phandle = <0x29>;
        };

        ao_to_sd_uart_pins {
            amlogic,setmask = <0x6 0x300>;
            amlogic,clrmask = <0x10 0x1800 0x6 0xcc3>;
            amlogic,pins = "CARD_4", "CARD_5";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x2a>;
            phandle = <0x2a>;
        };

        ao_to_sd_jtag_pins {
            amlogic,setmask = <0x6 0x300>;
            amlogic,clrmask = <0x6 0xcff 0x10 0x1800>;
            amlogic,pins = "CARD_4", "CARD_5";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x2b>;
            phandle = <0x2b>;
        };

        sd_to_ao_jtag_pins {
            amlogic,setmask = <0x10 0x1800>;
            amlogic,clrmask = <0x6 0xfc0>;
            amlogic,pins = "GPIOAO_0", "GPIOAO_1";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x2c>;
            phandle = <0x2c>;
        };

        emmc_conf_pull_up {
            amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_10";
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x2f>;
            phandle = <0x2f>;
        };

        emmc_conf_pull_done {
            amlogic,pins = "BOOT_15";
            amlogic,pullup = <0x0>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x30>;
            phandle = <0x30>;
        };

        emmc_clk_cmd_pins {
            amlogic,setmask = <0x7 0x60000000>;
            amlogic,clrmask = <0x7 0xe0>;
            amlogic,pins = "BOOT_8", "BOOT_10";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x2e>;
            phandle = <0x2e>;
        };

        emmc_all_pins {
            amlogic,setmask = <0x7 0xf0000000>;
            amlogic,clrmask = <0x7 0xe0>;
            amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_10", "BOOT_15";
            amlogic,enable-output = <0x1>;
            linux,phandle = <0x31>;
            phandle = <0x31>;
        };

        sdio_clk_cmd_pins {
            amlogic,setmask = <0x5 0xc000000>;
            amlogic,pins = "GPIOX_4", "GPIOX_5";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x32>;
            phandle = <0x32>;
        };

        sdio_all_pins {
            amlogic,setmask = <0x5 0xfc000000>;
            amlogic,pins = "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", "GPIOX_5";
            amlogic,enable-output = <0x1>;
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x33>;
            phandle = <0x33>;
        };

        conf_nand_pulldown {
            amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_15";
            amlogic,pullup = <0x0>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x34>;
            phandle = <0x34>;
        };

        conf_nand_pullup {
            amlogic,pins = "BOOT_8", "BOOT_10";
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
            linux,phandle = <0x35>;
            phandle = <0x35>;
        };

        all_nand_pins {
            amlogic,setmask = <0x7 0x800000ff>;
            amlogic,clrmask = <0x7 0x70ffbc00>;
            amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_9", "BOOT_10", "BOOT_11", "BOOT_12", "BOOT_13", "BOOT_14", "BOOT_15";
            amlogic,enable-output = <0x1>;
            linux,phandle = <0x36>;
            phandle = <0x36>;
        };

        nand_cs {
            amlogic,setmask = <0x7 0xc0>;
            amlogic,clrmask = <0x7 0x40040000>;
            amlogic,pins = "BOOT_8", "BOOT_9";
            linux,phandle = <0x37>;
            phandle = <0x37>;
        };

        hdmitx_hpd {
            amlogic,setmask = <0x6 0x80000000>;
            amlogic,pins = "GPIOH_0";
            linux,phandle = <0x54>;
            phandle = <0x54>;
        };

        hdmitx_ddc {
            amlogic,setmask = <0x6 0x30000000>;
            amlogic,pins = "GPIOH_1", "GPIOH_2";
            linux,phandle = <0x55>;
            phandle = <0x55>;
        };

        hdmitx_aocec {
            amlogic,setmask = <0x10 0x8000>;
            amlogic,clrmask = <0x10 0x24000 0x11 0x1>;
            amlogic,pins = "GPIOAO_8";
            linux,phandle = <0x57>;
            phandle = <0x57>;
        };

        hdmitx_eecec {
            amlogic,setmask = <0x10 0x4000>;
            amlogic,clrmask = <0x10 0x28000 0x11 0x1>;
            amlogic,pins = "GPIOAO_8";
        };

        a_i2c {
            amlogic,setmask = <0x1 0xc000>;
            amlogic,clrmask = <0x3 0x18 0x2 0x18000 0x2 0xc0 0x1 0x600000>;
            amlogic,pins = "GPIODV_24", "GPIODV_25";
            linux,phandle = <0xd>;
            phandle = <0xd>;
        };

        b_i2c {
            amlogic,setmask = <0x1 0x3000>;
            amlogic,clrmask = <0x2 0x6000 0x1 0x1c0000>;
            amlogic,pins = "GPIODV_26", "GPIODV_27";
            linux,phandle = <0xe>;
            phandle = <0xe>;
        };

        c_i2c {
            amlogic,setmask = <0x1 0xc00>;
            amlogic,clrmask = <0x2 0x1800 0x1 0x200 0x2 0x20>;
            amlogic,pins = "GPIODV_28", "GPIODV_29";
            linux,phandle = <0xf>;
            phandle = <0xf>;
        };

        d_i2c {
            amlogic,setmask = <0x5 0x30>;
            amlogic,clrmask = <0x5 0x300c03>;
            amlogic,pins = "GPIOX_10", "GPIOX_11";
            linux,phandle = <0x10>;
            phandle = <0x10>;
        };

        spicc_pins_z11z12z13 {
            amlogic,setmask = <0x4 0x1c>;
            amlogic,clrmask = <0x3 0x800 0x4 0x1c00>;
            amlogic,pins = "GPIOZ_11", "GPIOZ_12", "GPIOZ_13";
        };

        spicc_pulldown_z11z12z13 {
            amlogic,pins = "GPIOZ_11", "GPIOZ_12", "GPIOZ_13";
            amlogic,pullup = <0x0>;
            amlogic,pullupen = <0x1>;
        };

        spicc_pullup_z11z12z13 {
            amlogic,pins = "GPIOZ_11", "GPIOZ_12", "GPIOZ_13";
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
        };

        spicc_pins_x8x9x11 {
            amlogic,setmask = <0x5 0xd>;
            amlogic,clrmask = <0x5 0xd03430 0x6 0xd>;
            amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_11";
        };

        spicc_pulldown_x8x9x11 {
            amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_11";
            amlogic,pullup = <0x0>;
            amlogic,pullupen = <0x1>;
        };

        spicc_pullup_x8x9x11 {
            amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_11";
            amlogic,pullup = <0x1>;
            amlogic,pullupen = <0x1>;
        };

        audio_pin {
            amlogic,setmask = <0x6 0x7800000>;
            amlogic,clrmask = <0x6 0x7e0000>;
            amlogic,pins = "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9";
            linux,phandle = <0x60>;
            phandle = <0x60>;
        };

        audio_pin1 {
            amlogic,setmask = <0x6 0x10000000>;
            amlogic,clrmask = <0x6 0x8000000>;
            amlogic,pins = "GPIOH_4";
            linux,phandle = <0x5f>;
            phandle = <0x5f>;
        };

        audio_btpcm_pins {
            amlogic,setmask = <0x5 0xf00000>;
            amlogic,clrmask = <0x5 0x3c33>;
            amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_10", "GPIOX_11";
            linux,phandle = <0x5e>;
            phandle = <0x5e>;
        };
    };

    cpu_version {
        reg = <0x0 0xc8100220 0x0 0x4>;
    };

    meson_clk_msr {
        compatible = "amlogic, gxl_measure";
        reg = <0x0 0xc110875c 0x0 0x4 0x0 0xc1108764 0x0 0x4>;
    };

    i2c@c1108500 {
        compatible = "amlogic, meson-i2c";
        dev_name = "i2c-A";
        status = "disabled";
        reg = <0x0 0xc1108500 0x0 0x20>;
        device_id = <0x1>;
        pinctrl-names = "default";
        pinctrl-0 = <0xd>;
        #address-cells = <0x1>;
        #size-cells = <0x0>;
        use_pio = <0x0>;
        master_i2c_speed = <0x493e0>;
        clocks = <0x8 0xa>;
        clock-names = "clk_i2c";
        resets = <0x8 0x9>;
    };

    i2c@c11087c0 {
        compatible = "amlogic, meson-i2c";
        dev_name = "i2c-B";
        status = "disabled";
        reg = <0x0 0xc11087c0 0x0 0x20>;
        device_id = <0x2>;
        pinctrl-names = "default";
        pinctrl-0 = <0xe>;
        #address-cells = <0x1>;
        #size-cells = <0x0>;
        use_pio = <0x0>;
        master_i2c_speed = <0x493e0>;
        clocks = <0x8 0xa>;
        clock-names = "clk_i2c";
        resets = <0x8 0x9>;
    };

    i2c@c11087e0 {
        compatible = "amlogic, meson-i2c";
        dev_name = "i2c-C";
        status = "disabled";
        reg = <0x0 0xc11087e0 0x0 0x20>;
        device_id = <0x3>;
        pinctrl-names = "default";
        pinctrl-0 = <0xf>;
        #address-cells = <0x1>;
        #size-cells = <0x0>;
        use_pio = <0x0>;
        master_i2c_speed = <0x493e0>;
        clocks = <0x8 0xa>;
        clock-names = "clk_i2c";
        resets = <0x8 0x9>;
    };

    i2c@c1108d20 {
        compatible = "amlogic, meson-i2c";
        dev_name = "i2c-D";
        status = "disabled";
        reg = <0x0 0xc1108d20 0x0 0x20>;
        device_id = <0x4>;
        pinctrl-names = "default";
        pinctrl-0 = <0x10>;
        #address-cells = <0x1>;
        #size-cells = <0x0>;
        use_pio = <0x0>;
        master_i2c_speed = <0x493e0>;
        clocks = <0x8 0xa>;
        clock-names = "clk_i2c";
        resets = <0x8 0x9>;
    };

    efuse {
        compatible = "amlogic, efuse";
        read_cmd = <0x82000030>;
        write_cmd = <0x82000031>;
        get_max_cmd = <0x82000033>;
        key = <0x11>;
        resets = <0x8 0x3e>;
        reset-names = "efuse_clk";
        status = "okay";
    };

    efusekey {
        keynum = <0x4>;
        key0 = <0x12>;
        key1 = <0x13>;
        key2 = <0x14>;
        key3 = <0x15>;
        linux,phandle = <0x11>;
        phandle = <0x11>;

        key0 {
            keyname = "mac";
            offset = <0x0>;
            size = <0x6>;
            linux,phandle = <0x12>;
            phandle = <0x12>;
        };

        key1 {
            keyname = "mac_bt";
            offset = <0x6>;
            size = <0x6>;
            linux,phandle = <0x13>;
            phandle = <0x13>;
        };

        key2 {
            keyname = "mac_wifi";
            offset = <0xc>;
            size = <0x6>;
            linux,phandle = <0x14>;
            phandle = <0x14>;
        };

        key3 {
            keyname = "usid";
            offset = <0x12>;
            size = <0x10>;
            linux,phandle = <0x15>;
            phandle = <0x15>;
        };
    };

    mhu@c883c400 {
        compatible = "amlogic, meson_mhu";
        reg = <0x0 0xc883c400 0x0 0x4c 0x0 0xc8013000 0x0 0x800>;
        interrupts = <0x0 0xd1 0x8 0x0 0xd2 0x8>;
        #mbox-cells = <0x1>;
        mbox-names = "cpu_to_scp_low", "cpu_to_scp_high";
        mboxes = <0x16 0x0 0x16 0x1>;
        linux,phandle = <0x16>;
        phandle = <0x16>;
    };

    scpi_clocks {
        compatible = "arm,scpi-clks";

        scpi_clocks@0 {
            compatible = "arm,scpi-clk-indexed";
            #clock-cells = <0x1>;
            clock-indices = <0x0>;
            clock-output-names = "vcpu";
            linux,phandle = <0xa>;
            phandle = <0xa>;
        };
    };

    meson-remote {
        compatible = "amlogic, aml_remote";
        dev_name = "meson-remote";
        status = "okay";
        remote_ao_offset = <0x580>;
        interrupts = <0x0 0xc4 0x1>;
        pinctrl-names = "default";
        pinctrl-0 = <0x17>;
        led_status_on = <0x0>;
        led_pin = <0x18 0x3 0x0>;
    };

    rng {
        compatible = "amlogic,meson-rng";
        reg = <0x0 0xc8834000 0x0 0x4>;
    };

    audio_data {
        compatible = "amlogic, audio_data";
        query_licence_cmd = <0x82000050>;
        status = "okay";
    };

    saradc {
        compatible = "amlogic, saradc";
        status = "okay";
        interrupts = <0x0 0x9 0x1>;
        interrupt-names = "saradc_int";
        clocks = <0x8 0x2>;
        clock-names = "saradc_clk";
        resets = <0x8 0x56>;
        reg = <0x0 0xc1108680 0x0 0x30 0x0 0xc883c3d8 0x0 0x8>;
    };

    defendkey {
        compatible = "amlogic, defendkey";
        reg = <0x0 0xc8834500 0x0 0x4>;
        mem_size = <0x0 0x100000>;
        status = "okay";
    };

    spicc {
        compatible = "amlogic, spicc";
        status = "disabled";
        reg = <0x0 0xc1108d80 0x0 0x28>;
        resets = <0x8 0x8>;
        clocks = <0x8 0xa>;
        clock-names = "spicc_clk";
        interrupts = <0x0 0x51 0x1>;
        device_id = <0x0>;
    };

    aliases {
        serial0 = "/serial@c81004c0";
        serial1 = "/serial@c11084c0";
        serial2 = "/serial@c11084dc";
        serial3 = "/serial@c1108700";
        serial4 = "/serial@c81004e0";
    };

    memory@00000000 {
        device_type = "memory";
        linux,usable-memory = <0x0 0x100000 0x0 0x3ff00000>;
    };

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

        linux,secmon {
            compatible = "amlogic, aml_secmon_memory";
            reg = <0x0 0x10000000 0x0 0x200000>;
            no-map;
            linux,phandle = <0x9>;
            phandle = <0x9>;
        };

        linux,secos {
            status = "disabled";
            compatible = "amlogic, aml_secos_memory";
            reg = <0x0 0x5300000 0x0 0x2000000>;
            no-map;
        };

        aml_pstore {
            compatible = "amlogic, pstore";
            reg = <0x0 0x7300000 0x0 0x100000>;
            no-map;
        };

        linux,secchk {
            compatible = "shared-dma-pool";
            status = "disabled";
            reusable;
            size = <0x0 0x2000000>;
            alignment = <0x0 0x400000>;
            linux,contiguous-region;
        };

        linux,meson-fb {
            compatible = "amlogic, fb-memory";
            reg = <0x0 0x3c000000 0x0 0x2000000>;
            no-map;
            linux,phandle = <0x1a>;
            phandle = <0x1a>;
        };

        linux,di {
            compatible = "amlogic, di-mem";
            reg = <0x0 0x3e000000 0x0 0x1e00000>;
            linux,phandle = <0x22>;
            phandle = <0x22>;
        };

        linux,ion-dev {
            compatible = "amlogic, idev-mem";
            size = <0x0 0x3000000>;
            linux,phandle = <0x1e>;
            phandle = <0x1e>;
        };

        linux,vdin1_cma {
            compatible = "shared-dma-pool";
            linux,phandle = <0x6>;
            reusable;
            size = <0x0 0x1400000>;
            alignment = <0x0 0x400000>;
        };

        linux,ppmgr {
            compatible = "shared-dma-pool";
            size = <0x0 0x0>;
            linux,phandle = <0x20>;
            phandle = <0x20>;
        };

        linux,amlvideo2 {
            compatible = "amlogic, amlvideo2_memory";
            size = <0x0 0x1800000>;
            linux,phandle = <0x21>;
            phandle = <0x21>;
        };

        linux,codec_mm_cma {
            compatible = "shared-dma-pool";
            reusable;
            size = <0x0 0xd000000>;
            alignment = <0x0 0x400000>;
            linux,contiguous-region;
            linux,phandle = <0x1b>;
            phandle = <0x1b>;
        };

        linux,picdec {
            compatible = "shared-dma-pool";
            reusable;
            size = <0x0 0x0>;
            alignment = <0x0 0x0>;
            linux,contiguous-region;
            linux,phandle = <0x1f>;
            phandle = <0x1f>;
        };

        linux,codec_mm_reserved {
            compatible = "amlogic, codec-mm-reserved";
            size = <0x0 0x4100000>;
            alignment = <0x0 0x100000>;
            linux,phandle = <0x1c>;
            phandle = <0x1c>;
        };
    };

    sysled {
        compatible = "amlogic, sysled";
        dev_name = "sysled";
        status = "disable";
        led_gpio = <0x19 0x49 0x1>;
    };

    meson-vout {
        compatible = "amlogic, meson-vout";
        dev_name = "meson-vout";
        status = "okay";
    };

    meson-fb {
        compatible = "amlogic, meson-fb";
        memory-region = <0x1a>;
        dev_name = "meson-fb";
        status = "okay";
        interrupts = <0x0 0x3 0x1 0x0 0x59 0x1>;
        interrupt-names = "viu-vsync", "rdma";
        mem_size = <0x1800000 0x100000>;
        display_mode_default = "1080p60hz";
        scale_mode = <0x1>;
        display_size_default = <0x780 0x438 0x780 0xca8 0x20>;
    };

    ge2d {
        compatible = "amlogic, ge2d";
        dev_name = "ge2d";
        status = "okay";
        interrupts = <0x0 0x96 0x1>;
        interrupt-names = "ge2d";
        clocks = <0x8 0x17 0x8 0x19>;
        clock-names = "clk_vapb_0", "clk_ge2d";
        resets = <0x8 0x34>;
        reset-names = "ge2d";
    };

    codec_io {
        compatible = "amlogic, codec_io";
        #address-cells = <0x2>;
        #size-cells = <0x2>;
        ranges;

        io_cbus_base {
            reg = <0x0 0xc1100000 0x0 0x100000>;
        };

        io_dos_base {
            reg = <0x0 0xc8820000 0x0 0x10000>;
        };

        io_hiubus_base {
            reg = <0x0 0xc883c000 0x0 0x2000>;
        };

        io_aobus_base {
            reg = <0x0 0xc8100000 0x0 0x100000>;
        };

        io_vcbus_base {
            reg = <0x0 0xd0100000 0x0 0x40000>;
        };

        io_dmc_base {
            reg = <0x0 0xc8838000 0x0 0x400>;
        };
    };

    codec_mm {
        compatible = "amlogic, codec, mm";
        memory-region = <0x1b 0x1c>;
        dev_name = "codec_mm";
        status = "okay";
    };

    ethernet@0xc9410000 {
        compatible = "amlogic, gxbb-rmii-dwmac";
        reg = <0x0 0xc9410000 0x0 0x10000 0x0 0xc8834540 0x0 0x8 0x0 0xc8834558 0x0 0xc>;
        interrupts = <0x0 0x8 0x1>;
        phy-mode = "rmii";
        pinctrl-names = "eth_pins";
        pinctrl-0 = <0x1d>;
        mc_val = <0x1800>;
        resets = <0x8 0x23>;
        reset-names = "ethpower";
        interrupt-names = "macirq";
        clocks = <0x8 0xa>;
        clock-names = "ethclk81";
        internal_phy = <0x1>;
    };

    mesonstream {
        compatible = "amlogic, codec, streambuf";
        dev_name = "mesonstream";
        status = "okay";
        resets = <0x8 0x39 0x8 0x59 0x8 0x24 0x8 0x1>;
        reset-names = "parser_top", "vpu_intr", "demux", "vdec";
    };

    amvideocap {
        compatible = "amlogic, amvideocap";
        dev_name = "amvideocap.0";
        status = "okay";
        max_size = <0x8>;
    };

    ion_dev {
        compatible = "amlogic, ion_dev";
        memory-region = <0x1e>;
    };

    vdec {
        compatible = "amlogic, vdec";
        dev_name = "vdec.0";
        status = "okay";
        interrupts = <0x0 0x3 0x1 0x0 0x17 0x1 0x0 0x20 0x1 0x0 0x2b 0x1 0x0 0x2c 0x1 0x0 0x2d 0x1>;
        interrupt-names = "vsync", "demux", "parser", "mailbox_0", "mailbox_1", "mailbox_2";
    };

    picdec {
        compatible = "amlogic, picdec";
        memory-region = <0x1f>;
        dev_name = "picdec";
        status = "okay";
    };

    ppmgr {
        compatible = "amlogic, ppmgr";
        memory-region = <0x20>;
        dev_name = "ppmgr";
        status = "okay";
    };

    amlvideo2 {
        compatible = "amlogic, amlvideo2";
        memory-region = <0x21>;
        dev_name = "amlvideo2";
        status = "okay";
    };

    deinterlace {
        compatible = "amlogic, deinterlace";
        status = "okay";
        memory-region = <0x22>;
        interrupts = <0x0 0x2e 0x1 0x0 0x6 0x1>;
        interrupt-names = "de_irq", "timerc";
        buffer-size = <0x2fd000>;
        hw-version = <0x2>;
    };

    vdin1 {
        compatible = "amlogic, vdin";
        memory-region = <0x6>;
        dev_name = "vdin1";
        status = "ok";
        reserve-iomap = "true";
        interrupts = <0x0 0x55 0x1>;
        rdma-irq = <0x4>;
        clocks = <0x8 0x2 0x8 0x28>;
        clock-names = "xtal", "cts_vid_lock_clk";
        vdin_id = <0x1>;
    };

    amvdec_656in0 {
        compatible = "amlogic, amvdec_656in";
        dev_name = "amvdec_656in0";
        status = "ok";
        reg = <0x0 0xd0048000 0x0 0x7c>;
        clocks = <0x8 0x7 0x8 0x26>;
        clock-names = "fclk_div2", "cts_bt656_clk0";
        bt656_id = <0x0>;
    };

    amvdec_656in1 {
        compatible = "amlogic, amvdec_656in";
        dev_name = "amvdec_656in1";
        status = "ok";
        reg = <0x0 0xd0050000 0x0 0x7c>;
        clocks = <0x8 0x7 0x8 0x27>;
        clock-names = "fclk_div2", "cts_bt656_clk1";
        bt656_id = <0x1>;
    };

    amlvecm {
        compatible = "amlogic, vecm";
        dev_name = "aml_vecm";
        status = "okay";
        gamma_en = <0x0>;
        wb_en = <0x0>;
        cm_en = <0x0>;
    };

    amvenc_avc {
        compatible = "amlogic, amvenc_avc";
        dev_name = "amvenc_avc";
        status = "okay";
        interrupts = <0x0 0x2d 0x1>;
        interrupt-names = "mailbox_2";
    };

    vpu {
        compatible = "amlogic, vpu";
        dev_name = "vpu";
        status = "ok";
        clk_level = <0x7>;
    };

    bt-dev {
        compatible = "amlogic, bt-dev";
        dev_name = "bt-dev";
        status = "okay";
        gpio_reset = <0x19 0x60 0x0>;
    };

    rtc {
        compatible = "amlogic, aml_vrtc";
        alarm_reg_addr = <0xc81000a8>;
        timer_e_addr = <0xc1109988>;
        init_date = "2015/01/01";
        status = "okay";
    };

    wifi {
        compatible = "amlogic, aml_wifi";
        dev_name = "aml_wifi";
        status = "okay";
        interrupt_pin = <0x19 0x56 0x0>;
        interrupts = <0x0 0x44 0x4>;
        irq_trigger_type = "GPIO_IRQ_LOW";
        power_on_pin = <0x19 0x55 0x0>;
        pinctrl-names = "wifi_32k_pins";
        pinctrl-0 = <0x23>;
    };

    sd {
        compatible = "amlogic, aml_sd_emmc";
        dev_name = "aml_newsd.0";
        status = "okay";
        reg = <0x0 0xd0072000 0x0 0x2000>;
        interrupts = <0x0 0xd9 0x1 0x0 0x43 0x1 0x0 0x45 0x1>;
        pinctrl-names = "sd_clk_cmd_pins", "sd_all_pins", "sd_1bit_pins", "sd_clk_cmd_uart_pins", "sd_1bit_uart_pins", "sd_to_ao_uart_pins", "ao_to_sd_uart_pins", "ao_to_sd_jtag_pins", "sd_to_ao_jtag_pins", "sd_clear_all_pin";
        pinctrl-0 = <0x24>;
        pinctrl-1 = <0x25>;
        pinctrl-2 = <0x26>;
        pinctrl-3 = <0x27>;
        pinctrl-4 = <0x28>;
        pinctrl-5 = <0x29>;
        pinctrl-6 = <0x2a>;
        pinctrl-7 = <0x2b>;
        pinctrl-8 = <0x2c>;
        pinctrl-9 = <0x2d>;

        sd {
            status = "okay";
            pinname = "sd";
            ocr_avail = <0x200080>;
            caps = "MMC_CAP_4_BIT_DATA", "MMC_CAP_MMC_HIGHSPEED", "MMC_CAP_SD_HIGHSPEED";
            f_min = <0x61a80>;
            f_max = <0x5f5e100>;
            max_req_size = <0x20000>;
            gpio_card5 = <0x19 0x2f 0x0>;
            gpio_dat3 = <0x19 0x2e 0x0>;
            gpio_card3 = <0x19 0x2d 0x0>;
            gpio_card2 = <0x19 0x2c 0x0>;
            gpio_card1 = <0x19 0x2b 0x0>;
            jtag_pin = <0x19 0x2a 0x0>;
            gpio_cd = <0x19 0x30 0x0>;
            irq_in = <0x3>;
            irq_out = <0x5>;
            card_type = <0x5>;
        };
    };

    emmc {
        compatible = "amlogic, aml_sd_emmc";
        dev_name = "aml_newsd.0";
        status = "okay";
        reg = <0x0 0xd0074000 0x0 0x2000>;
        interrupts = <0x0 0xda 0x1>;
        pinctrl-names = "emmc_clk_cmd_pins", "emmc_all_pins";
        pinctrl-0 = <0x2e>;
        pinctrl-1 = <0x2f 0x30 0x31>;

        emmc {
            status = "disabled";
            pinname = "emmc";
            ocr_avail = <0x200080>;
            caps = "MMC_CAP_8_BIT_DATA", "MMC_CAP_MMC_HIGHSPEED", "MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE", "MMC_CAP_1_8V_DDR", "MMC_CAP_HW_RESET", "MMC_CAP_ERASE", "MMC_CAP_CMD23";
            f_min = <0x493e0>;
            f_max = <0x2faf080>;
            max_req_size = <0x20000>;
            gpio_dat3 = <0x19 0x1d 0x0>;
            hw_reset = <0x19 0x23 0x0>;
            card_type = <0x1>;
        };
    };

    sdio {
        compatible = "amlogic, aml_sd_emmc";
        dev_name = "aml_newsd.0";
        status = "okay";
        reg = <0x0 0xd0070000 0x0 0x2000>;
        interrupts = <0x0 0xd8 0x4>;
        pinctrl-names = "sdio_clk_cmd_pins", "sdio_all_pins";
        pinctrl-0 = <0x32>;
        pinctrl-1 = <0x33>;

        sdio {
            status = "okay";
            pinname = "sdio";
            ocr_avail = <0x200080>;
            caps = "MMC_CAP_4_BIT_DATA", "MMC_CAP_MMC_HIGHSPEED", "MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE", "MMC_CAP_UHS_SDR12", "MMC_CAP_UHS_SDR25", "MMC_CAP_UHS_SDR50", "MMC_CAP_UHS_SDR104", "MMC_PM_KEEP_POWER", "MMC_CAP_SDIO_IRQ";
            f_min = <0x61a80>;
            f_max = <0xbebc200>;
            max_req_size = <0x20000>;
            card_type = <0x3>;
        };
    };

    nand {
        compatible = "amlogic, aml_nand";
        dev_name = "nand";
        status = "okay";
        reg = <0x0 0xd0074800 0x0 0x200>;
        interrupts = <0x0 0x22 0x1>;
        pinctrl-names = "nand_rb_mod", "nand_norb_mod", "nand_cs_pins_only";
        pinctrl-0 = <0x34 0x35 0x36>;
        pinctrl-1 = <0x34 0x35 0x36>;
        pinctrl-2 = <0x37>;
        device_id = <0x0>;
        plat-names = "nandnormal";
        plat-num = <0x1>;
        plat-part-0 = <0x38>;

        normal {
            enable_pad = "ce0", "ce1", "ce2", "ce3";
            busy_pad = "rb0";
            linux,phandle = <0x38>;
            phandle = <0x38>;
        };
    };

    aml_nftl {
        compatible = "amlogic, nftl";
    };

    partitions {
        parts = <0xe>;
        part-0 = <0x39>;
        part-1 = <0x3a>;
        part-2 = <0x3b>;
        part-3 = <0x3c>;
        part-4 = <0x3d>;
        part-5 = <0x3e>;
        part-6 = <0x3f>;
        part-7 = <0x40>;
        part-8 = <0x41>;
        part-9 = <0x42>;
        part-10 = <0x43>;
        part-11 = <0x44>;
        part-12 = <0x45>;
        part-13 = <0x46>;

        logo {
            pname = "logo";
            size = <0x0 0x2000000>;
            mask = <0x1>;
            linux,phandle = <0x39>;
            phandle = <0x39>;
        };

        recovery {
            pname = "recovery";
            size = <0x0 0x2000000>;
            mask = <0x1>;
            linux,phandle = <0x3a>;
            phandle = <0x3a>;
        };

        rsv {
            pname = "rsv";
            size = <0x0 0x800000>;
            mask = <0x1>;
            linux,phandle = <0x3b>;
            phandle = <0x3b>;
        };

        tee {
            pname = "tee";
            size = <0x0 0x800000>;
            mask = <0x1>;
            linux,phandle = <0x3c>;
            phandle = <0x3c>;
        };

        crypt {
            pname = "crypt";
            size = <0x0 0x2000000>;
            mask = <0x1>;
            linux,phandle = <0x3d>;
            phandle = <0x3d>;
        };

        misc {
            pname = "misc";
            size = <0x0 0x2000000>;
            mask = <0x1>;
            linux,phandle = <0x3e>;
            phandle = <0x3e>;
        };

        instaboot {
            pname = "instaboot";
            size = <0x0 0x20000000>;
            mask = <0x1>;
            linux,phandle = <0x3f>;
            phandle = <0x3f>;
        };

        boot {
            pname = "boot";
            size = <0x0 0x2000000>;
            mask = <0x1>;
            linux,phandle = <0x40>;
            phandle = <0x40>;
        };

        system {
            pname = "system";
            size = <0x0 0x28000000>;
            mask = <0x1>;
            linux,phandle = <0x41>;
            phandle = <0x41>;
        };

        cache {
            pname = "cache";
            size = <0x0 0x20000000>;
            mask = <0x2>;
            linux,phandle = <0x42>;
            phandle = <0x42>;
        };

        ghost {
            pname = "ghost";
            size = <0x0 0x20000000>;
            mask = <0x4>;
            linux,phandle = <0x43>;
            phandle = <0x43>;
        };

        info {
            pname = "info";
            size = <0x0 0x4000000>;
            mask = <0x4>;
            linux,phandle = <0x44>;
            phandle = <0x44>;
        };

        params {
            pname = "params";
            size = <0x0 0x4000000>;
            mask = <0x2>;
            linux,phandle = <0x45>;
            phandle = <0x45>;
        };

        data {
            pname = "data";
            size = <0xffffffff 0xffffffff>;
            mask = <0x4>;
            linux,phandle = <0x46>;
            phandle = <0x46>;
        };
    };

    unifykey {
        compatible = "amlogic, unifykey";
        status = "ok";
        unifykey-num = <0xd>;
        unifykey-index-0 = <0x47>;
        unifykey-index-1 = <0x48>;
        unifykey-index-2 = <0x49>;
        unifykey-index-3 = <0x4a>;
        unifykey-index-4 = <0x4b>;
        unifykey-index-5 = <0x4c>;
        unifykey-index-6 = <0x4d>;
        unifykey-index-7 = <0x4e>;
        unifykey-index-8 = <0x4f>;
        unifykey-index-9 = <0x50>;
        unifykey-index-10 = <0x51>;
        unifykey-index-11 = <0x52>;
        unifykey-index-12 = <0x53>;

        key_0 {
            key-name = "usid";
            key-device = "normal";
            key-permit = "read", "write", "del";
            linux,phandle = <0x47>;
            phandle = <0x47>;
        };

        key_1 {
            key-name = "mac";
            key-device = "normal";
            key-permit = "read", "write", "del";
            linux,phandle = <0x48>;
            phandle = <0x48>;
        };

        key_2 {
            key-name = "hdcp";
            key-device = "secure";
            key-type = "sha1";
            key-permit = "read", "write", "del";
            linux,phandle = <0x49>;
            phandle = <0x49>;
        };

        key_3 {
            key-name = "secure_boot_set";
            key-device = "efuse";
            key-permit = "write";
            linux,phandle = <0x4a>;
            phandle = <0x4a>;
        };

        key_4 {
            key-name = "mac_bt";
            key-device = "normal";
            key-permit = "read", "write", "del";
            key-type = "mac";
            linux,phandle = <0x4b>;
            phandle = <0x4b>;
        };

        key_5 {
            key-name = "mac_wifi";
            key-device = "normal";
            key-permit = "read", "write", "del";
            key-type = "mac";
            linux,phandle = <0x4c>;
            phandle = <0x4c>;
        };

        key_6 {
            key-name = "hdcp2_tx";
            key-device = "normal";
            key-permit = "read", "write", "del";
            linux,phandle = <0x4d>;
            phandle = <0x4d>;
        };

        key_7 {
            key-name = "hdcp2_rx";
            key-device = "normal";
            key-permit = "read", "write", "del";
            linux,phandle = <0x4e>;
            phandle = <0x4e>;
        };

        key_8 {
            key-name = "widevinekeybox";
            key-device = "secure";
            key-type = "sha1";
            key-permit = "read", "write", "del";
            linux,phandle = <0x4f>;
            phandle = <0x4f>;
        };

        key_9 {
            key-name = "deviceid";
            key-device = "normal";
            key-permit = "read", "write", "del";
            linux,phandle = <0x50>;
            phandle = <0x50>;
        };

        key_10 {
            key-name = "hdcp22_fw_private";
            key-device = "secure";
            key-permit = "read", "write", "del";
            linux,phandle = <0x51>;
            phandle = <0x51>;
        };

        key_11 {
            key-name = "telecomkeybox";
            key-device = "secure";
            key-type = "raw";
            key-permit = "read", "write", "del";
            linux,phandle = <0x52>;
            phandle = <0x52>;
        };

        key_12 {
            key-name = "stbid";
            key-device = "normal";
            key-permit = "read", "write", "del";
            linux,phandle = <0x53>;
            phandle = <0x53>;
        };
    };

    tfsec {
        compatible = "amlogic, tfsec";
        tap_get_sn = <0xb000ff01>;
        tap_decrypt_cloud_challenge = <0xb000ff02>;
        tap_decrypt_terminal_challenge = <0xb000ff03>;
        tap_burn_in = <0xb000ff04>;
        tap_burn_sn = <0xb000ff05>;
        tap_burn_ci = <0xb000ff06>;
        tap_burn_mac = <0xb000ff07>;
        tap_get_mac = <0xb000ff08>;
        tap_get_ci = <0xb000ff09>;
        tap_query_in = <0xb000ff0a>;
    };

    amhdmitx {
        compatible = "amlogic, amhdmitx";
        dev_name = "amhdmitx";
        status = "okay";
        pinctrl-names = "hdmitx_hpd", "hdmitx_ddc";
        pinctrl-0 = <0x54>;
        pinctrl-1 = <0x55>;
        vend-data = <0x56>;
        interrupts = <0x0 0x39 0x1>;
        interrupt-names = "hdmitx_hpd";
        clocks = <0x8 0xb 0x8 0xc 0x8 0xd 0x8 0xe 0x8 0xf 0x8 0x16>;
        clock-names = "hdmitx_clk_sys", "hdmitx_clk_encp", "hdmitx_clk_enci", "hdmitx_clk_pixel", "hdmitx_clk_phy", "hdmitx_clk_vid";
        gpio_i2c_en = <0x1>;
        #address-cells = <0x2>;
        #size-cells = <0x2>;
        ranges;

        vend_data {
            compatible = "amlogic, amlogic-cec";
            status = "okay";
            vendor_name = "Amlogic";
            vendor_id = <0x0>;
            product_desc = "GXBB Mbox";
            cec_osd_string = "MBox";
            interrupts = <0x0 0xc7 0x1>;
            interrupt-names = "hdmitx_cec";
            pinctrl-names = "hdmitx_aocec";
            pinctrl-0 = <0x57>;
            reg = <0x0 0xc810023c 0x0 0x4 0x0 0xc8100000 0x0 0x200>;
            linux,phandle = <0x56>;
            phandle = <0x56>;
        };
    };

    tvout {
        compatible = "amlogic, tvout";
        dev_name = "tvout";
        status = "okay";
    };

    i2c_gpio {
        compatible = "i2c-gpio";
        status = "okay";
        dev_name = "i2c-gpio";
        i2c-gpio,delay-us = <0xa>;
        gpios = <0x19 0x11 0x0 0x19 0x12 0x0>;
        #address-cells = <0x2>;
        #size-cells = <0x2>;
        i2c-gpio,timeout-ms = <0xa>;

        i2c_gpio_edid {
            compatible = "i2c-gpio-edid";
            reg = <0x50 0x0 0x0 0x0>;
        };
    };

    serial@c81004c0 {
        compatible = "amlogic, meson-uart";
        reg = <0x0 0xc81004c0 0x0 0x18>;
        interrupts = <0x0 0xc1 0x1>;
        status = "okay";
        clocks = <0x8 0x2>;
        clock-names = "clk_uart";
        xtal_tick_en = <0x1>;
        fifosize = <0x40>;
        pinctrl-names = "default";
        support-sysrq = <0x0>;
    };

    serial@c11084c0 {
        compatible = "amlogic, meson-uart";
        reg = <0x0 0xc11084c0 0x0 0x18>;
        interrupts = <0x0 0x1a 0x1>;
        status = "okay";
        clocks = <0x8 0x2>;
        clock-names = "clk_uart";
        fifosize = <0x80>;
        pinctrl-names = "default";
        pinctrl-0 = <0x58>;
        resets = <0x8 0xd>;
    };

    serial@c11084dc {
        compatible = "amlogic, meson-uart";
        reg = <0x0 0xc11084dc 0x0 0x18>;
        interrupts = <0x0 0x4b 0x1>;
        status = "disable";
        clocks = <0x8 0x2>;
        clock-names = "clk_uart";
        fifosize = <0x40>;
        pinctrl-names = "default";
        pinctrl-0 = <0x59>;
        resets = <0x8 0x30>;
    };

    serial@c1108700 {
        compatible = "amlogic, meson-uart";
        reg = <0x0 0xc1108700 0x0 0x18>;
        interrupts = <0x0 0x5d 0x1>;
        status = "disable";
        clocks = <0x8 0x2>;
        clock-names = "clk_uart";
        fifosize = <0x40>;
        pinctrl-names = "default";
        pinctrl-0 = <0x5a>;
        resets = <0x8 0x4f>;
    };

    serial@c81004e0 {
        compatible = "amlogic, meson-uart";
        reg = <0x0 0xc81004e0 0x0 0x18>;
        interrupts = <0x0 0xc5 0x1>;
        status = "disable";
        clocks = <0x8 0x2>;
        clock-names = "clk_uart";
        fifosize = <0x40>;
        pinctrl-names = "default";
        pinctrl-0 = <0x5b>;
    };

    canvas {
        compatible = "amlogic, meson, canvas";
        dev_name = "amlogic-canvas";
        status = "ok";
        reg = <0x0 0xc8838000 0x0 0x400>;
    };

    rdma {
        compatible = "amlogic, meson, rdma";
        dev_name = "amlogic-rdma";
        status = "ok";
        interrupts = <0x0 0x59 0x1>;
        interrupt-names = "rdma";
    };

    dwc3@c9000000 {
        compatible = "synopsys, dwc3";
        reg = <0x0 0xc9000000 0x0 0x100000>;
        interrupts = <0x0 0x1e 0x4>;
        usb-phy = <0x5c 0x5d>;
        cpu-type = "gxl";
        clock-src = "usb3.0";
    };

    usb2phy@d0078000 {
        compatible = "amlogic, amlogic-new-usb2";
        portnum = <0x2>;
        reg = <0x0 0xd0078000 0x0 0x80>;
        linux,phandle = <0x5c>;
        phandle = <0x5c>;
    };

    usb3phy@d0078080 {
        compatible = "amlogic, amlogic-new-usb3";
        portnum = <0x0>;
        reg = <0x0 0xd0078080 0x0 0x20>;
        linux,phandle = <0x5d>;
        phandle = <0x5d>;
    };

    dwc2_a {
        compatible = "amlogic,dwc2";
        device_name = "dwc2_a";
        reg = <0x0 0xc9100000 0x0 0x40000>;
        status = "okay";
        interrupts = <0x0 0x1f 0x4>;
        pl-periph-id = <0x0>;
        clock-src = "usb0";
        port-id = <0x0>;
        port-type = <0x2>;
        port-speed = <0x0>;
        port-config = <0x0>;
        port-dma = <0x0>;
        port-id-mode = <0x0>;
        usb-fifo = <0x2d8>;
        cpu-type = "gxl";
        controller-type = <0x1>;
        phy-reg = <0xd0078000>;
        phy-reg-size = <0xa0>;
        resets = <0x8 0x3a 0x8 0x48 0x8 0x36>;
        reset-names = "usb_general", "usb1", "usb1_to_ddr";
    };

    I2S {
        #sound-dai-cells = <0x0>;
        resets = <0x8 0x26 0x8 0x12 0x8 0x28 0x8 0x29 0x8 0x2a 0x8 0x2b 0x8 0x2c 0x8 0x2d 0x8 0x2f 0x8 0x8e 0x8 0x22>;
        reset-names = "top_glue", "aud_buf", "i2s_out", "amclk_measure", "aififo2", "aud_mixer", "mixer_reg", "adc", "top_level", "aoclk", "aud_in";
        clocks = <0x8 0x1f 0x8 0x22>;
        clock-names = "mpll0", "mclk";
        compatible = "amlogic, aml-i2s-dai";
        linux,phandle = <0x69>;
        phandle = <0x69>;
    };

    SPDIF {
        #sound-dai-cells = <0x0>;
        compatible = "amlogic, aml-spdif-dai";
        resets = <0x8 0x27 0x8 0x90>;
        reset-names = "iec958", "iec958_amclk";
        clocks = <0x8 0x20 0x8 0x24 0x8 0x22 0x8 0x25 0x8 0xa>;
        clock-names = "mpll1", "i958", "mclk", "spdif", "clk_81";
        linux,phandle = <0x6a>;
        phandle = <0x6a>;
    };

    PCM {
        #sound-dai-cells = <0x0>;
        compatible = "amlogic, aml-pcm-dai";
        pinctrl-names = "aml_audio_btpcm";
        pinctrl-0 = <0x5e>;
        linux,phandle = <0x6b>;
        phandle = <0x6b>;
    };

    i2s_platform {
        compatible = "amlogic, aml-i2s";
        interrupts = <0x0 0x30 0x1 0x0 0x1d 0x1>;
        linux,phandle = <0x67>;
        phandle = <0x67>;
    };

    pcm_platform {
        compatible = "amlogic, aml-pcm";
        linux,phandle = <0x68>;
        phandle = <0x68>;
    };

    spdif_codec {
        #sound-dai-cells = <0x0>;
        compatible = "amlogic, aml-spdif-codec";
        pinctrl-names = "aml_audio_spdif";
        pinctrl-0 = <0x5f>;
        linux,phandle = <0x6d>;
        phandle = <0x6d>;
    };

    pcm_codec {
        #sound-dai-cells = <0x0>;
        compatible = "amlogic, pcm2BT-codec";
        linux,phandle = <0x6e>;
        phandle = <0x6e>;
    };

    dummy {
        #sound-dai-cells = <0x0>;
        compatible = "amlogic, aml_dummy_codec";
        status = "disable";
    };

    t9015 {
        #sound-dai-cells = <0x0>;
        compatible = "amlogic, aml_codec_T9015";
        reg = <0x0 0xc8832000 0x0 0x14>;
        status = "okay";
        linux,phandle = <0x6c>;
        phandle = <0x6c>;
    };

    aml_m8_snd {
        compatible = "aml, aml_snd_m8";
        status = "okay";
        aml-sound-card,format = "i2s";
        aml_sound_card,name = "AML-M8AUDIO";
        aml,audio-routing = "Ext Spk", "LOUTL", "Ext Spk", "LOUTR";
        mute_gpio-gpios = <0x19 0x15 0x0>;
        mute_inv;
        hp_disable;
        sleep_time = <0x64>;
        hp_paraments = <0x320 0x12c 0x0 0x5 0x1>;
        pinctrl-names = "aml_snd_m8";
        pinctrl-0 = <0x60>;
        cpu_list = <0x61 0x62 0x63>;
        codec_list = <0x64 0x65 0x66>;
        plat_list = <0x67 0x67 0x68>;

        cpudai0 {
            sound-dai = <0x69>;
            linux,phandle = <0x61>;
            phandle = <0x61>;
        };

        cpudai1 {
            sound-dai = <0x6a>;
            linux,phandle = <0x62>;
            phandle = <0x62>;
        };

        cpudai2 {
            sound-dai = <0x6b>;
            linux,phandle = <0x63>;
            phandle = <0x63>;
        };

        codec0 {
            sound-dai = <0x6c>;
            linux,phandle = <0x64>;
            phandle = <0x64>;
        };

        codec1 {
            sound-dai = <0x6d>;
            linux,phandle = <0x65>;
            phandle = <0x65>;
        };

        codec2 {
            sound-dai = <0x6e>;
            linux,phandle = <0x66>;
            phandle = <0x66>;
        };
    };

    gpio_keypad {
        compatible = "amlogic, gpio_keypad";
        status = "okay";
        scan_period = <0x14>;
        key_num = <0x1>;
        key_name = "power";
        key_code = <0x74>;
        key_pin = <0x18 0x2 0x0>;
        irq_keyup = <0x6>;
        irq_keydown = <0x7>;
    };

    ledlight {
        compatible = "amlogic, ledlight";
        dev_name = "ledlight";
        status = "okay";
        power_gpio_0 = <0x6f>;
        net_gpio_0 = <0x70>;
        net_gpio_1 = <0x71>;
        ir_gpio_0 = <0x72>;

        gpio_rg {
            led_name = "power_led";
            led_gpio = <0x19 0x49 0x0>;
            led_active = <0x0>;
            led_type = "R&G";
            linux,phandle = <0x6f>;
            phandle = <0x6f>;
        };

        gpio_r {
            led_name = "net_led";
            led_gpio = <0x19 0x4c 0x0>;
            led_active = <0x0>;
            led_type = [52 00];
            linux,phandle = <0x70>;
            phandle = <0x70>;
        };

        gpio_g {
            led_name = "net_led";
            led_gpio = <0x19 0x4b 0x0>;
            led_active = <0x0>;
            led_type = [47 00];
            linux,phandle = <0x71>;
            phandle = <0x71>;
        };

        gpio_b {
            led_name = "ir_led";
            led_gpio = <0x18 0x3 0x0>;
            led_active = <0x0>;
            led_type = [42 00];
            linux,phandle = <0x72>;
            phandle = <0x72>;
        };
    };

    amlogic_thermals {
        compatible = "amlogic, amlogic-thermal";
        #thermal-cells = <0x7>;
        dev_name = "aml_thermal";
        trip_point = <0x46 0x177001 0x177001 0x1ff 0x1ff 0x3 0x2 0x50 0x13c681 0x13c681 0x1b3 0x1b3 0x2 0x1 0x5a 0xfbf41 0xfbf41 0x148 0x148 0x2 0x1 0x104 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff>;
        cpu_cali_a = <0x0>;
        idle_interval = <0x3e8>;
        keep_mode;
        keep_mode_threshold = <0x55>;
        keep_mode_max_range = <0x1ec300 0x29a 0x4 0x3>;
    };
};

use the commond

bin\windows\sed -n "/boot {/,/};/p" dtb\gxl-p211-1g.dts

take the two result about key work boot

 instaboot {
                        pname = "instaboot";
                        size = <0x0 0x20000000>;
                        mask = <0x1>;
                        linux,phandle = <0x3f>;
                        phandle = <0x3f>;
                };
                boot {
                        pname = "boot";
                        size = <0x0 0x2000000>;
                        mask = <0x1>;
                        linux,phandle = <0x40>;
                        phandle = <0x40>;
                };

then the dump commod has the error about boot parttion

bin\windows\update mread store boot normal 0x20000000
0x2000000 dump\boot.img

can you fixed it ?

althafvly commented 1 year ago

Windows scripts are not supported anymore. Also share error