您尚未登录。

#1 2021-03-25 16:09:07

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

请问全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

离线

#2 2021-03-25 16:13:58

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

./lichee/brandy/u-boot-2011.09/board/sunxi/board_common.c:      if(script_parser_patch("uart_para","uart_debug_port",(int *)(&uart_port_id),sizeof(int)/4))
./lichee/brandy/u-boot-2011.09/board/sunxi/board_common.c:        printf("debug_mode_error : can't find uart_debug_port \n");
./lichee/brandy/u-boot-2014.07/board/sunxi/common/debug_mode.c: if(script_parser_patch("uart_para","uart_debug_port",(int *)(&uart_port_id),sizeof(int)/4))
./lichee/brandy/u-boot-2014.07/board/sunxi/common/debug_mode.c:         printf("debug_mode_error : can't find uart_debug_port \n");
./lichee/brandy/pack_tools/update_boot0/update_boot0.c: if(!script_parser_fetch("uart_para", "uart_debug_port", value))
./lichee/brandy/pack_tools/update_fes1/update_fes1.c:   if(!script_parser_fetch("uart_para", "uart_debug_port", value))
./lichee/brandy/pack_tools/update_uboot/update_uboot.c: if (!script_parser_fetch("uart_para", "uart_debug_port", value))
./lichee/brandy/pack_tools/update_toc0/main/main.c:     if(!script_parser_fetch("uart_para", "uart_debug_port", value))

离线

#3 2021-03-25 16:20:00

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

./out/violin-F1C200s/image/.sunxi.dts

/dts-v1/;

/memreserve/    0x0000000081000000 0x0000000000010000;
/ {
        model = "sun3iw1p1";
        compatible = "arm,sun3iw1p1", "arm,sun3iw1p1";
        interrupt-parent = <0x1>;
        #address-cells = <0x2>;
        #size-cells = <0x2>;

        clocks {
                compatible = "allwinner,sunxi-clk-init";
                device_type = "clocks";
                #address-cells = <0x2>;
                #size-cells = <0x2>;
                ranges;
                reg = <0x0 0x1c20000 0x0 0x2d0>;

                losc {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-clock";
                        clock-frequency = <0x8000>;
                        clock-output-names = "losc";
                };

                hosc {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-clock";
                        clock-frequency = <0x16e3600>;
                        clock-output-names = "hosc";
                        linux,phandle = <0x8>;
                        phandle = <0x8>;
                };

                pll_cpu {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-pll-clock";
                        lock-mode = "none";
                        assigned-clock-rates = <0x20e6da00>;
                        clock-output-names = "pll_cpu";
                };

                pll_audio {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-pll-clock";
                        lock-mode = "none";
                        clock-output-names = "pll_audio";
                        linux,phandle = <0x2>;
                        phandle = <0x2>;
                };

                pll_video {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-pll-clock";
                        lock-mode = "none";
                        assigned-clock-rates = <0x11b3dc40>;
                        clock-output-names = "pll_video";
                        linux,phandle = <0x3>;
                        phandle = <0x3>;
                };

                pll_ve {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-pll-clock";
                        lock-mode = "none";
                        clock-output-names = "pll_ve";
                        linux,phandle = <0xa>;
                        phandle = <0xa>;
                };

                pll_ddr {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-pll-clock";
                        lock-mode = "none";
                        assigned-clock-rates = <0x1298be00>;
                        clock-output-names = "pll_ddr";
                };

                pll_periph {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-pll-clock";
                        lock-mode = "none";
                        clock-output-names = "pll_periph";
                        linux,phandle = <0x4>;
                        phandle = <0x4>;
                };

                pll_audiox8 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-factor-clock";
                        clocks = <0x2>;
                        clock-mult = <0x8>;
                        clock-div = <0x1>;
                        clock-output-names = "pll_audiox8";
                };

                pll_audiox4 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-factor-clock";
                        clocks = <0x2>;
                        clock-mult = <0x8>;
                        clock-div = <0x2>;
                        clock-output-names = "pll_audiox4";
                };

                pll_audiox2 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-factor-clock";
                        clocks = <0x2>;
                        clock-mult = <0x8>;
                        clock-div = <0x4>;
                        clock-output-names = "pll_audiox2";
                };

                pll_videox2 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-factor-clock";
                        clocks = <0x3>;
                        clock-mult = <0x2>;
                        clock-div = <0x1>;
                        clock-output-names = "pll_videox2";
                };

                pll_periphx2 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,fixed-factor-clock";
                        clocks = <0x4>;
                        clock-mult = <0x2>;
                        clock-div = <0x1>;
                        clock-output-names = "pll_periphx2";
                };

                cpu {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "cpu";
                };

                pll_periphahb {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "pll_periphahb";
                };

                ahb1 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "ahb1";
                        linux,phandle = <0x1e>;
                        phandle = <0x1e>;
                };

                apb1 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "apb1";
                };

                sdmmc0_mod {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdmmc0_mod";
                        linux,phandle = <0x2a>;
                        phandle = <0x2a>;
                };

                sdmmc0_bus {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdmmc0_bus";
                        linux,phandle = <0x2b>;
                        phandle = <0x2b>;
                };

                sdmmc0_rst {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdmmc0_rst";
                        linux,phandle = <0x2c>;
                        phandle = <0x2c>;
                };

                sdmmc1_mod {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdmmc1_mod";
                        linux,phandle = <0x2f>;
                        phandle = <0x2f>;
                };

                sdmmc1_bus {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdmmc1_bus";
                        linux,phandle = <0x30>;
                        phandle = <0x30>;
                };

                sdmmc1_rst {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdmmc1_rst";
                        linux,phandle = <0x31>;
                        phandle = <0x31>;
                };

                spi0 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "spi0";
                        linux,phandle = <0x1f>;
                        phandle = <0x1f>;
                };

                spi1 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "spi1";
                        linux,phandle = <0x26>;
                        phandle = <0x26>;
                };

                usbphy0 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "usbphy0";
                        linux,phandle = <0x3f>;
                        phandle = <0x3f>;
                };

                usbotg {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "usbotg";
                        linux,phandle = <0x40>;
                        phandle = <0x40>;
                };

                audio {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "audio";
                        linux,phandle = <0x41>;
                        phandle = <0x41>;
                };

                avs {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "avs";
                };

                codec {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "codec";
                        linux,phandle = <0x47>;
                        phandle = <0x47>;
                };

                spdif {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "spdif";
                        linux,phandle = <0x44>;
                        phandle = <0x44>;
                };

                debe {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "debe";
                        linux,phandle = <0x34>;
                        phandle = <0x34>;
                };

                defe {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "defe";
                        linux,phandle = <0x35>;
                        phandle = <0x35>;
                };

                tcon {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "tcon";
                        linux,phandle = <0x36>;
                        phandle = <0x36>;
                };

                deinterlace {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "deinterlace";
                        linux,phandle = <0x38>;
                        phandle = <0x38>;
                };

                tve_clk2 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "tve_clk2";
                        linux,phandle = <0x37>;
                        phandle = <0x37>;
                };

                tve_clk1 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "tve_clk1";
                };

                tvd {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "tvd";
                        linux,phandle = <0x39>;
                        phandle = <0x39>;
                };

                csi_m {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "csi_m";
                        linux,phandle = <0x3c>;
                        phandle = <0x3c>;
                };

                ve {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "ve";
                        linux,phandle = <0xb>;
                        phandle = <0xb>;
                };

                sdram {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "sdram";
                };

                dma {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "dma";
                        linux,phandle = <0x6>;
                        phandle = <0x6>;
                };

                pio {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "pio";
                        linux,phandle = <0x5>;
                        phandle = <0x5>;
                };

                uart0 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "uart0";
                        linux,phandle = <0xc>;
                        phandle = <0xc>;
                };

                uart1 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "uart1";
                        linux,phandle = <0xf>;
                        phandle = <0xf>;
                };

                uart2 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "uart2";
                        linux,phandle = <0x12>;
                        phandle = <0x12>;
                };

                twi0 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "twi0";
                        linux,phandle = <0x15>;
                        phandle = <0x15>;
                };

                twi1 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "twi1";
                        linux,phandle = <0x18>;
                        phandle = <0x18>;
                };

                twi2 {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "twi2";
                        linux,phandle = <0x1b>;
                        phandle = <0x1b>;
                };

                rsb {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "rsb";
                };

                cir {
                        #clock-cells = <0x0>;
                        compatible = "allwinner,sunxi-periph-clock";
                        clock-output-names = "cir";
                        linux,phandle = <0x9>;
                        phandle = <0x9>;
                };
        };

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

                pinctrl@01c20800 {
                        compatible = "allwinner,sun3iw1p1-pinctrl";
                        reg = <0x0 0x1c20800 0x0 0x400>;
                        interrupts = <0x26 0x27 0x28>;
                        device_type = "pio";
                        clocks = <0x5>;
                        gpio-controller;
                        interrupt-controller;
                        #interrupt-cells = <0x2>;
                        #size-cells = <0x0>;
                        #gpio-cells = <0x6>;
                        linux,phandle = <0x24>;
                        phandle = <0x24>;

                        ir@0 {
                                allwinner,function = "ir";
                                allwinner,muxsel = <0x4>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x7>;
                                phandle = <0x7>;
                        };

                        uart0@1 {
                                allwinner,pins = "PF2", "PF4";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0xe>;
                                phandle = <0xe>;
                        };

                        uart1@1 {
                                allwinner,pins = "PA3", "PA2";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x11>;
                                phandle = <0x11>;
                        };

                        uart2@0 {
                                allwinner,pname = "uart2_tx", "uart2_rx";
                                allwinner,function = "uart2";
                                allwinner,muxsel = <0x3>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x13>;
                                phandle = <0x13>;
                        };

                        uart2@1 {
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x14>;
                                phandle = <0x14>;
                        };

                        twi0@1 {
                                allwinner,pins = "PD12", "PD0";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x17>;
                                phandle = <0x17>;
                        };

                        twi1@1 {
                                allwinner,pins = "PB0", "PB1";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x1a>;
                                phandle = <0x1a>;
                        };

                        twi2@1 {
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x1d>;
                                phandle = <0x1d>;
                        };

                        spi0@2 {
                                allwinner,pins = "PC0", "PC1", "PC2";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x22>;
                                phandle = <0x22>;
                        };

                        spi0@3 {
                                allwinner,pins = "PC3";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x23>;
                                phandle = <0x23>;
                        };

                        spi1@2 {
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x29>;
                                phandle = <0x29>;
                        };

                        csi0@0 {
                                allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
                                allwinner,pname = "csi0_hsync", "csi0_vsync", "csi0_pck", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7";
                                allwinner,function = "csi0";
                                allwinner,muxsel = <0x2>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                allwinner,data = <0x0>;
                                linux,phandle = <0x3d>;
                                phandle = <0x3d>;
                        };

                        csi0_sleep@0 {
                                allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
                                allwinner,pname = "csi0_hsync", "csi0_vsync", "csi0_pck", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                allwinner,data = <0x0>;
                                linux,phandle = <0x3e>;
                                phandle = <0x3e>;
                        };

                        pwm1@0 {
                                allwinner,function = "pwm1";
                                allwinner,muxsel = <0x3>;
                                allwinner,drive = <0x3>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x3b>;
                                phandle = <0x3b>;
                        };

                        sdc0@1 {
                                allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x2e>;
                                phandle = <0x2e>;
                        };

                        sdc1@1 {
                                allwinner,pins = "PC0", "PC1", "PC2";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x1>;
                                linux,phandle = <0x33>;
                                phandle = <0x33>;
                        };

                        daudio0@0 {
                                allwinner,function = "iis0";
                                allwinner,muxsel = <0x4>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x42>;
                                phandle = <0x42>;
                        };

                        daudio0_sleep@0 {
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x43>;
                                phandle = <0x43>;
                        };

                        daudio0@1 {
                                allwinner,function = "iis0";
                                allwinner,muxsel = <0x2>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                        };

                        spdif@0 {
                                allwinner,pins = "PD17";
                                allwinner,function = "spdif0";
                                allwinner,muxsel = <0x3>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x45>;
                                phandle = <0x45>;
                        };

                        spdif_sleep@0 {
                                allwinner,pins = "PD17";
                                allwinner,function = "io_disabled";
                                allwinner,muxsel = <0x7>;
                                allwinner,drive = <0x1>;
                                allwinner,pull = <0x0>;
                                linux,phandle = <0x46>;
                                phandle = <0x46>;
                        };

                        card0_boot_para@0 {
                                linux,phandle = <0x4d>;
                                phandle = <0x4d>;
                                allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
                                allwinner,function = "card0_boot_para";
                                allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x2>;
                                allwinner,data = <0xffffffff>;
                        };

                        card2_boot_para@0 {
                                linux,phandle = <0x4e>;
                                phandle = <0x4e>;
                                allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC1";
                                allwinner,function = "card2_boot_para";
                                allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst", "sdc_ds";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x3>;
                                allwinner,data = <0xffffffff>;
                        };

                        card1_boot_para@0 {
                                linux,phandle = <0x4f>;
                                phandle = <0x4f>;
                                allwinner,pins = "PC0", "PC1", "PC2";
                                allwinner,function = "card1_boot_para";
                                allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x3>;
                                allwinner,data = <0xffffffff>;
                        };

                        twi_para@0 {
                                linux,phandle = <0x50>;
                                phandle = <0x50>;
                                allwinner,pins = "PD12", "PD0";
                                allwinner,function = "twi_para";
                                allwinner,pname = "twi_scl", "twi_sda";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        uart_para@0 {
                                linux,phandle = <0x51>;
                                phandle = <0x51>;
                                allwinner,pins = "PA2", "PA3";
                                allwinner,function = "uart_para";
                                allwinner,pname = "uart_debug_tx", "uart_debug_rx";
                                allwinner,muxsel = <0x5>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        jtag_para@0 {
                                linux,phandle = <0x52>;
                                phandle = <0x52>;
                                allwinner,pins = "PH9", "PH10", "PH11", "PH12";
                                allwinner,function = "jtag_para";
                                allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        twi0@0 {
                                linux,phandle = <0x53>;
                                phandle = <0x53>;
                                allwinner,pins = "PD12", "PD0";
                                allwinner,function = "twi0";
                                allwinner,pname = "twi0_scl", "twi0_sda";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        twi1@0 {
                                linux,phandle = <0x54>;
                                phandle = <0x54>;
                                allwinner,pins = "PB0", "PB1";
                                allwinner,function = "twi1";
                                allwinner,pname = "twi1_scl", "twi1_sda";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        twi2@0 {
                                linux,phandle = <0x55>;
                                phandle = <0x55>;
                                allwinner,pins = "PD15", "PD16";
                                allwinner,function = "twi2";
                                allwinner,pname = "twi2_scl", "twi2_sda";
                                allwinner,muxsel = <0x4>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        uart0@0 {
                                linux,phandle = <0x56>;
                                phandle = <0x56>;
                                allwinner,pins = "PF2", "PF4";
                                allwinner,function = "uart0";
                                allwinner,pname = "uart0_tx", "uart0_rx";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        uart1@0 {
                                linux,phandle = <0x57>;
                                phandle = <0x57>;
                                allwinner,pins = "PA2", "PA3";
                                allwinner,function = "uart1";
                                allwinner,pname = "uart1_tx", "uart1_rx";
                                allwinner,muxsel = <0x5>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        spi0@0 {
                                linux,phandle = <0x58>;
                                phandle = <0x58>;
                                allwinner,pins = "PC1";
                                allwinner,function = "spi0";
                                allwinner,pname = "spi0_cs0";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        spi0@1 {
                                linux,phandle = <0x59>;
                                phandle = <0x59>;
                                allwinner,pins = "PC0", "PC3", "PC2";
                                allwinner,function = "spi0";
                                allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        spi1@0 {
                                linux,phandle = <0x5a>;
                                phandle = <0x5a>;
                                allwinner,pins = "PE7";
                                allwinner,function = "spi1";
                                allwinner,pname = "spi1_cs0";
                                allwinner,muxsel = <0x4>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        spi1@1 {
                                linux,phandle = <0x5b>;
                                phandle = <0x5b>;
                                allwinner,pins = "PE9", "PE8", "PE10";
                                allwinner,function = "spi1";
                                allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso";
                                allwinner,muxsel = <0x4>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        nand0@0 {
                                linux,phandle = <0x5c>;
                                phandle = <0x5c>;
                                allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14";
                                allwinner,function = "nand0";
                                allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x0>;
                                allwinner,drive = <0x1>;
                                allwinner,data = <0xffffffff>;
                        };

                        nand0@1 {
                                linux,phandle = <0x5d>;
                                phandle = <0x5d>;
                                allwinner,pins = "PC3", "PC5";
                                allwinner,function = "nand0";
                                allwinner,pname = "nand0_ce0", "nand0_rb0";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x1>;
                                allwinner,data = <0xffffffff>;
                        };

                        lcd0@0 {
                                linux,phandle = <0x5e>;
                                phandle = <0x5e>;
                                allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD13", "PD14", "PD15", "PD16", "PD17";
                                allwinner,function = "lcd0";
                                allwinner,pname = "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd19", "lcdd20", "lcdd21", "lcdd22", "lcdd23";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x0>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        lcd0@1 {
                                linux,phandle = <0x5f>;
                                phandle = <0x5f>;
                                allwinner,pins = "PD18", "PD19", "PD21";
                                allwinner,function = "lcd0";
                                allwinner,pname = "lcdclk", "lcdde", "lcdvsync";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x0>;
                                allwinner,drive = <0x3>;
                                allwinner,data = <0xffffffff>;
                        };

                        pwm0_para@0 {
                                linux,phandle = <0x60>;
                                phandle = <0x60>;
                                allwinner,pins = "PE12";
                                allwinner,function = "pwm0_para";
                                allwinner,pname = "pwm_positive";
                                allwinner,muxsel = <0x4>;
                                allwinner,pull = <0x0>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        pwm1_para@0 {
                                linux,phandle = <0x61>;
                                phandle = <0x61>;
                                allwinner,pins = "PE6";
                                allwinner,function = "pwm1_para";
                                allwinner,pname = "pwm_positive";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0x0>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        vip0@0 {
                                linux,phandle = <0x62>;
                                phandle = <0x62>;
                                allwinner,pins = "PE2", "PE0", "PE1", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
                                allwinner,function = "vip0";
                                allwinner,pname = "vip0_csi_pck", "vip0_csi_hsync", "vip0_csi_vsync", "vip0_csi_d0", "vip0_csi_d1", "vip0_csi_d2", "vip0_csi_d3", "vip0_csi_d4", "vip0_csi_d5", "vip0_csi_d6", "vip0_csi_d7";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0xffffffff>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

                        vip0@1 {
                                linux,phandle = <0x63>;
                                phandle = <0x63>;
                                allwinner,pins = "PE11";
                                allwinner,function = "vip0";
                                allwinner,pname = "vip0_csi_mck";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x3>;
                                allwinner,data = <0x0>;
                        };

                        sdc0@0 {
                                linux,phandle = <0x64>;
                                phandle = <0x64>;
                                allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
                                allwinner,function = "sdc0";
                                allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2";
                                allwinner,muxsel = <0x2>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x3>;
                                allwinner,data = <0xffffffff>;
                        };

                        sdc1@0 {
                                linux,phandle = <0x65>;
                                phandle = <0x65>;
                                allwinner,pins = "PC0", "PC1", "PC2";
                                allwinner,function = "sdc1";
                                allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0";
                                allwinner,muxsel = <0x3>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x2>;
                                allwinner,data = <0xffffffff>;
                        };

                        Vdevice@0 {
                                linux,phandle = <0x66>;
                                phandle = <0x66>;
                                allwinner,pins = "PC0", "PC1";
                                allwinner,function = "Vdevice";
                                allwinner,pname = "Vdevice_0", "Vdevice_1";
                                allwinner,muxsel = <0x4>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0x2>;
                                allwinner,data = <0xffffffff>;
                        };
                };

                dma-controller@01c02000 {
                        compatible = "allwinner,sun3i-dma";
                        reg = <0x0 0x1c02000 0x0 0x1000>;
                        interrupts = <0x12>;
                        clocks = <0x6>;
                        #dma-cells = <0x2>;
                        linux,phandle = <0x25>;
                        phandle = <0x25>;
                };

                timer@1c20c00 {
                        compatible = "allwinner,sunxi-timer";
                        device_type = "timer";
                        reg = <0x0 0x1c20c00 0x0 0x90>;
                        interrupts = <0xd>;
                        clock-frequency = <0x16e3600>;
                        timer-prescale = <0x10>;
                };

                ir@01c22c00 {
                        compatible = "allwinner,ir";
                        reg = <0x0 0x1c22c00 0x0 0x400>;
                        interrupts = <0x6>;
                        pinctrl-names = "default";
                        pinctrl-0 = <0x7>;
                        clocks = <0x8 0x9>;
                        status = "okay";
                };

                ve@01c0e000 {
                        compatible = "allwinner,sunxi-cedar-ve";
                        reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x1c00000 0x0 0x3000 0x0 0x1c20000 0x0 0x800>;
                        interrupts = <0x22>;
                        clocks = <0xa 0xb>;
                };

                uart@01c25000 {
                        compatible = "allwinner,sun3i-uart";
                        device_type = "uart0";
                        reg = <0x0 0x1c25000 0x0 0x400>;
                        interrupts = <0x1>;
                        clocks = <0xc>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0xe>;
                        uart0_port = <0x0>;
                        uart0_type = <0x2>;
                        status = "disabled";
                        pinctrl-0 = <0x56>;
                };

                uart@01c25400 {
                        compatible = "allwinner,sun3i-uart";
                        device_type = "uart1";
                        reg = <0x0 0x1c25400 0x0 0x400>;
                        interrupts = <0x2>;
                        clocks = <0xf>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x11>;
                        uart1_port = <0x1>;
                        uart1_type = <0x2>;
                        status = "okay";
                        pinctrl-0 = <0x57>;
                };

                uart@01c25800 {
                        compatible = "allwinner,sun3i-uart";
                        device_type = "uart2";
                        reg = <0x0 0x1c25800 0x0 0x400>;
                        interrupts = <0x3>;
                        clocks = <0x12>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <0x13>;
                        pinctrl-1 = <0x14>;
                        uart2_port = <0x2>;
                        uart2_type = <0x4>;
                        status = "disabled";
                };

                twi@0x01c27000 {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;
                        compatible = "allwinner,sun3i-twi";
                        device_type = "twi0";
                        reg = <0x0 0x1c27000 0x0 0x400>;
                        interrupts = <0x7>;
                        clocks = <0x15>;
                        clock-frequency = <0x186a0>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x17>;
                        status = "okay";
                        pinctrl-0 = <0x53>;

                        io_expand@0x38 {
                                compatible = "nxp,pcf8574a";
                                i2c-max-frequency = <0x186a0>;
                                reg = <0x20>;
                                device_type = "io_expand";
                                gpio_base = <0x7f8>;
                        };

                        touchscreen0@0x4A {
                                compatible = "atmel,mxt336t";
                                reg = <0x4a>;
                                atmel,suspend_mode = <0x0>;
                        };

                        touchscreen1@0x48 {
                                compatible = "ctp_icn85xx";
                                reg = <0x48>;
                                device_type = "touchscreen1";
                        };

                        rtc@0x51 {
                                compatible = "nxp,pcf8563";
                                i2c-max-frequency = <0x186a0>;
                                reg = <0x51>;
                        };

                        sensor_gc0308@0x42 {
                                compatible = "allwinner,sensor_gc0308";
                                i2c-max-frequency = <0x186a0>;
                                reg = <0x42>;
                                status = "okay";
                        };
                };

                twi@0x01c27400 {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;
                        compatible = "allwinner,sun3i-twi";
                        device_type = "twi1";
                        reg = <0x0 0x1c27400 0x0 0x400>;
                        interrupts = <0x8>;
                        clocks = <0x18>;
                        clock-frequency = <0x30d40>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x1a>;
                        status = "disabled";
                        pinctrl-0 = <0x54>;
                };

                twi@0x01c27800 {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;
                        compatible = "allwinner,sun3i-twi";
                        device_type = "twi2";
                        reg = <0x0 0x1c27800 0x0 0x400>;
                        interrupts = <0x9>;
                        clocks = <0x1b>;
                        clock-frequency = <0x186a0>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x1d>;
                        status = "disabled";
                        pinctrl-0 = <0x55>;
                };

                spi@01c05000 {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;
                        compatible = "allwinner,sun8i-spi";
                        device_type = "spi0";
                        reg = <0x0 0x1c05000 0x0 0x1000>;
                        interrupts = <0xa>;
                        clocks = <0x1e 0x1f>;
                        clock-frequency = <0x5f5e100>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x22 0x23>;
                        spi0_cs_number = <0x1>;
                        spi0_cs_bitmap = <0x1>;
                        sd-spi-sel = <0x24 0x0 0x1 0x1 0x1 0x0 0x0>;
                        sd-spi-act = <0x1>;
                        dmas = <0x25 0x0 0x4 0x25 0x0 0x4>;
                        dma-names = "rx", "tx";
                        status = "disabled";
                        pinctrl-0 = <0x58 0x59>;

                        nor_flash@0 {
                                #address-cells = <0x1>;
                                #size-cells = <0x1>;
                                compatible = "st,m25p64";
                                spi-max-frequency = <0x2faf080>;
                                reg = <0x0>;
                        };
                };

                spinand@01c05000 {
                        compatible = "allwinner,sunxi-spinand";
                        device_type = "spinand";
                        reg = <0x0 0x1c05000 0x0 0x1000>;
                        interrupts = <0xa>;
                        clocks = <0x1e 0x1f>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <0x58 0x59>;
                        pinctrl-1 = <0x22 0x23>;
                        nand0_regulator1 = "vcc-nand";
                        nand0_regulator2 = "none";
                        nand0_cache_level = <0x55aaaa55>;
                        nand0_flush_cache_num = <0x55aaaa55>;
                        nand0_capacity_level = <0x55aaaa55>;
                        nand0_id_number_ctl = <0x55aaaa55>;
                        nand0_print_level = <0x55aaaa55>;
                        nand0_p0 = <0x55aaaa55>;
                        nand0_p1 = <0x55aaaa55>;
                        nand0_p2 = <0x55aaaa55>;
                        nand0_p3 = <0x55aaaa55>;
                        status = "okay";
                };

                spi@01c06000 {
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;
                        compatible = "allwinner,sun8i-spi";
                        device_type = "spi1";
                        reg = <0x0 0x1c06000 0x0 0x1000>;
                        interrupts = <0xb>;
                        clocks = <0x1e 0x26>;
                        clock-frequency = <0x5f5e100>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x29>;
                        spi1_cs_number = <0x1>;
                        spi1_cs_bitmap = <0x1>;
                        status = "okay";
                        pinctrl-0 = <0x5a 0x5b>;

                        mmc-slot@0 {
                                #address-cells = <0x1>;
                                #size-cells = <0x1>;
                                compatible = "mmc-spi-slot";
                                spi-max-frequency = <0x17d7840>;
                                device_type = "mmc-spi";
                                reg = <0x0>;
                                voltage-ranges = <0xce4 0xce4>;
                        };
                };

                sdmmc@01c0f000 {
                        compatible = "allwinner,sun3iw1p1-sdmmc0";
                        device_type = "sdc0";
                        reg = <0x0 0x1c0f000 0x0 0x1000>;
                        interrupts = <0x17>;
                        clocks = <0x8 0x4 0x2a 0x2b 0x2c>;
                        clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst";
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x2e>;
                        max-frequency = <0x2faf080>;
                        bus-width = <0x4>;
                        cap-sdio-irq;
                        keep-power-in-suspend;
                        ignore-pm-notify;
                        status = "okay";
                        sdc0_buswidth = <0x4>;
                        pinctrl-0 = <0x64>;
                        sdc0_det = <0x24 0x0 0x1 0x0 0x1 0x3 0xffffffff>;
                        sdc0_use_wp = <0x0>;
                        sdc0_wp;
                        sdc0_isio = <0x0>;
                        sdc0_regulator = "none";
                };

                sdmmc@01c10000 {
                        compatible = "allwinner,sun3iw1p1-sdmmc1";
                        device_type = "sdc1";
                        reg = <0x0 0x1c10000 0x0 0x1000>;
                        interrupts = <0x18>;
                        clocks = <0x8 0x4 0x2f 0x30 0x31>;
                        clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst";
                        pinctrl-names = "default", "sleep";
                        pinctrl-1 = <0x33>;
                        max-frequency = <0x2faf080>;
                        bus-width = <0x1>;
                        no-sdio;
                        no-sd;
                        non-removable;
                        cap-sdio-irq;
                        keep-power-in-suspend;
                        ignore-pm-notify;
                        sunxi-dly-52M-ddr4 = <0x1 0x0 0x0 0x0 0x2>;
                        sunxi-dly-104M = <0x1 0x0 0x0 0x0 0x1>;
                        sunxi-dly-208M = <0x1 0x0 0x0 0x0 0x1>;
                        status = "okay";
                        sdc1_detmode = <0x4>;
                        sdc1_buswidth = <0x1>;
                        pinctrl-0 = <0x65>;
                        sdc1_det;
                        sdc1_use_wp = <0x0>;
                        sdc1_wp;
                        sdc1_isio = <0x1>;
                        sdc1_regulator = "none";
                };

                disp@0x01e00000 {
                        compatible = "allwinner,sunxi-disp";
                        reg = <0x0 0x1e00000 0x0 0x20000 0x0 0x1c0c000 0x0 0x1000 0x0 0x1e70000 0x0 0x10000>;
                        interrupts = <0x1d 0x1f 0x1e 0x21>;
                        clocks = <0x34 0x35 0x36 0x37 0x38>;
                        status = "okay";
                        device_type = "disp";
                        disp_init_enable = <0x1>;
                        disp_mode = <0x0>;
                        screen0_output_type = <0x1>;
                        screen0_output_mode = <0x4>;
                        screen1_output_type = <0x1>;
                        screen1_output_mode = <0x4>;
                        fb0_framebuffer_num = <0x2>;
                        fb0_pixel_sequence = <0x0>;
                        fb0_scaler_mode_enable = <0x0>;
                        fb0_format = <0x0>;
                        fb0_width = <0x0>;
                        fb0_height = <0x0>;
                        fb1_framebuffer_num = <0x0>;
                        fb1_pixel_sequence = <0x0>;
                        fb1_scaler_mode_enable = <0x0>;
                        fb1_format = <0x0>;
                        fb1_width = <0x0>;
                        fb1_height = <0x0>;
                        lcd0_backlight = <0x32>;
                        lcd1_backlight = <0x32>;
                        lcd0_bright = <0x32>;
                        lcd0_contrast = <0x32>;
                        lcd0_saturation = <0x39>;
                        lcd0_hue = <0x32>;
                        lcd1_bright = <0x32>;
                        lcd1_contrast = <0x32>;
                        lcd1_saturation = <0x39>;
                        lcd1_hue = <0x32>;
                };

                tvd0@01c0b000 {
                        compatible = "allwinner,sunxi-tvd";
                        reg = <0x0 0x1c0b000 0x0 0x1000>;
                        interrupts = <0x1b>;
                        clocks = <0x39>;
                        tvd_used = <0x1>;
                        tvd_if = <0x0>;
                        status = "okay";
                };

                lcd0@01c0c000 {
                        compatible = "allwinner,sunxi-lcd0";
                        pinctrl-names = "active", "sleep";
                        status = "okay";
                        device_type = "lcd0";
                        lcd_used = <0x1>;
                        lcd_driver_name = "ili6122_800x480";
                        lcd_if = <0x0>;
                        lcd_x = <0x320>;
                        lcd_y = <0x1e0>;
                        lcd_width = <0x6d>;
                        lcd_height = <0x3f>;
                        lcd_dclk_freq = <0x21>;
                        lcd_pwm_used = <0x1>;
                        lcd_pwm_ch = <0x0>;
                        lcd_pwm_freq = <0xc350>;
                        lcd_pwm_pol = <0x1>;
                        lcd_hbp = <0x37>;
                        lcd_ht = <0x420>;
                        lcd_hspw = <0x14>;
                        lcd_vbp = <0x23>;
                        lcd_vt = <0x20d>;
                        lcd_vspw = <0xa>;
                        lcd_hv_if = <0x0>;
                        lcd_hv_smode = <0x0>;
                        lcd_hv_s888_if = <0x0>;
                        lcd_hv_syuv_if = <0x0>;
                        lcd_hv_vspw = <0xa>;
                        lcd_hv_hspw = <0x14>;
                        lcd_hv_sync_polarity = <0x3>;
                        lcd_lvds_if = <0x0>;
                        lcd_lvds_colordepth = <0x1>;
                        lcd_lvds_mode = <0x0>;
                        lcd_lvds_ch = <0x0>;
                        lcd_lvds_bitwidth = <0x0>;
                        lcd_lvds_io_cross = <0x0>;
                        lcd_cpu_if = <0x0>;
                        lcd_frm = <0x1>;
                        lcd_rb_swap = <0x1>;
                        lcd_io_phase = <0x0>;
                        lcd_gamma_en = <0x0>;
                        lcd_bright_curve_en = <0x0>;
                        lcd_cmap_en = <0x0>;
                        deu_mode = <0x0>;
                        lcdgamma4iep = <0x16>;
                        lcd_io_cfg0 = <0x0>;
                        smart_color = <0x5a>;
                        lcd_gpio_0 = <0x7fb>;
                        pinctrl-0 = <0x5e 0x5f>;
                };

                pwm@01c21000 {
                        compatible = "allwinner,sunxi-pwm";
                        reg = <0x0 0x1c21000 0x0 0x8>;
                        pwm-number = <0x1>;
                        pwm-base = <0x0>;
                        pwms = <0x3a>;
                };

                pwm0@01c21000 {
                        compatible = "allwinner,sunxi-pwm0";
                        pinctrl-names = "active", "sleep";
                        reg_base = <0x1c21000>;
                        reg_busy_offset = <0x0>;
                        reg_busy_shift = <0x1c>;
                        reg_enable_offset = <0x0>;
                        reg_enable_shift = <0x4>;
                        reg_clk_gating_offset = <0x0>;
                        reg_clk_gating_shift = <0x6>;
                        reg_bypass_offset = <0x0>;
                        reg_bypass_shift = <0x9>;
                        reg_pulse_start_offset = <0x0>;
                        reg_pulse_start_shift = <0x8>;
                        reg_mode_offset = <0x0>;
                        reg_mode_shift = <0x7>;
                        reg_polarity_offset = <0x0>;
                        reg_polarity_shift = <0x5>;
                        reg_period_offset = <0x4>;
                        reg_period_shift = <0x10>;
                        reg_period_width = <0x10>;
                        reg_active_offset = <0x4>;
                        reg_active_shift = <0x0>;
                        reg_active_width = <0x10>;
                        reg_prescal_offset = <0x0>;
                        reg_prescal_shift = <0x0>;
                        reg_prescal_width = <0x4>;
                };

                pwm1@01c21000 {
                        compatible = "allwinner,sunxi-pwm1";
                        pinctrl-names = "active", "sleep";
                        pinctrl-0 = <0x3b>;
                        reg_base = <0x1c21000>;
                        reg_busy_offset = <0x0>;
                        reg_busy_shift = <0x1d>;
                        reg_enable_offset = <0x0>;
                        reg_enable_shift = <0x13>;
                        reg_clk_gating_offset = <0x0>;
                        reg_clk_gating_shift = <0x15>;
                        reg_bypass_offset = <0x0>;
                        reg_bypass_shift = <0x18>;
                        reg_pulse_start_offset = <0x0>;
                        reg_pulse_start_shift = <0x17>;
                        reg_mode_offset = <0x0>;
                        reg_mode_shift = <0x16>;
                        reg_polarity_offset = <0x0>;
                        reg_polarity_shift = <0x14>;
                        reg_period_offset = <0x8>;
                        reg_period_shift = <0x10>;
                        reg_period_width = <0x10>;
                        reg_active_offset = <0x8>;
                        reg_active_shift = <0x0>;
                        reg_active_width = <0x10>;
                        reg_prescal_offset = <0x0>;
                        reg_prescal_shift = <0xf>;
                        reg_prescal_width = <0x4>;
                        linux,phandle = <0x3a>;
                        phandle = <0x3a>;
                };

                deinterlace@0x01e70000 {
                        compatible = "allwinner,sunxi-deinterlace";
                        reg = <0x0 0x1e70000 0x0 0x80>;
                        interrupts = <0x21>;
                        clocks = <0x38 0x3>;
                        status = "disabled";
                        device_type = "di";
                };

                csi_res@0x01cb0000 {
                        compatible = "allwinner,sunxi-csi";
                        reg = <0x0 0x1cb0000 0x0 0x1000>;
                        clocks = <0x3c 0x3 0x8>;
                        clocks-index = <0x0 0x1 0x2>;
                        status = "okay";
                };

                vfe@0 {
                        device_type = "csi0";
                        compatible = "allwinner,sunxi-vfe";
                        interrupts = <0x20>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <0x3d>;
                        pinctrl-1 = <0x3e>;
                        csi_sel = <0x0>;
                        csi0_sensor_list = <0x0>;
                        csi0_mck = <0x24 0x4 0xb 0x2 0x1 0x3 0x0>;
                        status = "okay";

                        dev@1 {
                                csi0_dev0_mname = "gc0308";
                                csi0_dev0_twi_addr = <0x42>;
                                csi0_dev0_twi_id = <0x0>;
                                csi0_dev0_pos = "rear";
                                csi0_dev0_isp_used = <0x0>;
                                csi0_dev0_fmt = <0x0>;
                                csi0_dev0_stby_mode = <0x0>;
                                csi0_dev0_vflip = <0x0>;
                                csi0_dev0_hflip = <0x0>;
                                csi0_dev0_iovdd = <0x0>;
                                csi0_dev0_iovdd_vol = <0x0>;
                                csi0_dev0_avdd = <0x0>;
                                csi0_dev0_avdd_vol = <0x0>;
                                csi0_dev0_dvdd = <0x0>;
                                csi0_dev0_dvdd_vol = <0x0>;
                                csi0_dev0_afvdd = <0x0>;
                                csi0_dev0_afvdd_vol = <0x0>;
                                csi0_dev0_power_en;
                                csi0_dev0_reset = <0x7fc>;
                                csi0_dev0_pwdn;
                                csi0_dev0_flash_en;
                                csi0_dev0_flash_mode;
                                csi0_dev0_af_pwdn;
                                csi0_dev0_act_used = <0x0>;
                                csi0_dev0_act_name = <0x0>;
                                csi0_dev0_act_slave = <0x0>;
                                status = "okay";
                        };
                };

                usbc0@0 {
                        device_type = "usbc0";
                        compatible = "allwinner,sunxi-otg-manager";
                        usb_port_type = <0x0>;
                        usb_detect_type = <0x1>;
                        usb_detect_mode = <0x0>;
                        usb_drv_vbus_gpio = <0x7ff>;
                        usb_host_init_state = <0x0>;
                        usb_regulator_io = "nocare";
                        usb_wakeup_suspend = <0x0>;
                        usb_luns = <0x3>;
                        usb_serial_unique = <0x0>;
                        usb_serial_number = "20080411";
                        rndis_wceis = <0x1>;
                        status = "okay";
                        usb_id_gpio;
                        usb_det_vbus_gpio;
                        usb_board_sel = <0x1>;
                        usb_regulator_vol = <0x0>;
                };

                udc-controller@0x01c13000 {
                        compatible = "allwinner,sunxi-udc";
                        reg = <0x0 0x1c13000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>;
                        interrupts = <0x1a>;
                        clocks = <0x3f 0x40>;
                        status = "okay";
                };

                otghci0-controller@0x01c13000 {
                        compatible = "allwinner,sunxi-hcd0";
                        reg = <0x0 0x1c13000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>;
                        interrupts = <0x1a>;
                        clocks = <0x3f 0x40>;
                        hci_ctrl_no = <0x0>;
                        status = "okay";
                };

                daudio@0x01c22000 {
                        compatible = "allwinner,sunxi-daudio";
                        reg = <0x0 0x1c22000 0x0 0x3c>;
                        clocks = <0x2 0x41>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <0x42>;
                        pinctrl-1 = <0x43>;
                        word_select_size = <0x20>;
                        pcm_sync_period = <0x20>;
                        pcm_lsb_first = <0x0>;
                        over_sample_rate = <0x80>;
                        slot_width_select = <0x10>;
                        pcm_sync_type = <0x0>;
                        pcm_start_slot = <0x0>;
                        tx_data_mode = <0x0>;
                        rx_data_mode = <0x0>;
                        tdm_config = <0x1>;
                        tdm_num = <0x0>;
                        dmas = <0x25 0x0 0xe 0x25 0x0 0xe>;
                        dma-names = "rx-tx", "rx-tx";
                        status = "okay";
                        linux,phandle = <0x4a>;
                        phandle = <0x4a>;
                };

                spdif-controller@0x01c21400 {
                        compatible = "allwinner,sunxi-spdif";
                        reg = <0x0 0x1c21400 0x0 0x38>;
                        clocks = <0x2 0x44>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <0x45>;
                        pinctrl-1 = <0x46>;
                        dmas = <0x25 0x0 0x1 0x25 0x0 0x1>;
                        status = "disabled";
                        linux,phandle = <0x4b>;
                        phandle = <0x4b>;
                };

                codec@0x01c23c00 {
                        compatible = "allwinner,sunxi-internal-codec";
                        reg = <0x0 0x1c23c00 0x0 0x9c>;
                        clocks = <0x2 0x47>;
                        gpio_shdn = <0x0>;
                        headphonevol = <0x3b>;
                        spkervol = <0x1b>;
                        maingain = <0x4>;
                        hp_dirused = <0x0>;
                        pa_sleep_time = <0x15e>;
                        status = "okay";
                        linux,phandle = <0x49>;
                        phandle = <0x49>;
                };

                cpudai0-controller@0x01c22000 {
                        compatible = "allwinner,sunxi-internal-cpudai";
                        reg = <0x0 0x1c23c00 0x0 0x9c>;
                        clocks = <0x47>;
                        dmas = <0x25 0x0 0xc 0x25 0x0 0xc>;
                        dma-names = "rx-tx", "rx-tx";
                        status = "okay";
                        linux,phandle = <0x48>;
                        phandle = <0x48>;
                };

                sound@0 {
                        compatible = "allwinner,sunxi-codec-machine";
                        sunxi,cpudai-controller = <0x48>;
                        sunxi,audio-codec = <0x49>;
                        hp_detect_case = <0x0>;
                        status = "okay";
                };

                sound@1 {
                        compatible = "allwinner,sunxi-daudio0-machine";
                        sunxi,daudio0-controller = <0x4a>;
                        sunxi,snddaudio-codec = "nau8540.2-001d";
                        sunxi,snddaudio-codec-dai = "nau8540-hifi";
                        status = "okay";
                };

                sound@2 {
                        compatible = "allwinner,sunxi-spdif-machine";
                        sunxi,spdif-controller = <0x4b>;
                        status = "okay";
                };

                wlan {
                        compatible = "allwinner,sunxi-wlan";
                        wlan-reset-pin = <0x24 0x3 0x10 0x0 0x1 0x1 0x1>;
                        wlan-irq-pin = <0x24 0x3 0xd 0x0 0x6 0x1 0x1>;
                        wlan_busnum = <0x0>;
                        status = "okay";
                        device_type = "wlan";
                        wlan_board_sel = <0x1>;
                        wlan_hostwake = <0x24 0x4 0xc 0x6 0xffffffff 0xffffffff 0x1>;
                        wlan_regon = <0x7f9>;
                };

                vdevice@0 {
                        compatible = "allwinner,sun3i-vdevice";
                        device_type = "Vdevice";
                        pinctrl-names = "default";
                        test-gpios = <0x24 0x3 0x1 0x1 0x2 0x2 0x1>;
                        status = "disabled";
                        pinctrl-0 = <0x66>;
                };

                keyboard {
                        compatible = "allwinner,keyboard_2000mv";
                        reg = <0x0 0x1c23400 0x0 0x400>;
                        interrupts = <0x16>;
                        status = "okay";
                        pwr-key = <0x24 0x3 0xe 0x0 0x6 0x1 0x0>;
                        usb-sts = <0x24 0x3 0xa 0x0 0x6 0x1 0x0>;
                        key_cnt = <0x6>;
                        key0 = <0xf8 0x73>;
                        key1 = <0x193 0x72>;
                        key2 = <0x24d 0x8b>;
                        key3 = <0x307 0x1c>;
                        key4 = <0x3c1 0x66>;
                        key5 = <0x4b9 0x67>;
                };

                pwr_off_ctrl {
                        compatible = "allwinner,pwr_off_ctrl";
                        status = "okay";
                };

                battery {
                        compatible = "allwinner,LRADC_battery";
                        reg = <0x0 0x1c23400 0x0 0x400>;
                        interrupts = <0x16>;
                        status = "okay";
                };

                wirelesskey@0 {
                        compatible = "allwinner,wireless-key";
                        gpio-key = <0x24 0x4 0x3 0x0 0x6 0x1 0x1>;
                        debounce = <0x0>;
                        status = "disabled";
                };

                tp_key@0x01c24800 {
                        compatible = "allwinner,tp_key";
                        reg = <0x0 0x1c24800 0x0 0xf0>;
                        interrupts = <0x14>;
                        key_cnt = <0xa>;
                        key1 = <0x118 0x73>;
                        key2 = <0x230 0x72>;
                        key3 = <0x366 0x77>;
                        key4 = <0x48f 0x1c>;
                        key5 = <0x5b4 0x175>;
                        key6 = <0x6cd 0x66>;
                        key7 = <0x82f 0x0>;
                        key8 = <0x95f 0x0>;
                        key9 = <0xa78 0x0>;
                        key10 = <0xb87 0x0>;
                        status = "okay";
                };

                product {
                        device_type = "product";
                        version = "100";
                        machine = "evb";
                };

                platform {
                        device_type = "platform";
                        eraseflag = <0x1>;
                        debug_mode = <0x1>;
                };

                target {
                        device_type = "target";
                        boot_clock = <0x198>;
                        storage_type = <0x6>;
                        burn_key = <0x0>;
                };

                norflash {
                        device_type = "norflash";
                        size = <0x10>;
                };

                power_sply {
                        device_type = "power_sply";
                        dcdc1_vol = <0xbb8>;
                        dcdc2_vol = <0x4b0>;
                        dcdc3_vol = <0x4b0>;
                        dcdc4_vol = <0x4b0>;
                        dcdc5_vol = <0x5dc>;
                        aldo2_vol = <0x708>;
                        aldo3_vol = <0xbb8>;
                };

                pwr_ctrl {
                        device_type = "pwr_ctrl";
                        power_off_key = <0x24 0x3 0x14 0x0 0x0 0xffffffff 0x1>;
                        power_on = <0x24 0x0 0x1 0x1 0xffffffff 0xffffffff 0x0>;
                        pwroff_gpio_is_irq = <0x0>;
                };

                card_boot {
                        device_type = "card_boot";
                        logical_start = <0xa000>;
                        sprite_gpio0;
                };

                pm_para {
                        device_type = "pm_para";
                        standby_mode = <0x1>;
                };

                card0_boot_para {
                        device_type = "card0_boot_para";
                        card_ctrl = <0x0>;
                        card_high_speed = <0x1>;
                        card_line = <0x4>;
                        pinctrl-0 = <0x4d>;
                };

                card2_boot_para {
                        device_type = "card2_boot_para";
                        card_ctrl = <0x2>;
                        card_high_speed = <0x1>;
                        card_line = <0x8>;
                        pinctrl-0 = <0x4e>;
                };

                card1_boot_para {
                        device_type = "card1_boot_para";
                        card_ctrl = <0x1>;
                        card_high_speed = <0x1>;
                        card_line = <0x1>;
                        pinctrl-0 = <0x4f>;
                };

                twi_para {
                        device_type = "twi_para";
                        twi_port = <0x0>;
                        pinctrl-0 = <0x50>;
                };

                uart_para {
                        device_type = "uart_para";
                        uart_debug_port = <0x1>;
                        pinctrl-0 = <0x51>;
                };

                jtag_para {
                        device_type = "jtag_para";
                        jtag_enable = <0x0>;
                        pinctrl-0 = <0x52>;
                };

                dram {
                        device_type = "dram";
                        dram_clk = <0x1e0>;
                        dram_type = <0x3>;
                        dram_zq = <0x77bb>;
                        dram_odt_en = <0x1>;
                        dram_para1 = <0x4319f4>;
                        dram_para2 = <0x5>;
                        dram_mr0 = <0x620>;
                        dram_mr1 = <0x0>;
                        dram_mr2 = <0x8>;
                        dram_mr3 = <0x0>;
                        dram_tpr0 = <0x6141b10>;
                        dram_tpr1 = <0x40416>;
                        dram_tpr2 = <0x3030306>;
                        dram_tpr3 = <0x2006>;
                        dram_tpr4 = <0x5040405>;
                        dram_tpr5 = <0x5050302>;
                        dram_tpr6 = <0x90006644>;
                        dram_tpr7 = <0x42c21590>;
                        dram_tpr8 = <0xd05612c0>;
                        dram_tpr9 = <0x83def>;
                        dram_tpr10 = <0x18082356>;
                        dram_tpr11 = <0x32034156>;
                        dram_tpr12 = <0x0>;
                        dram_tpr13 = <0x0>;
                };

                rtp_para {
                        device_type = "rtp_para";
                        rtp_used = <0x0>;
                        rtp_screen_size = <0x5>;
                        rtp_regidity_level = <0x5>;
                        rtp_press_threshold_enable = <0x0>;
                        rtp_press_threshold = <0x1f40>;
                        rtp_sensitive_level = <0xf>;
                        rtp_exchange_x_y_flag = <0x0>;
                };

                ctp {
                        device_type = "ctp";
                        status = "okay";
                        ctp_twi_id = <0x0>;
                        ctp_twi_addr = <0x48>;
                        ctp_screen_max_x = <0x320>;
                        ctp_screen_max_y = <0x1e0>;
                        ctp_revert_x_flag = <0x1>;
                        ctp_revert_y_flag = <0x1>;
                        ctp_exchange_x_y_flag = <0x1>;
                };

                tkey_para {
                        device_type = "tkey_para";
                        tkey_used = <0x0>;
                        tkey_twi_id;
                        tkey_twi_addr;
                        tkey_int;
                };

                motor_para {
                        device_type = "motor_para";
                        motor_used = <0x0>;
                };

                nand0 {
                        device_type = "nand0";
                        nand0_support_2ch = <0x0>;
                        status = "disabled";
                        pinctrl-0 = <0x5c 0x5d>;
                        nand0_regulator1 = "vcc-nand";
                        nand0_regulator2 = "none";
                        nand0_cache_level = <0x55aaaa55>;
                        nand0_flush_cache_num = <0x55aaaa55>;
                        nand0_capacity_level = <0x55aaaa55>;
                        nand0_id_number_ctl = <0x55aaaa55>;
                        nand0_print_level = <0x55aaaa55>;
                        nand0_p0 = <0x55aaaa55>;
                        nand0_p1 = <0x55aaaa55>;
                        nand0_p2 = <0x55aaaa55>;
                        nand0_p3 = <0x55aaaa55>;
                };

                pwm0_para {
                        device_type = "pwm0_para";
                        pwm_used = <0x0>;
                        pinctrl-0 = <0x60>;
                };

                pwm1_para {
                        device_type = "pwm1_para";
                        pwm_used = <0x0>;
                        pinctrl-0 = <0x61>;
                };

                vip0 {
                        device_type = "vip0";
                        status = "okay";
                        pinctrl-0 = <0x62 0x63>;
                        vip0_mname = "gc0308";
                        vip0_twi_addr = <0x42>;
                        vip0_twi_id = <0x0>;
                        vip0_isp_used = <0x0>;
                        vip0_fmt = <0x0>;
                        vip0_stby_mode = <0x0>;
                        vip0_vflip = <0x0>;
                        vip0_hflip = <0x0>;
                        vip0_iovdd;
                        vip0_iovdd_vol = <0x2ab980>;
                        vip0_avdd;
                        vip0_avdd_vol = <0x2ab980>;
                        vip0_dvdd;
                        vip0_dvdd_vol = <0x16e360>;
                        vip0_afvdd;
                        vip0_afvdd_vol = <0x2ab980>;
                        vip0_power_en;
                        vip0_reset = <0x7fc>;
                        vip0_pwdn;
                        vip0_flash_en;
                        vip0_flash_mode;
                        vip0_af_pwdn;
                };

                tvout_para {
                        device_type = "tvout_para";
                        tvout_used;
                        tvout_channel_num;
                        tv_en;
                };

                tvin_para {
                        device_type = "tvin_para";
                        tvin_used;
                        tvin_channel_num;
                };

                smc {
                        device_type = "smc";
                        smc_used;
                        smc_rst;
                        smc_vppen;
                        smc_vppp;
                        smc_det;
                        smc_vccen;
                        smc_sck;
                        smc_sda;
                };

                gsensor_para {
                        device_type = "gsensor_para";
                        gsensor_used = <0x0>;
                        gsensor_twi_id = <0x2>;
                        gsensor_twi_addr = <0x18>;
                        gsensor_int1 = <0x24 0x0 0x9 0x6 0x1 0xffffffff 0xffffffff>;
                        gsensor_int2;
                };

                gps_para {
                        device_type = "gps_para";
                };

                gy_para {
                        device_type = "gy_para";
                        gy_used = <0x0>;
                        gy_twi_id = <0x2>;
                        gy_twi_addr = <0x6a>;
                        gy_int1 = <0x24 0x0 0xa 0x6 0x1 0xffffffff 0xffffffff>;
                        gy_int2;
                };

                ls_para {
                        device_type = "ls_para";
                        ls_used = <0x0>;
                        ls_twi_id = <0x2>;
                        ls_twi_addr = <0x23>;
                        ls_int = <0x24 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>;
                };

                compass_para {
                        device_type = "compass_para";
                        compass_used = <0x0>;
                        compass_twi_id = <0x2>;
                        compass_twi_addr = <0xd>;
                        compass_int = <0x24 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>;
                };

                bt_para {
                        device_type = "bt_para";
                        bt_used;
                        bt_uart_id;
                        bt_wakeup;
                        bt_gpio;
                        bt_rst;
                };

                audiospdif {
                        device_type = "audiospdif";
                        status = "disabled";
                };

                spdif_machine {
                        device_type = "spdif_machine";
                        status = "disabled";
                };

                audiohdmi {
                        device_type = "audiohdmi";
                        status = "disabled";
                };

                hdmi_machine {
                        device_type = "hdmi_machine";
                        status = "disabled";
                };

                pmu0 {
                        device_type = "pmu0";
                        status = "disabled";
                        pmu_id = <0x6>;
                        pmu_twi_addr = <0x34>;
                        pmu_twi_id = <0x1>;
                        pmu_irq_id = <0x0>;
                        pmu_chg_ic_temp = <0x0>;
                        pmu_battery_rdc = <0x64>;
                        pmu_battery_cap = <0x0>;
                        pmu_runtime_chgcur = <0x1c2>;
                        pmu_suspend_chgcur = <0x5dc>;
                        pmu_shutdown_chgcur = <0x5dc>;
                        pmu_init_chgvol = <0x1068>;
                        pmu_ac_vol = <0xfa0>;
                        pmu_ac_cur = <0x0>;
                        pmu_usbpc_vol = <0x1130>;
                        pmu_usbpc_cur = <0x1f4>;
                        pmu_battery_warning_level1 = <0xf>;
                        pmu_battery_warning_level2 = <0x0>;
                        pmu_chgled_func = <0x0>;
                        pmu_chgled_type = <0x0>;
                        pmu_bat_para1 = <0x0>;
                        pmu_bat_para2 = <0x0>;
                        pmu_bat_para3 = <0x0>;
                        pmu_bat_para4 = <0x0>;
                        pmu_bat_para5 = <0x0>;
                        pmu_bat_para6 = <0x0>;
                        pmu_bat_para7 = <0x0>;
                        pmu_bat_para8 = <0x0>;
                        pmu_bat_para9 = <0x5>;
                        pmu_bat_para10 = <0x8>;
                        pmu_bat_para11 = <0x9>;
                        pmu_bat_para12 = <0xa>;
                        pmu_bat_para13 = <0xd>;
                        pmu_bat_para14 = <0x10>;
                        pmu_bat_para15 = <0x14>;
                        pmu_bat_para16 = <0x21>;
                        pmu_bat_para17 = <0x29>;
                        pmu_bat_para18 = <0x2e>;
                        pmu_bat_para19 = <0x32>;
                        pmu_bat_para20 = <0x35>;
                        pmu_bat_para21 = <0x39>;
                        pmu_bat_para22 = <0x3d>;
                        pmu_bat_para23 = <0x43>;
                        pmu_bat_para24 = <0x49>;
                        pmu_bat_para25 = <0x4e>;
                        pmu_bat_para26 = <0x54>;
                        pmu_bat_para27 = <0x58>;
                        pmu_bat_para28 = <0x5c>;
                        pmu_bat_para29 = <0x5d>;
                        pmu_bat_para30 = <0x5e>;
                        pmu_bat_para31 = <0x5f>;
                        pmu_bat_para32 = <0x64>;
                        pmu_bat_temp_enable = <0x0>;
                        pmu_bat_charge_ltf = <0x8d5>;
                        pmu_bat_charge_htf = <0x184>;
                        pmu_bat_shutdown_ltf = <0xc80>;
                        pmu_bat_shutdown_htf = <0xed>;
                        pmu_bat_temp_para1 = <0x1d2a>;
                        pmu_bat_temp_para2 = <0x1180>;
                        pmu_bat_temp_para3 = <0xdbe>;
                        pmu_bat_temp_para4 = <0xae2>;
                        pmu_bat_temp_para5 = <0x8af>;
                        pmu_bat_temp_para6 = <0x6fc>;
                        pmu_bat_temp_para7 = <0x5a8>;
                        pmu_bat_temp_para8 = <0x3c9>;
                        pmu_bat_temp_para9 = <0x298>;
                        pmu_bat_temp_para10 = <0x1d2>;
                        pmu_bat_temp_para11 = <0x189>;
                        pmu_bat_temp_para12 = <0x14d>;
                        pmu_bat_temp_para13 = <0x11b>;
                        pmu_bat_temp_para14 = <0xf2>;
                        pmu_bat_temp_para15 = <0xb3>;
                        pmu_bat_temp_para16 = <0x86>;
                        pmu_powkey_off_time = <0x1770>;
                        pmu_powkey_off_func = <0x0>;
                        pmu_powkey_off_en = <0x1>;
                        pmu_powkey_long_time = <0x5dc>;
                        pmu_powkey_on_time = <0x3e8>;
                };

                pmu0_regu {
                        device_type = "pmu0_regu";
                        regulator_count = <0x17>;
                        regulator1 = "axp28_rtc";
                        regulator2 = "axp28_aldo1";
                        regulator3 = "axp28_aldo2";
                        regulator4 = "axp28_aldo3";
                        regulator5 = "axp28_dldo1";
                        regulator6 = "axp28_dldo2";
                        regulator7 = "axp28_dldo3";
                        regulator8 = "axp28_dldo4";
                        regulator9 = "axp28_eldo1";
                        regulator0 = "axp28_eldo2";
                        regulator11 = "axp28_eldo3";
                        regulator12 = "axp28_fldo1";
                        regulator13 = "axp28_fldo2";
                        regulator14 = "axp28_dcdc1";
                        regulator15 = "axp28_dcdc2";
                        regulator16 = "axp28_dcdc3";
                        regulator17 = "axp28_dcdc4";
                        regulator18 = "axp28_dcdc5";
                        regulator19 = "axp28_dcdc6";
                        regulator20 = "axp28_dcdc7";
                        regulator21 = "axp28_gpio0ldo";
                        regulator22 = "axp28_gpio1ldo";
                };

                dvfs_table {
                        device_type = "dvfs_table";
                        max_freq = <0x47868c00>;
                        min_freq = <0x1c9c3800>;
                        LV_count = <0x8>;
                        LV1_freq = <0x5b8d8000>;
                        LV1_volt = <0x5dc>;
                        LV2_freq = <0x501bd000>;
                        LV2_volt = <0x5b4>;
                        LV3_freq = <0x47868c00>;
                        LV3_volt = <0x528>;
                        LV4_freq = <0x3c14dc00>;
                        LV4_volt = <0x4b0>;
                        LV5_freq = <0x30a32c00>;
                        LV5_volt = <0x44c>;
                        LV6_freq = <0x269fb200>;
                        LV6_volt = <0x410>;
                        LV7_freq = <0x0>;
                        LV7_volt = <0x410>;
                        LV8_freq = <0x0>;
                        LV8_volt = <0x410>;
                };

                fel_key {
                        device_type = "fel_key";
                        keyen_flag = <0x1>;
                        fel_key_max = <0x1aa>;
                        fel_key_min = <0x100>;
                };

                partitions {
                        device_type = "partitions";

                        bootlogo {
                                device_type = "bootlogo";
                                offset = <0x2000>;
                                size = <0x400>;
                        };

                        env {
                                device_type = "env";
                                offset = <0x2400>;
                                size = <0x200>;
                        };

                        boot {
                                device_type = "boot";
                                offset = <0x2600>;
                                size = <0x3000>;
                        };

                        rootfs {
                                device_type = "rootfs";
                                offset = <0x5600>;
                                size = <0xc800>;
                        };

                        rootfs_data {
                                device_type = "rootfs_data";
                                offset = <0x11e00>;
                                size = <0xc800>;
                        };

                        misc {
                                device_type = "misc";
                                offset = <0x1e600>;
                                size = <0x200>;
                        };

                        private {
                                device_type = "private";
                                offset = <0x1e800>;
                                size = <0x200>;
                        };

                        UDISK {
                                device_type = "UDISK";
                                offset = <0x1ea00>;
                                size = <0x0>;
                        };
                };
        };

        aliases {
                serial0 = "/soc/uart@01c25000", "/soc/uart@01c25000";
                serial1 = "/soc/uart@01c25400", "/soc/uart@01c25400";
                serial2 = "/soc/uart@01c25800", "/soc/uart@01c25800";
                twi0 = "/soc/twi@0x01c27000", "/soc/twi@0x01c27000";
                twi1 = "/soc/twi@0x01c27400", "/soc/twi@0x01c27400";
                twi2 = "/soc/twi@0x01c27800", "/soc/twi@0x01c27800";
                spi0 = "/soc/spi@01c05000", "/soc/spi@01c05000";
                spinand = "/soc/spinand@01c05000", "/soc/spinand@01c05000";
                spi1 = "/soc/spi@01c06000", "/soc/spi@01c06000";
                mmc0 = "/soc/sdmmc@01c0f000", "/soc/sdmmc@01c0f000";
                mmc1 = "/soc/sdmmc@01c10000", "/soc/sdmmc@01c10000";
                global_timer0 = "/soc/timer@1c20c00", "/soc/timer@1c20c00";
                csi_res0 = "/soc/csi_res@0x01cb0000", "/soc/csi_res@0x01cb0000";
                vfe0 = "/soc/vfe@0", "/soc/vfe@0";
                disp = "/soc/disp@0x01e00000", "/soc/disp@0x01e00000";
                lcd0 = "/soc/lcd0@01c0c000", "/soc/lcd0@01c0c000";
                tvd = "/soc/tvd0@01c0b000", "/soc/tvd0@01c0b000";
                pwm = "/soc/pwm@01c21000", "/soc/pwm@01c21000";
                pwm0 = "/soc/pwm0@01c21000", "/soc/pwm0@01c21000";
                pwm1 = "/soc/pwm1@01c21000", "/soc/pwm1@01c21000";
        };

        chosen {
                bootargs = "earlyprintk=sunxi-uart,0x01c25000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init";
                linux,initrd-start = <0x0 0x0>;
                linux,initrd-end = <0x0 0x0>;
        };

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

                cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,arm926ejs";
                        reg = <0x0>;
                };
        };

        sram_ctrl {
                device_type = "sram_ctrl";
                compatible = "allwinner,sram_ctrl";
                reg = <0x0 0x1c00000 0x0 0x100>;
        };

        ion {
                compatible = "allwinner,sunxi-ion";

                system {
                        type = <0x0>;
                };

                cma {
                        type = <0x4>;
                };

                system_contig {
                        type = <0x1>;
                };
        };

        memory@80000000 {
                device_type = "memory";
                reg = <0x0 0x80000000 0x0 0x2000000>;
        };

        interrupt-controller@01c20400 {
                compatible = "allwinner,sun3i-intc";
                #interrupt-cells = <0x1>;
                #address-cells = <0x0>;
                device_type = "intc";
                interrupt-controller;
                reg = <0x0 0x1c20400 0x0 0x1000>;
                linux,phandle = <0x1>;
                phandle = <0x1>;
        };

        watchdog@01c20ca0 {
                compatible = "allwinner,sun3i-wdt";
                reg = <0x0 0x1c20ca0 0x0 0x18>;
        };
};

./out/violin-F1C200s/image/sys_config.fex

;A31 PAD application
;---------------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
;---------------------------------------------------------------------------------------------------------

[product]
version = "100"
machine = "evb"

[platform]
eraseflag   = 1
debug_mode  = 1

;----------------------------------------------------------------------------------
;   system configuration
;   ?
;dcdc1_vol                                                      ---set dcdc1 voltage,mV,1600-3400,100mV/step
;dcdc2_vol                                                      ---set dcdc2 voltage,mV,600-1540,20mV/step
;dcdc3_vol                                                      ---set dcdc3 voltage,mV,600-1860,20mV/step
;dcdc4_vol                                                      ---set dcdc4 voltage,mV,600-1540,20mV/step
;dcdc5_vol                                                      ---set dcdc5 voltage,mV,1000-2550,50mV/step
;aldo2_vol                                                      ---set aldo2 voltage,mV,700-3300,100mV/step
;aldo3_vol                                                      ---set aldo3 voltage,mV,700-3300,100mV/step
;----------------------------------------------------------------------------------

;----------------------------------------------------------------------------------
; storage_type 0:nand 1:sd 2:emmc 3:spinor 4:emmc3 5:spinand 6:sd1
;
; as spi0 and sdc0 both use PC0-PC2
; for spinor, set [target] storage_type = 3, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for spinand, set [target] storage_type = 5, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for sd1, set [target] storage_type = 6, [spi0] spi0_used = 0 , [sdc1] sdc1_used = 1
;----------------------------------------------------------------------------------
[target]
boot_clock      = 408
storage_type    = 6
burn_key        = 0

[norflash]
size            = 16

[power_sply]
dcdc1_vol                  = 3000
dcdc2_vol                  = 1200
dcdc3_vol                  = 1200
dcdc4_vol                  = 1200
dcdc5_vol                  = 1500
aldo2_vol                  = 1800
aldo3_vol                  = 3000

;[power_ctrl]
;power_off_key = port:PD14<0><0><default><1>
;power_on = port:PD15<1><0><default><0>

[pwr_ctrl]
power_off_key = port:PD20<0><0><default><1>
power_on = port:PA1<1><default><default><0>
pwroff_gpio_is_irq = 0

[card_boot]
logical_start   = 40960
sprite_gpio0    =
;card_no = 1

;---------------------------------------------------------------------------------------------------------
; if 1 == standby_mode, then support super standby;
; else, support normal standby.
;---------------------------------------------------------------------------------------------------------
[pm_para]
standby_mode            = 1

[card0_boot_para]
card_ctrl       = 0
card_high_speed = 1
card_line       = 4
sdc_d1          = port:PF0<2><1><2><default>
sdc_d0          = port:PF1<2><1><2><default>
sdc_clk         = port:PF2<2><1><2><default>
sdc_cmd         = port:PF3<2><1><2><default>
sdc_d3          = port:PF4<2><1><2><default>
sdc_d2          = port:PF5<2><1><2><default>


[card2_boot_para]
card_ctrl       = 2
card_high_speed = 1
card_line       = 8
sdc_clk         = port:PC5<3><1><3><default>
sdc_cmd         = port:PC6<3><1><3><default>
sdc_d0          = port:PC8<3><1><3><default>
sdc_d1          = port:PC9<3><1><3><default>
sdc_d2          = port:PC10<3><1><3><default>
sdc_d3          = port:PC11<3><1><3><default>
sdc_d4          = port:PC12<3><1><3><default>
sdc_d5          = port:PC13<3><1><3><default>
sdc_d6          = port:PC14<3><1><3><default>
sdc_d7          = port:PC15<3><1><3><default>
sdc_emmc_rst    = port:PC16<3><1><3><default>
sdc_ds          = port:PC01<3><1><3><default>

[card1_boot_para]
card_ctrl       = 1
card_high_speed = 1
card_line       = 1
sdc_clk         = port:PC0<3><1><3><default>
sdc_cmd         = port:PC1<3><1><3><default>
sdc_d0          = port:PC2<3><1><3><default>

[twi_para]
twi_port        = 0
twi_scl         = port:PD12<3><default><default><default>
twi_sda         = port:PD00<3><default><default><default>


[uart_para]
uart_debug_port = 1
uart_debug_tx   = port:PA2<5><1><default><default>
uart_debug_rx   = port:PA3<5><1><default><default>


[jtag_para]
jtag_enable     = 0
jtag_ms         = port:PH9<3><default><default><default>
jtag_ck         = port:PH10<3><default><default><default>
jtag_do         = port:PH11<3><default><default><default>
jtag_di         = port:PH12<3><default><default><default>


;*****************************************************************************
;sdram configuration
;
;*****************************************************************************
[dram_para]

dram_clk        = 480
dram_type       = 3
dram_zq         = 0x77bb
dram_odt_en     = 1
dram_para1      = 0x004319f4
dram_para2      = 0x5
dram_mr0        = 0x620
dram_mr1        = 0x0
dram_mr2        = 0x8
dram_mr3        = 0
dram_tpr0       = 0x06141B10
dram_tpr1       = 0x40416
dram_tpr2       = 0x03030306
dram_tpr3       = 0x2006
dram_tpr4       = 0x05040405
dram_tpr5       = 0x05050302
dram_tpr6       = 0x90006644
dram_tpr7       = 0x42c21590
dram_tpr8       = 0xd05612c0
dram_tpr9       = 0x00083def
dram_tpr10      = 0x18082356
dram_tpr11      = 0x32034156
dram_tpr12      = 0
dram_tpr13      = 0


;----------------------------------------------------------------------------------
;i2c configuration
;----------------------------------------------------------------------------------
[twi0]
twi0_used        = 1
twi0_scl         = port:PD12<3><default><default><default>
twi0_sda         = port:PD00<3><default><default><default>

[twi1]
twi1_used        = 0
twi1_scl         = port:PB00<2><default><default><default>
twi1_sda         = port:PB01<2><default><default><default>

[twi2]
twi2_used        = 0
twi2_scl         = port:PD15<4><default><default><default>
twi2_sda         = port:PD16<4><default><default><default>

;----------------------------------------------------------------------------------
;TWI device configuration
;compatible        --- device name
;reg               --- device address
;----------------------------------------------------------------------------------
;[twi0/twi_board0]
;compatible        =
;reg               =

[io_expand]
compatible         = "nxp,pcf8574a"
reg                = 0x20
gpio_base          = 2040
;int-gpio           = port:PE09<6><default><1><1>

;----------------------------------------------------------------------------------
;uart configuration
;uart_type ---  2 (2 wire), 4 (4 wire), 8 (8 wire, full function)
;----------------------------------------------------------------------------------
[uart0]
uart0_used       = 0
uart0_port       = 0
uart0_type       = 2
uart0_tx         = port:PF2<3><1><default><default>
uart0_rx         = port:PF4<3><1><default><default>

[uart1]
uart1_used       = 1
uart1_port       = 1
uart1_type       = 2
uart1_tx         = port:PA2<5><1><default><default>
uart1_rx         = port:PA3<5><1><default><default>

;----------------------------------------------------------------------------------
;SPI controller configuration
;----------------------------------------------------------------------------------
[spi0]
spi0_used       = 0
spi0_cs_number  = 1
spi0_cs_bitmap  = 1
spi0_cs0        = port:PC1<2><1><default><default>
spi0_sclk       = port:PC0<2><default><default><default>
spi0_mosi       = port:PC3<2><default><default><default>
spi0_miso       = port:PC2<2><default><default><default>

[spi1]
spi1_used       = 1
spi1_cs_number  = 1
spi1_cs_bitmap  = 1
spi1_cs0        = port:PE07<4><1><default><default>
spi1_sclk       = port:PE09<4><default><default><default>
spi1_mosi       = port:PE08<4><default><default><default>
spi1_miso       = port:PE10<4><default><default><default>

;----------------------------------------------------------------------------------
;SPI device configuration
;compatible        --- device name
;spi-max-frequency --- work frequency
;reg               --- chip select
;optional properties: spi-cpha, spi-cpol, spi-cs-high
;----------------------------------------------------------------------------------
;[spi0/spi_board0]
;compatible        =
;spi-max-frequency =
;reg               =
;spi-cpha
;spi-cpol
;spi-cs-high

;----------------------------------------------------------------------------------
;resistance tp configuration
;----------------------------------------------------------------------------------
[rtp_para]
rtp_used      = 0
rtp_screen_size = 5
rtp_regidity_level = 5
rtp_press_threshold_enable = 0
rtp_press_threshold = 0x1f40
rtp_sensitive_level = 0xf
rtp_exchange_x_y_flag = 0

;----------------------------------------------------------------------------------
;capacitor tp configuration
;external int function
;wakeup output function
;notice ---    tp_int_port &  tp_io_port use the same port
;----------------------------------------------------------------------------------
[ctp]
ctp_used            = 1
ctp_twi_id          = 0
ctp_twi_addr        = 0x48
ctp_screen_max_x    = 800
ctp_screen_max_y    = 480
ctp_revert_x_flag   = 1
ctp_revert_y_flag   = 1
ctp_exchange_x_y_flag = 1

;ctp_int_port         = port:PE12<6><default><default><1>
;ctp_wakeup           = 2045

[twi0/touchscreen1]
compatible           = "ctp_icn85xx"
reg                  = 0x48

;----------------------------------------------------------------------------------
;touch key configuration
;----------------------------------------------------------------------------------
[tkey_para]
tkey_used           = 0
tkey_twi_id         =
tkey_twi_addr       =
tkey_int            =

;----------------------------------------------------------------------------------
;motor configuration
;----------------------------------------------------------------------------------
[motor_para]
motor_used          = 0
;motor_shake         = port:power3<1><default><default><1>

[nand0_para]
nand0_support_2ch    = 0

nand0_used          = 0
nand0_we            = port:PC00<2><0><1><default>
nand0_ale           = port:PC01<2><0><1><default>
nand0_cle           = port:PC02<2><0><1><default>
nand0_ce0           = port:PC03<2><1><1><default>
nand0_nre           = port:PC04<2><0><1><default>
nand0_rb0           = port:PC05<2><1><1><default>
nand0_d0            = port:PC06<2><0><1><default>
nand0_d1            = port:PC07<2><0><1><default>
nand0_d2            = port:PC08<2><0><1><default>
nand0_d3            = port:PC09<2><0><1><default>
nand0_d4            = port:PC10<2><0><1><default>
nand0_d5            = port:PC11<2><0><1><default>
nand0_d6            = port:PC12<2><0><1><default>
nand0_d7            = port:PC13<2><0><1><default>
nand0_ndqs          = port:PC14<2><0><1><default>

nand0_regulator1                = "vcc-nand"
nand0_regulator2                = "none"
nand0_cache_level = 0x55aaaa55
nand0_flush_cache_num = 0x55aaaa55
nand0_capacity_level = 0x55aaaa55
nand0_id_number_ctl = 0x55aaaa55
nand0_print_level = 0x55aaaa55
nand0_p0 = 0x55aaaa55
nand0_p1 = 0x55aaaa55
nand0_p2 = 0x55aaaa55
nand0_p3 = 0x55aaaa55

;----------------------------------------------------------------------------------
;disp init configuration
;
;disp_mode             (0:screen0<screen0,fb0>)
;screenx_output_type   (0:none; 1:lcd; 3:hdmi;)
;screenx_output_mode   (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
;                      (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
;fbx format            (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
;fbx pixel sequence    (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
;fb0_scaler_mode_enable(scaler mode enable, used FE)
;fbx_width,fbx_height  (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
;lcdx_backlight        (lcd init backlight,the range:[0,256],default:197
;lcdx_yy               (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
;lcd0_contrast         (LCD contrast, 0~100)
;lcd0_saturation       (LCD saturation, 0~100)
;lcd0_hue              (LCD hue, 0~100)
;----------------------------------------------------------------------------------
[disp]
disp_init_enable         = 1
disp_mode                = 0

screen0_output_type      = 1
screen0_output_mode      = 4

screen1_output_type      = 1
screen1_output_mode      = 4

fb0_framebuffer_num      = 2
fb0_pixel_sequence       = 0
fb0_scaler_mode_enable   = 0

fb0_format               = 0
fb0_width                = 0
fb0_height               = 0

fb1_framebuffer_num      = 0
fb1_pixel_sequence       = 0
fb1_scaler_mode_enable   = 0

fb1_format               = 0
fb1_width                = 0
fb1_height               = 0

lcd0_backlight           = 50
lcd1_backlight           = 50

lcd0_bright              = 50
lcd0_contrast            = 50
lcd0_saturation          = 57
lcd0_hue                 = 50

lcd1_bright              = 50
lcd1_contrast            = 50
lcd1_saturation          = 57
lcd1_hue                 = 50

;----------------------------------------------------------------------------------
;lcd0 configuration

;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_x:                lcd horizontal resolution
;lcd_y:                lcd vertical resolution
;lcd_width:            width of lcd in mm
;lcd_height:           height of lcd in mm
;lcd_dclk_freq:        in MHZ unit
;lcd_pwm_freq:         in HZ unit
;lcd_pwm_pol:          lcd backlight PWM polarity
;lcd_pwm_max_limit     lcd backlight PWM max limit(<=255)
;lcd_hbp:              hsync back porch
;lcd_ht:               hsync total cycle
;lcd_vbp:              vsync back porch
;lcd_vt:               vysnc total cycle
;lcd_hspw:             hsync plus width
;lcd_vspw:             vysnc plus width
;lcd_lvds_if:          0:single link;  1:dual link
;lcd_lvds_colordepth:  0:8bit; 1:6bit
;lcd_lvds_mode:        0:NS mode; 1:JEIDA mode
;lcd_frm:              0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase:         0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
;                      8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en          lcd gamma correction enable
;lcd_bright_curve_en   lcd bright curve correction enable
;lcd_cmap_en           lcd color map function enable
;deu_mode              0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep:         Smart Backlight parameter, lcd gamma vale * 10;
;                      decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color           90:normal lcd screen 65:retina lcd screen(9.7inch)
;----------------------------------------------------------------------------------
[lcd0]
lcd_used            = 1

;-------------------------------------
; avdisplay lcd
;-------------------------------------
lcd_driver_name     = "ili6122_800x480"
lcd_if              = 0
lcd_x               = 800
lcd_y               = 480
lcd_width           = 109
lcd_height          = 63
lcd_dclk_freq       = 33
lcd_pwm_used        = 1
lcd_pwm_ch          = 0
lcd_pwm_freq        = 50000
lcd_pwm_pol         = 1
lcd_hbp             = 55
lcd_ht              = 1056
lcd_hspw            = 20
lcd_vbp             = 35
lcd_vt              = 525
lcd_vspw            = 10
lcd_hv_if           = 0
lcd_hv_smode        = 0
lcd_hv_s888_if      = 0
lcd_hv_syuv_if      = 0
lcd_hv_vspw         = 10
lcd_hv_hspw         = 20
lcd_hv_sync_polarity = 3
;-------------------------------------
; qiutianwei lcd
;-------------------------------------
;lcd_x               = 800
;lcd_y               = 480
;lcd_width           = 108
;lcd_height          = 64
;lcd_dclk_freq       = 33
;lcd_pwm_used        = 1
;lcd_pwm_ch          = 0
;lcd_pwm_freq        = 50000
;lcd_pwm_pol         = 1
;lcd_hbp             = 88
;lcd_ht              = 928
;lcd_hspw            = 48
;lcd_vbp             = 35
;lcd_vt              = 525
;lcd_vspw            = 3
;lcd_hv_if           = 0
;lcd_hv_smode        = 0
;lcd_hv_s888_if      = 0
;lcd_hv_syuv_if      = 0
;lcd_hv_vspw         = 10
;lcd_hv_hspw         = 123

;lcd_x               = 1024
;lcd_y               = 600
;lcd_width           = 154
;lcd_height          = 86
;lcd_dclk_freq       = 50
;lcd_pwm_used        = 1
;lcd_pwm_ch          = 0
;lcd_pwm_freq        = 50000
;lcd_pwm_pol         = 1
;lcd_hbp             = 160
;lcd_ht              = 1344
;lcd_hspw            = 48
;lcd_vbp             = 23
;lcd_vt              = 635
;lcd_vspw            = 3
;lcd_hv_if           = 0
;lcd_hv_smode        = 0
;lcd_hv_s888_if      = 0
;lcd_hv_syuv_if      = 0
;lcd_hv_vspw         = 10
;lcd_hv_hspw         = 123
lcd_lvds_if         = 0
lcd_lvds_colordepth = 1
lcd_lvds_mode       = 0
lcd_lvds_ch         = 0
lcd_lvds_bitwidth   = 0
lcd_lvds_io_cross   = 0

lcd_cpu_if          = 0

lcd_frm             = 1
lcd_rb_swap         = 1
lcd_io_phase        = 0x0000
lcd_gamma_en        = 0
lcd_bright_curve_en = 0
lcd_cmap_en         = 0
deu_mode            = 0
lcdgamma4iep        = 22
lcd_io_cfg0         = 0x00000000
smart_color         = 90

;lcd_bl_en_used      = 0
;lcd_bl_en           = port:PE12<1><0><default><1>
;lcd_power           = port:PE06<1><0><default><0>
lcd_gpio_0           = 2043

;lcdd2               = port:PD00<2><0><default><default>
lcdd3               = port:PD01<2><0><default><default>
lcdd4               = port:PD02<2><0><default><default>
lcdd5               = port:PD03<2><0><default><default>
lcdd6               = port:PD04<2><0><default><default>
lcdd7               = port:PD05<2><0><default><default>
lcdd10              = port:PD06<2><0><default><default>
lcdd11              = port:PD07<2><0><default><default>
lcdd12              = port:PD08<2><0><default><default>
lcdd13              = port:PD09<2><0><default><default>
lcdd14              = port:PD10<2><0><default><default>
lcdd15              = port:PD11<2><0><default><default>
;lcdd18              = port:PD12<2><0><default><default>
lcdd19              = port:PD13<2><0><default><default>
lcdd20              = port:PD14<2><0><default><default>
lcdd21              = port:PD15<2><0><default><default>
lcdd22              = port:PD16<2><0><default><default>
lcdd23              = port:PD17<2><0><default><default>
lcdclk              = port:PD18<2><0><3><default>
lcdde               = port:PD19<2><0><3><default>
;lcdhsync            = port:PD20<2><0><3><default>
lcdvsync            = port:PD21<2><0><3><default>

;----------------------------------------------------------------------------------
;pwm config
;----------------------------------------------------------------------------------
[pwm0_para]
pwm_used            = 0
;pwm_positive        = port:PH00<2><0><default><default>
pwm_positive        = port:PE12<4><0><default><default>

[pwm1_para]
pwm_used            = 0
pwm_positive        = port:PE06<3><0><default><default>


;--------------------------------------------------------------------------------
;vip (video input port) configuration
;vip(x)_used: 0:disable 1:enable
;vip(x)_isp_used 0:not use isp 1:use isp
;vip(x)_fmt: 0:yuv 1:bayer raw rgb
;vip(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby
;vip(x)_vflip: flip in vertical direction 0:disable 1:enable
;vip(x)_hflip: flip in horizontal direction 0:disable 1:enable
;vip(x)_iovdd: camera module io power handle string, pmu power supply
;vip(x)_iovdd_vol: camera module io power voltage, pmu power supply
;vip(x)_avdd:   camera module analog power handle string, pmu power supply
;vip(x)_avdd_vol:       camera module analog power voltage, pmu power supply
;vip(x)_dvdd:   camera module core power handle string, pmu power supply
;vip(x)_dvdd_vol:       camera module core power voltage, pmu power supply
;vip(x)_afvdd:  camera module vcm power handle string, pmu power supply
;vip(x)_afvdd_vol:      camera module vcm power voltage, pmu power supply
;fill voltage in uV, e.g. iovdd = 2.8V, vip_devx_iovdd_vol = 2800000
;fill handle string as below:
;axp22_eldo3
;axp22_dldo4
;axp22_eldo2
;fill handle string "" when not using any pmu power supply
;--------------------------------------------------------------------------------

[vip0]
vip0_used                = 1
vip0_csi_pck             = port:PE02<2><default><default><default>
vip0_csi_mck             = port:PE11<2><1><3><0>
vip0_csi_hsync           = port:PE00<2><default><default><default>
vip0_csi_vsync           = port:PE01<2><default><default><default>
vip0_csi_d0              = port:PE03<2><default><default><default>
vip0_csi_d1              = port:PE04<2><default><default><default>
vip0_csi_d2              = port:PE05<2><default><default><default>
vip0_csi_d3              = port:PE06<2><default><default><default>
vip0_csi_d4              = port:PE07<2><default><default><default>
vip0_csi_d5              = port:PE08<2><default><default><default>
vip0_csi_d6              = port:PE09<2><default><default><default>
vip0_csi_d7              = port:PE10<2><default><default><default>
;vip0_csi_sck             = port:PD12<2><default><default><default>
;vip0_csi_sda             = port:PD00<2><default><default><default>

vip0_mname           = "gc0308"
vip0_twi_addr        = 0x42
vip0_twi_id                      = 0
vip0_isp_used        = 0
vip0_fmt             = 0
vip0_stby_mode       = 0
vip0_vflip           = 0
vip0_hflip           = 0
vip0_iovdd           = ""
vip0_iovdd_vol       = 2800000
vip0_avdd            = ""
vip0_avdd_vol        = 2800000
vip0_dvdd            = ""
vip0_dvdd_vol        = 1500000
vip0_afvdd           = ""
vip0_afvdd_vol       = 2800000
vip0_power_en        =
vip0_reset           = 2044
vip0_pwdn            = ""
vip0_flash_en        =
vip0_flash_mode      =
vip0_af_pwdn         =

;--------------------------------------------------------------------------------
;tv configuration
;
;--------------------------------------------------------------------------------
[tvout_para]
tvout_used          =
tvout_channel_num   =
tv_en               =

[tvin_para]
tvin_used           =
tvin_channel_num    =

; ------------------------------------------------------------------------------|
; de-interlace configuration
;--------------------------------------------------------------------------------
[di]
di_used             = 0

;--------------------------------------------------------------------------------
;   SDMMC PINS MAPPING                                                          |
; ------------------------------------------------------------------------------|
;   Config Guide                                                                |
;   sdc_used: 1-enable card, 0-disable card                                     |
;   sdc_detmode: card detect mode                                               |
;                1-detect card by gpio polling                                  |
;                2-detect card by gpio irq(must use IO with irq function)       |
;                3-no detect, always in for boot card                           |
;                4-manually insert and remove by /proc/driver/sunxi-mmc.x/insert|
;   sdc_buswidth: card bus width, 1-1bit, 4-4bit, 8-8bit                        |
;   sdc_use_wp: 1-with write protect IO, 0-no write protect IO                  |
;   sdc_isio: for sdio card                                                     |
;   sdc_regulator: power control.if card supports UHS-I/DDR and HS200 timing for|
;                  SD3.0 or eMMC4.5, regulator must be configured. the value is |
;                  the ldo name of AXP221, eg: sdc_regulator = "axp22_eldo2"    |
;   other: GPIO Mapping configuration                                           |
; ------------------------------------------------------------------------------|
;   Note:                                                                       |
;   1 if detmode=2, sdc_det's config=6                                          |
;     else if detmode=1, sdc_det's config=0                                     |
;     else sdc_det IO is not necessary                                          |
;   2 if the customer wants to support UHS-I and HS200 features, he must provide|
;     an independent power supply for the card. This is only used in platforms  |
;     that supports SD3.0 cards and eMMC4.4+ flashes                            |
;--------------------------------------------------------------------------------
[sdc0]
sdc0_used          = 1
;sdc0_detmode       = 4
sdc0_buswidth      = 4
sdc0_d1            = port:PF00<2><1><3><default>
sdc0_d0            = port:PF01<2><1><3><default>
sdc0_clk           = port:PF02<2><1><3><default>
sdc0_cmd           = port:PF03<2><1><3><default>
sdc0_d3            = port:PF04<2><1><3><default>
sdc0_d2            = port:PF05<2><1><3><default>
sdc0_det           = port:PA01<0><1><3><default>
sdc0_use_wp        = 0
sdc0_wp            =
sdc0_isio          = 0
sdc0_regulator     = "none"

[sdc1]
sdc1_used          = 1
sdc1_detmode       = 4
sdc1_buswidth      = 1
sdc1_clk           = port:PC00<3><1><2><default>
sdc1_cmd           = port:PC01<3><1><2><default>
sdc1_d0            = port:PC02<3><1><2><default>
sdc1_det           =
sdc1_use_wp        = 0
sdc1_wp            =
sdc1_isio          = 1
sdc1_regulator     = "none"

; ------------------------------------------------------------------------------|
; sim card configuration
;--------------------------------------------------------------------------------
[smc]
smc_used            =
smc_rst             =
smc_vppen           =
smc_vppp            =
smc_det             =
smc_vccen           =
smc_sck             =
smc_sda             =

;--------------------------------
;[usbc0]:控制器0的配置。
;usb_used:USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。
;usb_port_type:USB端口的使用情况。 0:device only;1:host only;2:OTG
;usb_detect_type:USB端口的检查方式。0:不做检测;1:vbus/id检查;2:id/dpdm检查
;usb_id_gpio:USB ID pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio:USB DET_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_drv_vbus_gpio:USB DRY_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio: "axp_ctrl",表示axp 提供
;--------------------------------
;--------------------------------
;---       USB0控制标志
;--------------------------------
;[usbc0]
;usbc0_used          = 0
;usb_port_type       = 2
;usb_detect_type     = 1
;usb_id_gpio         = port:PH09<0><1><default><default>
;usb_det_vbus_gpio   = "axp_ctrl"
;usb_drv_vbus_gpio   = port:PB07<1><0><default><0>
;usb_host_init_state = 0
;usb_regulator_io    = "nocare"
;usb_regulator_vol   = 0
;usb_wakeup_suspend  = 0
;---       USB Device
;usb_luns            = 3
;usb_serial_unique   = 0
;usb_serial_number   = "20080411"

[usbc0]
usbc0_used          = 1
usb_port_type       = 0
usb_detect_type     = 1
usb_id_gpio         =
usb_det_vbus_gpio   =
usb_board_sel       = 1
usb_drv_vbus_gpio   = 2047
usb_host_init_state = 0
usb_regulator_io    = "nocare"
usb_regulator_vol   = 0
usb_wakeup_suspend  = 0
; USB Device
usb_luns            = 3
usb_serial_unique   = 0
usb_serial_number   = "20080411"

;--------------------------------
;---       USB1控制标志
;--------------------------------
;[usbc1]
;usbc1_used          = 0
;usb_drv_vbus_gpio   = port:PB06<1><0><default><0>
;usb_host_init_state = 1
;usb_regulator_io    = "nocare"
;usb_regulator_vol   = 0
;usb_wakeup_suspend  = 0

;--------------------------------------------------------------------------------
; G sensor configuration
; gs_twi_id     ---  TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2)
;--------------------------------------------------------------------------------
[gsensor_para]
gsensor_used        = 0
gsensor_twi_id      = 2
gsensor_twi_addr    = 0x18
gsensor_int1        = port:PA09<6><1><default><default>
gsensor_int2        =

;--------------------------------------------------------------------------------
; gps gpio configuration
; gps_spi_id            --- the index of SPI controller. 0: SPI0, 1: SPI1, 2: SPI2, 15: no SPI used
; gps_spi_cs_num        --- the chip select number of SPI controller. 0: SPI CS0, 1: SPI CS1
; gps_lradc                     --- the lradc number for GPS used. 0 and 1 is valid, set 2 if not use lradc
;--------------------------------------------------------------------------------
[gps_para]

;--------------------------------------------------------------------------------
;wlan configuration
;clocks:      32k clk
;wlan_power_num: the number of inputs for wifi power
;wlan_power(n): wifi power(n)
;wlan_io_regulator: the power of wifi io
;wlan_busnum:    no. of bus(usb or bus)
;wlan_regon:     wifi function enable/reset io
;wlan_hostwake:    wifi device wake-up host
;status:   okay
;--------------------------------------------------------------------------------
[wlan]
wlan_used    = 1
compatible   = "allwinner,sunxi-wlan"
wlan_busnum  = 0
;wlan_power_num =
;wlan_power1   =
;wlan_io_regulator   =
wlan_board_sel = 1
;wlan_hostwake = port:PD13<6><default><default><default>
wlan_hostwake = port:PE12<6><default><default><1>
;wlan_regon   = port:PD16<1><1><3><0>
wlan_regon   = 2041

;--------------------------------------------------------------------------------
;gyroscope
;--------------------------------------------------------------------------------
[gy_para]
gy_used             = 0
gy_twi_id           = 2
gy_twi_addr         = 0x6a
gy_int1             = port:PA10<6><1><default><default>
gy_int2             =

;--------------------------------------------------------------------------------
;light sensor
;--------------------------------------------------------------------------------
[ls_para]
ls_used             = 0
ls_twi_id           = 2
ls_twi_addr         = 0x23
ls_int              = port:PA12<6><1><default><default>

;--------------------------------------------------------------------------------
;compass
;--------------------------------------------------------------------------------
[compass_para]
compass_used        = 0
compass_twi_id      = 2
compass_twi_addr    = 0x0d
compass_int         = port:PA11<6><1><default><default>

;--------------------------------------------------------------------------------
;blue tooth
;bt_used                        ---- blue tooth used (0- no used, 1- used)
;bt_uard_id                     ---- uart index
;--------------------------------------------------------------------------------
[bt_para]
bt_used             =
bt_uart_id          =
bt_wakeup           =
bt_gpio             =
bt_rst              =
;--------------------------------------------------------------------------------
;               NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1,
;         if register the sound card spdif.
;--------------------------------------------------------------------------------
[audiospdif]
audiospdif_used          = 0
[spdif_machine]
spdif_machine_used   = 0
;----------------------------------------------------------------------------------
;               NOTE :Make sure hdmi_used = 0x1,hdmimach_used = 0x1,
;         if register the sound card hdmi.
;---------------------------------------------------------------------------------
[audiohdmi]
audiohdmi_used = 0
[hdmi_machine]
hdmi_machine_used = 0
;--------------------------------------------------------------------------------
;allwinner,pcm_lrck_period      :16/32/64/128/256
;allwinner,pcm_lrckr_period :no use
;allwinner,slot_width_select    :16bits/20bits/24bits/32bits
;allwinner,pcm_lsb_first        :0: msb first; 1: lsb first
;allwinner,tx_data_mode         :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,rx_data_mode         :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master)        use
;                                                 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master)  not use
;                                                 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use
;                                                 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave)         use
;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format).            use
;                          2:SND_SOC_DAIFMT_RIGHT_J(right justfied format).
;                          3:SND_SOC_DAIFMT_LEFT_J(left justfied format)
;                          4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use
;                          5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge)
;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame)  use
;                                 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM)
;                                 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM)  use
;                                 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM)
;allwinner,frametype :0: long frame = 2 clock width;  1: short frame
;allwinner,tdm_config :0:pcm 1:i2s
;allwinner,daudio0_used :0:not use 1:use
;-------------------------------------------------------------------------------
;               NOTE :Make sure daudio0mach_used = 0x1,daudio0_used = 0x1,
;         if register the sound card DAUDIO0.
;--------------------------------------------------------------------------------
;[daudio0_machine]
;daudio0_machine_used = 0
;-----------------------------------------------------------------------------
;[daudio0]
;pcm_lrck_period =   0x20
;pcm_lrckr_period =   0x01
;slot_width_select =   0x10
;pcm_lsb_first =   0x0
;tx_data_mode =   0x0
;rx_data_mode =   0x0
;daudio_master =   0x04
;audio_format =   0x01
;signal_inversion =   0x01
;frametype =   0x0
;tdm_config =   0x01
;daudio0_used = 0

;--------------------------------------------------------------------------------------
;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step
;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,maingain :   mainmic gain:0x0---0x7 0x0-0db 0x1:24db   3db/step
;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db   3db/step
;allwinner,adcagc_cfg : 1:use adcagc 0:no use
;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use
;allwinner,adchpf_cfg : 1:use adchpf 0:no use
;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use
;allwinner,dachpf_cfg : 1:use adchpf 0:no use
;allwinner,aif2config : 1:use aif2 0:no use
;allwinner,aif3config : 1:use aif3 0:no use
;--------------------------------------------------------------------------------
;               NOTE :Make sure audiocodec_machine_used = 0x1,sun50i2s_used = 0x1
;         sun50codec_used = 0x1,if register the sound card audiocodec.
;---------------------------------------------------------------------------------
;[audiocodec_machine]
;audiocodec_machine_used = 0

;-------------------------------------------------------------------------------------
;used                        ---0:not used,1:used
;pmu_id                      ---0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813
;pmu_twi_addr                ---slave address
;pmu_twi_id                  ---i2c bus number (0 TWI0, 1 TWI2, 2 TWI3)
;pmu_irq_id                   ---irq number (0 irq0,1 irq1)
;pmu_chg_ic_temp             ---intelligence charge pmu temperature. when it is 0, this function is closed.
;pmu_battery_rdc             ---battery initial resistance
;pmu_battery_cap             ---battery capability,mAh
;pmu_runtime_chgcur          ---set initial charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_suspend_chgcur          ---set suspend charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_shutdown_chgcur         ---set shutdown charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_init_chgvol             ---set initial charing target voltage,mV,4100/4220/4200/4240
;pmu_ac_vol                  ---set usb-ac limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_ac_cur                  ---set usb-ac limited current level,mA,500/900, 0 - not limite
;pmu_usbpc_vol               ---set usb-pc limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_usbpc_cur               ---set usb-pc limited current level,mA,500/900, 0 - not limite
;pmu_battery_warning_level1  ---low power warning high level,5%-20%,1%/step
;pmu_battery_warning_level2  ---low power warning low level,0%-15%,1%/step
;pmu_chgled_func             ---CHGKED pin control, 0:controlled by pmu,1:controlled by Charger
;pmu_chgled_type             ---CHGLED Type select when pmu_chgled_func=0,0:Type A, 1:type B
;pmu_bat_para1               ---battery indication at 3.13V
;pmu_bat_para2               ---battery indication at 3.27V
;pmu_bat_para3               ---battery indication at 3.34V
;pmu_bat_para4               ---battery indication at 3.41V
;pmu_bat_para5               ---battery indication at 3.48V
;pmu_bat_para6               ---battery indication at 3.52V
;pmu_bat_para7               ---battery indication at 3.55V
;pmu_bat_para8               ---battery indication at 3.57V
;pmu_bat_para9               ---battery indication at 3.59V
;pmu_bat_para10              ---battery indication at 3.61V
;pmu_bat_para11              ---battery indication at 3.63V
;pmu_bat_para12              ---battery indication at 3.64V
;pmu_bat_para13              ---battery indication at 3.66V
;pmu_bat_para14              ---battery indication at 3.7V
;pmu_bat_para15              ---battery indication at 3.73V
;pmu_bat_para16              ---battery indication at 3.77V
;pmu_bat_para17              ---battery indication at 3.78V
;pmu_bat_para18              ---battery indication at 3.8V
;pmu_bat_para19              ---battery indication at 3.82V
;pmu_bat_para20              ---battery indication at 3.84V
;pmu_bat_para21              ---battery indication at 3.85V
;pmu_bat_para22              ---battery indication at 3.87V
;pmu_bat_para23              ---battery indication at 3.91V
;pmu_bat_para24              ---battery indication at 3.94V
;pmu_bat_para25              ---battery indication at 3.98V
;pmu_bat_para26              ---battery indication at 4.01V
;pmu_bat_para27              ---battery indication at 4.05V
;pmu_bat_para28              ---battery indication at 4.08V
;pmu_bat_para29              ---battery indication at 4.1V
;pmu_bat_para30              ---battery indication at 4.12V
;pmu_bat_para31              ---battery indication at 4.14V
;pmu_bat_para32              ---battery indication at 4.15V
;pmu_bat_temp_enable         ---battery temp detect enable
;pmu_bat_charge_ltf          ---charge battery temp low threshold voltage
;pmu_bat_charge_htf          ---charge battery temp high threshold voltage
;pmu_bat_shutdown_ltf        ---shutdown battery temp low threshold voltage
;pmu_bat_shutdown_htf        ---shutdown battery temp high threshold voltage
;pmu_bat_temp_para1          ---battery temp -25 voltage
;pmu_bat_temp_para2          ---battery temp -15 voltage
;pmu_bat_temp_para3          ---battery temp -10 voltage
;pmu_bat_temp_para4          ---battery temp -5  voltage
;pmu_bat_temp_para5          ---battery temp  0  voltage
;pmu_bat_temp_para6          ---battery temp  5  voltage
;pmu_bat_temp_para7          ---battery temp  10 voltage
;pmu_bat_temp_para8          ---battery temp  20 voltage
;pmu_bat_temp_para9          ---battery temp  30 voltage
;pmu_bat_temp_para10         ---battery temp  40 voltage
;pmu_bat_temp_para11         ---battery temp  45 voltage
;pmu_bat_temp_para12         ---battery temp  50 voltage
;pmu_bat_temp_para13         ---battery temp  55 voltage
;pmu_bat_temp_para14         ---battery temp  60 voltage
;pmu_bat_temp_para15         ---battery temp  70 voltage
;pmu_bat_temp_para16         ---battery temp  80 voltage
;pmu_powkey_off_time         ---set pek off time,ms, 4000/6000/8000/10000
;pmu_powkey_off_func         ---set pek off func, 0:shutdown,1:restart
;pmu_powkey_off_en           ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown
;pmu_powkey_long_time        ---set pek pek long irq time,ms,1000/1500/2000/2500
;pmu_powkey_on_time          ---set pek on time,ms,128/1000/2000/3000
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;--------------------------------------------------------------------------------------------------------
[pmu0]
used                       = 0
pmu_id                     = 6
pmu_twi_addr               = 0x34
pmu_twi_id                 = 1
pmu_irq_id                 = 0

pmu_chg_ic_temp            = 0
pmu_battery_rdc            = 100
pmu_battery_cap            = 0
pmu_runtime_chgcur         = 450
pmu_suspend_chgcur         = 1500
pmu_shutdown_chgcur        = 1500
pmu_init_chgvol            = 4200
pmu_ac_vol                 = 4000
pmu_ac_cur                 = 0
pmu_usbpc_vol              = 4400
pmu_usbpc_cur              = 500
pmu_battery_warning_level1 = 15
pmu_battery_warning_level2 = 0
pmu_chgled_func            = 0
pmu_chgled_type            = 0

pmu_bat_para1              = 0
pmu_bat_para2              = 0
pmu_bat_para3              = 0
pmu_bat_para4              = 0
pmu_bat_para5              = 0
pmu_bat_para6              = 0
pmu_bat_para7              = 0
pmu_bat_para8              = 0
pmu_bat_para9              = 5
pmu_bat_para10             = 8
pmu_bat_para11             = 9
pmu_bat_para12             = 10
pmu_bat_para13             = 13
pmu_bat_para14             = 16
pmu_bat_para15             = 20
pmu_bat_para16             = 33
pmu_bat_para17             = 41
pmu_bat_para18             = 46
pmu_bat_para19             = 50
pmu_bat_para20             = 53
pmu_bat_para21             = 57
pmu_bat_para22             = 61
pmu_bat_para23             = 67
pmu_bat_para24             = 73
pmu_bat_para25             = 78
pmu_bat_para26             = 84
pmu_bat_para27             = 88
pmu_bat_para28             = 92
pmu_bat_para29             = 93
pmu_bat_para30             = 94
pmu_bat_para31             = 95
pmu_bat_para32             = 100

pmu_bat_temp_enable        = 0
pmu_bat_charge_ltf         = 2261
pmu_bat_charge_htf         = 388
pmu_bat_shutdown_ltf       = 3200
pmu_bat_shutdown_htf       = 237
pmu_bat_temp_para1         = 7466
pmu_bat_temp_para2         = 4480
pmu_bat_temp_para3         = 3518
pmu_bat_temp_para4         = 2786
pmu_bat_temp_para5         = 2223
pmu_bat_temp_para6         = 1788
pmu_bat_temp_para7         = 1448
pmu_bat_temp_para8         = 969
pmu_bat_temp_para9         = 664
pmu_bat_temp_para10        = 466
pmu_bat_temp_para11        = 393
pmu_bat_temp_para12        = 333
pmu_bat_temp_para13        = 283
pmu_bat_temp_para14        = 242
pmu_bat_temp_para15        = 179
pmu_bat_temp_para16        = 134

pmu_powkey_off_time        = 6000
pmu_powkey_off_func        = 0
pmu_powkey_off_en          = 1
pmu_powkey_long_time       = 1500
pmu_powkey_on_time         = 1000

;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;regulator tree
;--------------------------------------------------------------------------------------------------------
[pmu0_regu]
regulator_count = 23
regulator1                   = "axp28_rtc"
regulator2                   = "axp28_aldo1"
regulator3                   = "axp28_aldo2"
regulator4                   = "axp28_aldo3"
regulator5                   = "axp28_dldo1"
regulator6                   = "axp28_dldo2"
regulator7                   = "axp28_dldo3"
regulator8                   = "axp28_dldo4"
regulator9                   = "axp28_eldo1"
regulator0                   = "axp28_eldo2"
regulator11                  = "axp28_eldo3"
regulator12                  = "axp28_fldo1"
regulator13                  = "axp28_fldo2"
regulator14                  = "axp28_dcdc1"
regulator15                  = "axp28_dcdc2"
regulator16                  = "axp28_dcdc3"
regulator17                  = "axp28_dcdc4"
regulator18                  = "axp28_dcdc5"
regulator19                  = "axp28_dcdc6"
regulator20                  = "axp28_dcdc7"
regulator21                  = "axp28_gpio0ldo"
regulator22                  = "axp28_gpio1ldo"

;----------------------------------------------------------------------------------
; dvfs voltage-frequency table configuration
;
; max_freq: cpu maximum frequency, based on Hz
; min_freq: cpu minimum frequency, based on Hz
;
; LV_count: count of LV_freq/LV_volt, must be < 16
;
; LV1: core vdd is 1.50v if cpu frequency is (1344Mhz,  1536Mhz]
; LV2: core vdd is 1.46v if cpu frequency is (1200Mhz,  1344Mhz]
; LV3: core vdd is 1.32v if cpu frequency is (1008Mhz,  1200Mhz]
; LV4: core vdd is 1.20v if cpu frequency is (816Mhz,   1008Mhz]
; LV5: core vdd is 1.10v if cpu frequency is (648Mhz,    816Mhz]
; LV6: core vdd is 1.04v if cpu frequency is (120Mhz,    648Mhz]
; LV7: core vdd is 1.04v if cpu frequency is (120Mhz,    648Mhz]
; LV8: core vdd is 1.04v if cpu frequency is (120Mhz,    648Mhz]
;
;----------------------------------------------------------------------------------
[dvfs_table]
;extremity_freq = 1344000000
max_freq = 1200000000
min_freq = 480000000

LV_count = 8

LV1_freq = 1536000000
LV1_volt = 1500

LV2_freq = 1344000000
LV2_volt = 1460

LV3_freq = 1200000000
LV3_volt = 1320

LV4_freq = 1008000000
LV4_volt = 1200

LV5_freq = 816000000
LV5_volt = 1100

LV6_freq = 648000000
LV6_volt = 1040

LV7_freq = 0
LV7_volt = 1040

LV8_freq = 0
LV8_volt = 1040

;----------------------------------------------------------------------------------
;virtual device
;virtual device for pinctrl testing
;device have pin PA1 PA2
;----------------------------------------------------------------------------------
[Vdevice]
Vdevice_used        = 0
Vdevice_0           = port:PC00<4><1><2><default>
Vdevice_1           = port:PC01<4><1><2><default>
[fel_key]
keyen_flag      = 1
fel_key_max     = 426
fel_key_min     = 256

[partitions]

[partitions/bootlogo]
offset = 8192
size = 1024

[partitions/env]
offset = 9216
size = 512

[partitions/boot]
offset = 9728
size = 12288

[partitions/rootfs]
offset = 22016
size = 51200

[partitions/rootfs_data]
offset = 73216
size = 51200

[partitions/misc]
offset = 124416
size = 512

[partitions/private]
offset = 124928
size = 512

[partitions/UDISK]
offset = 125440
size = 0

编译Linux的时候, 会把 sys_config.fex 转换成 dts 文件?

离线

#4 2021-03-25 16:24:24

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

为了验证楼上的想法, 我把

./target/allwinner/violin-F1C200s/configs/sys_config.fex

[uart_para]
uart_debug_port = 1
uart_debug_tx   = port:PA2<5><1><default><default>
uart_debug_rx   = port:PA3<5><1><default><default>

改成:

[uart_para]
uart_debug_port = 0
uart_debug_tx   = port:PE0<5><1><default><default>
uart_debug_rx   = port:PE0<5><1><default><default>

然后执行make 命令

看 ./out/violin-F1C200s/image/.sunxi.dts 会不会跟着变化

离线

#5 2021-03-25 16:32:27

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

执行 pack 之后

./out/violin-F1C200s/image/.sunxi.dts

变了:

                        uart_para@0 {
                                linux,phandle = <0x51>;
                                phandle = <0x51>;
                                allwinner,pins = "PE0", "PE0";
                                allwinner,function = "uart_para";
                                allwinner,pname = "uart_debug_tx", "uart_debug_rx";
                                allwinner,muxsel = <0x5>;
                                allwinner,pull = <0x1>;
                                allwinner,drive = <0xffffffff>;
                                allwinner,data = <0xffffffff>;
                        };

离线

#6 2021-03-25 16:37:14

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

看来, 对于linux kernel 来说, sys_config.fex 最终是生成了 dtb 文件, 继续研究 sys_config.fex 如何影响 u-boot的

离线

#7 2021-03-25 17:29:00

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 458
积分: 442.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

为楼主研究精神点赞

楼主看下这个链接 https://linux-sunxi.org/H3_Manual_build_howto

肯定有启发的

离线

#8 2021-03-26 08:43:38

cloudxxcloud
会员
注册时间: 2021-02-20
已发帖子: 16
积分: 14

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

感觉就全志的 有点奇葩,其它家的都是用设备树

离线

#9 2021-03-26 09:46:12

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 226
积分: 224

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

这个你可以看看内核下的script的dts程序源码,全志在其基础上修改了源码,添加了一个参数-F专用于修改sysconfig到dts上去

离线

#10 2021-03-26 09:47:23

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 226
积分: 224

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

然后影响boot和uboot是通过update_boot0和update_uboot修改了二进制head部分的二进制,从而影响到串口输出

离线

#11 2021-03-26 09:49:57

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 226
积分: 224

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

这个就是这部分实现了uboot和boot0修改
    printf "update bootloader\n"
    update_boot0 boot0_nand.fex sys_config.bin NAND > /dev/null
    update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD > /dev/null
    #update_boot0 boot0_spinor.fex sys_config.bin SDMMC_CARD > /dev/null
    update_fes1 fes1.fex sys_config.bin > /dev/null
    update_uboot -no_merge u-boot.fex sys_config.bin > /dev/null

离线

#12 2021-03-26 09:51:50

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 226
积分: 224

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

这部分是实现dts的修改
cp sys_config.fex sys_config2.fex

sed -i "s/\(\[dram\)_para\(\]\)/\1\2/g" sys_config2.fex
sed -i "s/\(\[nand[0-9]\)_para\(\]\)/\1\2/g" sys_config2.fex

${RUN_DIR}/bin/dtc -@ -O dtb -o ${2} \
    -b 0 \
    -F sys_config2.fex \
    -I dts \
    ${1}.pre

离线

#13 2021-03-26 10:08:42

无根浮萍
会员
注册时间: 2021-01-14
已发帖子: 34
积分: 16.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

感谢楼上两位大佬的提示,我继续摸索摸索,感觉全志这种实现太无厘头了 sad

离线

#14 2021-03-28 23:37:42

TeveT
会员
注册时间: 2019-07-01
已发帖子: 67
积分: 54.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

楼主用的是3.5的吗,4.9的内核版本,已经可以直接操作dts了呀

离线

#15 2021-03-28 23:43:43

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 458
积分: 442.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

TeveT 说:

楼主用的是3.5的吗,4.9的内核版本,已经可以直接操作dts了呀

请问如何选择linux版本?f1c200s  tina3.5

离线

#16 2021-03-29 08:47:41

TeveT
会员
注册时间: 2019-07-01
已发帖子: 67
积分: 54.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

不是直接lunch么,内核版本选择没弄过

raspberryman 说:
TeveT 说:

楼主用的是3.5的吗,4.9的内核版本,已经可以直接操作dts了呀

请问如何选择linux版本?f1c200s  tina3.5

离线

#17 2021-03-29 08:58:01

歌以咏志
会员
注册时间: 2019-09-21
已发帖子: 210
积分: 203

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

ubuntu:/opt/f1c100s/Tina_rel/tina$ source build/envsetup.sh
Setup env done! Please run lunch next.
ubuntu:/opt/f1c100s/Tina_rel/tina$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. astar_dm2-tina
     2. astar_dm-tina
     3. astar_evb-tina
...     
     90. v5_dvb-tina
     91. v5_lindeni-tina
     92. violin_F1C200s-tina

Which would you like? [Default violin_F1C200s]: 92
============================================
TINA_BUILD_TOP=/opt/f1c100s/Tina_rel/tina
TINA_TARGET_ARCH=arm
TARGET_PRODUCT=violin_F1C200s
TARGET_PLATFORM=violin
TARGET_BOARD=violin-F1C200s
TARGET_BUILD_VARIANT=tina
TARGET_BUILD_TYPE=release
TARGET_KERNEL_VERSION=3.10
TARGET_UBOOT=u-boot-2014.07
TARGET_CHIP=sun3iw1p1
============================================
ubuntu:/opt/f1c100s/Tina_rel/tina$

默认的根本没得选。

离线

#18 2021-03-29 09:09:31

TeveT
会员
注册时间: 2019-07-01
已发帖子: 67
积分: 54.5

Re: 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

原来是3.10 ,那没事了

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn