导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    LT527X-E 米尔 T527 开发板折腾记录

    T Series
    1
    3
    2688
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • YuzukiTsuru
      柚木 鉉 LV 9 最后由 YuzukiTsuru 编辑

      下载SDK之后能看到三份设备树
      33f67294-e12c-4c82-9795-aa7ab8ce9c88-图片.png

      /*
       * Allwinner Technology CO., Ltd.
       */
      
      /dts-v1/;
      
      #include "sun55iw3p1.dtsi"
      #include <uapi/linux/input-event-codes.h>
      
      /{
      	board = "T527", "T527-DEMO-AXP717B";
      	compatible = "allwinner,t527", "arm,sun55iw3p1";
      
      	aliases {
      		pmu0 = &pmu0;	
      		serial0 = &uart0;
      		hdmi = &hdmi;
      		reg-tcs0 = &reg_tcs0;
      		reg-sy0 = &reg_sy0;
      		reg-axp1530 = &reg_ext_axp1530_dcdc1;
      		tcs0 = &tcs0;
      		sy0 = &sy0;
      		axp1530 = &axp1530;
      		cpu-ext = &cpu4;
      		standby-param = &standby_param;
      		arisc-config = &arisc_config;
      		cir_param = &cir_param;
      	};
      /*
      	reg_usb0_vbus: usb0-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb0-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      */
      	reg_usb1_vbus: usb1-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb1-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      
      	standby_param: standby_param {
      		vdd-cpu = <0x00000001>;
      		vdd-cpub = <0x00000001>;
      		vdd-sys = <0x00000002>;
      		vcc-pll = <0x00000080>;
      		vcc-io  = <0x00004000>;
      
      		osc24m-on = <0x0>;
      		mcu-standby-en = <0x1>;
      	};
      
      	cir_param: cir_param {
      		gpio_group = <1>;      /* 0:PL 1:PM */
      		gpio_pin = <11>;
      		gpio_function = <2>;
      		count = <15>;
      		ir_power_key_code0 = <0x40>;
      		ir_addr_code0 = <0xfe01>;
      		ir_power_key_code1 = <0x1a>;
      		ir_addr_code1 = <0xfb04>;
      		ir_power_key_code2 = <0xf2>;
      		ir_addr_code2 = <0x2992>;
      		ir_power_key_code3 = <0x57>;
      		ir_addr_code3 = <0x9f00>;
      		ir_power_key_code4 = <0xdc>;
      		ir_addr_code4 = <0x4cb3>;
      		ir_power_key_code5 = <0x18>;
      		ir_addr_code5 = <0xff00>;
      		ir_power_key_code6 = <0xdc>;
      		ir_addr_code6 = <0xdd22>;
      		ir_power_key_code7 = <0x0d>;
      		ir_addr_code7 = <0xbc00>;
      		ir_power_key_code8 = <0x4d>;
      		ir_addr_code8 = <0x4040>;
      		ir_power_key_code9 = <0x08>;
      		ir_addr_code9 = <0xfb04>;
      		ir_power_key_code10 = <0x00>;
      		ir_addr_code10 = <0xfc03>;
      		ir_power_key_code11 = <0x00>;
      		ir_addr_code11 = <0xbf00>;
      		ir_power_key_code12 = <0xea>;
      		ir_addr_code12 = <0xfb04>;
      		ir_power_key_code13 = <0x42>;
      		ir_addr_code13 = <0xbf00>;
      		ir_power_key_code14 = <0x0f>;
      		ir_addr_code14 = <0xff00>;
      	};
      
      	arisc_config: arisc_config {
      		s_uart_config {
      			pins = "PL2", "PL3";
      			function = <2>, <2>;
      			status = "disabled";
      		};
      	};
      
      	reserved-memory {
      		dsp0ddr_reserved: dsp0ddr@4a000000 {
      			reg = <0x0 0x4a000000 0x0 0x00a00000>;
      			no-map;
      		};
      
      		riscvsram0_reserved: riscvsram0@7280000 {
      			reg = <0x0 0x07280000 0x0 0x40000>;
      			no-map;
      		};
      
      		riscvsram1_reserved: riscvsram1@72c0000 {
      			reg = <0x0 0x072c0000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		* The name should be "vdev%dbuffer".
      		* Its size should be not less than
      		*     RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
      		*   = 512 * (num of buffers in a vring) * 2
      		*/
      		dsp_vdev0buffer: vdev0buffer@4ac00000 {
      			compatible = "shared-dma-pool";
      			reg = <0x0 0x4ac00000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		* The name should be "vdev%dvring%d".
      		* The size of each should be not less than
      		*     PAGE_ALIGN(vring_size(num, align))
      		*   = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
      		*
      		* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
      		*/
      		dsp_vdev0vring0: vdev0vring0@4ac40000 {
      			reg = <0x0 0x4ac40000 0x0 0x2000>;
      			no-map;
      		};
      		dsp_vdev0vring1: vdev0vring1@4ac42000 {
      			reg = <0x0 0x4ac42000 0x0 0x2000>;
      			no-map;
      		};
      
      		/*
      		 * The name should be "vdev%dbuffer".
      		 * Its size should be not less than
      		 *     RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
      		 *   = 512 * (num of buffers in a vring) * 2
      		 */
      		rv_vdev0buffer: vdev0buffer@4ae00000 {
      			compatible = "shared-dma-pool";
      			reg = <0x0 0x4ae00000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		 * The name should be "vdev%dvring%d".
      		 * The size of each should be not less than
      		 *     PAGE_ALIGN(vring_size(num, align))
      		 *   = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
      		 *
      		 * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
      		 */
      		rv_vdev0vring0: vdev0vring0@4ae40000 {
      			reg = <0x0 0x4ae40000 0x0 0x2000>;
      			no-map;
      		};
      		rv_vdev0vring1: vdev0vring1@4ae42000 {
      			reg = <0x0 0x4ae42000 0x0 0x2000>;
      			no-map;
      		};
      
      		/*
      		* mcu ram addr
      		*/
      		mcu0iram_reserved: mcu0iram@20000 {
      			reg = <0x0 0x20000 0x0 0x10000>;
      			no-map;
      		};
      		mcu0dram0_reserved: mcu0dram0@30000 {
      			reg = <0x0 0x30000 0x0 0x8000>;
      			no-map;
      		};
      		mcu0dram1_reserved: mcu0dram1@38000 {
      			reg = <0x0 0x38000 0x0 0x8000>;
      			no-map;
      		};
      
      		dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 {
      			compatible = "shared-dma-pool";
      			no-map;
      			reg = <0x0 0x4ae44000 0x0 0x8000>;
      		};
      
      		dsp_share_space@4ab00000 {
      			no-map;
      			reg = <0x0 0x4ab00000 0x0 0x10000>;
      		};
      	};
      
      	rpbuf_controller0: rpbuf_controller@0 {
      		compatible = "allwinner,rpbuf-controller";
      		remoteproc = <&dsp0_rproc>;
      		ctrl_id = <0>;
      		memory-region = <&dsp0_rpbuf_reserved>;
      		status = "okay";
      	};
      
        	ap6256_wifi: ap6256_wifi {
              	compatible = "android,bcmdhd_wlan";
              	gpio_wl_reg_on = <&pio PC 3 GPIO_ACTIVE_HIGH>;
              	gpio_wl_host_wake = <&pio PC 7 GPIO_ACTIVE_HIGH>;
          	};
      
      	gpio-keys {
      		compatible = "gpio-keys";
      		status = "okay";
      		home-key {
      				gpios = <&pio PI 11 GPIO_ACTIVE_LOW>;
      				linux,code = <172>;
      				label = "user key";
      				debounce-interval = <10>;
      				wakeup-source = <0x1>;
      				gpio-key,wakeup;
      		};
      	};
      
      	awlink0: awlink@0x0{
      		#address-cells = <1>;
      		#size-cells = <0>;
      		compatible = "allwinner,t527-awlink";
      		device_type = "awlink0";
      		awlink-pin = <1>;
      		id = <0>;
      		status = "okay";
      	};
      
      	awlink1: awlink@0x1{
      		#address-cells = <1>;
      		#size-cells = <0>;
      		compatible = "allwinner,t527-awlink";
      		device_type = "awlink1";
      		awlink-pin = <0>;
      		id = <1>;
      		status = "okay";
      	};
      
      	leds {
      		compatible = "gpio-leds";
      		pinctrl-names = "default";
      		status = "okay";
      
      		led0: led-green {
      			label = "green";
      			gpios = <&pio PB 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      			linux,default-trigger = "heartbeat";
      			default-state = "on";
      		};
      
      		led1: led-red {
      			label = "red";
      			gpios = <&pio PB 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      			linux,default-trigger = "heartbeat";
      			default-state = "on";
      		};
      	};
      };
      
      &r_pio {
      	awlink1_pins_a: awlink1_pins@0{
      		pins = "PL4", "PL5";
      		function = "can";
      	};
      
      	awlink1_pins_b: awlink1_pins@1{
      		pins = "PL4", "PL5";
      		function = "gpio_in";
      	};
      
      	uart8_pins_a: uart8_pins@0 {
      		pins = "PL12", "PL13";
      		function = "s_uart0";
      	};
      
      	uart8_pins_b: uart8_pins@1 {
      		pins = "PL12", "PL13";
      		function = "gpio_in";
      	};
      
      	uart9_pins_a: uart9_pins@0 {
      		pins = "PL2", "PL3";
      		function = "s_uart1";
      	};
      
      	uart9_pins_b: uart9_pins@1 {
      		pins = "PL2", "PL3";
      		function = "gpio_in";
      	};
      
      	s_twi0_pins_default: s_twi0@0 {
      		pins = "PL0", "PL1";
      		function = "s_twi0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_twi0_pins_sleep: s_twi0@1 {
      		pins = "PL0", "PL1";
      		function = "gpio_in";
      	};
      
      	s_twi1_pins_default: s_twi1@0 {
      		pins = "PL8", "PL9";
      		function = "s_twi1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_twi1_pins_sleep: s_twi1@1 {
      		pins = "PL8", "PL9";
      		function = "gpio_in";
      	};
      
      	s_twi2_pins_default: s_twi2@0 {
      		pins = "PM4", "PM5";
      		function = "s_twi2";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	s_twi2_pins_sleep: s_twi2@1 {
      		pins = "PM4", "PM5";
      		function = "gpio_in";
      	};
      
      	s_irrx_pins_default: s_irrx@0 {
      		pins = "PL11";
      		function = "s_cir";
      	};
      
      	s_irrx_pins_sleep: s_irrx@1 {
      		pins = "PL11";
      		function = "gpio_in";
      	};
      };
      
      &pio {
      	vcc-pg-supply = <&reg_pio1_8>;
      	vcc-pf-supply = <&reg_pio1_8>;
      	vcc-pfo-supply = <&reg_pio3_3>;
      	vcc-pd-supply = <&reg_pio3_3>;
      	vcc-pe-supply = <&reg_pio3_3>;
      	vcc-pi-supply = <&reg_pio3_3>;
      	vcc-pj-supply = <&reg_pio3_3>;
      	vcc-pk-supply = <&reg_pio3_3>;
      	uart0_pins_a: uart0_pins@0 {
      		pins = "", "";
      		function = "uart0";
      	};
      
      	uart0_pins_b: uart0_pins@1 {
      		pins = "", "";
      		function = "gpio_in";
      	};
      
      	awlink0_pins_a: awlink0_pins@0{
      		pins = "PI15", "PI16";
      		function = "can";
      	};
      
      	awlink0_pins_b: awlink0_pins@1{
      		pins = "PI15", "PI16";
      		function = "gpio_in";
      	};
      
      
      	uart2_pins_a: uart2_pins@0 {
      		pins = "PB0", "PB1";
      		function = "uart2";
      	};
      
      	uart2_pins_b: uart2_pins@1 {
      		pins = "PB0", "PB1";
      		function = "gpio_in";
      	};
      
      	uart3_pins_a: uart3_pins@0 {
      		pins = "PJ20", "PJ21", "PJ22", "PJ23";
      		function = "uart3";
      	};
      
      	uart3_pins_b: uart3_pins@1 {
      		pins = "PJ20", "PJ21", "PJ22", "PJ23";
      		function = "gpio_in";
      	};
      
      	uart4_pins_a: uart4_pins@0 {
      		pins = "PE1", "PE2";	// "PE3", "PE4";
      		function = "uart4";
      	};
      
      	uart4_pins_b: uart4_pins@1 {
      		pins = "PE1", "PE2";	// "PE3", "PE4";
      		function = "gpio_in";
      	};
      
      	uart5_pins_a: uart5_pins@0 {
      		pins = "PE13", "PE14";
      		function = "uart5";
      	};
      
      	uart5_pins_b: uart5_pins@1 {
      		pins = "PE13", "PE14";
      		function = "gpio_in";
      	};
      
      	uart6_pins_a: uart6_pins@0 {
      		pins = "PE11", "PE12";
      		function = "uart6";
      	};
      
      	uart6_pins_b: uart6_pins@1 {
      		pins = "PE11", "PE12";
      		function = "gpio_in";
      	};
      
      	uart7_pins_a: uart7_pins@0 {
      		pins = "PB11", "PB12", "PB13", "PB14";
      		function = "uart7";
      	};
      
      	uart7_pins_b: uart7_pins@1 {
      		pins = "PB11", "PB12", "PB13", "PB14";
      		function = "gpio_in";
      	};
      
      	pwm0_0_pin_active: pwm0_0@0 {
      		pins = "PD23";
      		function = "pwm0_0";
      	};
      
      	pwm0_0_pin_sleep: pwm0_0@1 {
      		pins = "PD23";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	pwm0_1_pin_active: pwm0_1@0 {
      		pins = "PD22";
      		function = "pwm0_1";
      	};
      
      	pwm0_1_pin_sleep: pwm0_1@1 {
      		pins = "PD22";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	pwm0_2_pin_active: pwm0_2@0 {
      		pins = "PB11";
      		function = "pwm0_2";
      	};
      
      	pwm0_2_pin_sleep: pwm0_2@1 {
      		pins = "PB11";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	pwm0_3_pin_active: pwm0_3@0 {
      		pins = "PB12";
      		function = "pwm0_3";
      	};
      
      	pwm0_3_pin_sleep: pwm0_3@1 {
      		pins = "PB12";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	pwm0_4_pin_active: pwm0_4@0 {
      		pins = "PI3";
      		function = "pwm0_4";
      	};
      
      	pwm0_4_pin_sleep: pwm0_4@1 {
      		pins = "PI3";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	pwm0_5_pin_active: pwm0_5@0 {
      		pins = "PI4";
      		function = "pwm0_5";
      	};
      
      	pwm0_5_pin_sleep: pwm0_5@1 {
      		pins = "PI4";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	pwm0_10_pin_active: pwm0_10@0 {
      		pins = "PI9";
      		function = "pwm0_10";
      	};
      
      	pwm0_10_pin_sleep: pwm0_10@1 {
      		pins = "PI9";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	ledc_pins_a: ledc@0 {
      		pins = "PG0";
      		function = "ledc";
      		drive-strength = <10>;
      	};
      
      	ledc_pins_b: ledc@1 {
      		pins = "PG0";
      		function = "gpio_in";
      	};
      
      	irrx_pins_default: irrx@0 {
      		pins = "PI8";
      		function = "cir";
      	};
      
      	irrx_pins_sleep: irrx@1 {
      		pins = "PI8";
      		function = "gpio_in";
      	};
      
      	irtx_pins_default: irtx@0 {
      		pins = "PH18";
      		function = "cir";
      	};
      
      	irtx_pins_sleep: irtx@1 {
      		pins = "PH18";
      		function = "gpio_in";
      	};
      
      	twi0_pins_default: twi0@0 {
      		pins = "PD22", "PD23";
      		function = "twi0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi0_pins_sleep: twi0@1 {
      		pins = "PD22", "PD23";
      		function = "gpio_in";
      	};
      
      	twi1_pins_default: twi1@0 {
      		pins = "PB4", "PB5";
      		function = "twi1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi1_pins_sleep: twi1@1 {
      		pins = "PB4", "PB5";
      		function = "gpio_in";
      	};
      
      	twi2_pins_default: twi2@0 {
      		pins = "PE1", "PE2";
      		function = "twi2";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	twi2_pins_sleep: twi2@1 {
      		pins = "PE1", "PE2";
      		function = "gpio_in";
      	};
      
      	twi3_pins_default: twi3@0 {
      		pins = "PE3", "PE4";
      		function = "twi3";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	twi3_pins_sleep: twi3@1 {
      		pins = "PE3", "PE4";
      		function = "gpio_in";
      	};
      
      	twi4_pins_default: twi4@0 {
      		pins = "PI0", "PI1";
      		function = "twi4";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi4_pins_sleep: twi4@1 {
      		pins = "PI0", "PI1";
      		function = "gpio_in";
      	};
      
      	twi5_pins_default: twi5@0 {
      		pins = "PJ26", "PJ27";
      		function = "twi5";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi5_pins_sleep: twi5@1 {
      		pins = "PJ26", "PJ27";
      		function = "gpio_in";
      	};
      
      	owa_pins_a: owa@0 {
      		pins = "PI10";
      		function = "owa";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	owa_pins_b: owa@1 {
      		pins = "PI10";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_a: i2s0@0 {
      		pins = "PB4", "PB5", "PB6";
      		function = "i2s0";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_b: i2s0@1 {
      		pins = "PB4", "PB5", "PB6", "PB7", "PB8";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_c: i2s0@2 {
      		pins = "PB7";
      		function = "i2s0_dout";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_d: i2s0@3 {
      		pins = "PB8";
      		function = "i2s0_din";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_a: i2s1@0 {
      		pins = "PG10", "PG11", "PG12";
      		function = "i2s1";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_b: i2s1@1 {
      		pins = "PG10", "PG11", "PG12", "PG13", "PG14";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_c: i2s1@2 {
      		pins = "PG13";
      		function = "i2s1_dout";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_d: i2s1@3 {
      		pins = "PG14";
      		function = "i2s1_din";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_a: i2s2@0 {
      		pins = "PH9", "PH10";
      		function = "i2s2";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_b: i2s2@1 {
      		pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_c: i2s2@2 {
      		pins = "PH2", "PH3", "PH12";
      		function = "i2s2_din";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_d: i2s2@3 {
      		pins = "PH11";
      		function = "i2s2_dout";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_e: i2s2@4 {
      		pins = "PH8";
      		function = "i2s2_mclk";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_a: i2s3@0 {
      		pins = "PF3", "PF5", "PF6";
      		function = "i2s3";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_b: i2s3@1 {
      		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_c: i2s3@2 {
      		pins = "PF0", "PF2", "PF4";
      		function = "i2s3_din";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_d: i2s3@3 {
      		pins = "PF1";
      		function = "i2s3_dout";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	rgb24_pins_a: rgb24@0 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
      			"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
      			"PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27";
      		      function = "dpss";
      		      drive-strength = <30>;
      	      };
      	rgb24_pins_b: rgb24@1 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
      			"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
      			"PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27";
      		      function = "gpio_in";
      	      };
      	lvds0_pins_a: lvds0@0 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
      		      function = "lvds0";
      		      drive-strength = <30>;
      	      };
      	lvds0_pins_b: lvds0@1 {
      		      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
      		      function = "gpio_in";
      	      };
      
      	nand0_pins_default: nand0@0 {
      		pins = "PC0", "PC1", "PC2", "PC5",
      			 "PC8", "PC9", "PC10", "PC11",
      			 "PC12", "PC13", "PC14", "PC15",
      			 "PC16";
      		function = "nand0";
      		drive-strength = <30>;
      	};
      
      	nand0_pins_rb: nand0@1 {
      		pins = "PC4", "PC6", "PC3", "PC7";
      		function = "nand0";
      		drive-strength = <30>;
      		bias-pull-up;   /* only RB&CE should be pulled up */
      	};
      
      	nand0_pins_sleep: nand0@2 {
      		pins = "PC0", "PC1", "PC2", "PC3",
      			 "PC4", "PC5", "PC6", "PC7",
      			 "PC8", "PC9", "PC10", "PC11",
      			 "PC12", "PC13", "PC14", "PC15",
      			 "PC16";
      		function = "io_disabled";
      		drive-strength = <10>;
      	};
      
      	gmac0_pins_default: gmac0@0 {
      		pins = "PH0", "PH1", "PH2", "PH3",
      			"PH4", "PH5", "PH6", "PH7",
      			 "PH9", "PH10","PH13","PH14",
      			  "PH15","PH16","PH17","PH18";
      		drive-strength = <40>;
      		function = "gmac0";
      		bias-pull-up;
      	};
      
      	gmac0_pins_sleep: gmac0@1 {
      		pins = "PH0", "PH1", "PH2", "PH3",
      			"PH4", "PH5", "PH6", "PH7",
      			 "PH9", "PH10","PH13","PH14",
      			  "PH15","PH16","PH17","PH18";
      		function = "gpio_in";
      	};
      
      	gmac1_pins_default: gmac1@0 {
      		pins = "PJ0", "PJ1", "PJ2", "PJ3",
      			"PJ4", "PJ5", "PJ6", "PJ7",
      			"PJ8", "PJ9", "PJ10", "PJ11",
      			"PJ12","PJ13", "PJ14", "PJ15";
      		drive-strength = <40>;
      		function = "gmac1";
      		bias-pull-up;
      	};
      
      	gmac1_pins_sleep: gmac1@1 {
      		pins = "PJ0", "PJ1", "PJ2", "PJ3",
      			"PJ4", "PJ5", "PJ6", "PJ7",
      			"PJ8", "PJ9", "PJ10", "PJ11",
      			"PJ12","PJ13", "PJ14", "PJ15";
      		function = "gpio_in";
      	};
      
      
      	spi1_pin_default: spi1_pin_default{
      		pins = "PI2","PI3","PI4","PI5";
      		function = "spi1";
      	};
      
      	spi1_pin_sleep: spi1_pin_sleep{
      		pins = "PI2","PI3","PI4","PI5";
      		function = "gpio_in";
      	};
      
      	spi2_pin_default: spi2_default {
      		pins = "PI6","PI7","PI8","PI12";
      		function = "spi2";
      	};
      
      	spi2_pin_sleep: spi2_sleep {
      		pins = "PI6","PI7","PI8","PI12";
      		function = "gpio_in";
      	};
      };
      
      &spi1 {
      	clock-frequency = <100000000>;
      	pinctrl-names = "default","sleep";
      	pinctrl-0 = <&spi1_pin_default>;
      	pinctrl-1 = <&spi1_pin_sleep>;
      
      	sunxi,spi-num-cs = <1>;
      	sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
      	sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
      	status = "okay";
      
      	spidev1 {
      		reg = <0>;
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <500000>;
      		spi-rx-bus-width = <0x1>;
      		spi-tx-bus-width = <0x1>;
      	};
      };
      &spi2{
      	clock-frequency = <100000000>;
      	pinctrl-names = "default","sleep";
      	pinctrl-0 = <&spi2_pin_default>;
      	pinctrl-1 = <&spi2_pin_sleep>;
      
      	sunxi,spi-num-cs = <1>;
      	sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
      	sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
      	status = "okay";
      
      	spidev2 {
      		reg = <0>;
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <500000>;
      		spi-rx-bus-width = <0x1>;
      		spi-tx-bus-width = <0x1>;
      	};
      	
      };
      
      &soc {
      	auto_print@54321 {
      		reg = <0x0 0x54321 0x0 0x0>;
      		device_type = "auto_print";
      		status = "okay";
      	};
      	car_reverse: car-reverse {
      		compatible = "allwinner,sunxi-car-reverse";
      
      		/* video source setting*/
      		video_channel = <0>;
      		video_source = <0>;
      		format_type = <0>;
      		video_source_width = <1920>;
      		video_source_height = <1080>;
      		src_size_adaptive = <1>;
      		/* display setting */
      		overview_type = <1>;
      		screen_width = <1280>;
      		screen_height = <800>;
      		screen_size_adaptive = <1>;
      		discard_frame = <0>;
      		di_used = <0>;
      		g2d_used = <1>;
      		rotation = <0>;
      		/* auxiliary line setting */
      		auxiliary_line_type = <1>;
      		aux_angle = <0>;
      		aux_lr = <0>;
      		reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>;
      		status = "disabled";
      	};
      
      
      	dsp0_rproc: dsp0_rproc@0 {
      		mboxes = <&msgbox 4>, <&msgbox 6>;
      		mbox-names = "arm-kick", "dsp-standby";
      		memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>,
      				<&mcu0iram_reserved>, <&mcu0dram0_reserved>, <&mcu0dram1_reserved>;
      		memory-mappings =
      			/* < DA         len             PA >    */
      			/* local SRAM via external bus */
      			< 0x20000       0x20000         0x20000 >,
      			/* local SRAM via internal bus */
      			< 0x400000      0x10000         0x20000 >,
      			< 0x420000      0x8000          0x30000 >,
      			< 0x440000      0x8000          0x38000 >,
      			/* DDR front 256MB */
      			< 0x10000000    0x10000000      0x40000000 >,
      			/* local SRAM via internal bus */
      			< 0x20020000    0x10000         0x400000 >,
      			< 0x20030000    0x8000          0x420000 >,
      			< 0x20038000    0x8000          0x440000 >,
      
      			/* DDR front 256MB */
      			< 0x30000000    0x10000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0x40000000    0x40000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0x80000000    0x40000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0xC0000000    0x40000000      0x40000000 >;
      		standby-ctrl-en = <0x1>;
      		standby-record-reg = <0x07090110>;
      		status = "okay";
      	};
      
      	e906_rproc: e906_rproc@7130000 {
      		mboxes = <&msgbox 8>;
      		mbox-names = "arm-kick";
      		memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>;
      		memory-mappings =
      			/* < DA		len		PA >	*/
      			/* DSP RAM */
      			< 0x20000	0x20000		0x20000 >,
      			/* SRAM A2 */
      			< 0x40000	0x24000		0x40000 >,
      			/* DDR */
      			< 0x8000000	0x37f00000	0x8000000 >,
      			/* SRAM SPACE 0 */
      			< 0x3ffc0000	0x40000		0x07280000 >,
      			/* SRAM SPACE 1 */
      			< 0x40000000	0x40000		0x072c0000 >,
      			/* DRAM SPACE */
      			< 0x40040000	0x3ffc0000	0x40040000>;
      		status = "okay";
      	};
      
      };
      
      
      &awlink0 {
      	pinctrl-names = "defautl", "sleep";
      	pinctrl-0 = <&awlink0_pins_a>;
      	pinctrl-1 = <&awlink0_pins_b>;
      	status = "okay";
      };
      
      &awlink1 {
      	pinctrl-names = "defautl", "sleep";
      	pinctrl-0 = <&awlink1_pins_a>;
      	pinctrl-1 = <&awlink1_pins_b>;
      	status = "okay";
      };
      
      &uart0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart0_pins_a>;
      	pinctrl-1 = <&uart0_pins_b>;
      	uart-supply = <&reg_cldo3>;
      	status = "okay";
      };
      
      &uart1 {
      	status = "okay";
      };
      
      &uart2 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart2_pins_a>;
      	pinctrl-1 = <&uart2_pins_b>;
      	status = "okay";
      };
      
      &uart3 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart3_pins_a>;
      	pinctrl-1 = <&uart3_pins_b>;
      	status = "okay";
      };
      
      &uart4 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart4_pins_a>;
      	pinctrl-1 = <&uart4_pins_b>;
      	uart4_type = <2>;	//io_num
      	sunxi,uart-rs485 = <1>;
      	sunxi,uart-485fl = <0>;
      	//sunxi,uart-485oe-gpios = <&pio PE 3 1 0xffffffff 0xffffffff 0>;
      	sunxi,uart-485oe-gpios = <&pio PE 3 GPIO_ACTIVE_HIGH>;
      	status = "okay";
      };
      
      &uart5 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart5_pins_a>;
      	pinctrl-1 = <&uart5_pins_b>;
      	status = "disabled";
      };
      
      &uart6 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart6_pins_a>;
      	pinctrl-1 = <&uart6_pins_b>;
      	uart6_type = <2>; //io_num
      	sunxi,uart-rs485 = <1>;
      	sunxi,uart-485fl = <0>;
      	//sunxi,uart-485oe-gpios = <&pio PE 13 1 0xffffffff 0xffffffff 0>;
      	sunxi,uart-485oe-gpios = <&pio PE 13 GPIO_ACTIVE_HIGH>;
      	status = "okay";
      };
      
      &uart7 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart7_pins_a>;
      	pinctrl-1 = <&uart7_pins_b>;
      	status = "okay";
      };
      
      &uart8 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart8_pins_a>;
      	pinctrl-1 = <&uart8_pins_b>;
      	status = "okay";
      };
      
      &uart9 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart9_pins_a>;
      	pinctrl-1 = <&uart9_pins_b>;
      	status = "okay";
      };
      
      &lradc {
      	key_cnt = <2>;
      	key0 = <210 0x73>;
      	key1 = <410 0x72>;
      	key_debounce;
      	debounce_value = <50>;
      	status = "okay";
      };
      
      &irrx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&irrx_pins_default>;
      	pinctrl-1 = <&irrx_pins_sleep>;
      	irrx-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &s_irrx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&s_irrx_pins_default>;
      	pinctrl-1 = <&s_irrx_pins_sleep>;
      	status = "okay";
      };
      
      &irtx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&irtx_pins_default>;
      	pinctrl-1 = <&irtx_pins_sleep>;
      	status = "disabled";
      };
      
      &gpadc0 {
      	channel_num = <5>;
      	channel_select = <0x18>;
      	channel_data_select = <0x18>;
      	channel_compare_select = <0x18>;
      	channel_cld_select = <0x18>;
      	channel_chd_select = <0x18>;
      	// channel0_compare_lowdata = <1700000>;
      	// channel0_compare_higdata = <460000>;
      	// channel1_compare_lowdata = <460000>;
      	// channel1_compare_higdata = <1200000>;
      
      	// channel2_compare_lowdata = <1700000>;
      	// channel2_compare_higdata = <460000>;
      	// channel3_compare_lowdata = <1700000>;
      	// channel3_compare_higdata = <460000>;
      	// channel4_compare_lowdata = <1700000>;
      	// channel4_compare_higdata = <460000>;
      	status = "okay";
      };
      
      &gpadc1 {
      	channel_num = <2>;
      	channel_select = <3>;
      	channel_data_select = <3>;
      	channel_compare_select = <3>;
      	channel_cld_select = <3>;
      	channel_chd_select = <3>;
      	channel0_compare_lowdata = <1700000>;
      	channel0_compare_higdata = <1200000>;
      	channel1_compare_lowdata = <460000>;
      	channel1_compare_higdata = <1200000>;
      	status = "disabled";
      };
      
      &pwm0_0 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_0_pin_active>;
      	pinctrl-1 = <&pwm0_0_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &pwm0_1 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_1_pin_active>;
      	pinctrl-1 = <&pwm0_1_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &pwm0_2 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_2_pin_active>;
      	pinctrl-1 = <&pwm0_2_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &pwm0_3 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_3_pin_active>;
      	pinctrl-1 = <&pwm0_3_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &pwm0_4 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_4_pin_active>;
      	pinctrl-1 = <&pwm0_4_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &pwm0_5 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_5_pin_active>;
      	pinctrl-1 = <&pwm0_5_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &pwm0_10 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_10_pin_active>;
      	pinctrl-1 = <&pwm0_10_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &ledc  {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&ledc_pins_a>;
      	pinctrl-1 = <&ledc_pins_b>;
      	led_count = <34>;
      	output_mode = "GRB";
      	reset_ns = <84>;
      	t1h_ns = <800>;
      	t1l_ns = <320>;
      	t0h_ns = <300>;
      	t0l_ns = <800>;
      	wait_time0_ns = <84>;
      	wait_time1_ns = <84>;
      	wait_data_time_ns = <600000>;
      	status = "disabled";
      };
      
      &twi0 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi0_pins_default>;
      	pinctrl-1 = <&twi0_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	pcie_usb_phy@74 {
      		compatible = "combphy,phy74";
      		reg = <0x74>;
      		status = "disabled";
      	};
      	pcie_usb_phy@75 {
      		compatible = "combphy,phy75";
      		reg = <0x75>;
      		status = "disabled";
      	};
      
      	ctp {
      		compatible = "allwinner,goodix";
      		reg = <0x5d>;
      		device_type = "ctp";
      		status = "disabled";
      		ctp_name = "gt9xxnew_ts";
      		ctp_twi_id = <0x0>;
      		ctp_twi_addr = <0x5d>;
      		ctp_screen_max_x = <0x320>;
      		ctp_screen_max_y = <0x500>;
      		ctp_revert_x_flag = <0x1>;
      		ctp_revert_y_flag = <0x1>;
      		ctp_exchange_x_y_flag = <0x0>;
      		ctp_int_port = <&pio PH 9 GPIO_ACTIVE_LOW>;
      		ctp_wakeup = <&pio PH 10 GPIO_ACTIVE_LOW>;
      		ctp-supply = <&reg_cldo2>;
      		ctp_power_ldo_vol = <3300>;
      	};
      
      	gt9xx {
      		compatible = "goodix,gt9xx";
      		reg = <0x5d>;
      		status = "disabled";
      		irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			B4 00 05 20 03 0A 3D 00 01 0A
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 06 17 19 1F 14 8E 2E 99
      			2D 2F 35 11 00 00 00 1A 03 10
      			00 00 00 00 00 00 00 00 00 00
      			00 32 50 94 D5 02 07 00 00 04
      			8E 48 00 8A 4D 00 86 53 00 83
      			59 00 80 60 00 80 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 01 04 05 06 07 08 09
      			0C 0D 0E 0F 10 11 14 15 16 17
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF 28 27 26 25 24 23 22 21
      			20 1F 1E 1C 1B 19 13 12 11 10
      			0F 0D 0C 0A 08 07 06 04 02 00
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF FF FF AB 01
      		];
      	};
      };
      
      &twi1 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi1_pins_default>;
      	pinctrl-1 = <&twi1_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	status = "okay";
      
      	mir3da {
      		compatible = "allwinner,mir3da";
      		reg = <0x26>;
      		device_type = "gsensor";
      		status = "disabled";
      		gsensor_twi_id = <0x1>;
      		gsensor_twi_addr = <0x26>;
      		gsensor_int1 = <&pio PH 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      		gsensor-supply = <&reg_cldo3>;
      		gsensor_vcc_io_val = <3300>;
      	};
      
      	eeprom@50 {
      		compatible = "atmel,24c32";
      		reg = <0x50>;
      		status = "okay";
      	};
      };
      
      &twi2 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi2_pins_default>;
      	pinctrl-1 = <&twi2_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &twi3 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi3_pins_default>;
      	pinctrl-1 = <&twi3_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &twi4 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi4_pins_default>;
      	pinctrl-1 = <&twi4_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	rtc@51 {
                  compatible = "nxp,pcf8563";
                  reg = <0x51>;
                  #clock-cells = <0>;
                  status = "okay";
          };
           //070 inch 
          ft5x06: ft5x06@38 {
      			compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
      			reg = <0x38>;
      			pinctrl-names = "default";
      			interrupt-parent = <&pio>;
      			interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
      			reset-gpios = <&pio PJ 18  GPIO_ACTIVE_LOW>;
      			touchscreen-size-x=<1024>;
      			touchscreen-size-y=<600>;
      	};
      	
      	// 101 inch
      	gt9271@14 {
                      compatible = "goodix,gt9271";
                      reg = <0x14>;
                      //pinctrl-names = "default";
                      //pinctrl-0 = <&pinctrl_i2c_synaptics_dsx_io>;
      
                      interrupt-parent = <&pio>;
      				interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
      				reset-gpios = <&pio PJ 18  GPIO_ACTIVE_LOW>;
                      /*synaptics,y-rotation;*/
                      esd-recovery-timeout-ms = <2000>;
                      irq-gpios = <&pio PJ 19 GPIO_ACTIVE_HIGH>;
                      //reset-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
                      status = "disabled";
              };
          gt9xx {
      		compatible = "goodix,gt9xx";
      		reg = <0x5d>;
      		status = "disabled";
      		irq-gpios = <&pio PJ 19 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			B4 00 05 20 03 0A 3D 00 01 0A
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 06 17 19 1F 14 8E 2E 99
      			2D 2F 35 11 00 00 00 1A 03 10
      			00 00 00 00 00 00 00 00 00 00
      			00 32 50 94 D5 02 07 00 00 04
      			8E 48 00 8A 4D 00 86 53 00 83
      			59 00 80 60 00 80 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 01 04 05 06 07 08 09
      			0C 0D 0E 0F 10 11 14 15 16 17
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF 28 27 26 25 24 23 22 21
      			20 1F 1E 1C 1B 19 13 12 11 10
      			0F 0D 0C 0A 08 07 06 04 02 00
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF FF FF AB 01
      		];
      	};
      };
      
      &twi5 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi5_pins_default>;
      	pinctrl-1 = <&twi5_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      
      	gt9xx_secondary {
      		compatible = "goodix,gt9xx_secondary";
      		reg = <0x5d>;
      		status = "okay";
      		irq-gpios = <&pio PI 13 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PI 14 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			43 B0 04 80 07 0A 35 00 01 08
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 00 17 19 1B 14 90 2B 99
      			2F 31 8E 12 00 00 00 DA 03 10
      			00 00 00 00 00 00 00 00 00 11
      			00 29 4B 94 C5 02 07 00 00 04
      			85 2B 00 7D 31 00 77 37 00 72
      			3E 00 6F 46 00 6F 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 C0 00 00 00 00 00
      			00 00 17 16 15 14 11 10 0F 0E
      			0D 0C 09 08 07 06 05 04 01 00
      			FF FF FF FF FF FF 00 00 00 00
      			00 00 25 24 23 22 21 20 1F 1E
      			1C 1B 19 14 13 12 11 10 0F 0E
      			0D 0C 0A 08 07 06 04 02 00 FF
      			FF FF FF FF 00 00 00 00 00 00
      			00 00 00 00 73 01
      		];
      	};
      };
      
      &csi_mclk3_pins_a {
      	pins = "PK13";
      	function = "ncsi";
      };
      
      &csi_mclk3_pins_b {
      	pins = "PK13";
      };
      
      &mipib_4lane_pins_a {
         pins = "PK6", "PK7", "PK8",
                              "PK9";
      };
      
      &mipib_4lane_pins_b {
         pins = "PK6", "PK7", "PK8",
                              "PK9";
      };
      
      &vind0 {
      	csi_top = <360000000>;
      	csi_isp = <300000000>;
      	vind_mclkpin-supply = <&reg_bldo3>; /* vcc-pe */
      	vind_mclkpin_vol = <1800000>;
      	vind_mcsipin-supply = <&reg_bldo3>; /* vcc-pk */
      	vind_mcsipin_vol = <1800000>;
      	vind_mipipin-supply = <&reg_bldo3>; /* vcc-mcsi */
      	vind_mipipin_vol = <1800000>;
      	status = "okay";
      
      	csi3:csi@5823000 {
      		pinctrl-names = "default","sleep";
      		pinctrl-0 = <&ncsi_bt1120_pins_a>;
      		pinctrl-1 = <&ncsi_bt1120_pins_b>;
      		status = "disabled";
      	};
      
      	tdm0:tdm@5908000 {
      		work_mode = <0>;
      	};
      
      	isp00:isp@5900000 {
      		work_mode = <0>;
      	};
      
      	isp01:isp@58ffffc {
      		status = "disabled";
      	};
      
      	isp02:isp@58ffff8 {
      		status = "disabled";
      	};
      
      	isp03:isp@58ffff4 {
      		status = "disabled";
      	};
      
      	isp10:isp@4 {
      		status = "okay";
      	};
      
      	isp20:isp@5 {
      		status = "okay";
      	};
      
      	scaler00:scaler@5910000 {
      		work_mode = <0>;
      	};
      
      	scaler01:scaler@590fffc {
      		status = "disabled";
      	};
      
      	scaler02:scaler@590fff8 {
      		status = "disabled";
      	};
      
      	scaler03:scaler@590fff4 {
      		status = "disabled";
      	};
      
      	scaler10:scaler@5910400 {
      		work_mode = <0>;
      	};
      
      	scaler11:scaler@59103fc {
      		status = "disabled";
      	};
      
      	scaler12:scaler@59103f8 {
      		status = "disabled";
      	};
      
      	scaler13:scaler@59103f4 {
      		status = "disabled";
      	};
      
      	scaler20:scaler@5910800 {
      		work_mode = <0>;
      	};
      
      	scaler21:scaler@59107fc {
      		status = "disabled";
      	};
      
      	scaler22:scaler@59107f8 {
      		status = "disabled";
      	};
      
      	scaler23:scaler@59107f4 {
      		status = "disabled";
      	};
      
      	scaler30:scaler@5910c00 {
      		work_mode = <0>;
      	};
      
      	scaler31:scaler@5910bfc {
      		status = "disabled";
      	};
      
      	scaler32:scaler@5910bf8 {
      		status = "disabled";
      	};
      
      	scaler33:scaler@5910bf4 {
      		status = "disabled";
      	};
      	scaler40:scaler@16 {
      		status = "okay";
      	};
      	scaler50:scaler@17 {
      		status = "okay";
      	};
      
      	actuator0: actuator@2108180 {
      		device_type = "actuator0";
      		actuator0_name = "dw9714_act";
      		actuator0_slave = <0x18>;
      		actuator0_af_pwdn = <>;
      		actuator0_afvdd = "afvcc-csi";
      		actuator0_afvdd_vol = <2800000>;
      		status = "disabled";
      	};
      
      	flash0: flash@2108190 {
      		device_type = "flash0";
      		flash0_type = <2>;
      		flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>;
      		flash0_mode = <>;
      		flash0_flvdd = "";
      		flash0_flvdd_vol = <>;
      		device_id = <0>;
      		status = "disabled";
      	};
      
      	sensor0:sensor@5812000 {
      		device_type = "sensor0";
      		sensor0_mname = "ov5640_mipi_cam1";
      		sensor0_twi_cci_id = <7>;
      		sensor0_twi_addr = <0x78>;
      		// sensor0_mclk_id = <0>;
      		sensor0_pos = "rear";
      		sensor0_isp_used = <0>;
      		sensor0_fmt = <0>;
      		sensor0_stby_mode = <0>;
      		sensor0_vflip = <0>;
      		sensor0_hflip = <0>;
      		sensor0_cameravdd-supply = <>;
      		sensor0_cameravdd_vol = <>;
      		sensor0_iovdd-supply = <>;
      		sensor0_iovdd_vol = <>;
      		sensor0_avdd-supply = <>;
      		sensor0_avdd_vol = <>;
      		sensor0_dvdd-supply = <>;
      		sensor0_dvdd_vol = <>;
      		sensor0_power_en = <&pio PH 11 GPIO_ACTIVE_HIGH>;
      		sensor0_reset = <&r_pio PM 0 GPIO_ACTIVE_LOW>;
      		sensor0_pwdn = <&r_pio PM 1 GPIO_ACTIVE_HIGH>;
      		status = "okay";
      	};
      
      	sensor1:sensor@5812010 {
      		device_type = "sensor1";
      		sensor1_mname = "ov5640_mipi_cam2";
      		sensor1_twi_cci_id = <8>;
      		sensor1_twi_addr = <0x78>;
      		// sensor1_mclk_id = <3>;
      		sensor1_pos = "front";
      		sensor1_isp_used = <0>;
      		sensor1_fmt = <0>;
      		sensor1_stby_mode = <0>;
      		sensor1_vflip = <0>;
      		sensor1_hflip = <0>;
      		sensor1_iovdd-supply = <>;
      		sensor1_iovdd_vol = <>;
      		sensor1_avdd-supply = <>;
      		sensor1_avdd_vol = <>;
      		sensor1_dvdd-supply = <>;
      		sensor1_dvdd_vol = <>;
      		sensor1_power_en = <&pio PH 8 GPIO_ACTIVE_HIGH>;
      		sensor1_reset = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
      		sensor1_pwdn = <&r_pio PM 3 GPIO_ACTIVE_HIGH>;
      		status = "okay";
      	};
      
      	vinc00:vinc@5830000 {
      		vinc0_csi_sel = <0>;
      		vinc0_mipi_sel = <0>;
      		vinc0_isp_sel = <4>;
      		vinc0_isp_tx_ch = <0>;
      		vinc0_tdm_rx_sel = <0>;
      		vinc0_rear_sensor_sel = <0>;
      		vinc0_front_sensor_sel = <0>;
      		vinc0_sensor_list = <0>;
      		device_id = <0>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc01:vinc@582fffc {
      		vinc1_csi_sel = <1>;
      		vinc1_mipi_sel = <2>;
      		vinc1_isp_sel = <1>;
      		vinc1_isp_tx_ch = <0>;
      		vinc1_tdm_rx_sel = <1>;
      		vinc1_rear_sensor_sel = <1>;
      		vinc1_front_sensor_sel = <1>;
      		vinc1_sensor_list = <0>;
      		device_id = <1>;
      		status = "disabled";
      	};
      
      	vinc02:vinc@582fff8 {
      		vinc2_csi_sel = <2>;
      		vinc2_mipi_sel = <0xff>;
      		vinc2_isp_sel = <2>;
      		vinc2_isp_tx_ch = <2>;
      		vinc2_tdm_rx_sel = <2>;
      		vinc2_rear_sensor_sel = <0>;
      		vinc2_front_sensor_sel = <0>;
      		vinc2_sensor_list = <0>;
      		device_id = <2>;
      		status = "disabled";
      	};
      
      	vinc03:vinc@582fff4 {
      		vinc3_csi_sel = <0>;
      		vinc3_mipi_sel = <0xff>;
      		vinc3_isp_sel = <0>;
      		vinc3_isp_tx_ch = <0>;
      		vinc3_tdm_rx_sel = <0>;
      		vinc3_rear_sensor_sel = <1>;
      		vinc3_front_sensor_sel = <1>;
      		vinc3_sensor_list = <0>;
      		device_id = <3>;
      		status = "disabled";
      	};
      
      	vinc10:vinc@5831000 {
      		vinc4_csi_sel = <0>;
      		vinc4_mipi_sel = <0>;
      		vinc4_isp_sel = <4>;
      		vinc4_isp_tx_ch = <1>;
      		vinc4_tdm_rx_sel = <0>;
      		vinc4_rear_sensor_sel = <0>;
      		vinc4_front_sensor_sel = <0>;
      		vinc4_sensor_list = <0>;
      		device_id = <4>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc11:vinc@5830ffc {
      		vinc5_csi_sel = <2>;
      		vinc5_mipi_sel = <0xff>;
      		vinc5_isp_sel = <1>;
      		vinc5_isp_tx_ch = <1>;
      		vinc5_tdm_rx_sel = <1>;
      		vinc5_rear_sensor_sel = <0>;
      		vinc5_front_sensor_sel = <0>;
      		vinc5_sensor_list = <0>;
      		device_id = <5>;
      		status = "disabled";
      	};
      
      	vinc12:vinc@5830ff8 {
      		vinc6_csi_sel = <2>;
      		vinc6_mipi_sel = <0xff>;
      		vinc6_isp_sel = <0>;
      		vinc6_isp_tx_ch = <0>;
      		vinc6_tdm_rx_sel = <0>;
      		vinc6_rear_sensor_sel = <0>;
      		vinc6_front_sensor_sel = <0>;
      		vinc6_sensor_list = <0>;
      		device_id = <6>;
      		status = "disabled";
      	};
      
      	vinc13:vinc@5830ff4 {
      		vinc7_csi_sel = <2>;
      		vinc7_mipi_sel = <0xff>;
      		vinc7_isp_sel = <0>;
      		vinc7_isp_tx_ch = <0>;
      		vinc7_tdm_rx_sel = <0>;
      		vinc7_rear_sensor_sel = <0>;
      		vinc7_front_sensor_sel = <0>;
      		vinc7_sensor_list = <0>;
      		device_id = <7>;
      		status = "disabled";
      	};
      
      	vinc20:vinc@5832000 {
      		vinc8_csi_sel = <0>;
      		vinc8_mipi_sel = <0>;
      		vinc8_isp_sel = <4>;
      		vinc8_isp_tx_ch = <2>;
      		vinc8_tdm_rx_sel = <0>;
      		vinc8_rear_sensor_sel = <0>;
      		vinc8_front_sensor_sel = <0>;
      		vinc8_sensor_list = <0>;
      		device_id = <8>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc21:vinc@5831ffc {
      		vinc9_csi_sel = <2>;
      		vinc9_mipi_sel = <0xff>;
      		vinc9_isp_sel = <0>;
      		vinc9_isp_tx_ch = <0>;
      		vinc9_tdm_rx_sel = <0>;
      		vinc9_rear_sensor_sel = <0>;
      		vinc9_front_sensor_sel = <0>;
      		vinc9_sensor_list = <0>;
      		device_id = <9>;
      		status = "disabled";
      	};
      
      	vinc22:vinc@5831ff8 {
      		vinc10_csi_sel = <2>;
      		vinc10_mipi_sel = <0xff>;
      		vinc10_isp_sel = <0>;
      		vinc10_isp_tx_ch = <0>;
      		vinc10_tdm_rx_sel = <0>;
      		vinc10_rear_sensor_sel = <0>;
      		vinc10_front_sensor_sel = <0>;
      		vinc10_sensor_list = <0>;
      		device_id = <10>;
      		status = "disabled";
      	};
      
      	vinc23:vinc@5831ff4 {
      		vinc11_csi_sel = <2>;
      		vinc11_mipi_sel = <0xff>;
      		vinc11_isp_sel = <0>;
      		vinc11_isp_tx_ch = <0>;
      		vinc11_tdm_rx_sel = <0>;
      		vinc11_rear_sensor_sel = <0>;
      		vinc11_front_sensor_sel = <0>;
      		vinc11_sensor_list = <0>;
      		device_id = <11>;
      		status = "disabled";
      	};
      
      	vinc30:vinc@5833000 {
      		vinc12_csi_sel = <0>;
      		vinc12_mipi_sel = <0>;
      		vinc12_isp_sel = <4>;
      		vinc12_isp_tx_ch = <3>;
      		vinc12_tdm_rx_sel = <0>;
      		vinc12_rear_sensor_sel = <0>;
      		vinc12_front_sensor_sel = <0>;
      		vinc12_sensor_list = <0>;
      		device_id = <12>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc31:vinc@5832ffc {
      		vinc13_csi_sel = <2>;
      		vinc13_mipi_sel = <0xff>;
      		vinc13_isp_sel = <0>;
      		vinc13_isp_tx_ch = <0>;
      		vinc13_tdm_rx_sel = <0>;
      		vinc13_rear_sensor_sel = <0>;
      		vinc13_front_sensor_sel = <0>;
      		vinc13_sensor_list = <0>;
      		device_id = <13>;
      		status = "disabled";
      	};
      
      	vinc32:vinc@5832ff8 {
      		vinc14_csi_sel = <2>;
      		vinc14_mipi_sel = <0xff>;
      		vinc14_isp_sel = <0>;
      		vinc14_isp_tx_ch = <0>;
      		vinc14_tdm_rx_sel = <0>;
      		vinc14_rear_sensor_sel = <0>;
      		vinc14_front_sensor_sel = <0>;
      		vinc14_sensor_list = <0>;
      		device_id = <14>;
      		status = "disabled";
      	};
      
      	vinc33:vinc@5832ff4 {
      		vinc15_csi_sel = <2>;
      		vinc15_mipi_sel = <0xff>;
      		vinc15_isp_sel = <0>;
      		vinc15_isp_tx_ch = <0>;
      		vinc15_tdm_rx_sel = <0>;
      		vinc15_rear_sensor_sel = <0>;
      		vinc15_front_sensor_sel = <0>;
      		vinc15_sensor_list = <0>;
      		device_id = <15>;
      		status = "disabled";
      	};
      
      	vinc40:vinc@5834000 {
      		vinc16_csi_sel = <2>;
      		vinc16_mipi_sel = <2>;
      		vinc16_isp_sel = <4>;
      		vinc16_isp_tx_ch = <0>;
      		vinc16_tdm_rx_sel = <0>;
      		vinc16_rear_sensor_sel = <1>;
      		vinc16_front_sensor_sel = <1>;
      		vinc16_sensor_list = <1>;
      		device_id = <16>;
      		status = "okay";
      	};
      
      	vinc50:vinc@5835000 {
      		vinc17_csi_sel = <2>;
      		vinc17_mipi_sel = <2>;
      		vinc17_isp_sel = <4>;
      		vinc17_isp_tx_ch = <1>;
      		vinc17_tdm_rx_sel = <0>;
      		vinc17_rear_sensor_sel = <1>;
      		vinc17_front_sensor_sel = <1>;
      		vinc17_sensor_list = <1>;
      		device_id = <17>;
      		status = "okay";
      	};
      };
      
      &twi6 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi0_pins_default>;
      	pinctrl-1 = <&s_twi0_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	device_type = "twi6";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	no_suspend = <1>;
      	status = "okay";
      
      	tcs0: tcs@41 {
      		compatible = "ext,tcs4838";
      		reg = <0x41>;
      		status = "okay";
      		tcs4838_delay = <0>;
      		regulator1: regulators@1 {
      			reg_tcs0: dcdc0 {
      				regulator-name = "tcs4838-dcdc0";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_tcs1: dcdc1 {
      				regulator-name = "tcs4838-dcdc1";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      		};
      		virtual-ext-dcdc0 {
      			compatible = "xpower-vregulator,ext-dcdc0";
      			dcdc0-supply = <&reg_tcs0>;
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_tcs1>;
      		};
      	};
      
      	sy0: sy@60 {
      		compatible = "ext,sy8827g";
      		reg = <0x60>;
      		status = "okay";
      		sy8827g_delay = <0>;
      		regulator2: regulators@2 {
      			reg_sy0: dcdc0 {
      				regulator-name = "sy8827g-dcdc0";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_sy1: dcdc1 {
      				regulator-name = "sy8827g-dcdc1";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      		};
      		virtual-ext-dcdc0 {
      			compatible = "xpower-vregulator,ext-dcdc0";
      			dcdc0-supply = <&reg_sy0>;
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_sy1>;
      		};
      	};
      
      	axp1530: axp1530@36{
      		compatible = "ext,axp1530";
      		status = "okay";
      		reg = <0x36>;
      
      		wakeup-source;
      
      		regulators{
      			reg_ext_axp1530_dcdc1: dcdc1 {
      				regulator-name = "axp1530-dcdc1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3400000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_dcdc2: dcdc2 {
      				regulator-name = "axp1530-dcdc2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1540000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-ramp-delay = <200>; /* FIXME */
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_dcdc3: dcdc3 {
      				regulator-name = "axp1530-dcdc3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1840000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_aldo1: ldo1 {
      				regulator-name = "axp1530-aldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      			};
      
      			reg_ext_axp1530_dldo1: ldo2 {
      				regulator-name = "axp1530-dldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      			};
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_ext_axp1530_dcdc1>;
      		};
      		virtual-ext-dcdc2 {
      			compatible = "xpower-vregulator,ext-dcdc2";
      			dcdc2-supply = <&reg_ext_axp1530_dcdc2>;
      		};
      		virtual-ext-dcdc3 {
      			compatible = "xpower-vregulator,ext-dcdc3";
      			dcdc3-supply = <&reg_ext_axp1530_dcdc3>;
      		};
      		virtual-ext-aldo1 {
      			compatible = "xpower-vregulator,ext-aldo1";
      			aldo1-supply = <&reg_ext_axp1530_aldo1>;
      		};
      		virtual-ext-dldo1 {
      			compatible = "xpower-vregulator,ext-dldo1";
      			dldo1-supply = <&reg_ext_axp1530_dldo1>;
      		};
      
      	};
      
      	pmu0: pmu@35 {
      		compatible = "x-powers,axp2202";
      		reg = <0x35>;
      		status = "okay";
      		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
      		interrupt-parent = <&nmi_intc>;
      		x-powers,drive-vbus-en;
      		pmu_reset = <0>;
      		pmu_irq_wakeup = <1>;
      		pmu_hot_shutdown = <1>;
      
      		wakeup-source;
      
      		usb_power_supply: usb_power_supply {
      			compatible = "x-powers,axp2202-usb-power-supply";
      			status = "okay";
      
      			pmu_usbpc_vol = <4600>;
      			pmu_usbpc_cur = <500>;
      			pmu_usbad_vol = <4000>;
      			pmu_usbad_cur = <2500>;
      			pmu_usb_typec_used = <1>;
      			wakeup_usb_in;
      			wakeup_usb_out;
      
      			det_acin_supply = <&gpio_power_supply>;
      			pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>;
      			pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>;
      		};
      
      		gpio_power_supply: gpio_power_supply {
      			compatible = "x-powers,gpio-supply";
      			status = "disabled";
      			pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>;
      			det_usb_supply = <&usb_power_supply>;
      		};
      
      		bat_power_supply: bat-power-supply {
      			compatible = "x-powers,axp2202-bat-power-supply";
      			param = <&axp2202_parameter>;
      			status = "disabled";
      
      			pmu_chg_ic_temp = <0>;
      
      			pmu_battery_rdc= <147>;
      			pmu_battery_cap = <1771>;
      			pmu_runtime_chgcur = <1000>;
      			pmu_suspend_chgcur = <1500>;
      			pmu_shutdown_chgcur = <1500>;
      			pmu_init_chgvol = <4200>;
      			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 = <2>;
      			pmu_bat_para8 = <3>;
      			pmu_bat_para9 = <4>;
      			pmu_bat_para10 = <6>;
      			pmu_bat_para11 = <9>;
      			pmu_bat_para12 = <14>;
      			pmu_bat_para13 = <26>;
      			pmu_bat_para14 = <38>;
      			pmu_bat_para15 = <49>;
      			pmu_bat_para16 = <52>;
      			pmu_bat_para17 = <56>;
      			pmu_bat_para18 = <60>;
      			pmu_bat_para19 = <64>;
      			pmu_bat_para20 = <70>;
      			pmu_bat_para21 = <77>;
      			pmu_bat_para22 = <83>;
      			pmu_bat_para23 = <87>;
      			pmu_bat_para24 = <90>;
      			pmu_bat_para25 = <95>;
      			pmu_bat_para26 = <99>;
      			pmu_bat_para27 = <99>;
      			pmu_bat_para28 = <100>;
      			pmu_bat_para29 = <100>;
      			pmu_bat_para30 = <100>;
      			pmu_bat_para31 = <100>;
      			pmu_bat_para32 = <100>;
      
      			pmu_bat_temp_enable = <1>;
      			pmu_jetia_en        = <1>;
      			pmu_bat_charge_ltf = <1738>; //-5
      			pmu_bat_charge_htf = <150>; //60
      			pmu_bat_shutdown_ltf = <2125>; //-10
      			pmu_bat_shutdown_htf = <130>; //65
      			pmu_jetia_cool = <1390>; //0
      			pmu_jetia_warm = <206>; //50
      			pmu_jcool_ifall = <2>;//75%
      			pmu_jwarm_ifall = <2>;//75%
      			pmu_bat_temp_para1 = <4592>; //SDNT-25
      			pmu_bat_temp_para2 = <2781>; //-15
      			pmu_bat_temp_para3 = <2125>; //-10
      			pmu_bat_temp_para4 = <1738>; //-5
      			pmu_bat_temp_para5 = <1390>;//0
      			pmu_bat_temp_para6 = <1118>; //5
      			pmu_bat_temp_para7 = <906>; //10
      			pmu_bat_temp_para8 = <606>; //20
      			pmu_bat_temp_para9 = <415>; //30
      			pmu_bat_temp_para10 = <290>; //40
      			pmu_bat_temp_para11 = <244>; //45
      			pmu_bat_temp_para12 = <206>; //50
      			pmu_bat_temp_para13 = <175>; //55
      			pmu_bat_temp_para14 = <150>; //60
      			pmu_bat_temp_para15 = <110>; //70
      			pmu_bat_temp_para16 = <83>; //80
      
      			wakeup_bat_out;
      			/* wakeup_bat_in; */
      			/* wakeup_bat_charging; */
      			/* wakeup_bat_charge_over; */
      			/* wakeup_low_warning1; */
      			/* wakeup_low_warning2; */
      			/* wakeup_bat_untemp_work; */
      			/* wakeup_bat_ovtemp_work; */
      			/* wakeup_bat_untemp_chg; */
      			/* wakeup_bat_ovtemp_chg; */
      		};
      
      		powerkey0: powerkey@0 {
      			status = "okay";
      			compatible = "x-powers,axp2101-pek";
      			pmu_powkey_off_time = <6000>;
      			pmu_powkey_off_func = <0>;
      			pmu_powkey_off_en = <1>;
      			pmu_powkey_long_time = <1500>;
      			pmu_powkey_on_time = <512>;
      			wakeup_rising;
      			wakeup_falling;
      		};
      
      		regulator0: regulators@0 {
      			reg_dcdc1: dcdc1 {
      				regulator-name = "axp2202-dcdc1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1540000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_dcdc2: dcdc2 {
      				regulator-name = "axp2202-dcdc2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3400000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_dcdc3: dcdc3 {
      				regulator-name = "axp2202-dcdc3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1840000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      			};
      			reg_dcdc4: dcdc4 {
      				regulator-name = "axp2202-dcdc4";
      				regulator-min-microvolt = <1000000>;
      				regulator-max-microvolt = <3700000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_rtcldo: rtcldo {
      				/* RTC_LDO is a fixed, always-on regulator */
      				regulator-name = "axp2202-rtcldo";
      				regulator-min-microvolt = <1800000>;
      				regulator-max-microvolt = <1800000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_aldo1: aldo1 {
      				regulator-name = "axp2202-aldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_aldo2: aldo2 {
      				regulator-name = "axp2202-aldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_aldo3: aldo3 {
      				regulator-name = "axp2202-aldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_aldo4: aldo4 {
      				regulator-name = "axp2202-aldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_bldo1: bldo1 {
      				regulator-name = "axp2202-bldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_bldo2: bldo2 {
      				regulator-name = "axp2202-bldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_bldo3: bldo3 {
      				regulator-name = "axp2202-bldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_bldo4: bldo4 {
      				regulator-name = "axp2202-bldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo1: cldo1 {
      				regulator-name = "axp2202-cldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo2: cldo2 {
      				regulator-name = "axp2202-cldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo3: cldo3 {
      				regulator-name = "axp2202-cldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-ramp-delay = <2500>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_cldo4: cldo4 {
      				regulator-name = "axp2202-cldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cpusldo: cpusldo {
      				/* cpus */
      				regulator-name = "axp2202-cpusldo";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1400000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_vmid: vmid {
      				regulator-name = "axp2202-vmid";
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_drivevbus: drivevbus {
      				regulator-name = "axp2202-drivevbus";
      				regulator-enable-ramp-delay = <1000>;
      				drivevbusin-supply = <&reg_vmid>;
      			};
      		};
      
      		virtual-dcdc1 {
      			compatible = "xpower-vregulator,dcdc1";
      			dcdc1-supply = <&reg_dcdc1>;
      		};
      		virtual-dcdc2 {
      			compatible = "xpower-vregulator,dcdc2";
      			dcdc2-supply = <&reg_dcdc2>;
      		};
      		virtual-dcdc3 {
      			compatible = "xpower-vregulator,dcdc3";
      			dcdc3-supply = <&reg_dcdc3>;
      		};
      		virtual-dcdc4 {
      			compatible = "xpower-vregulator,dcdc4";
      			dcdc4-supply = <&reg_dcdc4>;
      		};
      		virtual-rtcldo {
      			compatible = "xpower-vregulator,rtcldo";
      			rtcldo-supply = <&reg_rtcldo>;
      		};
      		virtual-aldo1 {
      			compatible = "xpower-vregulator,aldo1";
      			aldo1-supply = <&reg_aldo1>;
      		};
      		virtual-aldo2 {
      			compatible = "xpower-vregulator,aldo2";
      			aldo2-supply = <&reg_aldo2>;
      		};
      		virtual-aldo3 {
      			compatible = "xpower-vregulator,aldo3";
      			aldo3-supply = <&reg_aldo3>;
      		};
      		virtual-aldo4 {
      			compatible = "xpower-vregulator,aldo4";
      			aldo4-supply = <&reg_aldo4>;
      		};
      		virtual-bldo1 {
      			compatible = "xpower-vregulator,bldo1";
      			bldo1-supply = <&reg_bldo1>;
      		};
      		virtual-bldo2 {
      			compatible = "xpower-vregulator,bldo2";
      			bldo2-supply = <&reg_bldo2>;
      		};
      		virtual-bldo3 {
      			compatible = "xpower-vregulator,bldo3";
      			bldo3-supply = <&reg_bldo3>;
      		};
      		virtual-bldo4 {
      			compatible = "xpower-vregulator,bldo4";
      			bldo4-supply = <&reg_bldo4>;
      		};
      		virtual-cldo1 {
      			compatible = "xpower-vregulator,cldo1";
      			cldo1-supply = <&reg_cldo1>;
      		};
      		virtual-cldo2 {
      			compatible = "xpower-vregulator,cldo2";
      			cldo2-supply = <&reg_cldo2>;
      		};
      		virtual-cldo3 {
      			compatible = "xpower-vregulator,cldo3";
      			cldo3-supply = <&reg_cldo3>;
      		};
      		virtual-cldo4 {
      			compatible = "xpower-vregulator,cldo4";
      			cldo4-supply = <&reg_cldo4>;
      		};
      		virtual-cpusldo {
      			compatible = "xpower-vregulator,cpusldo";
      			cpusldo-supply = <&reg_cpusldo>;
      		};
      		virtual-drivevbus {
      			compatible = "xpower-vregulator,drivevbus";
      			drivevbus-supply = <&reg_drivevbus>;
      		};
      		axp_gpio0: axp_gpio@0 {
      			gpio-controller;
      			#size-cells = <0>;
      			#gpio-cells = <6>;
      			status = "okay";
      		};
      	};
      };
      
      /{
      	axp2202_parameter:axp2202-parameter {
      		select = "battery-model";
      
      		battery-model {
      			parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f
      				0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04
      				0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb
      				0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05
      				0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09
      				0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04
      				0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08
      				0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03
      				0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07
      				0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08
      				0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a
      				0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6
      				0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
      				0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6
      				0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
      				0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>;
      		};
      			  };
      };
      
      &twi7 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi1_pins_default>;
      	pinctrl-1 = <&s_twi1_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_aldo3>;
      	status = "okay";
      
      	lt9611: lt9611@39 {
      			compatible = "myir,lt9611";
      			reg = <0x39>;
      			lt9611-rst-gpios = <&r_pio PL 6 GPIO_ACTIVE_HIGH>;
      			lt9611-power-en-gpios = <&pio PG 12 GPIO_ACTIVE_HIGH>;
      			interrupt-parent = <&r_pio>;
      			interrupts = <PL 7 IRQ_TYPE_EDGE_FALLING>;
      			status = "okay";
      	};
      
      	ac107: ac107@36 {
      		#sound-dai-cells        = <0>;
      		compatible              = "allwinner,sunxi-ac107";
      		reg                     = <0x36>;
      		pllclk-src              = "MCLK";
      		sysclk-src              = "MCLK";
      		pcm-bit-first           = "MSB";
      		frame-sync-width        = <1>;
      		rx-chmap                = <0xaaaa>;
      		ch1-dig-vol             = <160>;
      		ch2-dig-vol             = <160>;
      		ch1-pga-gain            = <26>;
      		ch2-pga-gain            = <26>;
      		status                  = "disabled";
      	};
      };
      
      &twi8 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi2_pins_default>;
      	pinctrl-1 = <&s_twi2_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_aldo3>;
      	status = "okay";
      };
      
      &sdc2 {
      	non-removable;
      	bus-width = <8>;
      	mmc-ddr-1_8v;
      	mmc-hs200-1_8v;
      	mmc-hs400-1_8v;
      	no-sdio;
      	no-sd;
      	ctl-spec-caps = <0x308>;
      	cap-mmc-highspeed;
      	sunxi-power-save-mode;
      	sunxi-dis-signal-vol-sw;
      	mmc-bootpart-noacc;
      	/*cap-hsq;*/
      	cqe-on;
      	ctl-cmdq-md = <0x2>;
      	max-frequency = <150000000>;
      	vmmc-supply = <&reg_cldo3>;
      	/*emmc io vol 3.3v*/
      	/*vqmmc-supply = <&reg_aldo1>;*/
      	/*emmc io vol 1.8v*/
      	vqmmc-supply = <&reg_cldo1>;
      	status = "disabled";
      };
      
      &sdc0 {
      	bus-width = <4>;
      	cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      	/*non-removable;*/
      	/*broken-cd;*/
      	/*cd-inverted*/
      	/*data3-detect;*/
      	/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
      	cd-used-24M;
      	cd-set-debounce = <0x1>;
      	cap-sd-highspeed;
      	// sd-uhs-sdr50;
      	// sd-uhs-ddr50;
      	// sd-uhs-sdr104;
      	no-sdio;
      	no-mmc;
      	sunxi-power-save-mode;
      	/*sunxi-dis-signal-vol-sw;*/
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x408>;
      	sunxi-dly-208M  = <0xff 1 0xff 0xff 0xff 0xff>;
      	vmmc-supply = <&reg_cldo3>;
      	vqmmc33sw-supply = <&reg_cldo3>;
      	vdmmc33sw-supply = <&reg_cldo3>;
      	// vqmmc18sw-supply = <&reg_bldo3>;
      	// vdmmc18sw-supply = <&reg_bldo3>;
      	status = "okay";
      };
      
      
      &sdc1 {
      	bus-width = <4>;
      	no-mmc;
      	no-sd;
      	cap-sd-highspeed;
      	/*sd-uhs-sdr12*/
      	sd-uhs-sdr25;
      	sd-uhs-sdr50;
      	sd-uhs-ddr50;
      	sd-uhs-sdr104;
      	/*sunxi-power-save-mode;*/
      	sunxi-dis-signal-vol-sw;
      	cap-sdio-irq;
      	keep-power-in-suspend;
      	ignore-pm-notify;
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x408>;
      	status = "okay";
      };
      
      &nand0 {
      	compatible = "allwinner,sun55iw3-nand";
      	device_type = "nand0";
      	//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&nand0_pins_default &nand0_pins_rb>;
      	pinctrl-1 = <&nand0_pins_sleep>;
      	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>;
      	chip_code = "sun55iw3";
      	status = "disabled";
      };
      
      &rfkill {
      	compatible = "allwinner,sunxi-rfkill";
      	chip_en;
      	power_en;
      	pinctrl-0;
      	pinctrl-names;
      	status = "okay";
      
      	/* bt session */
      	bt {
      		compatible    = "allwinner,sunxi-bt";
      		clocks;
      		clock-names;
      		bt_power    = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */
      		bt_power_vol= <3300000>, <1800000>;
      		bt_rst_n      = <&pio PC 4 GPIO_ACTIVE_LOW>;
      	};
      };
      
      &addr_mgt {
      	compatible     = "allwinner,sunxi-addr_mgt";
      	type_addr_wifi = <0x0>;
      	type_addr_bt   = <0x0>;
      	type_addr_eth  = <0x0>;
      	status         = "okay";
      };
      
      &btlpm {
      	compatible  = "allwinner,sunxi-btlpm";
      	uart_index  = <0x1>;
      	bt_wake     = <&pio PC 12 GPIO_ACTIVE_HIGH>;
      	bt_hostwake = <&pio PC 2 GPIO_ACTIVE_HIGH>;
      	wakeup-source;
      	status      = "okay";
      };
      
      /*
       *usb_port_type: usb mode. 0-device, 1-host, 2-otg.
       *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
       *usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
       *usb_id_gpio: gpio for id detect.
       *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
       *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
       */
      &usbc0 {
      	device_type = "usbc0";
      	usb_port_type = <0x2>;
      	usb_detect_type = <0x1>;
      	usb_detect_mode = <0x0>;
      	usb_id_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	usb_det_vbus_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	detvbus_io-supply = <&reg_bldo1>;
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	usb_luns = <3>;
      	usb_serial_unique = <0>;
      	usb_serial_number = "20080411";
      	rndis_wceis = <1>;
      	status = "okay";
      };
      
      &udc {
      	det_vbus_supply = <&usb_power_supply>;
      	status = "okay";
      };
      
      &ehci0 {
      	//drvvbus-supply = <&reg_usb0_vbus>;
      	status = "okay";
      };
      
      &ohci0 {
      	//drvvbus-supply = <&reg_usb0_vbus>;
      	status = "okay";
      };
      
      &usbc1 {
      	device_type = "usbc1";
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	status = "okay";
      };
      
      &ehci1 {
      	//drvvbus-supply = <&reg_usb1_vbus>;
      	status = "okay";
      };
      
      &ohci1 {
      	//drvvbus-supply = <&reg_usb1_vbus>;
      	status = "okay";
      };
      
      &usbc2 {
      	device_type = "usbc2";
      	drvvbus-supply = <&reg_drivevbus>;
      	aw,vbus-shared-quirk;
      	status = "okay";
      };
      
      &xhci2 {
      	dr_mode = "host";
      	status = "okay";
      };
      
      &u2phy {
      	status = "okay";
      };
      
      &combophy {
      	resets = <&ccu RST_BUS_PCIE_USB3>;
      	phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */
      	status = "okay";
      };
      
      &gpu {
      	gpu_idle = <1>;
      	dvfs_status = <1>;
      	mali-supply = <&reg_dcdc2>;
      };
      
      /*----------------------------------------------------------------------------------
      disp init configuration
      
      disp_mode             (0:screen0<screen0,fb0>)
      screenx_output_type   (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
      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)
      screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
      screenx_output_bits   (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
      screenx_output_eotf   (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
      screenx_output_cs     (for hdmi, 0:undefined  257:BT709 260:BT601  263:BT2020)
      screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
      screen0_output_range   (for hdmi, 0:default 1:full 2:limited)
      screen0_output_scan    (for hdmi, 0:no data 1:overscan 2:underscan)
      screen0_output_aspect_ratio  (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
      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)
      framebuffer software rotation setting:
      disp_rotation_used:   (0:disable; 1:enable,you must set fbX_width to lcd_y,
      set fbX_height to lcd_x)
      degreeX:              (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
      degreeX_Y:            (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
      devX_output_type : config output type in bootGUI framework in UBOOT-2018.
      				   (0:none; 1:lcd; 2:tv; 4:hdmi;)
      devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
      devX_screen_id   : config display index of bootGUI framework in UBOOT-2018
      devX_do_hpd      : whether do hpd detectation or not in UBOOT-2018
      chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with 6
      				   channel, 1:dual display with 4 channel in main display and 2 channel in second
                         display, 2:dual display with 3 channel in main display and 3 channel in second
                         in display.
      ----------------------------------------------------------------------------------*/
      &disp {
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
              screen0_output_type      = <1>;
              screen0_output_mode      = <4>;
              screen0_to_lcd_index     = <0>;
      
              screen1_output_type      = <3>;
              screen1_output_mode      = <10>;
              screen1_to_lcd_index     = <3>;
      
              screen1_output_format    = <0>;
              screen1_output_bits      = <0>;
              screen1_output_eotf      = <4>;
              screen1_output_cs        = <257>;
              screen1_output_dvi_hdmi  = <2>;
              screen1_output_range     = <2>;
              screen1_output_scan      = <0>;
              screen1_output_aspect_ratio = <8>;
      
              dev0_output_type         = <1>;
              dev0_output_mode         = <4>;
              dev0_screen_id           = <0>;
              dev0_do_hpd              = <0>;
      
              screen1_output_type      = <6>;
              screen1_output_mode      = <10>;
              dev1_screen_id           = <2>;
              dev1_do_hpd              = <1>;
      
              def_output_dev           = <2>;
              hdmi_mode_check          = <1>;
      
              display_device_num          = <3>;
      
              primary_display_type        = "LCD";
              primary_de_id               = <0>;
              primary_framebuffer_width   = <1280>;
              primary_framebuffer_height  = <800>;
              primary_dpix                = <160>;
              primary_dpiy                = <160>;
      
              extend0_display_type        = "HDMI";
              extend0_de_id               = <1>;
              extend0_framebuffer_width   = <1920>;
              extend0_framebuffer_height  = <1080>;
              extend0_dpix                = <160>;
              extend0_dpiy                = <160>;
      
              extend1_display_type        = "DP";
              extend1_de_id               = <1>;
              extend1_framebuffer_width   = <1920>;
              extend1_framebuffer_height  = <1080>;
              extend1_dpix                = <160>;
              extend1_dpiy                = <160>;
      
              fb_format                = <0>;
              fb_num                   = <4>;
              /*<disp channel layer zorder>*/
              fb0_map                  = <0 1 0 16>;
              fb0_width                = <1920>;
              fb0_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb1_map                  = <1 1 0 16>;
              fb1_width                = <1920>;
              fb1_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb2_map                  = <1 0 0 16>;
              fb2_width                = <1920>;
              fb2_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb3_map                  = <1 1 0 16>;
              fb3_width                = <300>;
              fb3_height               = <300>;
      
              chn_cfg_mode             = <3>;
              disp_para_zone           = <2>;
              //boot_disp				 = <0>;
              //boot_disp1				 = <0>;
              //boot_disp2				 = <0>;
              /* dual display clock constraints:
                 1. two tcons cannot share a parent clock.
                 2. when dsi uses ccu clock, combphy and corresponding tcon use the
                  same parent clock.
              */
              assigned-clocks = <&ccu CLK_DE>,
                        <&ccu CLK_VO0_TCONLCD0>,
                        <&ccu CLK_VO0_TCONLCD1>,
                        <&ccu CLK_VO1_TCONLCD0>,
                        <&ccu CLK_TCONTV>,
                        <&ccu CLK_TCONTV1>,
                        <&ccu CLK_COMBPHY0>,
                        <&ccu CLK_COMBPHY1>,
                        <&ccu CLK_DSI0>,
                        <&ccu CLK_DSI1>,
                        <&ccu CLK_EDP>;
              assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
                               <&ccu CLK_PLL_VIDEO0_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO0_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_PERI0_150M>,
                               <&ccu CLK_PLL_PERI0_150M>,
                               <&ccu CLK_PLL_VIDEO1_4X>;
              assigned-clock-rates = <600000000>;
      
              cldo3-supply = <&reg_cldo3>;
              dcdc4-supply = <&reg_dcdc4>;
              cldo1-supply = <&reg_cldo1>;
      
      	//pwms = <&pwm0 4 5000000 0>, <&pwm0 5 5000000 0>;
      	pwms = <&pwm0 10 50000 0>, <&pwm0 5 5000000 0>;
      	pwm-names = "lvds0_backlight", "lvds2_backlight";
      
              power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
              power-domain-names = "pd_de", "pd_vo0", "pd_vo1";
      
      	pinctrl-names = "active", "sleep";
      	//pinctrl-0 = <&pwm0_0_pin_active>;
      	//pinctrl-1 = <&pwm0_0_pin_sleep>;
      	pinctrl-0 = <&pwm0_10_pin_active>;
      	pinctrl-1 = <&pwm0_10_pin_sleep>;
      };
      
      /***
      ;lcd0 configuration
      
      ;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
      ;lcd_hv_if             0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
      ;lcd_hv_clk_phase      0:0 degree;1:90 degree;2:180 degree;3:270 degree
      ;lcd_hv_sync_polarity  0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
      ;lcd_hv_syuv_seq       0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
      ;lcd_cpu_if            0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
      ;                      6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
      ;lcd_cpu_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_dsi_if            0:video mode; 1: Command mode; 2:video burst mode
      ;lcd_dsi_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;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(pixel) + hsync plus width(pixel);
      ;lcd_ht:               hsync total cycle(pixel)
      ;lcd_vbp:              vsync back porch(line) + vysnc plus width(line)
      ;lcd_vt:               vysnc total cycle(line)
      ;lcd_hspw:             hsync plus width(pixel)
      ;lcd_vspw:             vysnc plus width(pixel)
      ;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)
      ;Pin setting for special function ie.LVDS, RGB data or vsync
      ;   name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for gpio:
      ;   lcd_gpio_X     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for backlight enable pin
      ;   lcd_bl_en     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;fsync setting, pulse to csi
      ;lcd_fsync_en          (0:disable fsync,1:enable)
      ;lcd_fsync_act_time    (active time of fsync, unit:pixel)
      ;lcd_fsync_dis_time    (disactive time of fsync, unit:pixel)
      ;lcd_fsync_pol         (0:positive;1:negative)
      ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
      pull up or pull down(default 0), driver level(default 1), data>
      ;For dual link lvds: use lvds2link_pins_a  and lvds2link_pins_b instead
      ;For rgb24: use rgb24_pins_a  and rgb24_pins_b instead
      ;For lvds1: use lvds1_pins_a  and lvds1_pins_b instead
      ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
      ***/
      &lcd0 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "default_lcd";
              lcd_backlight       = <200>;
              lcd_if              = <3>;
      
              lcd_x               = <1280>;
              lcd_y               = <800>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <63>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <10>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      	lcd_pwm_name	    = "lvds0_backlight";
      
              lcd_hbp             = <88>;
              lcd_ht              = <1451>;
              lcd_hspw            = <18>;
              lcd_vbp             = <23>;
              lcd_vt              = <860>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <0>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <0>;
              lcd_hv_clk_phase    = <0>;
              lcd_hv_sync_polarity= <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
              lcd_fsync_pol       = <0>;
      	lcd_start_delay     = <5>;
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_pin_power = "cldo3";
              lcd_power = "dcdc4";
              lcd_power1 = "cldo1";
              //lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset
             //lcd_bl_en        = <&pio PI 2 GPIO_ACTIVE_HIGH>;
      
              pinctrl-0 = <&lvds0_pins_a>;
              pinctrl-1 = <&lvds0_pins_b>;
              lvds0_pinctrl-0 = <&lvds0_pins_a>;
              lvds0_pinctrl-1 = <&lvds0_pins_b>;
              lvds1_pinctrl-0 = <&lvds1_pins_a>;
              lvds1_pinctrl-1 = <&lvds1_pins_b>;
              dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>;
              dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>;
              dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>;
              dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>;
              dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>;
              dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>;
      };
      
      #if 1
      &lcd1 {
              lcd_used            = <1>;
              status              = "okay";
              lcd_driver_name     = "SQ101D_Q5DI404_84H501";
              lcd_backlight       = <200>;
              lcd_if              = <4>;
      
              lcd_x               = <1920>;
              lcd_y               = <1080>;
              lcd_width           = <136>;
              lcd_height          = <217>;
              lcd_dclk_freq       = <148>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <0>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      
              lcd_hbp             = <88>;
              lcd_ht              = <2200>;
              lcd_hspw            = <44>;
              lcd_vbp             = <4>;
              lcd_vt              = <1125>;
              lcd_vspw            = <5>;
      
              lcd_frm             = <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_start_delay     = <5>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_dsi_if          = <0>;
              lcd_dsi_lane        = <4>;
              lcd_dsi_format      = <0>;
              lcd_dsi_te          = <0>;
              lcd_dsi_eotp        = <0>;
      
              lcd_pin_power = "dcdc4";
              lcd_power1 = "cldo4";
              lcd_power2 = "cldo1";
      
              lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset
      
              pinctrl-0 = <&dsi0_4lane_pins_a>;
              pinctrl-1 = <&dsi0_4lane_pins_b>;
      
              // lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>;
              lcd_bl_0_percent        = <5>;
      };
      #else
      &lcd1 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "default_lcd";
              lcd_backlight       = <50>;
              lcd_if              = <0>;
      
              lcd_x               = <800>;
              lcd_y               = <480>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <48>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <7>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
      
              lcd_hbp             = <55>;
              lcd_ht              = <1240>;
              lcd_hspw            = <20>;
              lcd_vbp             = <35>;
              lcd_vt              = <650>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <1>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <1>;
              lcd_io_phase        = <0x0000>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
      };
      #endif
      
      &lcd2 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "bp101wx1";
              lcd_backlight       = <50>;
              lcd_if              = <3>;
      
              lcd_x               = <1280>;
              lcd_y               = <800>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <75>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <5>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      	lcd_pwm_name        = "lvds2_backlight";
      
              lcd_hbp             = <88>;
              lcd_ht              = <1451>;
              lcd_hspw            = <18>;
              lcd_vbp             = <23>;
              lcd_vt              = <860>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <0>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <0>;
              lcd_hv_clk_phase    = <0>;
              lcd_hv_sync_polarity= <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_fsync_en        = <0>;
              lcd_fsync_pol       = <0>;
              lcd_start_delay     = <5>;
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_pin_power = "cldo3";
              lcd_power     = "dcdc4";
              /* lvds_power & other interface power */
              lcd_bl_en  = <&pio PI 5 GPIO_ACTIVE_HIGH>;
              pinctrl-0 = <&lvds2_pins_a>;
              pinctrl-1 = <&lvds2_pins_b>;
              lvds2_pinctrl-0 = <&lvds2_pins_a>;
              lvds2_pinctrl-1 = <&lvds2_pins_b>;
              lvds3_pinctrl-0 = <&lvds3_pins_a>;
              lvds3_pinctrl-1 = <&lvds3_pins_b>;
              dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>;
              dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>;
              status = "disabled";
      };
      
      &edp0 {
      	compatible = "allwinner,sunxi-dp0";
      	// use if hardware reset pin is need
      	/* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */
      
      	edp_ssc_en = <0>;
      	edp_ssc_mode = <0>;
      	edp_psr_support = <0>;
      	edp_colordepth = <8>; /* 6/8/10/12/16 */
      	edp_color_fmt = <0>; /* 0:RGB  1: YUV444  2: YUV422 */
      
      	edp_lane_rate = <1>;
      	edp_lane_cnt = <4>;
      	lane0_sw = <0>;
      	lane0_pre = <0>;
      	lane1_sw = <0>;
      	lane1_pre = <0>;
      	lane2_sw = <0>;
      	lane2_pre = <0>;
      	lane3_sw = <0>;
      	lane3_pre = <0>;
      	efficient_training = <0>;
      
      	sink_capacity_prefer = <0>;
      	edid_timings_prefer = <1>;
      	timings_fixed = <0>;
      	edp_traning_param_type = <1>;
      
      	edp_timings_type = <0>;
      	edp_panel_used = <0>;
      /*
      	edp_panel_used = <1>;
      	edp_panel_driver = "general_panel";
      	edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
      	edp_pwm_used = <1>;
      	edp_pwm_ch = <5>;
      	edp_pwm_freq = <50000>;
      	edp_pwm_pol = <0>;
      	edp_default_backlight = <200>;
      	edp_panel_power_0 = "edp-panel";
      */
      /*
      	edp_x               = <1280>;
              edp_y               = <800>;
              edp_width           = <150>;
              edp_height          = <94>;
              edp_dclk_freq       = <75>;
      
              edp_hbp             = <88>;
              edp_ht              = <1451>;
              edp_hspw            = <18>;
              edp_vbp             = <23>;
              edp_vt              = <860>;
              edp_vspw            = <10>;
              edp_fps				= <30>;
      */
      
      	vcc-edp-supply = <&reg_bldo3>;
      	vdd-edp-supply = <&reg_dcdc2>;
      	edp-panel-supply = <&reg_dcdc4>;
      	status = "okay";
      
      };
      
      &ve {
      	ve-supply = <&reg_dcdc2>;
      
      	enable_setup_ve_freq       = <0>;   /* default disable */
      	ve_freq_value              = <624>; /* setup to 624MHz */
      };
      
      /* audio dirver module -> audio codec */
      &codec {
      	tx-hub-en;
      	rx-sync-en;
      
      	dac-vol		= <63>;		/* default value:63 range:0->63 */
      	dacl-vol	= <190>;	/* default value:160 range:0->255 */
      	dacr-vol	= <190>;	/* default value:160 range:0->255 */
      	adc1-vol	= <190>;	/* default value:160 range:0->255 */
      	adc2-vol	= <190>;	/* default value:160 range:0->255 */
      	adc3-vol	= <190>;	/* default value:160 range:0->255 */
      	lineout-gain	= <31>;		/* default value:31 range:0->31 */
      	hpout-gain	= <7>;		/* default value:7 range:0->7 */
      	adc1-gain	= <31>;		/* default value:31 range:0->31 */
      	adc2-gain	= <31>;		/* default value:31 range:0->31 */
      	adc3-gain	= <31>;		/* default value:31 range:0->31 */
      
      	/* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */
      	avcc-external;
      	avcc-supply	= <&reg_aldo4>;
      	avcc-vol	= <1800000>;
      	vdd-external;
      	vdd-supply	= <&reg_cldo3>;
      	vdd-vol		= <3300000>;
      	cpvin-external;
      	cpvin-supply	= <&reg_bldo3>;
      	cpvin-vol	= <1800000>;
      
      	//pa-pin-max	= <1>;
      	//pa-pin-0	= <&r_pio PL 7 GPIO_ACTIVE_HIGH>;
      	//pa-pin-level-0	= <1>;
      	//pa-pin-msleep-0	= <0>;
      
      	jack-det-level		= <0>;
      	jack-det-threshold	= <8>;
      	jack-det-debouce-time	= <250>;
      
      	/* extcon                  = <&usb_power_supply>;
      	 * jack-swpin-mic-sel      = <&pio PH 8 GPIO_ACTIVE_HIGH>;
      	 * jack-swpin-hp-en        = <&pio PH 15 GPIO_ACTIVE_HIGH>;
      	 * jack-swpin-hp-sel       = <&pio PH 11 GPIO_ACTIVE_HIGH>;
      	 * jack-swmode-hp-off      = <0x00>;
      	 * jack-swmode-hp-usb      = <0x11>;
      	 * jack-swmode-hp-audio    = <0x10>;
      	 * jack-det-level          = <1>;
      	 * jack-det-threshold      = <8>;
      	 * jack-det-debouce-time   = <250>;
      	 */
      
      	status = "okay";
      };
      
      &codec_plat {
      	status = "okay";
      };
      
      &codec_mach {
      	soundcard-mach,jack-support = <1>;
      	status = "okay";
      	soundcard-mach,cpu {
      		sound-dai = <&codec_plat>;
      	};
      	soundcard-mach,codec {
      		sound-dai = <&codec>;
      	};
      };
      
      &hdmi_codec {
      	extcon = <&hdmi>;
      	status = "okay";
      };
      
      &edp_codec {
      	status = "disabled";
      };
      
      /* audio dirver module -> owa */
      &owa_plat {
      	rglt-max	= <1>;
      	rglt0-mode	= "PMU";
      	rglt0-voltage	= <3300000>;
      	rglt0-supply	= <&reg_dcdc4>;
      
      	pinctrl-used;
      	pinctrl-names	= "default","sleep";
      	pinctrl-0	= <&owa_pins_a>;
      	pinctrl-1	= <&owa_pins_b>;
      	tx-hub-en;
      	status		= "okay";
      };
      
      &owa_mach {
      	status		= "okay";
      	soundcard-mach,cpu {
      		sound-dai = <&owa_plat>;
      	};
      	soundcard-mach,codec {
      	};
      };
      
      /* audio dirver module -> DMIC */
      &dmic_plat {
      	rx-chmap	= <0x76543210>;
      	data-vol	= <0xB0>;
      	rxdelaytime	= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names	= "default","sleep"; */
      	/* pinctrl-0	= <&dmic_pins_a>; */
      	/* pinctrl-1	= <&dmic_pins_b>; */
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &dmic_mach {
      	status		= "disabled";
      	soundcard-mach,cpu {
      		sound-dai = <&dmic_plat>;
      	};
      	soundcard-mach,codec {
      	};
      };
      
      /* audio dirver module -> I2S/PCM */
      &i2s0_plat {
      	tdm-num		= <0>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	pinctrl-used;
      	pinctrl-names	= "default","sleep";
      	pinctrl-0	= <&i2s0_pins_a &i2s0_pins_c &i2s0_pins_d>;
      	pinctrl-1	= <&i2s0_pins_b>;
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s0_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s0_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s0_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	soundcard-mach,capture-only;
      	status		= "disabled";
      	i2s0_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s0_plat>;
      		/* note: pll freq = 24.576M or 22.5792M * pll-fs */
      		soundcard-mach,pll-fs	= <1>;
      		/* note:
      		 * mclk freq = mclk-fs * 12.288M or 11.2896M	(when mclk-fp ture)
      		 * mclk freq = mclk-fs * pcm rate		(when mclk-fp false)
      		 */
      		soundcard-mach,mclk-fp;
      		soundcard-mach,mclk-fs	= <1>;
      	};
      	i2s0_codec: soundcard-mach,codec {
      		sound-dai               = <&ac107>;
      		soundcard-mach,pll-fs   = <1>;
      	};
      };
      
      &i2s1_plat {
      	tdm-num		= <1>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s1_pins_a &i2s1_pins_c &i2s1_pins_d>; */
      	/* pinctrl-1	= <&i2s1_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s1_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s1_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s1_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	status		= "disabled";
      	i2s1_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s1_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s1_codec: soundcard-mach,codec {
      	};
      };
      
      &i2s2_plat {
      	tdm-num		= <2>;
      	tx-pin		= <0 1 2 3>;
      /* e.g.
       * tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0]  map channel[15:12, 3:0])
       * tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12])
       * tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0]  map channel[7:0])
       */
      	tx-pin0-map0	= <0x76543210>;
      	tx-pin0-map1	= <0xFEDCBA98>;
      	tx-pin1-map0	= <0x76543210>;
      	tx-pin1-map1	= <0xFEDCBA98>;
      	tx-pin2-map0	= <0x76543210>;
      	tx-pin2-map1	= <0xFEDCBA98>;
      	tx-pin3-map0	= <0x76543210>;
      	tx-pin3-map1	= <0xFEDCBA98>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s2_pins_a &i2s2_pins_c &i2s2_pins_d &i2s2_pins_e>; */
      	/* pinctrl-1	= <&i2s2_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	/* edp not need dai-type */
      	dai-type = "hdmi";
      	status		= "okay";
      };
      
      &i2s2_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s2_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s2_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	soundcard-mach,playback-only;
      	status		= "okay";
      	i2s2_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s2_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		/* edp mclk: 512fs */
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s2_codec: soundcard-mach,codec {
      		sound-dai               = <&hdmi_codec>;
      	};
      };
      
      &i2s3_plat {
      	tdm-num		= <3>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s3_pins_a &i2s3_pins_c &i2s3_pins_d>; */
      	/* pinctrl-1	= <&i2s3_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s3_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s3_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s3_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	status		= "disabled";
      	i2s3_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s3_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s3_codec: soundcard-mach,codec {
      	};
      };
      
      
      &hdmi {
      	hdmi_used = <1>;
      	bldo3-supply = <&reg_bldo3>;
      	hdmi_power0 = "bldo3";
      	hdmi_power_cnt = <1>;
      	hdmi_hdcp_enable = <1>;
      	hdmi_hdcp22_enable = <0>;
      	hdmi_cts_compatibility = <0>;
      	hdmi_cec_support = <1>;
      	hdmi_cec_super_standby = <1>;
      	hdmi_skip_bootedid = <1>;
      
      	ddc_en_io_ctrl = <0>;
      	power_io_ctrl = <0>;
      };
      
      &cpu0 {
      	cpu-supply = <&reg_dcdc1>;
      };
      
      &dsufreq {
      	dsu-supply = <&reg_dcdc1>;
      };
      
      &mdio0 {
      	status = "okay";
      	gmac0_phy0: ethernet-phy@5 {
      		reg = <0x5>;
      		max-speed = <1000>;
      		/* PHY datasheet rst time */
      		reset-assert-us = <10000>;
      		reset-deassert-us = <150000>;
      	};
      };
      
      &gmac0 {
      	phy-mode = "rgmii";
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&gmac0_pins_default>;
      	pinctrl-1 = <&gmac0_pins_sleep>;
      	sunxi,phy-clk-type = <0>;
      	tx-delay = <0>;
      	rx-delay = <0>;
      	phy-handle = <&gmac0_phy0>;
      	gmac3v3-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      
      &gmac1 {
      	phy-mode = "rgmii";
      	phy-handle = <&gmac1_phy0>;
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&gmac1_pins_default>;
      	pinctrl-1 = <&gmac1_pins_sleep>;
      	aw,soc-phy25m;
      	tx-delay = <0>;
      	rx-delay = <0>;
      	snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      	snps,phy-addr = <0x6>;
      	dwmac3v3-supply = <&reg_dcdc4>;
      	status = "okay";
      	mdio1: mdio1@1 {
      		snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      		gmac1_phy0: ethernet-phy@6 {
      			snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      			reg = <0x6>;
      			max-speed = <1000>;
      			/* PHY datasheet rst time */
      			reset-assert-us = <10000>;
      			reset-deassert-us = <150000>;
      		};
      	};
      
      };
      
      &npu {
      	npu-supply = <&reg_ext_axp1530_dcdc3>;
      	npu_vol = <1050000>;
      	clock-frequency = <696000000>;
      	status = "okay";
      };
      
      &dram {
      	dram_para00 = <0x00000000>;
      	dram_para01 = <0x00000000>;
      	dram_para02 = <0x00000000>;
      	dram_para03 = <0x00000000>;
      	dram_para04 = <0x00000000>;
      	dram_para05 = <0x00000000>;
      	dram_para06 = <0x00000000>;
      	dram_para07 = <0x00000000>;
      	dram_para08 = <0x00000000>;
      	dram_para09 = <0x00000000>;
      	dram_para10 = <0x00000000>;
      	dram_para11 = <0x00000000>;
      	dram_para12 = <0x00000000>;
      	dram_para13 = <0x00000000>;
      	dram_para14 = <0x00000000>;
      	dram_para15 = <0x00000000>;
      	dram_para16 = <0x00000000>;
      	dram_para17 = <0x00000000>;
      	dram_para18 = <0x00000000>;
      	dram_para19 = <0x00000000>;
      	dram_para20 = <0x00000000>;
      	dram_para21 = <0x00000000>;
      	dram_para22 = <0x00000000>;
      	dram_para23 = <0x00000000>;
      	dram_para24 = <0x00000000>;
      	dram_para25 = <0x00000000>;
      	dram_para26 = <0x00000000>;
      	dram_para27 = <0x00000000>;
      	dram_para28 = <0x00000000>;
      	dram_para29 = <0x00000000>;
      	dram_para30 = <0x00000000>;
      	dram_para31 = <0x00000000>;
      	dram_para32 = <0x00000000>;
      	dram_para33 = <0x00000000>;
      	dram_para34 = <0x00000000>;
      	dram_para35 = <0x00000000>;
      	dram_para36 = <0x00000000>;
      	dram_para37 = <0x00000000>;
      	dram_para38 = <0x00000000>;
      	dram_para39 = <0x00000000>;
      	dram_para40 = <0x00000000>;
      	dram_para41 = <0x00000000>;
      	dram_para42 = <0x00000000>;
      	dram_para43 = <0x00000000>;
      	dram_para44 = <0x00000000>;
      	dram_para45 = <0x00000000>;
      	dram_para46 = <0x00000000>;
      	dram_para47 = <0x00000000>;
      	dram_para48 = <0x00000000>;
      	dram_para49 = <0x00000000>;
      	dram_para50 = <0x00000000>;
      	dram_para51 = <0x00000000>;
      	dram_para52 = <0x00000000>;
      	dram_para53 = <0x00000000>;
      	dram_para54 = <0x00000000>;
      	dram_para55 = <0x00000000>;
      	dram_para56 = <0x00000000>;
      	dram_para57 = <0x00000000>;
      	dram_para58 = <0x00000000>;
      	dram_para59 = <0x00000000>;
      	dram_para60 = <0x00000000>;
      	dram_para61 = <0x00000000>;
      	dram_para62 = <0x00000000>;
      	dram_para63 = <0x00000000>;
      	dram_para64 = <0x00000000>;
      	dram_para65 = <0x00000000>;
      	dram_para66 = <0x00000000>;
      	dram_para67 = <0x00000000>;
      	dram_para68 = <0x00000000>;
      	dram_para69 = <0x00000000>;
      	dram_para70 = <0x00000000>;
      	dram_para71 = <0x00000000>;
      	dram_para72 = <0x00000000>;
      	dram_para73 = <0x00000000>;
      	dram_para74 = <0x00000000>;
      	dram_para75 = <0x00000000>;
      	dram_para76 = <0x00000000>;
      	dram_para77 = <0x00000000>;
      	dram_para78 = <0x00000000>;
      	dram_para79 = <0x00000000>;
      	dram_para80 = <0x00000000>;
      	dram_para81 = <0x00000000>;
      	dram_para82 = <0x00000000>;
      	dram_para83 = <0x00000000>;
      	dram_para84 = <0x00000000>;
      	dram_para85 = <0x00000000>;
      	dram_para86 = <0x00000000>;
      	dram_para87 = <0x00000000>;
      	dram_para88 = <0x00000000>;
      	dram_para89 = <0x00000000>;
      	dram_para90 = <0x00000000>;
      	dram_para91 = <0x00000000>;
      	dram_para92 = <0x00000000>;
      	dram_para93 = <0x00000000>;
      	dram_para94 = <0x00000000>;
      	dram_para95 = <0x00000000>;
      };
      
      #if 0
      #include "myir-lt527-lvds-10-inch.dtsi "
      #else
      #include "myir-lt527-lvds-7-inch.dtsi"
      #endif
      
      

      myb-lt527-i-gk.dts:

      /*
       * Allwinner Technology CO., Ltd.
       */
      
      /dts-v1/;
      
      #include "sun55iw3p1.dtsi"
      #include <uapi/linux/input-event-codes.h>
      
      /{
      	board = "T527", "T527-DEMO-AXP717B";
      	compatible = "allwinner,t527", "arm,sun55iw3p1";
      
      	aliases {
      		pmu0 = &pmu0;
      		serial0 = &uart0;
      		hdmi = &hdmi;
      		reg-tcs0 = &reg_tcs0;
      		reg-sy0 = &reg_sy0;
      		reg-axp1530 = &reg_ext_axp1530_dcdc1;
      		tcs0 = &tcs0;
      		sy0 = &sy0;
      		axp1530 = &axp1530;
      		cpu-ext = &cpu4;
      		standby-param = &standby_param;
      		arisc-config = &arisc_config;
      		cir_param = &cir_param;
      	};
      /*
      	reg_usb0_vbus: usb0-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb0-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      */
      /*
      	reg_usb1_vbus: usb1-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb1-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      */
      	reg_vdd_4g_3v8: vdd_4g_3v8 {
      		compatible = "regulator-fixed";
      		regulator-name = "vdd_4g_3v8";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PI 13 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      		regulator-always-on;
      		regulator-boot-on;
      	};
      	standby_param: standby_param {
      		vdd-cpu = <0x00000001>;
      		vdd-cpub = <0x00000001>;
      		vdd-sys = <0x00000002>;
      		vcc-pll = <0x00000080>;
      		vcc-io  = <0x00004000>;
      
      		osc24m-on = <0x0>;
      		dsp-standby-en = <0x1>;
      	};
      
      	cir_param: cir_param {
      		gpio_group = <1>;      /* 0:PL 1:PM */
      		gpio_pin = <11>;
      		gpio_function = <2>;
      		count = <15>;
      		ir_power_key_code0 = <0x40>;
      		ir_addr_code0 = <0xfe01>;
      		ir_power_key_code1 = <0x1a>;
      		ir_addr_code1 = <0xfb04>;
      		ir_power_key_code2 = <0xf2>;
      		ir_addr_code2 = <0x2992>;
      		ir_power_key_code3 = <0x57>;
      		ir_addr_code3 = <0x9f00>;
      		ir_power_key_code4 = <0xdc>;
      		ir_addr_code4 = <0x4cb3>;
      		ir_power_key_code5 = <0x18>;
      		ir_addr_code5 = <0xff00>;
      		ir_power_key_code6 = <0xdc>;
      		ir_addr_code6 = <0xdd22>;
      		ir_power_key_code7 = <0x0d>;
      		ir_addr_code7 = <0xbc00>;
      		ir_power_key_code8 = <0x4d>;
      		ir_addr_code8 = <0x4040>;
      		ir_power_key_code9 = <0x08>;
      		ir_addr_code9 = <0xfb04>;
      		ir_power_key_code10 = <0x00>;
      		ir_addr_code10 = <0xfc03>;
      		ir_power_key_code11 = <0x00>;
      		ir_addr_code11 = <0xbf00>;
      		ir_power_key_code12 = <0xea>;
      		ir_addr_code12 = <0xfb04>;
      		ir_power_key_code13 = <0x42>;
      		ir_addr_code13 = <0xbf00>;
      		ir_power_key_code14 = <0x0f>;
      		ir_addr_code14 = <0xff00>;
      	};
      
      	arisc_config: arisc_config {
      		s_uart_config {
      			pins = "PL2", "PL3";
      			function = <2>, <2>;
      			status = "disabled";
      		};
      	};
      
      	reserved-memory {
      		dsp0ddr_reserved: dsp0ddr@4a000000 {
      			reg = <0x0 0x4a000000 0x0 0x00a00000>;
      			no-map;
      		};
      
      		riscvsram0_reserved: riscvsram0@7280000 {
      			reg = <0x0 0x07280000 0x0 0x40000>;
      			no-map;
      		};
      
      		riscvsram1_reserved: riscvsram1@72c0000 {
      			reg = <0x0 0x072c0000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		* The name should be "vdev%dbuffer".
      		* Its size should be not less than
      		*     RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
      		*   = 512 * (num of buffers in a vring) * 2
      		*/
      		dsp_vdev0buffer: vdev0buffer@4ac00000 {
      			compatible = "shared-dma-pool";
      			reg = <0x0 0x4ac00000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		* The name should be "vdev%dvring%d".
      		* The size of each should be not less than
      		*     PAGE_ALIGN(vring_size(num, align))
      		*   = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
      		*
      		* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
      		*/
      		dsp_vdev0vring0: vdev0vring0@4ac40000 {
      			reg = <0x0 0x4ac40000 0x0 0x2000>;
      			no-map;
      		};
      		dsp_vdev0vring1: vdev0vring1@4ac42000 {
      			reg = <0x0 0x4ac42000 0x0 0x2000>;
      			no-map;
      		};
      
      		/*
      		 * The name should be "vdev%dbuffer".
      		 * Its size should be not less than
      		 *     RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
      		 *   = 512 * (num of buffers in a vring) * 2
      		 */
      		rv_vdev0buffer: vdev0buffer@4ae00000 {
      			compatible = "shared-dma-pool";
      			reg = <0x0 0x4ae00000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		 * The name should be "vdev%dvring%d".
      		 * The size of each should be not less than
      		 *     PAGE_ALIGN(vring_size(num, align))
      		 *   = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
      		 *
      		 * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
      		 */
      		rv_vdev0vring0: vdev0vring0@4ae40000 {
      			reg = <0x0 0x4ae40000 0x0 0x2000>;
      			no-map;
      		};
      		rv_vdev0vring1: vdev0vring1@4ae42000 {
      			reg = <0x0 0x4ae42000 0x0 0x2000>;
      			no-map;
      		};
      
      		/*
      		* dsp ram addr
      		*/
      		dsp0iram_reserved: dsp0iram@20000 {
      			reg = <0x0 0x20000 0x0 0x10000>;
      			no-map;
      		};
      		dsp0dram0_reserved: dsp0dram0@30000 {
      			reg = <0x0 0x30000 0x0 0x8000>;
      			no-map;
      		};
      		dsp0dram1_reserved: dsp0dram1@38000 {
      			reg = <0x0 0x38000 0x0 0x8000>;
      			no-map;
      		};
      
      		dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 {
      			compatible = "shared-dma-pool";
      			no-map;
      			reg = <0x0 0x4ae44000 0x0 0x8000>;
      		};
      
      		dsp_share_space@4ab00000 {
      			no-map;
      			reg = <0x0 0x4ab00000 0x0 0x10000>;
      		};
      	};
      
      	rpbuf_controller0: rpbuf_controller@0 {
      		compatible = "allwinner,rpbuf-controller";
      		remoteproc = <&dsp0_rproc>;
      		ctrl_id = <0>;
      		memory-region = <&dsp0_rpbuf_reserved>;
      		status = "okay";
      	};
      
          ap6256_wifi: ap6256_wifi {
              compatible = "android,bcmdhd_wlan";
              gpio_wl_reg_on = <&pio PC 3 GPIO_ACTIVE_HIGH>;
              gpio_wl_host_wake = <&pio PC 7 GPIO_ACTIVE_HIGH>;
          };
      
      	gpio-keys {
      		compatible = "gpio-keys";
      		status = "okay";
      		vol-down-key {
      				gpios = <&pio PI 11 GPIO_ACTIVE_LOW>;
      				linux,code = <114>;
      				label = "user key";
      				debounce-interval = <10>;
      				wakeup-source = <0x1>;
      				gpio-key,wakeup;
      		};
      	};
      
      	leds {
      		compatible = "gpio-leds";
      		pinctrl-names = "default";
      		status = "okay";
      
      		led0: led-green {
      			label = "green";
      			gpios = <&pio PB 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
      			linux,defaults-trigger = "heartbeat";
      			defaults-state = "on";
      		};
      
      		led1: led-red {
      			label = "red";
      			gpios = <&pio PB 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
      			linux,defaults-trigger = "heartbeat";
      			defaults-state = "on";
      		};
      	};
      
      };
      
      &r_pio {
      	uart8_pins_a: uart8_pins@0 {
      		pins = "PL12", "PL13";
      		function = "s_uart0";
      	};
      
      	uart8_pins_b: uart8_pins@1 {
      		pins = "PL12", "PL13";
      		function = "gpio_in";
      	};
      
      	uart9_pins_a: uart9_pins@0 {
      		pins = "PL2", "PL3";
      		function = "s_uart1";
      	};
      
      	uart9_pins_b: uart9_pins@1 {
      		pins = "PL2", "PL3";
      		function = "gpio_in";
      	};
      
      	s_twi0_pins_default: s_twi0@0 {
      		pins = "PL0", "PL1";
      		function = "s_twi0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_twi0_pins_sleep: s_twi0@1 {
      		pins = "PL0", "PL1";
      		function = "gpio_in";
      	};
      
      	s_twi1_pins_default: s_twi1@0 {
      		pins = "PL8", "PL9";
      		function = "s_twi1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_twi1_pins_sleep: s_twi1@1 {
      		pins = "PL8", "PL9";
      		function = "gpio_in";
      	};
      
      	s_twi2_pins_default: s_twi2@0 {
      		pins = "PM4", "PM5";
      		function = "s_twi2";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	s_twi2_pins_sleep: s_twi2@1 {
      		pins = "PM4", "PM5";
      		function = "gpio_in";
      	};
      
      	s_irrx_pins_default: s_irrx@0 {
      		pins = "PL11";
      		function = "s_cir";
      	};
      
      	s_irrx_pins_sleep: s_irrx@1 {
      		pins = "PL11";
      		function = "gpio_in";
      	};
      };
      
      &pio {
      	vcc-pg-supply = <&reg_pio1_8>;
      	vcc-pf-supply = <&reg_pio1_8>;
      	vcc-pfo-supply = <&reg_pio3_3>;
      	vcc-pd-supply = <&reg_pio3_3>;
      	vcc-pe-supply = <&reg_pio3_3>;
      	vcc-pi-supply = <&reg_pio3_3>;
      	vcc-pj-supply = <&reg_pio3_3>;
      	vcc-pk-supply = <&reg_pio3_3>;
      
      	uart0_pins_a: uart0_pins@0 {
      		pins = "", "";
      		function = "uart0";
      	};
      
      	uart0_pins_b: uart0_pins@1 {
      		pins = "", "";
      		function = "gpio_in";
      	};
      
      	uart2_pins_a: uart2_pins@0 {
      		pins = "PB0", "PB1";
      		function = "uart2";
      	};
      
      	uart2_pins_b: uart2_pins@1 {
      		pins = "PB0", "PB1";
      		function = "gpio_in";
      	};
      
      	uart3_pins_a: uart3_pins@0 {
      		pins = "PJ20", "PJ21", "PJ22", "PJ23";
      		function = "uart3";
      	};
      
      	uart3_pins_b: uart3_pins@1 {
      		pins = "PJ20", "PJ21", "PJ22", "PJ23";
      		function = "gpio_in";
      	};
      
      	uart4_pins_a: uart4_pins@0 {
      		pins = "PE1", "PE2";	// "PE3", "PE4";
      		function = "uart4";
      	};
      
      	uart4_pins_b: uart4_pins@1 {
      		pins = "PE1", "PE2";	// "PE3", "PE4";
      		function = "gpio_in";
      	};
      
      	uart5_pins_a: uart5_pins@0 {
      		//pins = "PE13", "PE14";
      		//function = "uart5";
      		pins = "";
      	};
      
      	uart5_pins_b: uart5_pins@1 {
      		//pins = "PE13", "PE14";
      		//function = "gpio_in";
      		pins = "";
      	};
      
      	uart6_pins_a: uart6_pins@0 {
      		pins = "PE11", "PE12";
      		function = "uart6";
      	};
      
      	uart6_pins_b: uart6_pins@1 {
      		pins = "PE11", "PE12";
      		function = "gpio_in";
      	};
      
      	uart7_pins_a: uart7_pins@0 {
      		pins = "PB11", "PB12", "PB13", "PB14";
      		function = "uart7";
      	};
      
      	uart7_pins_b: uart7_pins@1 {
      		pins = "PB11", "PB12", "PB13", "PB14";
      		function = "gpio_in";
      	};
      
      	a_pwm0_pin_active: a_pwm0@0 {
      		pins = "PD23";
      		function = "pwm0";
      	};
      
      	a_pwm0_pin_sleep: a_pwm0@1 {
      		pins = "PD23";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm1_pin_active: a_pwm1@0 {
      		pins = "PD22";
      		function = "pwm1";
      	};
      
      	a_pwm1_pin_sleep: a_pwm1@1 {
      		pins = "PD22";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm2_pin_active: a_pwm2@0 {
      		pins = "PB11";
      		function = "pwm2";
      	};
      
      	a_pwm2_pin_sleep: a_pwm2@1 {
      		pins = "PB11";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm3_pin_active: a_pwm3@0 {
      		pins = "PB12";
      		function = "pwm3";
      	};
      
      	a_pwm3_pin_sleep: a_pwm3@1 {
      		pins = "PB12";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm4_pin_active: a_pwm4@0 {
      		pins = "PI3";
      		function = "pwm4";
      	};
      
      	a_pwm4_pin_sleep: a_pwm4@1 {
      		pins = "PI3";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm5_pin_active: a_pwm5@0 {
      		pins = "PI4";
      		function = "pwm5";
      	};
      
      	a_pwm5_pin_sleep: a_pwm5@1 {
      		pins = "PI4";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm10_pin_active: a_pwm10@0 {
      		pins = "PI9";
      		function = "pwm10";
      	};
      
      	a_pwm10_pin_sleep: a_pwm10@1 {
      		pins = "PI9";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	ledc_pins_a: ledc@0 {
      		pins = "PG0";
      		function = "ledc";
      		drive-strength = <10>;
      	};
      
      	ledc_pins_b: ledc@1 {
      		pins = "PG0";
      		function = "gpio_in";
      	};
      
      	irrx_pins_default: irrx@0 {
      		pins = "PI8";
      		function = "cir";
      	};
      
      	irrx_pins_sleep: irrx@1 {
      		pins = "PI8";
      		function = "gpio_in";
      	};
      
      	irtx_pins_default: irtx@0 {
      		pins = "PH18";
      		function = "cir";
      	};
      
      	irtx_pins_sleep: irtx@1 {
      		pins = "PH18";
      		function = "gpio_in";
      	};
      
      	twi0_pins_default: twi0@0 {
      		pins = "PD22", "PD23";
      		function = "twi0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi0_pins_sleep: twi0@1 {
      		pins = "PD22", "PD23";
      		function = "gpio_in";
      	};
      
      	twi1_pins_default: twi1@0 {
      		pins = "PB4", "PB5";
      		function = "twi1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi1_pins_sleep: twi1@1 {
      		pins = "PB4", "PB5";
      		function = "gpio_in";
      	};
      
      	twi2_pins_default: twi2@0 {
      		pins = "PE1", "PE2";
      		function = "twi2";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	twi2_pins_sleep: twi2@1 {
      		pins = "PE1", "PE2";
      		function = "gpio_in";
      	};
      
      	twi3_pins_default: twi3@0 {
      		pins = "PE3", "PE4";
      		function = "twi3";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	twi3_pins_sleep: twi3@1 {
      		pins = "PE3", "PE4";
      		function = "gpio_in";
      	};
      
      	twi4_pins_default: twi4@0 {
      		pins = "PI0", "PI1";
      		function = "twi4";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi4_pins_sleep: twi4@1 {
      		pins = "PI0", "PI1";
      		function = "gpio_in";
      	};
      
      	twi5_pins_default: twi5@0 {
      		pins = "PJ26", "PJ27";
      		function = "twi5";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi5_pins_sleep: twi5@1 {
      		pins = "PJ26", "PJ27";
      		function = "gpio_in";
      	};
      
      	owa_pins_a: owa@0 {
      		pins = "PI10";
      		function = "owa";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	owa_pins_b: owa@1 {
      		pins = "PI10";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_a: i2s0@0 {
      		pins = "PB4", "PB5", "PB6", "PB7", "PB8";
      		function = "i2s0";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_b: i2s0@1 {
      		pins = "PB4", "PB5", "PB6", "PB7", "PB8";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_a: i2s1@0 {
      		pins = "PG10", "PG11", "PG12", "PG13", "PG14";
      		function = "i2s1";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_b: i2s1@1 {
      		pins = "PG10", "PG11", "PG12", "PG13", "PG14";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_a: i2s2@0 {
      		pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
      		function = "i2s2";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_b: i2s2@1 {
      		pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_a: i2s3@0 {
      		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
      		function = "i2s3";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_b: i2s3@1 {
      		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	rgb24_pins_a: rgb24@0 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
      			"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
      			"PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27";
      		      function = "dpss";
      		      drive-strength = <30>;
      	      };
      	rgb24_pins_b: rgb24@1 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
      			"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
      			"PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27";
      		      function = "gpio_in";
      	      };
      	lvds0_pins_a: lvds0@0 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
      		      function = "lvds0";
      		      drive-strength = <30>;
      	      };
      	lvds0_pins_b: lvds0@1 {
      		      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
      		      function = "gpio_in";
      	      };
      
      	nand0_pins_default: nand0@0 {
      		pins = "PC0", "PC1", "PC2", "PC5",
      			 "PC8", "PC9", "PC10", "PC11",
      			 "PC12", "PC13", "PC14", "PC15",
      			 "PC16";
      		function = "nand0";
      		drive-strength = <30>;
      	};
      
      	nand0_pins_rb: nand0@1 {
      		pins = "PC4", "PC6", "PC3", "PC7";
      		function = "nand0";
      		drive-strength = <30>;
      		bias-pull-up;   /* only RB&CE should be pulled up */
      	};
      
      	nand0_pins_sleep: nand0@2 {
      		pins = "PC0", "PC1", "PC2", "PC3",
      			 "PC4", "PC5", "PC6", "PC7",
      			 "PC8", "PC9", "PC10", "PC11",
      			 "PC12", "PC13", "PC14", "PC15",
      			 "PC16";
      		function = "io_disabled";
      		drive-strength = <10>;
      	};
      
      	gmac0_pins_default: gmac0@0 {
      		pins = "PH0", "PH1", "PH2", "PH3",
      			"PH4", "PH5", "PH6", "PH7",
      			 "PH9", "PH10","PH13","PH14",
      			  "PH15","PH16","PH17","PH18";
      		drive-strength = <40>;
      		function = "gmac0";
      		bias-pull-up;
      	};
      
      	gmac0_pins_sleep: gmac0@1 {
      		pins = "PH0", "PH1", "PH2", "PH3",
      			"PH4", "PH5", "PH6", "PH7",
      			 "PH9", "PH10","PH13","PH14",
      			  "PH15","PH16","PH17","PH18";
      		function = "gpio_in";
      	};
      
      	gmac1_pins_default: gmac1@0 {
      		pins = "PJ0", "PJ1", "PJ2", "PJ3",
      			"PJ4", "PJ5", "PJ6", "PJ7",
      			"PJ8", "PJ9", "PJ10", "PJ11",
      			"PJ12","PJ13", "PJ14", "PJ15";
      		drive-strength = <40>;
      		function = "gmac1";
      		bias-pull-up;
      	};
      
      	gmac1_pins_sleep: gmac1@1 {
      		pins = "PJ0", "PJ1", "PJ2", "PJ3",
      			"PJ4", "PJ5", "PJ6", "PJ7",
      			"PJ8", "PJ9", "PJ10", "PJ11",
      			"PJ12","PJ13", "PJ14", "PJ15";
      		function = "gpio_in";
      	};
      
      	spi1_pin_default: spi1_pin_default{
      		pins = "PI2","PI3","PI4","PI5";
      		function = "spi1";
      	};
      
      	spi1_pin_sleep: spi1_pin_sleep{
      		pins = "PI2","PI3","PI4","PI5";
      		function = "gpio_in";
      	};
      
      	spi2_pin_default: spi2_default {
      		pins = "PI6","PI7","PI8","PI12";
      		function = "spi2";
      	};
      
      	spi2_pin_sleep: spi2_sleep {
      		pins = "PI6","PI7","PI8","PI12";
      		function = "gpio_in";
      	};
      };
      
      &spi1 {
      	clock-frequency = <100000000>;
      	pinctrl-names = "default","sleep";
      	pinctrl-0 = <&spi1_pin_default>;
      	pinctrl-1 = <&spi1_pin_sleep>;
      
      	sunxi,spi-num-cs = <1>;
      	sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
      	sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
      	status = "okay";
      
      	spidev1 {
      		reg = <0>;
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <500000>;
      		spi-rx-bus-width = <0x1>;
      		spi-tx-bus-width = <0x1>;
      	};
      };
      &spi2{
      	clock-frequency = <100000000>;
      	pinctrl-names = "default","sleep";
      	pinctrl-0 = <&spi2_pin_default>;
      	pinctrl-1 = <&spi2_pin_sleep>;
      
      	sunxi,spi-num-cs = <1>;
      	sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
      	sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
      	status = "okay";
      
      	spidev2 {
      		reg = <0>;
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <500000>;
      		spi-rx-bus-width = <0x1>;
      		spi-tx-bus-width = <0x1>;
      	};
      	
      };
      
      &soc {
      	auto_print@54321 {
      		reg = <0x0 0x54321 0x0 0x0>;
      		device_type = "auto_print";
      		status = "okay";
      	};
      	car_reverse: car-reverse {
      		compatible = "allwinner,sunxi-car-reverse";
      
      		/* video source setting*/
      		video_channel = <0>;
      		video_source = <0>;
      		format_type = <0>;
      		video_source_width = <1920>;
      		video_source_height = <1080>;
      		src_size_adaptive = <1>;
      		/* display setting */
      		overview_type = <1>;
      		screen_width = <1280>;
      		screen_height = <800>;
      		screen_size_adaptive = <1>;
      		discard_frame = <0>;
      		di_used = <0>;
      		g2d_used = <1>;
      		rotation = <0>;
      		/* auxiliary line setting */
      		auxiliary_line_type = <1>;
      		aux_angle = <0>;
      		aux_lr = <0>;
      		reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>;
      		status = "disabled";
      	};
      
      
      	dsp0_rproc: dsp0_rproc@0 {
      		mboxes = <&msgbox 4>, <&msgbox 6>;
      		mbox-names = "arm-kick", "dsp-standby";
      		memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>,
      				<&dsp0iram_reserved>, <&dsp0dram0_reserved>, <&dsp0dram1_reserved>;
      		memory-mappings =
      			/* < DA         len             PA >    */
      			/* local SRAM via external bus */
      			< 0x20000       0x20000         0x20000 >,
      			/* local SRAM via internal bus */
      			< 0x400000      0x10000         0x20000 >,
      			< 0x420000      0x8000          0x30000 >,
      			< 0x440000      0x8000          0x38000 >,
      			/* DDR front 256MB */
      			< 0x10000000    0x10000000      0x40000000 >,
      			/* local SRAM via internal bus */
      			< 0x20020000    0x10000         0x400000 >,
      			< 0x20030000    0x8000          0x420000 >,
      			< 0x20038000    0x8000          0x440000 >,
      
      			/* DDR front 256MB */
      			< 0x30000000    0x10000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0x40000000    0x40000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0x80000000    0x40000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0xC0000000    0x40000000      0x40000000 >;
      		standby-ctrl-en = <0x1>;
      		standby-record-reg = <0x07090110>;
      		status = "okay";
      	};
      
      	e906_rproc: e906_rproc@7130000 {
      		mboxes = <&msgbox 8>;
      		mbox-names = "arm-kick";
      		memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>;
      		memory-mappings =
      			/* < DA		len		PA >	*/
      			/* DSP RAM */
      			< 0x20000	0x20000		0x20000 >,
      			/* SRAM A2 */
      			< 0x40000	0x24000		0x40000 >,
      			/* DDR */
      			< 0x8000000	0x37f00000	0x8000000 >,
      			/* SRAM SPACE 0 */
      			< 0x3ffc0000	0x40000		0x07280000 >,
      			/* SRAM SPACE 1 */
      			< 0x40000000	0x40000		0x072c0000 >,
      			/* DRAM SPACE */
      			< 0x40040000	0x3ffc0000	0x40040000>;
      		status = "okay";
      	};
      
      };
      
      &uart0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart0_pins_a>;
      	pinctrl-1 = <&uart0_pins_b>;
      	uart-supply = <&reg_cldo3>;
      	status = "okay";
      };
      
      &uart1 {
      	status = "disabled";
      };
      
      &uart2 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart2_pins_a>;
      	pinctrl-1 = <&uart2_pins_b>;
      	status = "okay";
      };
      
      &uart3 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart3_pins_a>;
      	pinctrl-1 = <&uart3_pins_b>;
      	status = "okay";
      };
      
      &uart4 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart4_pins_a>;
      	pinctrl-1 = <&uart4_pins_b>;
      	uart4_type = <2>;	//io_num
      	sunxi,uart-rs485 = <1>;
      	sunxi,uart-485fl = <0>;
      	//sunxi,uart-485oe-gpios = <&pio PE 3 1 0xffffffff 0xffffffff 0>;
      	sunxi,uart-485oe-gpios = <&pio PE 3 GPIO_ACTIVE_HIGH>;
      	status = "okay";
      };
      
      &uart5 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart5_pins_a>;
      	pinctrl-1 = <&uart5_pins_b>;
      	status = "disabled";
      };
      
      &uart6 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart6_pins_a>;
      	pinctrl-1 = <&uart6_pins_b>;
      	uart6_type = <2>; //io_num
      	sunxi,uart-rs485 = <1>;
      	sunxi,uart-485fl = <0>;
      	//sunxi,uart-485oe-gpios = <&pio PE 13 1 0xffffffff 0xffffffff 0>;
      	sunxi,uart-485oe-gpios = <&pio PE 13 GPIO_ACTIVE_HIGH>;
      	status = "okay";
      };
      
      &uart7 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart7_pins_a>;
      	pinctrl-1 = <&uart7_pins_b>;
      	status = "okay";
      };
      
      &uart8 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart8_pins_a>;
      	pinctrl-1 = <&uart8_pins_b>;
      	status = "okay";
      };
      
      &uart9 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart9_pins_a>;
      	pinctrl-1 = <&uart9_pins_b>;
      	status = "okay";
      };
      
      &lradc {
      	key_cnt = <2>;
      	key0 = <210 0x73>;
      	key1 = <410 0x72>;
      	key_debounce;
      	debounce_value = <50>;
      	status = "okay";
      };
      
      &irrx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&irrx_pins_default>;
      	pinctrl-1 = <&irrx_pins_sleep>;
      	irrx-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &s_irrx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&s_irrx_pins_default>;
      	pinctrl-1 = <&s_irrx_pins_sleep>;
      	status = "okay";
      };
      
      &irtx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&irtx_pins_default>;
      	pinctrl-1 = <&irtx_pins_sleep>;
      	status = "disabled";
      };
      
      &gpadc0 {
      	channel_num = <2>;
      	channel_select = <3>;
      	channel_data_select = <3>;
      	channel_compare_select = <3>;
      	channel_cld_select = <3>;
      	channel_chd_select = <3>;
      	channel0_compare_lowdata = <1700000>;
      	channel0_compare_higdata = <1200000>;
      	channel1_compare_lowdata = <460000>;
      	channel1_compare_higdata = <1200000>;
      	status = "disabled";
      };
      
      &gpadc1 {
      	channel_num = <2>;
      	channel_select = <3>;
      	channel_data_select = <3>;
      	channel_compare_select = <3>;
      	channel_cld_select = <3>;
      	channel_chd_select = <3>;
      	channel0_compare_lowdata = <1700000>;
      	channel0_compare_higdata = <1200000>;
      	channel1_compare_lowdata = <460000>;
      	channel1_compare_higdata = <1200000>;
      	status = "disabled";
      };
      
      &a_pwm0 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm0_pin_active>;
      	pinctrl-1 = <&a_pwm0_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &a_pwm1 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm1_pin_active>;
      	pinctrl-1 = <&a_pwm1_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm2 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm2_pin_active>;
      	pinctrl-1 = <&a_pwm2_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm3 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm3_pin_active>;
      	pinctrl-1 = <&a_pwm3_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm4 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm4_pin_active>;
      	pinctrl-1 = <&a_pwm4_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm5 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm5_pin_active>;
      	pinctrl-1 = <&a_pwm5_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm10 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm10_pin_active>;
      	pinctrl-1 = <&a_pwm10_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &ledc  {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&ledc_pins_a>;
      	pinctrl-1 = <&ledc_pins_b>;
      	led_count = <34>;
      	output_mode = "GRB";
      	reset_ns = <84>;
      	t1h_ns = <800>;
      	t1l_ns = <320>;
      	t0h_ns = <300>;
      	t0l_ns = <800>;
      	wait_time0_ns = <84>;
      	wait_time1_ns = <84>;
      	wait_data_time_ns = <600000>;
      	status = "disabled";
      };
      
      &twi0 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi0_pins_default>;
      	pinctrl-1 = <&twi0_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	pcie_usb_phy@74 {
      		compatible = "combphy,phy74";
      		reg = <0x74>;
      		status = "disabled";
      	};
      	pcie_usb_phy@75 {
      		compatible = "combphy,phy75";
      		reg = <0x75>;
      		status = "disabled";
      	};
      
      	ctp {
      		compatible = "allwinner,goodix";
      		reg = <0x5d>;
      		device_type = "ctp";
      		status = "disabled";
      		ctp_name = "gt9xxnew_ts";
      		ctp_twi_id = <0x0>;
      		ctp_twi_addr = <0x5d>;
      		ctp_screen_max_x = <0x320>;
      		ctp_screen_max_y = <0x500>;
      		ctp_revert_x_flag = <0x1>;
      		ctp_revert_y_flag = <0x1>;
      		ctp_exchange_x_y_flag = <0x0>;
      		ctp_int_port = <&pio PH 9 GPIO_ACTIVE_LOW>;
      		ctp_wakeup = <&pio PH 10 GPIO_ACTIVE_LOW>;
      		ctp-supply = <&reg_cldo2>;
      		ctp_power_ldo_vol = <3300>;
      	};
      
      	gt9xx {
      		compatible = "goodix,gt9xx";
      		reg = <0x5d>;
      		status = "disabled";
      		irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			B4 00 05 20 03 0A 3D 00 01 0A
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 06 17 19 1F 14 8E 2E 99
      			2D 2F 35 11 00 00 00 1A 03 10
      			00 00 00 00 00 00 00 00 00 00
      			00 32 50 94 D5 02 07 00 00 04
      			8E 48 00 8A 4D 00 86 53 00 83
      			59 00 80 60 00 80 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 01 04 05 06 07 08 09
      			0C 0D 0E 0F 10 11 14 15 16 17
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF 28 27 26 25 24 23 22 21
      			20 1F 1E 1C 1B 19 13 12 11 10
      			0F 0D 0C 0A 08 07 06 04 02 00
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF FF FF AB 01
      		];
      	};
      };
      
      &twi1 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi1_pins_default>;
      	pinctrl-1 = <&twi1_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	status = "okay";
      
      	mir3da {
      		compatible = "allwinner,mir3da";
      		reg = <0x26>;
      		device_type = "gsensor";
      		status = "disabled";
      		gsensor_twi_id = <0x1>;
      		gsensor_twi_addr = <0x26>;
      		gsensor_int1 = <&pio PH 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      		gsensor-supply = <&reg_cldo3>;
      		gsensor_vcc_io_val = <3300>;
      	};
      	eeprom@50 {
      		compatible = "atmel,24c32";
      		reg = <0x50>;
      		status = "okay";
      	};
      };
      
      &twi2 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi2_pins_default>;
      	pinctrl-1 = <&twi2_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &twi3 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi3_pins_default>;
      	pinctrl-1 = <&twi3_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &twi4 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi4_pins_default>;
      	pinctrl-1 = <&twi4_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	rtc@51 {
                  compatible = "nxp,pcf8563";
                  reg = <0x51>;
                  #clock-cells = <0>;
                  status = "okay";
          };
          /* 070 inch 
          ft5x06: ft5x06@38 {
      			compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
      			reg = <0x38>;
      			pinctrl-names = "default";
      			interrupt-parent = <&pio>;
      			interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
      			reset-gpios = <&pio PJ 18  GPIO_ACTIVE_LOW>;
      			touchscreen-size-x=<1024>;
      			touchscreen-size-y=<600>;
      	};
      	*/
      	// 101 inch
      	gt9271@14 {
                      compatible = "goodix,gt9271";
                      reg = <0x14>;
                      //pinctrl-names = "default";
                      //pinctrl-0 = <&pinctrl_i2c_synaptics_dsx_io>;
      
                      interrupt-parent = <&pio>;
      				interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
      				reset-gpios = <&pio PJ 18  GPIO_ACTIVE_LOW>;
                      /*synaptics,y-rotation;*/
                      esd-recovery-timeout-ms = <2000>;
                      irq-gpios = <&pio PJ 19 GPIO_ACTIVE_HIGH>;
                      //reset-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
                      status = "okay";
              };
          gt9xx {
      		compatible = "goodix,gt9xx";
      		reg = <0x5d>;
      		status = "okay";
      		irq-gpios = <&pio PJ 19 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			B4 00 05 20 03 0A 3D 00 01 0A
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 06 17 19 1F 14 8E 2E 99
      			2D 2F 35 11 00 00 00 1A 03 10
      			00 00 00 00 00 00 00 00 00 00
      			00 32 50 94 D5 02 07 00 00 04
      			8E 48 00 8A 4D 00 86 53 00 83
      			59 00 80 60 00 80 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 01 04 05 06 07 08 09
      			0C 0D 0E 0F 10 11 14 15 16 17
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF 28 27 26 25 24 23 22 21
      			20 1F 1E 1C 1B 19 13 12 11 10
      			0F 0D 0C 0A 08 07 06 04 02 00
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF FF FF AB 01
      		];
      	};
      };
      
      &twi5 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi5_pins_default>;
      	pinctrl-1 = <&twi5_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	gt9xx_secondary {
      		compatible = "goodix,gt9xx_secondary";
      		reg = <0x5d>;
      		status = "okay";
      		irq-gpios = <&pio PI 13 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PI 14 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			43 B0 04 80 07 0A 35 00 01 08
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 00 17 19 1B 14 90 2B 99
      			2F 31 8E 12 00 00 00 DA 03 10
      			00 00 00 00 00 00 00 00 00 11
      			00 29 4B 94 C5 02 07 00 00 04
      			85 2B 00 7D 31 00 77 37 00 72
      			3E 00 6F 46 00 6F 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 C0 00 00 00 00 00
      			00 00 17 16 15 14 11 10 0F 0E
      			0D 0C 09 08 07 06 05 04 01 00
      			FF FF FF FF FF FF 00 00 00 00
      			00 00 25 24 23 22 21 20 1F 1E
      			1C 1B 19 14 13 12 11 10 0F 0E
      			0D 0C 0A 08 07 06 04 02 00 FF
      			FF FF FF FF 00 00 00 00 00 00
      			00 00 00 00 73 01
      		];
      	};
      };
      
      &csi_mclk3_pins_a {
      	pins = "PK13";
      	function = "ncsi";
      };
      
      &csi_mclk3_pins_b {
      	pins = "PK13";
      };
      
      &mipib_4lane_pins_a {
         pins = "PK6", "PK7", "PK8",
                              "PK9";
      };
      
      &mipib_4lane_pins_b {
         pins = "PK6", "PK7", "PK8",
                              "PK9";
      };
      
      &vind0 {
      	csi_top = <360000000>;
      	csi_isp = <300000000>;
      	vind_mclkpin-supply = <&reg_bldo3>; /* vcc-pe */
      	vind_mclkpin_vol = <1800000>;
      	vind_mcsipin-supply = <&reg_bldo3>; /* vcc-pk */
      	vind_mcsipin_vol = <1800000>;
      	vind_mipipin-supply = <&reg_bldo3>; /* vcc-mcsi */
      	vind_mipipin_vol = <1800000>;
      	status = "okay";
      
      	csi3:csi@5823000 {
      		pinctrl-names = "default","sleep";
      		pinctrl-0 = <&ncsi_bt1120_pins_a>;
      		pinctrl-1 = <&ncsi_bt1120_pins_b>;
      		status = "disabled";
      	};
      
      	tdm0:tdm@5908000 {
      		work_mode = <0>;
      	};
      
      	isp00:isp@5900000 {
      		work_mode = <0>;
      	};
      
      	isp01:isp@58ffffc {
      		status = "disabled";
      	};
      
      	isp02:isp@58ffff8 {
      		status = "disabled";
      	};
      
      	isp03:isp@58ffff4 {
      		status = "disabled";
      	};
      
      	isp10:isp@4 {
      		status = "okay";
      	};
      
      	isp20:isp@5 {
      		status = "okay";
      	};
      
      	scaler00:scaler@5910000 {
      		work_mode = <0>;
      	};
      
      	scaler01:scaler@590fffc {
      		status = "disabled";
      	};
      
      	scaler02:scaler@590fff8 {
      		status = "disabled";
      	};
      
      	scaler03:scaler@590fff4 {
      		status = "disabled";
      	};
      
      	scaler10:scaler@5910400 {
      		work_mode = <0>;
      	};
      
      	scaler11:scaler@59103fc {
      		status = "disabled";
      	};
      
      	scaler12:scaler@59103f8 {
      		status = "disabled";
      	};
      
      	scaler13:scaler@59103f4 {
      		status = "disabled";
      	};
      
      	scaler20:scaler@5910800 {
      		work_mode = <0>;
      	};
      
      	scaler21:scaler@59107fc {
      		status = "disabled";
      	};
      
      	scaler22:scaler@59107f8 {
      		status = "disabled";
      	};
      
      	scaler23:scaler@59107f4 {
      		status = "disabled";
      	};
      
      	scaler30:scaler@5910c00 {
      		work_mode = <0>;
      	};
      
      	scaler31:scaler@5910bfc {
      		status = "disabled";
      	};
      
      	scaler32:scaler@5910bf8 {
      		status = "disabled";
      	};
      
      	scaler33:scaler@5910bf4 {
      		status = "disabled";
      	};
      	scaler40:scaler@16 {
      		status = "okay";
      	};
      	scaler50:scaler@17 {
      		status = "okay";
      	};
      
      	actuator0: actuator@2108180 {
      		device_type = "actuator0";
      		actuator0_name = "dw9714_act";
      		actuator0_slave = <0x18>;
      		actuator0_af_pwdn = <>;
      		actuator0_afvdd = "afvcc-csi";
      		actuator0_afvdd_vol = <2800000>;
      		status = "disabled";
      	};
      
      	flash0: flash@2108190 {
      		device_type = "flash0";
      		flash0_type = <2>;
      		flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>;
      		flash0_mode = <>;
      		flash0_flvdd = "";
      		flash0_flvdd_vol = <>;
      		device_id = <0>;
      		status = "disabled";
      	};
      
      	sensor0:sensor@5812000 {
      		device_type = "sensor0";
      		sensor0_mname = "ov5640_mipi_cam1";
      		sensor0_twi_cci_id = <7>;
      		sensor0_twi_addr = <0x78>;
      		// sensor0_mclk_id = <0>;
      		sensor0_pos = "rear";
      		sensor0_isp_used = <0>;
      		sensor0_fmt = <0>;
      		sensor0_stby_mode = <0>;
      		sensor0_vflip = <0>;
      		sensor0_hflip = <0>;
      		sensor0_cameravdd-supply = <>;
      		sensor0_cameravdd_vol = <>;
      		sensor0_iovdd-supply = <>;
      		sensor0_iovdd_vol = <>;
      		sensor0_avdd-supply = <>;
      		sensor0_avdd_vol = <>;
      		sensor0_dvdd-supply = <>;
      		sensor0_dvdd_vol = <>;
      		sensor0_power_en = <&pio PH 11 GPIO_ACTIVE_LOW>;
      		sensor0_reset = <&r_pio PM 0 GPIO_ACTIVE_LOW>;
      		sensor0_pwdn = <&r_pio PM 1 GPIO_ACTIVE_LOW>;
      		status = "okay";
      	};
      
      	sensor1:sensor@5812010 {
      		device_type = "sensor1";
      		sensor1_mname = "ov5640_mipi_cam2";
      		sensor1_twi_cci_id = <8>;
      		sensor1_twi_addr = <0x78>;
      		// sensor1_mclk_id = <3>;
      		sensor1_pos = "front";
      		sensor1_isp_used = <0>;
      		sensor1_fmt = <0>;
      		sensor1_stby_mode = <0>;
      		sensor1_vflip = <0>;
      		sensor1_hflip = <0>;
      		sensor1_iovdd-supply = <>;
      		sensor1_iovdd_vol = <>;
      		sensor1_avdd-supply = <>;
      		sensor1_avdd_vol = <>;
      		sensor1_dvdd-supply = <>;
      		sensor1_dvdd_vol = <>;
      		sensor1_power_en = <&pio PH 8 GPIO_ACTIVE_HIGH>;
      		sensor1_reset = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
      		sensor1_pwdn = <&r_pio PM 3 GPIO_ACTIVE_LOW>;
      		status = "okay";
      	};
      
      	vinc00:vinc@5830000 {
      		vinc0_csi_sel = <0>;
      		vinc0_mipi_sel = <0>;
      		vinc0_isp_sel = <4>;
      		vinc0_isp_tx_ch = <0>;
      		vinc0_tdm_rx_sel = <0>;
      		vinc0_rear_sensor_sel = <0>;
      		vinc0_front_sensor_sel = <0>;
      		vinc0_sensor_list = <0>;
      		device_id = <0>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc01:vinc@582fffc {
      		vinc1_csi_sel = <1>;
      		vinc1_mipi_sel = <2>;
      		vinc1_isp_sel = <1>;
      		vinc1_isp_tx_ch = <0>;
      		vinc1_tdm_rx_sel = <1>;
      		vinc1_rear_sensor_sel = <1>;
      		vinc1_front_sensor_sel = <1>;
      		vinc1_sensor_list = <0>;
      		device_id = <1>;
      		status = "disabled";
      	};
      
      	vinc02:vinc@582fff8 {
      		vinc2_csi_sel = <2>;
      		vinc2_mipi_sel = <0xff>;
      		vinc2_isp_sel = <2>;
      		vinc2_isp_tx_ch = <2>;
      		vinc2_tdm_rx_sel = <2>;
      		vinc2_rear_sensor_sel = <0>;
      		vinc2_front_sensor_sel = <0>;
      		vinc2_sensor_list = <0>;
      		device_id = <2>;
      		status = "disabled";
      	};
      
      	vinc03:vinc@582fff4 {
      		vinc3_csi_sel = <0>;
      		vinc3_mipi_sel = <0xff>;
      		vinc3_isp_sel = <0>;
      		vinc3_isp_tx_ch = <0>;
      		vinc3_tdm_rx_sel = <0>;
      		vinc3_rear_sensor_sel = <1>;
      		vinc3_front_sensor_sel = <1>;
      		vinc3_sensor_list = <0>;
      		device_id = <3>;
      		status = "disabled";
      	};
      
      	vinc10:vinc@5831000 {
      		vinc4_csi_sel = <0>;
      		vinc4_mipi_sel = <0>;
      		vinc4_isp_sel = <4>;
      		vinc4_isp_tx_ch = <1>;
      		vinc4_tdm_rx_sel = <0>;
      		vinc4_rear_sensor_sel = <0>;
      		vinc4_front_sensor_sel = <0>;
      		vinc4_sensor_list = <0>;
      		device_id = <4>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc11:vinc@5830ffc {
      		vinc5_csi_sel = <2>;
      		vinc5_mipi_sel = <0xff>;
      		vinc5_isp_sel = <1>;
      		vinc5_isp_tx_ch = <1>;
      		vinc5_tdm_rx_sel = <1>;
      		vinc5_rear_sensor_sel = <0>;
      		vinc5_front_sensor_sel = <0>;
      		vinc5_sensor_list = <0>;
      		device_id = <5>;
      		status = "disabled";
      	};
      
      	vinc12:vinc@5830ff8 {
      		vinc6_csi_sel = <2>;
      		vinc6_mipi_sel = <0xff>;
      		vinc6_isp_sel = <0>;
      		vinc6_isp_tx_ch = <0>;
      		vinc6_tdm_rx_sel = <0>;
      		vinc6_rear_sensor_sel = <0>;
      		vinc6_front_sensor_sel = <0>;
      		vinc6_sensor_list = <0>;
      		device_id = <6>;
      		status = "disabled";
      	};
      
      	vinc13:vinc@5830ff4 {
      		vinc7_csi_sel = <2>;
      		vinc7_mipi_sel = <0xff>;
      		vinc7_isp_sel = <0>;
      		vinc7_isp_tx_ch = <0>;
      		vinc7_tdm_rx_sel = <0>;
      		vinc7_rear_sensor_sel = <0>;
      		vinc7_front_sensor_sel = <0>;
      		vinc7_sensor_list = <0>;
      		device_id = <7>;
      		status = "disabled";
      	};
      
      	vinc20:vinc@5832000 {
      		vinc8_csi_sel = <0>;
      		vinc8_mipi_sel = <0>;
      		vinc8_isp_sel = <4>;
      		vinc8_isp_tx_ch = <2>;
      		vinc8_tdm_rx_sel = <0>;
      		vinc8_rear_sensor_sel = <0>;
      		vinc8_front_sensor_sel = <0>;
      		vinc8_sensor_list = <0>;
      		device_id = <8>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc21:vinc@5831ffc {
      		vinc9_csi_sel = <2>;
      		vinc9_mipi_sel = <0xff>;
      		vinc9_isp_sel = <0>;
      		vinc9_isp_tx_ch = <0>;
      		vinc9_tdm_rx_sel = <0>;
      		vinc9_rear_sensor_sel = <0>;
      		vinc9_front_sensor_sel = <0>;
      		vinc9_sensor_list = <0>;
      		device_id = <9>;
      		status = "disabled";
      	};
      
      	vinc22:vinc@5831ff8 {
      		vinc10_csi_sel = <2>;
      		vinc10_mipi_sel = <0xff>;
      		vinc10_isp_sel = <0>;
      		vinc10_isp_tx_ch = <0>;
      		vinc10_tdm_rx_sel = <0>;
      		vinc10_rear_sensor_sel = <0>;
      		vinc10_front_sensor_sel = <0>;
      		vinc10_sensor_list = <0>;
      		device_id = <10>;
      		status = "disabled";
      	};
      
      	vinc23:vinc@5831ff4 {
      		vinc11_csi_sel = <2>;
      		vinc11_mipi_sel = <0xff>;
      		vinc11_isp_sel = <0>;
      		vinc11_isp_tx_ch = <0>;
      		vinc11_tdm_rx_sel = <0>;
      		vinc11_rear_sensor_sel = <0>;
      		vinc11_front_sensor_sel = <0>;
      		vinc11_sensor_list = <0>;
      		device_id = <11>;
      		status = "disabled";
      	};
      
      	vinc30:vinc@5833000 {
      		vinc12_csi_sel = <0>;
      		vinc12_mipi_sel = <0>;
      		vinc12_isp_sel = <4>;
      		vinc12_isp_tx_ch = <3>;
      		vinc12_tdm_rx_sel = <0>;
      		vinc12_rear_sensor_sel = <0>;
      		vinc12_front_sensor_sel = <0>;
      		vinc12_sensor_list = <0>;
      		device_id = <12>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc31:vinc@5832ffc {
      		vinc13_csi_sel = <2>;
      		vinc13_mipi_sel = <0xff>;
      		vinc13_isp_sel = <0>;
      		vinc13_isp_tx_ch = <0>;
      		vinc13_tdm_rx_sel = <0>;
      		vinc13_rear_sensor_sel = <0>;
      		vinc13_front_sensor_sel = <0>;
      		vinc13_sensor_list = <0>;
      		device_id = <13>;
      		status = "disabled";
      	};
      
      	vinc32:vinc@5832ff8 {
      		vinc14_csi_sel = <2>;
      		vinc14_mipi_sel = <0xff>;
      		vinc14_isp_sel = <0>;
      		vinc14_isp_tx_ch = <0>;
      		vinc14_tdm_rx_sel = <0>;
      		vinc14_rear_sensor_sel = <0>;
      		vinc14_front_sensor_sel = <0>;
      		vinc14_sensor_list = <0>;
      		device_id = <14>;
      		status = "disabled";
      	};
      
      	vinc33:vinc@5832ff4 {
      		vinc15_csi_sel = <2>;
      		vinc15_mipi_sel = <0xff>;
      		vinc15_isp_sel = <0>;
      		vinc15_isp_tx_ch = <0>;
      		vinc15_tdm_rx_sel = <0>;
      		vinc15_rear_sensor_sel = <0>;
      		vinc15_front_sensor_sel = <0>;
      		vinc15_sensor_list = <0>;
      		device_id = <15>;
      		status = "disabled";
      	};
      
      	vinc40:vinc@5834000 {
      		vinc16_csi_sel = <2>;
      		vinc16_mipi_sel = <2>;
      		vinc16_isp_sel = <4>;
      		vinc16_isp_tx_ch = <0>;
      		vinc16_tdm_rx_sel = <0>;
      		vinc16_rear_sensor_sel = <1>;
      		vinc16_front_sensor_sel = <1>;
      		vinc16_sensor_list = <1>;
      		device_id = <16>;
      		status = "okay";
      	};
      
      	vinc50:vinc@5835000 {
      		vinc17_csi_sel = <2>;
      		vinc17_mipi_sel = <2>;
      		vinc17_isp_sel = <4>;
      		vinc17_isp_tx_ch = <1>;
      		vinc17_tdm_rx_sel = <0>;
      		vinc17_rear_sensor_sel = <1>;
      		vinc17_front_sensor_sel = <1>;
      		vinc17_sensor_list = <1>;
      		device_id = <17>;
      		status = "okay";
      	};
      };
      
      &twi6 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi0_pins_default>;
      	pinctrl-1 = <&s_twi0_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	device_type = "twi6";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	no_suspend = <1>;
      	status = "okay";
      
      	tcs0: tcs@41 {
      		compatible = "ext,tcs4838";
      		reg = <0x41>;
      		status = "okay";
      		tcs4838_delay = <0>;
      		regulator1: regulators@1 {
      			reg_tcs0: dcdc0 {
      				regulator-name = "tcs4838-dcdc0";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_tcs1: dcdc1 {
      				regulator-name = "tcs4838-dcdc1";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      		};
      		virtual-ext-dcdc0 {
      			compatible = "xpower-vregulator,ext-dcdc0";
      			dcdc0-supply = <&reg_tcs0>;
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_tcs1>;
      		};
      	};
      
      	sy0: sy@60 {
      		compatible = "ext,sy8827g";
      		reg = <0x60>;
      		status = "okay";
      		sy8827g_delay = <0>;
      		regulator2: regulators@2 {
      			reg_sy0: dcdc0 {
      				regulator-name = "sy8827g-dcdc0";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_sy1: dcdc1 {
      				regulator-name = "sy8827g-dcdc1";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      		};
      		virtual-ext-dcdc0 {
      			compatible = "xpower-vregulator,ext-dcdc0";
      			dcdc0-supply = <&reg_sy0>;
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_sy1>;
      		};
      	};
      
      	axp1530: axp1530@36{
      		compatible = "ext,axp1530";
      		status = "okay";
      		reg = <0x36>;
      
      		wakeup-source;
      
      		regulators{
      			reg_ext_axp1530_dcdc1: dcdc1 {
      				regulator-name = "axp1530-dcdc1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3400000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_dcdc2: dcdc2 {
      				regulator-name = "axp1530-dcdc2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1540000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-ramp-delay = <200>; /* FIXME */
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_dcdc3: dcdc3 {
      				regulator-name = "axp1530-dcdc3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1840000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_aldo1: ldo1 {
      				regulator-name = "axp1530-aldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      			};
      
      			reg_ext_axp1530_dldo1: ldo2 {
      				regulator-name = "axp1530-dldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      			};
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_ext_axp1530_dcdc1>;
      		};
      		virtual-ext-dcdc2 {
      			compatible = "xpower-vregulator,ext-dcdc2";
      			dcdc2-supply = <&reg_ext_axp1530_dcdc2>;
      		};
      		virtual-ext-dcdc3 {
      			compatible = "xpower-vregulator,ext-dcdc3";
      			dcdc3-supply = <&reg_ext_axp1530_dcdc3>;
      		};
      		virtual-ext-aldo1 {
      			compatible = "xpower-vregulator,ext-aldo1";
      			aldo1-supply = <&reg_ext_axp1530_aldo1>;
      		};
      		virtual-ext-dldo1 {
      			compatible = "xpower-vregulator,ext-dldo1";
      			dldo1-supply = <&reg_ext_axp1530_dldo1>;
      		};
      
      	};
      
      	pmu0: pmu@35 {
      		compatible = "x-powers,axp2202";
      		reg = <0x35>;
      		status = "okay";
      		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
      		interrupt-parent = <&nmi_intc>;
      		x-powers,drive-vbus-en;
      		pmu_reset = <0>;
      		pmu_irq_wakeup = <1>;
      		pmu_hot_shutdown = <1>;
      
      		wakeup-source;
      
      		usb_power_supply: usb_power_supply {
      			compatible = "x-powers,axp2202-usb-power-supply";
      			status = "okay";
      
      			pmu_usbpc_vol = <4600>;
      			pmu_usbpc_cur = <500>;
      			pmu_usbad_vol = <4000>;
      			pmu_usbad_cur = <2500>;
      			pmu_usb_typec_used = <1>;
      			wakeup_usb_in;
      			wakeup_usb_out;
      
      			det_acin_supply = <&gpio_power_supply>;
      			pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>;
      			pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>;
      		};
      
      		gpio_power_supply: gpio_power_supply {
      			compatible = "x-powers,gpio-supply";
      			status = "disabled";
      			pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>;
      			det_usb_supply = <&usb_power_supply>;
      		};
      
      		bat_power_supply: bat-power-supply {
      			compatible = "x-powers,axp2202-bat-power-supply";
      			param = <&axp2202_parameter>;
      			status = "disabled";
      
      			pmu_chg_ic_temp = <0>;
      
      			pmu_battery_rdc= <147>;
      			pmu_battery_cap = <1771>;
      			pmu_runtime_chgcur = <1000>;
      			pmu_suspend_chgcur = <1500>;
      			pmu_shutdown_chgcur = <1500>;
      			pmu_init_chgvol = <4200>;
      			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 = <2>;
      			pmu_bat_para8 = <3>;
      			pmu_bat_para9 = <4>;
      			pmu_bat_para10 = <6>;
      			pmu_bat_para11 = <9>;
      			pmu_bat_para12 = <14>;
      			pmu_bat_para13 = <26>;
      			pmu_bat_para14 = <38>;
      			pmu_bat_para15 = <49>;
      			pmu_bat_para16 = <52>;
      			pmu_bat_para17 = <56>;
      			pmu_bat_para18 = <60>;
      			pmu_bat_para19 = <64>;
      			pmu_bat_para20 = <70>;
      			pmu_bat_para21 = <77>;
      			pmu_bat_para22 = <83>;
      			pmu_bat_para23 = <87>;
      			pmu_bat_para24 = <90>;
      			pmu_bat_para25 = <95>;
      			pmu_bat_para26 = <99>;
      			pmu_bat_para27 = <99>;
      			pmu_bat_para28 = <100>;
      			pmu_bat_para29 = <100>;
      			pmu_bat_para30 = <100>;
      			pmu_bat_para31 = <100>;
      			pmu_bat_para32 = <100>;
      
      			pmu_bat_temp_enable = <1>;
      			pmu_jetia_en        = <1>;
      			pmu_bat_charge_ltf = <1738>; //-5
      			pmu_bat_charge_htf = <150>; //60
      			pmu_bat_shutdown_ltf = <2125>; //-10
      			pmu_bat_shutdown_htf = <130>; //65
      			pmu_jetia_cool = <1390>; //0
      			pmu_jetia_warm = <206>; //50
      			pmu_jcool_ifall = <2>;//75%
      			pmu_jwarm_ifall = <2>;//75%
      			pmu_bat_temp_para1 = <4592>; //SDNT-25
      			pmu_bat_temp_para2 = <2781>; //-15
      			pmu_bat_temp_para3 = <2125>; //-10
      			pmu_bat_temp_para4 = <1738>; //-5
      			pmu_bat_temp_para5 = <1390>;//0
      			pmu_bat_temp_para6 = <1118>; //5
      			pmu_bat_temp_para7 = <906>; //10
      			pmu_bat_temp_para8 = <606>; //20
      			pmu_bat_temp_para9 = <415>; //30
      			pmu_bat_temp_para10 = <290>; //40
      			pmu_bat_temp_para11 = <244>; //45
      			pmu_bat_temp_para12 = <206>; //50
      			pmu_bat_temp_para13 = <175>; //55
      			pmu_bat_temp_para14 = <150>; //60
      			pmu_bat_temp_para15 = <110>; //70
      			pmu_bat_temp_para16 = <83>; //80
      
      			wakeup_bat_out;
      			/* wakeup_bat_in; */
      			/* wakeup_bat_charging; */
      			/* wakeup_bat_charge_over; */
      			/* wakeup_low_warning1; */
      			/* wakeup_low_warning2; */
      			/* wakeup_bat_untemp_work; */
      			/* wakeup_bat_ovtemp_work; */
      			/* wakeup_bat_untemp_chg; */
      			/* wakeup_bat_ovtemp_chg; */
      		};
      
      		powerkey0: powerkey@0 {
      			status = "okay";
      			compatible = "x-powers,axp2101-pek";
      			pmu_powkey_off_time = <6000>;
      			pmu_powkey_off_func = <0>;
      			pmu_powkey_off_en = <1>;
      			pmu_powkey_long_time = <1500>;
      			pmu_powkey_on_time = <512>;
      			wakeup_rising;
      			wakeup_falling;
      		};
      
      		regulator0: regulators@0 {
      			reg_dcdc1: dcdc1 {
      				regulator-name = "axp2202-dcdc1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1540000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_dcdc2: dcdc2 {
      				regulator-name = "axp2202-dcdc2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3400000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_dcdc3: dcdc3 {
      				regulator-name = "axp2202-dcdc3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1840000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      			};
      			reg_dcdc4: dcdc4 {
      				regulator-name = "axp2202-dcdc4";
      				regulator-min-microvolt = <1000000>;
      				regulator-max-microvolt = <3700000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_rtcldo: rtcldo {
      				/* RTC_LDO is a fixed, always-on regulator */
      				regulator-name = "axp2202-rtcldo";
      				regulator-min-microvolt = <1800000>;
      				regulator-max-microvolt = <1800000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_aldo1: aldo1 {
      				regulator-name = "axp2202-aldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_aldo2: aldo2 {
      				regulator-name = "axp2202-aldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_aldo3: aldo3 {
      				regulator-name = "axp2202-aldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_aldo4: aldo4 {
      				regulator-name = "axp2202-aldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_bldo1: bldo1 {
      				regulator-name = "axp2202-bldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_bldo2: bldo2 {
      				regulator-name = "axp2202-bldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_bldo3: bldo3 {
      				regulator-name = "axp2202-bldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_bldo4: bldo4 {
      				regulator-name = "axp2202-bldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo1: cldo1 {
      				regulator-name = "axp2202-cldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo2: cldo2 {
      				regulator-name = "axp2202-cldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo3: cldo3 {
      				regulator-name = "axp2202-cldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-ramp-delay = <2500>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_cldo4: cldo4 {
      				regulator-name = "axp2202-cldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cpusldo: cpusldo {
      				/* cpus */
      				regulator-name = "axp2202-cpusldo";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1400000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_vmid: vmid {
      				regulator-name = "axp2202-vmid";
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_drivevbus: drivevbus {
      				regulator-name = "axp2202-drivevbus";
      				regulator-enable-ramp-delay = <1000>;
      				drivevbusin-supply = <&reg_vmid>;
      			};
      		};
      
      		virtual-dcdc1 {
      			compatible = "xpower-vregulator,dcdc1";
      			dcdc1-supply = <&reg_dcdc1>;
      		};
      		virtual-dcdc2 {
      			compatible = "xpower-vregulator,dcdc2";
      			dcdc2-supply = <&reg_dcdc2>;
      		};
      		virtual-dcdc3 {
      			compatible = "xpower-vregulator,dcdc3";
      			dcdc3-supply = <&reg_dcdc3>;
      		};
      		virtual-dcdc4 {
      			compatible = "xpower-vregulator,dcdc4";
      			dcdc4-supply = <&reg_dcdc4>;
      		};
      		virtual-rtcldo {
      			compatible = "xpower-vregulator,rtcldo";
      			rtcldo-supply = <&reg_rtcldo>;
      		};
      		virtual-aldo1 {
      			compatible = "xpower-vregulator,aldo1";
      			aldo1-supply = <&reg_aldo1>;
      		};
      		virtual-aldo2 {
      			compatible = "xpower-vregulator,aldo2";
      			aldo2-supply = <&reg_aldo2>;
      		};
      		virtual-aldo3 {
      			compatible = "xpower-vregulator,aldo3";
      			aldo3-supply = <&reg_aldo3>;
      		};
      		virtual-aldo4 {
      			compatible = "xpower-vregulator,aldo4";
      			aldo4-supply = <&reg_aldo4>;
      		};
      		virtual-bldo1 {
      			compatible = "xpower-vregulator,bldo1";
      			bldo1-supply = <&reg_bldo1>;
      		};
      		virtual-bldo2 {
      			compatible = "xpower-vregulator,bldo2";
      			bldo2-supply = <&reg_bldo2>;
      		};
      		virtual-bldo3 {
      			compatible = "xpower-vregulator,bldo3";
      			bldo3-supply = <&reg_bldo3>;
      		};
      		virtual-bldo4 {
      			compatible = "xpower-vregulator,bldo4";
      			bldo4-supply = <&reg_bldo4>;
      		};
      		virtual-cldo1 {
      			compatible = "xpower-vregulator,cldo1";
      			cldo1-supply = <&reg_cldo1>;
      		};
      		virtual-cldo2 {
      			compatible = "xpower-vregulator,cldo2";
      			cldo2-supply = <&reg_cldo2>;
      		};
      		virtual-cldo3 {
      			compatible = "xpower-vregulator,cldo3";
      			cldo3-supply = <&reg_cldo3>;
      		};
      		virtual-cldo4 {
      			compatible = "xpower-vregulator,cldo4";
      			cldo4-supply = <&reg_cldo4>;
      		};
      		virtual-cpusldo {
      			compatible = "xpower-vregulator,cpusldo";
      			cpusldo-supply = <&reg_cpusldo>;
      		};
      		virtual-drivevbus {
      			compatible = "xpower-vregulator,drivevbus";
      			drivevbus-supply = <&reg_drivevbus>;
      		};
      		axp_gpio0: axp_gpio@0 {
      			gpio-controller;
      			#size-cells = <0>;
      			#gpio-cells = <6>;
      			status = "okay";
      		};
      	};
      };
      
      /{
      	axp2202_parameter:axp2202-parameter {
      		select = "battery-model";
      
      		battery-model {
      			parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f
      				0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04
      				0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb
      				0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05
      				0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09
      				0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04
      				0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08
      				0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03
      				0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07
      				0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08
      				0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a
      				0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6
      				0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
      				0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6
      				0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
      				0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>;
      		};
      			  };
      };
      
      &twi7 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi1_pins_default>;
      	pinctrl-1 = <&s_twi1_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	//twi_drv_used = <1>;
      	twi-supply = <&reg_aldo3>;
      	status = "okay";
      
      	lt9611: lt9611@39 {
      			compatible = "myir,lt9611";
      			reg = <0x39>;
      			lt9611-rst-gpios = <&r_pio PL 6 GPIO_ACTIVE_HIGH>;
      			lt9611-power-en-gpios = <&pio PG 12 GPIO_ACTIVE_HIGH>;
      			interrupt-parent = <&r_pio>;
      			interrupts = <PL 7 IRQ_TYPE_EDGE_FALLING>;
      			status = "okay";
      	};
      
      	ac107: ac107@36 {
      		#sound-dai-cells        = <0>;
      		compatible              = "allwinner,sunxi-ac107";
      		reg                     = <0x36>;
      		pllclk-src              = "MCLK";
      		sysclk-src              = "MCLK";
      		pcm-bit-first           = "MSB";
      		frame-sync-width        = <1>;
      		rx-chmap                = <0xaaaa>;
      		ch1-dig-vol             = <160>;
      		ch2-dig-vol             = <160>;
      		ch1-pga-gain            = <26>;
      		ch2-pga-gain            = <26>;
      		status                  = "okay";
      	};
      };
      
      &twi8 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi2_pins_default>;
      	pinctrl-1 = <&s_twi2_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_aldo3>;
      	status = "okay";
      };
      
      &sdc2 {
      	non-removable;
      	bus-width = <8>;
      	mmc-ddr-1_8v;
      	mmc-hs200-1_8v;
      	mmc-hs400-1_8v;
      	no-sdio;
      	no-sd;
      	ctl-spec-caps = <0x308>;
      	cap-mmc-highspeed;
      	sunxi-power-save-mode;
      	sunxi-dis-signal-vol-sw;
      	mmc-bootpart-noacc;
      	/*cap-hsq;*/
      	cqe-on;
      	ctl-cmdq-md = <0x2>;
      	max-frequency = <150000000>;
      	vmmc-supply = <&reg_cldo3>;
      	/*emmc io vol 3.3v*/
      	/*vqmmc-supply = <&reg_aldo1>;*/
      	/*emmc io vol 1.8v*/
      	vqmmc-supply = <&reg_cldo1>;
      	status = "disabled";
      };
      
      &sdc0 {
      	bus-width = <4>;
      	cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      	/*non-removable;*/
      	/*broken-cd;*/
      	/*cd-inverted*/
      	/*data3-detect;*/
      	/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
      	cd-used-24M;
      	cd-set-debounce = <0x1>;
      	cap-sd-highspeed;
      	// sd-uhs-sdr50;
      	// sd-uhs-ddr50;
      	// sd-uhs-sdr104;
      	no-sdio;
      	no-mmc;
      	sunxi-power-save-mode;
      	/*sunxi-dis-signal-vol-sw;*/
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x408>;
      	sunxi-dly-208M  = <0xff 1 0xff 0xff 0xff 0xff>;
      	vmmc-supply = <&reg_cldo3>;
      	vqmmc33sw-supply = <&reg_cldo3>;
      	vdmmc33sw-supply = <&reg_cldo3>;
      	// vqmmc18sw-supply = <&reg_bldo3>;
      	// vdmmc18sw-supply = <&reg_bldo3>;
      	status = "okay";
      };
      
      
      &sdc1 {
      	bus-width = <4>;
      	no-mmc;
      	no-sd;
      	cap-sd-highspeed;
      	/*sd-uhs-sdr12*/
      	sd-uhs-sdr25;
      	sd-uhs-sdr50;
      	sd-uhs-ddr50;
      	sd-uhs-sdr104;
      	/*sunxi-power-save-mode;*/
      	sunxi-dis-signal-vol-sw;
      	cap-sdio-irq;
      	keep-power-in-suspend;
      	ignore-pm-notify;
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x408>;
      	status = "okay";
      };
      
      &nand0 {
      	compatible = "allwinner,sun55iw3-nand";
      	device_type = "nand0";
      	//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&nand0_pins_default &nand0_pins_rb>;
      	pinctrl-1 = <&nand0_pins_sleep>;
      	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>;
      	chip_code = "sun55iw3";
      	status = "disabled";
      };
      
      &rfkill {
      	compatible = "allwinner,sunxi-rfkill";
      	chip_en;
      	power_en;
      	pinctrl-0;
      	pinctrl-names;
      	status = "okay";
      
      	/* bt session */
      	bt {
      		compatible    = "allwinner,sunxi-bt";
      		clocks;
      		clock-names;
      		bt_power    = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */
      		bt_power_vol= <3300000>, <1800000>;
      		bt_rst_n      = <&pio PC 4 GPIO_ACTIVE_HIGH>;
      	};
      };
      
      &addr_mgt {
      	compatible     = "allwinner,sunxi-addr_mgt";
      	type_addr_wifi = <0x0>;
      	type_addr_bt   = <0x0>;
      	type_addr_eth  = <0x0>;
      	status         = "okay";
      };
      
      &btlpm {
      	compatible  = "allwinner,sunxi-btlpm";
      	uart_index  = <0x1>;
      	bt_wake     = <&pio PC 12 GPIO_ACTIVE_HIGH>;
      	bt_hostwake = <&pio PC 2 GPIO_ACTIVE_HIGH>;
      	wakeup-source;
      	status      = "okay";
      };
      
      /*
       *usb_port_type: usb mode. 0-device, 1-host, 2-otg.
       *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
       *usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
       *usb_id_gpio: gpio for id detect.
       *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
       *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
       */
      &usbc0 {
      	device_type = "usbc0";
      	usb_port_type = <0x2>;
      	usb_detect_type = <0x1>;
      	usb_detect_mode = <0x0>;
      	usb_id_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	usb_det_vbus_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	detvbus_io-supply = <&reg_bldo1>;
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	usb_luns = <3>;
      	usb_serial_unique = <0>;
      	usb_serial_number = "20080411";
      	rndis_wceis = <1>;
      	status = "okay";
      };
      
      &udc {
      	det_vbus_supply = <&usb_power_supply>;
      	status = "okay";
      };
      
      &ehci0 {
      	//drvvbus-supply = <&reg_usb0_vbus>;
      	status = "okay";
      };
      
      &ohci0 {
      	//drvvbus-supply = <&reg_usb0_vbus>;
      	status = "okay";
      };
      
      &usbc1 {
      	device_type = "usbc1";
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	status = "okay";
      };
      
      &ehci1 {
      	//drvvbus-supply = <&reg_usb1_vbus>;
      	status = "okay";
      };
      
      &ohci1 {
      	//drvvbus-supply = <&reg_usb1_vbus>;
      	status = "okay";
      };
      
      &usbc2 {
      	device_type = "usbc2";
      	drvvbus-supply = <&reg_drivevbus>;
      	aw,vbus-shared-quirk;
      	status = "okay";
      };
      
      &xhci2 {
      	dr_mode = "host";
      	status = "okay";
      };
      
      &u2phy {
      	status = "okay";
      };
      
      &combophy {
      	resets = <&ccu RST_BUS_PCIE_USB3>;
      	phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */
      	status = "okay";
      };
      
      &gpu {
      	gpu_idle = <1>;
      	dvfs_status = <1>;
      	mali-supply = <&reg_dcdc2>;
      };
      
      /*----------------------------------------------------------------------------------
      disp init configuration
      
      disp_mode             (0:screen0<screen0,fb0>)
      screenx_output_type   (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
      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)
      screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
      screenx_output_bits   (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
      screenx_output_eotf   (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
      screenx_output_cs     (for hdmi, 0:undefined  257:BT709 260:BT601  263:BT2020)
      screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
      screen0_output_range   (for hdmi, 0:default 1:full 2:limited)
      screen0_output_scan    (for hdmi, 0:no data 1:overscan 2:underscan)
      screen0_output_aspect_ratio  (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
      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)
      framebuffer software rotation setting:
      disp_rotation_used:   (0:disable; 1:enable,you must set fbX_width to lcd_y,
      set fbX_height to lcd_x)
      degreeX:              (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
      degreeX_Y:            (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
      devX_output_type : config output type in bootGUI framework in UBOOT-2018.
      				   (0:none; 1:lcd; 2:tv; 4:hdmi;)
      devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
      devX_screen_id   : config display index of bootGUI framework in UBOOT-2018
      devX_do_hpd      : whether do hpd detectation or not in UBOOT-2018
      chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with 6
      				   channel, 1:dual display with 4 channel in main display and 2 channel in second
                         display, 2:dual display with 3 channel in main display and 3 channel in second
                         in display.
      ----------------------------------------------------------------------------------*/
      &disp {
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
              screen0_output_type      = <1>;
              screen0_output_mode      = <4>;
              screen0_to_lcd_index     = <0>;
      
              screen1_output_type      = <3>;
              screen1_output_mode      = <10>;
              screen1_to_lcd_index     = <3>;
      
              screen1_output_format    = <0>;
              screen1_output_bits      = <0>;
              screen1_output_eotf      = <4>;
              screen1_output_cs        = <257>;
              screen1_output_dvi_hdmi  = <2>;
              screen1_output_range     = <2>;
              screen1_output_scan      = <0>;
              screen1_output_aspect_ratio = <8>;
      
              dev0_output_type         = <1>;
              dev0_output_mode         = <4>;
              dev0_screen_id           = <0>;
              dev0_do_hpd              = <0>;
      
              screen1_output_type      = <6>;
              screen1_output_mode      = <10>;
              dev1_screen_id           = <2>;
              dev1_do_hpd              = <1>;
      
              def_output_dev           = <2>;
              hdmi_mode_check          = <1>;
      
              display_device_num          = <3>;
      
              primary_display_type        = "LCD";
              primary_de_id               = <0>;
              primary_framebuffer_width   = <1280>;
              primary_framebuffer_height  = <800>;
              primary_dpix                = <160>;
              primary_dpiy                = <160>;
      
              extend0_display_type        = "HDMI";
              extend0_de_id               = <1>;
              extend0_framebuffer_width   = <1920>;
              extend0_framebuffer_height  = <1080>;
              extend0_dpix                = <160>;
              extend0_dpiy                = <160>;
      
              extend1_display_type        = "DP";
              extend1_de_id               = <1>;
              extend1_framebuffer_width   = <1920>;
              extend1_framebuffer_height  = <1080>;
              extend1_dpix                = <160>;
              extend1_dpiy                = <160>;
      
              fb_format                = <0>;
              fb_num                   = <4>;
              /*<disp channel layer zorder>*/
              fb0_map                  = <0 1 0 16>;
              fb0_width                = <1920>;
              fb0_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb1_map                  = <1 1 0 16>;
              fb1_width                = <1920>;
              fb1_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb2_map                  = <1 0 0 16>;
              fb2_width                = <1920>;
              fb2_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb3_map                  = <1 1 0 16>;
              fb3_width                = <300>;
              fb3_height               = <300>;
      
              chn_cfg_mode             = <3>;
              disp_para_zone           = <2>;
              //boot_disp				 = <0>;
              //boot_disp1				 = <0>;
              //boot_disp2				 = <0>;
              /* dual display clock constraints:
                 1. two tcons cannot share a parent clock.
                 2. when dsi uses ccu clock, combphy and corresponding tcon use the
                  same parent clock.
              */
              assigned-clocks = <&ccu CLK_DE>,
                        <&ccu CLK_VO0_TCONLCD0>,
                        <&ccu CLK_VO0_TCONLCD1>,
                        <&ccu CLK_VO1_TCONLCD0>,
                        <&ccu CLK_TCONTV>,
                        <&ccu CLK_TCONTV1>,
                        <&ccu CLK_COMBPHY0>,
                        <&ccu CLK_COMBPHY1>,
                        <&ccu CLK_DSI0>,
                        <&ccu CLK_DSI1>,
                        <&ccu CLK_EDP>;
              assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
                               <&ccu CLK_PLL_VIDEO0_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO0_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_PERI0_150M>,
                               <&ccu CLK_PLL_PERI0_150M>,
                               <&ccu CLK_PLL_VIDEO1_4X>;
              assigned-clock-rates = <600000000>;
      
              cldo3-supply = <&reg_cldo3>;
              dcdc4-supply = <&reg_dcdc4>;
              cldo1-supply = <&reg_cldo1>;
      
      	//pwms = <&a_pwm 4 5000000 0>, <&a_pwm 5 5000000 0>;
      	pwms = <&a_pwm 10 50000 0>, <&a_pwm 5 5000000 0>;
      	pwm-names = "lvds0_backlight", "lvds2_backlight";
      
              power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
              power-domain-names = "pd_de", "pd_vo0", "pd_vo1";
      
      	pinctrl-names = "active", "sleep";
      	//pinctrl-0 = <&a_pwm0_pin_active>;
      	//pinctrl-1 = <&a_pwm0_pin_sleep>;
      	pinctrl-0 = <&a_pwm10_pin_active>;
      	pinctrl-1 = <&a_pwm10_pin_sleep>;
      };
      
      /***
      ;lcd0 configuration
      
      ;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
      ;lcd_hv_if             0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
      ;lcd_hv_clk_phase      0:0 degree;1:90 degree;2:180 degree;3:270 degree
      ;lcd_hv_sync_polarity  0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
      ;lcd_hv_syuv_seq       0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
      ;lcd_cpu_if            0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
      ;                      6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
      ;lcd_cpu_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_dsi_if            0:video mode; 1: Command mode; 2:video burst mode
      ;lcd_dsi_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;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(pixel) + hsync plus width(pixel);
      ;lcd_ht:               hsync total cycle(pixel)
      ;lcd_vbp:              vsync back porch(line) + vysnc plus width(line)
      ;lcd_vt:               vysnc total cycle(line)
      ;lcd_hspw:             hsync plus width(pixel)
      ;lcd_vspw:             vysnc plus width(pixel)
      ;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)
      ;Pin setting for special function ie.LVDS, RGB data or vsync
      ;   name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for gpio:
      ;   lcd_gpio_X     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for backlight enable pin
      ;   lcd_bl_en     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;fsync setting, pulse to csi
      ;lcd_fsync_en          (0:disable fsync,1:enable)
      ;lcd_fsync_act_time    (active time of fsync, unit:pixel)
      ;lcd_fsync_dis_time    (disactive time of fsync, unit:pixel)
      ;lcd_fsync_pol         (0:positive;1:negative)
      ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
      pull up or pull down(default 0), driver level(default 1), data>
      ;For dual link lvds: use lvds2link_pins_a  and lvds2link_pins_b instead
      ;For rgb24: use rgb24_pins_a  and rgb24_pins_b instead
      ;For lvds1: use lvds1_pins_a  and lvds1_pins_b instead
      ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
      ***/
      &lcd0 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "default_lcd";
              lcd_backlight       = <200>;
              lcd_if              = <3>;
      
              lcd_x               = <1280>;
              lcd_y               = <800>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <63>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <10>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      	lcd_pwm_name	    = "lvds0_backlight";
      
              lcd_hbp             = <88>;
              lcd_ht              = <1451>;
              lcd_hspw            = <18>;
              lcd_vbp             = <23>;
              lcd_vt              = <860>;
              lcd_vspw            = <10>;
              
              
      
              lcd_lvds_if         = <1>;
              lcd_lvds_colordepth = <0>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <1>;
              lcd_hv_clk_phase    = <0>;
              lcd_hv_sync_polarity= <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
              lcd_fsync_pol       = <0>;
      	lcd_start_delay     = <5>;
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_pin_power = "cldo3";
              lcd_power = "dcdc4";
              lcd_power1 = "cldo1";
              //lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset
             //lcd_bl_en        = <&pio PI 2 GPIO_ACTIVE_HIGH>;
      
              pinctrl-0 = <&lvds0_pins_a>,<&dsi1_4lane_pins_a>;
              pinctrl-1 = <&lvds0_pins_b>,<&dsi1_4lane_pins_b>;
              lvds0_pinctrl-0 = <&lvds0_pins_a>;
              lvds0_pinctrl-1 = <&lvds0_pins_b>;
              lvds1_pinctrl-0 = <&lvds1_pins_a>;
              lvds1_pinctrl-1 = <&lvds1_pins_b>;
              dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>;
              dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>;
              dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>;
              dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>;
              dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>;
              dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>;
      };
      
      #if 1
      &lcd1 {
              lcd_used            = <1>;
              status              = "okay";
              lcd_driver_name     = "SQ101D_Q5DI404_84H501";
              lcd_backlight       = <200>;
              lcd_if              = <4>;
      
              lcd_x               = <1920>;
              lcd_y               = <1080>;
              lcd_width           = <136>;
              lcd_height          = <217>;
              lcd_dclk_freq       = <148>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <0>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      
              lcd_hbp             = <88>;
              lcd_ht              = <2200>;
              lcd_hspw            = <44>;
              lcd_vbp             = <4>;
              lcd_vt              = <1125>;
              lcd_vspw            = <5>;
      
              lcd_frm             = <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_start_delay     = <5>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_dsi_if          = <0>;
              lcd_dsi_lane        = <4>;
              lcd_dsi_format      = <0>;
              lcd_dsi_te          = <0>;
              lcd_dsi_eotp        = <0>;
      
              lcd_pin_power = "dcdc4";
              lcd_power1 = "cldo4";
              lcd_power2 = "cldo1";
      
              lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset
      
              pinctrl-0 = <&dsi0_4lane_pins_a>;
              pinctrl-1 = <&dsi0_4lane_pins_b>;
      
              // lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>;
              lcd_bl_0_percent        = <5>;
      };
      #else
      &lcd1 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "default_lcd";
              lcd_backlight       = <50>;
              lcd_if              = <0>;
      
              lcd_x               = <800>;
              lcd_y               = <480>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <48>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <7>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
      
              lcd_hbp             = <55>;
              lcd_ht              = <1240>;
              lcd_hspw            = <20>;
              lcd_vbp             = <35>;
              lcd_vt              = <650>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <1>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <1>;
              lcd_io_phase        = <0x0000>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
      };
      #endif
      
      &lcd2 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "bp101wx1";
              lcd_backlight       = <50>;
              lcd_if              = <3>;
      
              lcd_x               = <1280>;
              lcd_y               = <800>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <75>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <5>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      	lcd_pwm_name        = "lvds2_backlight";
      
              lcd_hbp             = <88>;
              lcd_ht              = <1451>;
              lcd_hspw            = <18>;
              lcd_vbp             = <23>;
              lcd_vt              = <860>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <0>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <0>;
              lcd_hv_clk_phase    = <0>;
              lcd_hv_sync_polarity= <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_fsync_en        = <0>;
              lcd_fsync_pol       = <0>;
              lcd_start_delay     = <5>;
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_pin_power = "cldo3";
              lcd_power     = "dcdc4";
              /* lvds_power & other interface power */
              lcd_bl_en  = <&pio PI 5 GPIO_ACTIVE_HIGH>;
              pinctrl-0 = <&lvds2_pins_a>;
              pinctrl-1 = <&lvds2_pins_b>;
              lvds2_pinctrl-0 = <&lvds2_pins_a>;
              lvds2_pinctrl-1 = <&lvds2_pins_b>;
              lvds3_pinctrl-0 = <&lvds3_pins_a>;
              lvds3_pinctrl-1 = <&lvds3_pins_b>;
              dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>;
              dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>;
              status = "disabled";
      };
      
      &edp0 {
      	compatible = "allwinner,sunxi-dp0";
      	// use if hardware reset pin is need
      	/* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */
      
      	edp_ssc_en = <0>;
      	edp_ssc_mode = <0>;
      	edp_psr_support = <0>;
      	edp_colordepth = <8>; /* 6/8/10/12/16 */
      	edp_color_fmt = <0>; /* 0:RGB  1: YUV444  2: YUV422 */
      
      	edp_lane_rate = <1>;
      	edp_lane_cnt = <4>;
      	lane0_sw = <0>;
      	lane0_pre = <0>;
      	lane1_sw = <0>;
      	lane1_pre = <0>;
      	lane2_sw = <0>;
      	lane2_pre = <0>;
      	lane3_sw = <0>;
      	lane3_pre = <0>;
      	efficient_training = <0>;
      
      	sink_capacity_prefer = <0>;
      	edid_timings_prefer = <1>;
      	timings_fixed = <0>;
      	edp_traning_param_type = <1>;
      
      	edp_timings_type = <0>;
      	edp_panel_used = <0>;
      /*
      	edp_panel_used = <1>;
      	edp_panel_driver = "general_panel";
      	edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
      	edp_pwm_used = <1>;
      	edp_pwm_ch = <5>;
      	edp_pwm_freq = <50000>;
      	edp_pwm_pol = <0>;
      	edp_default_backlight = <200>;
      	edp_panel_power_0 = "edp-panel";
      */
      /*
      	edp_x               = <1280>;
              edp_y               = <800>;
              edp_width           = <150>;
              edp_height          = <94>;
              edp_dclk_freq       = <75>;
      
              edp_hbp             = <88>;
              edp_ht              = <1451>;
              edp_hspw            = <18>;
              edp_vbp             = <23>;
              edp_vt              = <860>;
              edp_vspw            = <10>;
              edp_fps				= <30>;
      */
      
      	vcc-edp-supply = <&reg_bldo3>;
      	vdd-edp-supply = <&reg_dcdc2>;
      	edp-panel-supply = <&reg_dcdc4>;
      	status = "okay";
      
      };
      
      &ve {
      	ve-supply = <&reg_dcdc2>;
      };
      
      /* audio dirver module -> audio codec */
      &codec {
      	tx-hub-en;
      	rx-sync-en;
      
      	dac-vol		= <63>;		/* default value:63 range:0->63 */
      	dacl-vol	= <160>;	/* default value:160 range:0->255 */
      	dacr-vol	= <160>;	/* default value:160 range:0->255 */
      	adc1-vol	= <160>;	/* default value:160 range:0->255 */
      	adc2-vol	= <160>;	/* default value:160 range:0->255 */
      	adc3-vol	= <160>;	/* default value:160 range:0->255 */
      	lineout-gain	= <31>;		/* default value:31 range:0->31 */
      	hpout-gain	= <7>;		/* default value:7 range:0->7 */
      	adc1-gain	= <31>;		/* default value:31 range:0->31 */
      	adc2-gain	= <31>;		/* default value:31 range:0->31 */
      	adc3-gain	= <31>;		/* default value:31 range:0->31 */
      
      	/* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */
      	avcc-external;
      	avcc-supply	= <&reg_aldo4>;
      	avcc-vol	= <1800000>;
      	vdd-external;
      	vdd-supply	= <&reg_cldo3>;
      	vdd-vol		= <3300000>;
      	cpvin-external;
      	cpvin-supply	= <&reg_bldo3>;
      	cpvin-vol	= <1800000>;
      
      	//pa-pin-max	= <1>;
      	//pa-pin-0	= <&r_pio PL 7 GPIO_ACTIVE_HIGH>;
      	//pa-pin-level-0	= <1>;
      	//pa-pin-msleep-0	= <0>;
      
      	jack-det-level		= <0>;
      	jack-det-threshold	= <8>;
      	jack-det-debouce-time	= <250>;
      
      	/* extcon                  = <&usb_power_supply>;
      	 * jack-swpin-mic-sel      = <&pio PH 8 GPIO_ACTIVE_HIGH>;
      	 * jack-swpin-hp-en        = <&pio PH 15 GPIO_ACTIVE_HIGH>;
      	 * jack-swpin-hp-sel       = <&pio PH 11 GPIO_ACTIVE_HIGH>;
      	 * jack-swmode-hp-off      = <0x00>;
      	 * jack-swmode-hp-usb      = <0x11>;
      	 * jack-swmode-hp-audio    = <0x10>;
      	 * jack-det-level          = <1>;
      	 * jack-det-threshold      = <8>;
      	 * jack-det-debouce-time   = <250>;
      	 */
      
      	status = "okay";
      };
      
      &codec_plat {
      	status = "okay";
      };
      
      &codec_mach {
      	soundcard-mach,jack-support = <1>;
      	status = "okay";
      	soundcard-mach,cpu {
      		sound-dai = <&codec_plat>;
      	};
      	soundcard-mach,codec {
      		sound-dai = <&codec>;
      	};
      };
      
      &hdmi_codec {
      	extcon = <&hdmi>;
      	status = "okay";
      };
      
      &edp_codec {
      	status = "disabled";
      };
      
      /* audio dirver module -> owa */
      &owa_plat {
      	rglt-max	= <1>;
      	rglt0-mode	= "PMU";
      	rglt0-voltage	= <3300000>;
      	rglt0-supply	= <&reg_dcdc4>;
      
      	pinctrl-used;
      	pinctrl-names	= "default","sleep";
      	pinctrl-0	= <&owa_pins_a>;
      	pinctrl-1	= <&owa_pins_b>;
      	tx-hub-en;
      	status		= "okay";
      };
      
      &owa_mach {
      	status		= "okay";
      	soundcard-mach,cpu {
      		sound-dai = <&owa_plat>;
      	};
      	soundcard-mach,codec {
      	};
      };
      
      /* audio dirver module -> DMIC */
      &dmic_plat {
      	rx-chmap	= <0x76543210>;
      	data-vol	= <0xB0>;
      	rxdelaytime	= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names	= "default","sleep"; */
      	/* pinctrl-0	= <&dmic_pins_a>; */
      	/* pinctrl-1	= <&dmic_pins_b>; */
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &dmic_mach {
      	status		= "disabled";
      	soundcard-mach,cpu {
      		sound-dai = <&dmic_plat>;
      	};
      	soundcard-mach,codec {
      	};
      };
      
      /* audio dirver module -> I2S/PCM */
      &i2s0_plat {
      	tdm-num		= <0>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	pinctrl-used;
      	pinctrl-names	= "default","sleep";
      	pinctrl-0	= <&i2s0_pins_a>;
      	pinctrl-1	= <&i2s0_pins_b>;
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s0_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s0_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s0_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	soundcard-mach,capture-only;
      	status		= "disabled";
      	i2s0_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s0_plat>;
      		/* note: pll freq = 24.576M or 22.5792M * pll-fs */
      		soundcard-mach,pll-fs	= <1>;
      		/* note:
      		 * mclk freq = mclk-fs * 12.288M or 11.2896M	(when mclk-fp ture)
      		 * mclk freq = mclk-fs * pcm rate		(when mclk-fp false)
      		 */
      		soundcard-mach,mclk-fp;
      		soundcard-mach,mclk-fs	= <1>;
      	};
      	i2s0_codec: soundcard-mach,codec {
      		sound-dai               = <&ac107>;
      		soundcard-mach,pll-fs   = <1>;
      	};
      };
      
      &i2s1_plat {
      	tdm-num		= <1>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s1_pins_a>; */
      	/* pinctrl-1	= <&i2s1_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s1_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s1_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s1_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	status		= "disabled";
      	i2s1_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s1_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s1_codec: soundcard-mach,codec {
      	};
      };
      
      &i2s2_plat {
      	tdm-num		= <2>;
      	tx-pin		= <0 1 2 3>;
      /* e.g.
       * tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0]  map channel[15:12, 3:0])
       * tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12])
       * tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0]  map channel[7:0])
       */
      	tx-pin0-map0	= <0x76543210>;
      	tx-pin0-map1	= <0xFEDCBA98>;
      	tx-pin1-map0	= <0x76543210>;
      	tx-pin1-map1	= <0xFEDCBA98>;
      	tx-pin2-map0	= <0x76543210>;
      	tx-pin2-map1	= <0xFEDCBA98>;
      	tx-pin3-map0	= <0x76543210>;
      	tx-pin3-map1	= <0xFEDCBA98>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s2_pins_a>; */
      	/* pinctrl-1	= <&i2s2_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	/* edp not need dai-type */
      	dai-type = "hdmi";
      	status		= "okay";
      };
      
      &i2s2_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s2_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s2_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	soundcard-mach,playback-only;
      	status		= "okay";
      	i2s2_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s2_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		/* edp mclk: 512fs */
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s2_codec: soundcard-mach,codec {
      		sound-dai               = <&hdmi_codec>;
      	};
      };
      
      &i2s3_plat {
      	tdm-num		= <3>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s3_pins_a>; */
      	/* pinctrl-1	= <&i2s3_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s3_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s3_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s3_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	status		= "disabled";
      	i2s3_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s3_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s3_codec: soundcard-mach,codec {
      	};
      };
      
      
      &hdmi {
      	hdmi_used = <1>;
      	bldo3-supply = <&reg_bldo3>;
      	hdmi_power0 = "bldo3";
      	hdmi_power_cnt = <1>;
      	hdmi_hdcp_enable = <1>;
      	hdmi_hdcp22_enable = <0>;
      	hdmi_cts_compatibility = <0>;
      	hdmi_cec_support = <1>;
      	hdmi_cec_super_standby = <1>;
      	hdmi_skip_bootedid = <1>;
      
      	ddc_en_io_ctrl = <0>;
      	power_io_ctrl = <0>;
      };
      
      &cpu0 {
      	cpu-supply = <&reg_dcdc1>;
      };
      
      &dsufreq {
      	dsu-supply = <&reg_dcdc1>;
      };
      
      &mdio0 {
      	status = "okay";
      	gmac0_phy0: ethernet-phy@5 {
      		reg = <0x5>;
      		max-speed = <1000>;
      		/* PHY datasheet rst time */
      		reset-assert-us = <10000>;
      		reset-deassert-us = <150000>;
      	};
      };
      
      &gmac0 {
      	phy-mode = "rgmii";
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&gmac0_pins_default>;
      	pinctrl-1 = <&gmac0_pins_sleep>;
      	sunxi,phy-clk-type = <0>;
      	tx-delay = <0>;
      	rx-delay = <0>;
      	phy-handle = <&gmac0_phy0>;
      	gmac3v3-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      
      &gmac1 {
      	phy-mode = "rgmii";
      	phy-handle = <&gmac1_phy0>;
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&gmac1_pins_default>;
      	pinctrl-1 = <&gmac1_pins_sleep>;
      	aw,soc-phy25m;
      	tx-delay = <0>;
      	rx-delay = <0>;
      	snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      	snps,phy-addr = <0x6>;
      	dwmac3v3-supply = <&reg_dcdc4>;
      	status = "okay";
      	mdio1: mdio1@1 {
      		snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      		gmac1_phy0: ethernet-phy@6 {
      			snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      			reg = <0x6>;
      			max-speed = <1000>;
      			/* PHY datasheet rst time */
      			reset-assert-us = <10000>;
      			reset-deassert-us = <150000>;
      		};
      	};
      
      };
      
      &npu {
      	npu-supply = <&reg_ext_axp1530_dcdc3>;
      	npu_vol = <1050000>;
      	clock-frequency = <696000000>;
      	status = "okay";
      };
      
      &dram {
      	dram_para00 = <0x00000000>;
      	dram_para01 = <0x00000000>;
      	dram_para02 = <0x00000000>;
      	dram_para03 = <0x00000000>;
      	dram_para04 = <0x00000000>;
      	dram_para05 = <0x00000000>;
      	dram_para06 = <0x00000000>;
      	dram_para07 = <0x00000000>;
      	dram_para08 = <0x00000000>;
      	dram_para09 = <0x00000000>;
      	dram_para10 = <0x00000000>;
      	dram_para11 = <0x00000000>;
      	dram_para12 = <0x00000000>;
      	dram_para13 = <0x00000000>;
      	dram_para14 = <0x00000000>;
      	dram_para15 = <0x00000000>;
      	dram_para16 = <0x00000000>;
      	dram_para17 = <0x00000000>;
      	dram_para18 = <0x00000000>;
      	dram_para19 = <0x00000000>;
      	dram_para20 = <0x00000000>;
      	dram_para21 = <0x00000000>;
      	dram_para22 = <0x00000000>;
      	dram_para23 = <0x00000000>;
      	dram_para24 = <0x00000000>;
      	dram_para25 = <0x00000000>;
      	dram_para26 = <0x00000000>;
      	dram_para27 = <0x00000000>;
      	dram_para28 = <0x00000000>;
      	dram_para29 = <0x00000000>;
      	dram_para30 = <0x00000000>;
      	dram_para31 = <0x00000000>;
      	dram_para32 = <0x00000000>;
      	dram_para33 = <0x00000000>;
      	dram_para34 = <0x00000000>;
      	dram_para35 = <0x00000000>;
      	dram_para36 = <0x00000000>;
      	dram_para37 = <0x00000000>;
      	dram_para38 = <0x00000000>;
      	dram_para39 = <0x00000000>;
      	dram_para40 = <0x00000000>;
      	dram_para41 = <0x00000000>;
      	dram_para42 = <0x00000000>;
      	dram_para43 = <0x00000000>;
      	dram_para44 = <0x00000000>;
      	dram_para45 = <0x00000000>;
      	dram_para46 = <0x00000000>;
      	dram_para47 = <0x00000000>;
      	dram_para48 = <0x00000000>;
      	dram_para49 = <0x00000000>;
      	dram_para50 = <0x00000000>;
      	dram_para51 = <0x00000000>;
      	dram_para52 = <0x00000000>;
      	dram_para53 = <0x00000000>;
      	dram_para54 = <0x00000000>;
      	dram_para55 = <0x00000000>;
      	dram_para56 = <0x00000000>;
      	dram_para57 = <0x00000000>;
      	dram_para58 = <0x00000000>;
      	dram_para59 = <0x00000000>;
      	dram_para60 = <0x00000000>;
      	dram_para61 = <0x00000000>;
      	dram_para62 = <0x00000000>;
      	dram_para63 = <0x00000000>;
      	dram_para64 = <0x00000000>;
      	dram_para65 = <0x00000000>;
      	dram_para66 = <0x00000000>;
      	dram_para67 = <0x00000000>;
      	dram_para68 = <0x00000000>;
      	dram_para69 = <0x00000000>;
      	dram_para70 = <0x00000000>;
      	dram_para71 = <0x00000000>;
      	dram_para72 = <0x00000000>;
      	dram_para73 = <0x00000000>;
      	dram_para74 = <0x00000000>;
      	dram_para75 = <0x00000000>;
      	dram_para76 = <0x00000000>;
      	dram_para77 = <0x00000000>;
      	dram_para78 = <0x00000000>;
      	dram_para79 = <0x00000000>;
      	dram_para80 = <0x00000000>;
      	dram_para81 = <0x00000000>;
      	dram_para82 = <0x00000000>;
      	dram_para83 = <0x00000000>;
      	dram_para84 = <0x00000000>;
      	dram_para85 = <0x00000000>;
      	dram_para86 = <0x00000000>;
      	dram_para87 = <0x00000000>;
      	dram_para88 = <0x00000000>;
      	dram_para89 = <0x00000000>;
      	dram_para90 = <0x00000000>;
      	dram_para91 = <0x00000000>;
      	dram_para92 = <0x00000000>;
      	dram_para93 = <0x00000000>;
      	dram_para94 = <0x00000000>;
      	dram_para95 = <0x00000000>;
      };
      
      

      myb-yt527-e.dts:

      /*
       * Allwinner Technology CO., Ltd.
       */
      
      /dts-v1/;
      
      #include "sun55iw3p1.dtsi"
      #include <uapi/linux/input-event-codes.h>
      
      /{
      	board = "T527", "T527-DEMO-AXP717B";
      	compatible = "allwinner,t527", "arm,sun55iw3p1";
      
      	aliases {
      		pmu0 = &pmu0;
      		serial0 = &uart0;
      		hdmi = &hdmi;
      		reg-tcs0 = &reg_tcs0;
      		reg-sy0 = &reg_sy0;
      		reg-axp1530 = &reg_ext_axp1530_dcdc1;
      		tcs0 = &tcs0;
      		sy0 = &sy0;
      		axp1530 = &axp1530;
      		cpu-ext = &cpu4;
      		standby-param = &standby_param;
      		arisc-config = &arisc_config;
      		cir_param = &cir_param;
      	};
      /*
      	reg_usb0_vbus: usb0-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb0-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      */
      	reg_usb1_vbus: usb1-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb1-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      
      	standby_param: standby_param {
      		vdd-cpu = <0x00000001>;
      		vdd-cpub = <0x00000001>;
      		vdd-sys = <0x00000002>;
      		vcc-pll = <0x00000080>;
      		vcc-io  = <0x00004000>;
      
      		osc24m-on = <0x0>;
      		dsp-standby-en = <0x1>;
      	};
      
      	cir_param: cir_param {
      		gpio_group = <1>;      /* 0:PL 1:PM */
      		gpio_pin = <11>;
      		gpio_function = <2>;
      		count = <15>;
      		ir_power_key_code0 = <0x40>;
      		ir_addr_code0 = <0xfe01>;
      		ir_power_key_code1 = <0x1a>;
      		ir_addr_code1 = <0xfb04>;
      		ir_power_key_code2 = <0xf2>;
      		ir_addr_code2 = <0x2992>;
      		ir_power_key_code3 = <0x57>;
      		ir_addr_code3 = <0x9f00>;
      		ir_power_key_code4 = <0xdc>;
      		ir_addr_code4 = <0x4cb3>;
      		ir_power_key_code5 = <0x18>;
      		ir_addr_code5 = <0xff00>;
      		ir_power_key_code6 = <0xdc>;
      		ir_addr_code6 = <0xdd22>;
      		ir_power_key_code7 = <0x0d>;
      		ir_addr_code7 = <0xbc00>;
      		ir_power_key_code8 = <0x4d>;
      		ir_addr_code8 = <0x4040>;
      		ir_power_key_code9 = <0x08>;
      		ir_addr_code9 = <0xfb04>;
      		ir_power_key_code10 = <0x00>;
      		ir_addr_code10 = <0xfc03>;
      		ir_power_key_code11 = <0x00>;
      		ir_addr_code11 = <0xbf00>;
      		ir_power_key_code12 = <0xea>;
      		ir_addr_code12 = <0xfb04>;
      		ir_power_key_code13 = <0x42>;
      		ir_addr_code13 = <0xbf00>;
      		ir_power_key_code14 = <0x0f>;
      		ir_addr_code14 = <0xff00>;
      	};
      
      	arisc_config: arisc_config {
      		s_uart_config {
      			pins = "PL2", "PL3";
      			function = <2>, <2>;
      			status = "disabled";
      		};
      	};
      
      	reserved-memory {
      		dsp0ddr_reserved: dsp0ddr@4a000000 {
      			reg = <0x0 0x4a000000 0x0 0x00a00000>;
      			no-map;
      		};
      
      		riscvsram0_reserved: riscvsram0@7280000 {
      			reg = <0x0 0x07280000 0x0 0x40000>;
      			no-map;
      		};
      
      		riscvsram1_reserved: riscvsram1@72c0000 {
      			reg = <0x0 0x072c0000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		* The name should be "vdev%dbuffer".
      		* Its size should be not less than
      		*     RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
      		*   = 512 * (num of buffers in a vring) * 2
      		*/
      		dsp_vdev0buffer: vdev0buffer@4ac00000 {
      			compatible = "shared-dma-pool";
      			reg = <0x0 0x4ac00000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		* The name should be "vdev%dvring%d".
      		* The size of each should be not less than
      		*     PAGE_ALIGN(vring_size(num, align))
      		*   = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
      		*
      		* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
      		*/
      		dsp_vdev0vring0: vdev0vring0@4ac40000 {
      			reg = <0x0 0x4ac40000 0x0 0x2000>;
      			no-map;
      		};
      		dsp_vdev0vring1: vdev0vring1@4ac42000 {
      			reg = <0x0 0x4ac42000 0x0 0x2000>;
      			no-map;
      		};
      
      		/*
      		 * The name should be "vdev%dbuffer".
      		 * Its size should be not less than
      		 *     RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
      		 *   = 512 * (num of buffers in a vring) * 2
      		 */
      		rv_vdev0buffer: vdev0buffer@4ae00000 {
      			compatible = "shared-dma-pool";
      			reg = <0x0 0x4ae00000 0x0 0x40000>;
      			no-map;
      		};
      
      		/*
      		 * The name should be "vdev%dvring%d".
      		 * The size of each should be not less than
      		 *     PAGE_ALIGN(vring_size(num, align))
      		 *   = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
      		 *
      		 * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
      		 */
      		rv_vdev0vring0: vdev0vring0@4ae40000 {
      			reg = <0x0 0x4ae40000 0x0 0x2000>;
      			no-map;
      		};
      		rv_vdev0vring1: vdev0vring1@4ae42000 {
      			reg = <0x0 0x4ae42000 0x0 0x2000>;
      			no-map;
      		};
      
      		/*
      		* dsp ram addr
      		*/
      		dsp0iram_reserved: dsp0iram@20000 {
      			reg = <0x0 0x20000 0x0 0x10000>;
      			no-map;
      		};
      		dsp0dram0_reserved: dsp0dram0@30000 {
      			reg = <0x0 0x30000 0x0 0x8000>;
      			no-map;
      		};
      		dsp0dram1_reserved: dsp0dram1@38000 {
      			reg = <0x0 0x38000 0x0 0x8000>;
      			no-map;
      		};
      
      		dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 {
      			compatible = "shared-dma-pool";
      			no-map;
      			reg = <0x0 0x4ae44000 0x0 0x8000>;
      		};
      
      		dsp_share_space@4ab00000 {
      			no-map;
      			reg = <0x0 0x4ab00000 0x0 0x10000>;
      		};
      	};
      
      	rpbuf_controller0: rpbuf_controller@0 {
      		compatible = "allwinner,rpbuf-controller";
      		remoteproc = <&dsp0_rproc>;
      		ctrl_id = <0>;
      		memory-region = <&dsp0_rpbuf_reserved>;
      		status = "okay";
      	};
      
          ap6256_wifi: ap6256_wifi {
              compatible = "android,bcmdhd_wlan";
              gpio_wl_reg_on = <&pio PC 3 GPIO_ACTIVE_HIGH>;
              gpio_wl_host_wake = <&pio PC 7 GPIO_ACTIVE_HIGH>;
          };
      
      	gpio-keys {
      		compatible = "gpio-keys";
      		status = "okay";
      		vol-down-key {
      				gpios = <&pio PI 11 GPIO_ACTIVE_LOW>;
      				linux,code = <114>;
      				label = "user key";
      				debounce-interval = <10>;
      				wakeup-source = <0x1>;
      				gpio-key,wakeup;
      		};
      	};
      
      	leds {
      		compatible = "gpio-leds";
      		pinctrl-names = "default";
      		status = "okay";
      
      		led0: led-green {
      			label = "green";
      			gpios = <&pio PB 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
      			linux,defaults-trigger = "heartbeat";
      			defaults-state = "on";
      		};
      
      		led1: led-red {
      			label = "red";
      			gpios = <&pio PB 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
      			linux,defaults-trigger = "heartbeat";
      			defaults-state = "on";
      		};
      	};
      
      };
      
      &r_pio {
      	uart8_pins_a: uart8_pins@0 {
      		pins = "PL12", "PL13";
      		function = "s_uart0";
      	};
      
      	uart8_pins_b: uart8_pins@1 {
      		pins = "PL12", "PL13";
      		function = "gpio_in";
      	};
      
      	uart9_pins_a: uart9_pins@0 {
      		pins = "PL2", "PL3";
      		function = "s_uart1";
      	};
      
      	uart9_pins_b: uart9_pins@1 {
      		pins = "PL2", "PL3";
      		function = "gpio_in";
      	};
      
      	s_twi0_pins_default: s_twi0@0 {
      		pins = "PL0", "PL1";
      		function = "s_twi0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_twi0_pins_sleep: s_twi0@1 {
      		pins = "PL0", "PL1";
      		function = "gpio_in";
      	};
      
      	s_twi1_pins_default: s_twi1@0 {
      		pins = "PL8", "PL9";
      		function = "s_twi1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_twi1_pins_sleep: s_twi1@1 {
      		pins = "PL8", "PL9";
      		function = "gpio_in";
      	};
      
      	s_twi2_pins_default: s_twi2@0 {
      		pins = "PM4", "PM5";
      		function = "s_twi2";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	s_twi2_pins_sleep: s_twi2@1 {
      		pins = "PM4", "PM5";
      		function = "gpio_in";
      	};
      
      	s_irrx_pins_default: s_irrx@0 {
      		pins = "PL11";
      		function = "s_cir";
      	};
      
      	s_irrx_pins_sleep: s_irrx@1 {
      		pins = "PL11";
      		function = "gpio_in";
      	};
      };
      
      &pio {
      	vcc-pg-supply = <&reg_pio1_8>;
      	vcc-pf-supply = <&reg_pio1_8>;
      	vcc-pfo-supply = <&reg_pio3_3>;
      	vcc-pd-supply = <&reg_pio3_3>;
      	vcc-pe-supply = <&reg_pio3_3>;
      	vcc-pi-supply = <&reg_pio3_3>;
      	vcc-pj-supply = <&reg_pio3_3>;
      	vcc-pk-supply = <&reg_pio3_3>;
      
      	uart0_pins_a: uart0_pins@0 {
      		pins = "", "";
      		function = "uart0";
      	};
      
      	uart0_pins_b: uart0_pins@1 {
      		pins = "", "";
      		function = "gpio_in";
      	};
      
      	uart2_pins_a: uart2_pins@0 {
      		pins = "PB0", "PB1";
      		function = "uart2";
      	};
      
      	uart2_pins_b: uart2_pins@1 {
      		pins = "PB0", "PB1";
      		function = "gpio_in";
      	};
      
      	uart3_pins_a: uart3_pins@0 {
      		pins = "PJ20", "PJ21", "PJ22", "PJ23";
      		function = "uart3";
      	};
      
      	uart3_pins_b: uart3_pins@1 {
      		pins = "PJ20", "PJ21", "PJ22", "PJ23";
      		function = "gpio_in";
      	};
      
      	uart4_pins_a: uart4_pins@0 {
      		pins = "PE1", "PE2", "PE3", "PE4";
      		function = "uart4";
      	};
      
      	uart4_pins_b: uart4_pins@1 {
      		pins = "PE1", "PE2", "PE3", "PE4";
      		function = "gpio_in";
      	};
      
      	uart5_pins_a: uart5_pins@0 {
      		pins = "PE13", "PE14";
      		function = "uart5";
      	};
      
      	uart5_pins_b: uart5_pins@1 {
      		pins = "PE13", "PE14";
      		function = "gpio_in";
      	};
      
      	uart6_pins_a: uart6_pins@0 {
      		pins = "PE11", "PE12";
      		function = "uart6";
      	};
      
      	uart6_pins_b: uart6_pins@1 {
      		pins = "PE11", "PE12";
      		function = "gpio_in";
      	};
      
      	uart7_pins_a: uart7_pins@0 {
      		pins = "PB11", "PB12", "PB13", "PB14";
      		function = "uart7";
      	};
      
      	uart7_pins_b: uart7_pins@1 {
      		pins = "PB11", "PB12", "PB13", "PB14";
      		function = "gpio_in";
      	};
      
      	a_pwm0_pin_active: a_pwm0@0 {
      		pins = "PD23";
      		function = "pwm0";
      	};
      
      	a_pwm0_pin_sleep: a_pwm0@1 {
      		pins = "PD23";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm1_pin_active: a_pwm1@0 {
      		pins = "PD22";
      		function = "pwm1";
      	};
      
      	a_pwm1_pin_sleep: a_pwm1@1 {
      		pins = "PD22";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm2_pin_active: a_pwm2@0 {
      		pins = "PB11";
      		function = "pwm2";
      	};
      
      	a_pwm2_pin_sleep: a_pwm2@1 {
      		pins = "PB11";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm3_pin_active: a_pwm3@0 {
      		pins = "PB12";
      		function = "pwm3";
      	};
      
      	a_pwm3_pin_sleep: a_pwm3@1 {
      		pins = "PB12";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm4_pin_active: a_pwm4@0 {
      		pins = "PI3";
      		function = "pwm4";
      	};
      
      	a_pwm4_pin_sleep: a_pwm4@1 {
      		pins = "PI3";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm5_pin_active: a_pwm5@0 {
      		pins = "PI4";
      		function = "pwm5";
      	};
      
      	a_pwm5_pin_sleep: a_pwm5@1 {
      		pins = "PI4";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	a_pwm10_pin_active: a_pwm10@0 {
      		pins = "PI9";
      		function = "pwm10";
      	};
      
      	a_pwm10_pin_sleep: a_pwm10@1 {
      		pins = "PI9";
      		function = "gpio_in";
      		bias-pull-down;
      	};
      
      	ledc_pins_a: ledc@0 {
      		pins = "PG0";
      		function = "ledc";
      		drive-strength = <10>;
      	};
      
      	ledc_pins_b: ledc@1 {
      		pins = "PG0";
      		function = "gpio_in";
      	};
      
      	irrx_pins_default: irrx@0 {
      		pins = "PI8";
      		function = "cir";
      	};
      
      	irrx_pins_sleep: irrx@1 {
      		pins = "PI8";
      		function = "gpio_in";
      	};
      
      	irtx_pins_default: irtx@0 {
      		pins = "PH18";
      		function = "cir";
      	};
      
      	irtx_pins_sleep: irtx@1 {
      		pins = "PH18";
      		function = "gpio_in";
      	};
      
      	twi0_pins_default: twi0@0 {
      		pins = "PD22", "PD23";
      		function = "twi0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi0_pins_sleep: twi0@1 {
      		pins = "PD22", "PD23";
      		function = "gpio_in";
      	};
      
      	twi1_pins_default: twi1@0 {
      		pins = "PB4", "PB5";
      		function = "twi1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi1_pins_sleep: twi1@1 {
      		pins = "PB4", "PB5";
      		function = "gpio_in";
      	};
      
      	twi2_pins_default: twi2@0 {
      		pins = "PE1", "PE2";
      		function = "twi2";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	twi2_pins_sleep: twi2@1 {
      		pins = "PE1", "PE2";
      		function = "gpio_in";
      	};
      
      	twi3_pins_default: twi3@0 {
      		pins = "PE3", "PE4";
      		function = "twi3";
      		drive-strength = <20>;
      		bias-pull-up;
      	};
      
      	twi3_pins_sleep: twi3@1 {
      		pins = "PE3", "PE4";
      		function = "gpio_in";
      	};
      
      	twi4_pins_default: twi4@0 {
      		pins = "PI0", "PI1";
      		function = "twi4";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi4_pins_sleep: twi4@1 {
      		pins = "PI0", "PI1";
      		function = "gpio_in";
      	};
      
      	twi5_pins_default: twi5@0 {
      		pins = "PJ26", "PJ27";
      		function = "twi5";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi5_pins_sleep: twi5@1 {
      		pins = "PJ26", "PJ27";
      		function = "gpio_in";
      	};
      
      	owa_pins_a: owa@0 {
      		pins = "PI10";
      		function = "owa";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	owa_pins_b: owa@1 {
      		pins = "PI10";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_a: i2s0@0 {
      		pins = "PB4", "PB5", "PB6", "PB7", "PB8";
      		function = "i2s0";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s0_pins_b: i2s0@1 {
      		pins = "PB4", "PB5", "PB6", "PB7", "PB8";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_a: i2s1@0 {
      		pins = "PG10", "PG11", "PG12", "PG13", "PG14";
      		function = "i2s1";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s1_pins_b: i2s1@1 {
      		pins = "PG10", "PG11", "PG12", "PG13", "PG14";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_a: i2s2@0 {
      		pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
      		function = "i2s2";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s2_pins_b: i2s2@1 {
      		pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_a: i2s3@0 {
      		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
      		function = "i2s3";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	i2s3_pins_b: i2s3@1 {
      		pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	rgb24_pins_a: rgb24@0 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
      			"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
      			"PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27";
      		      function = "dpss";
      		      drive-strength = <30>;
      	      };
      	rgb24_pins_b: rgb24@1 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
      			"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
      			"PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27";
      		      function = "gpio_in";
      	      };
      	lvds0_pins_a: lvds0@0 {
      		pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
      		      function = "lvds0";
      		      drive-strength = <30>;
      	      };
      	lvds0_pins_b: lvds0@1 {
      		      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
      		      function = "gpio_in";
      	      };
      
      	nand0_pins_default: nand0@0 {
      		pins = "PC0", "PC1", "PC2", "PC5",
      			 "PC8", "PC9", "PC10", "PC11",
      			 "PC12", "PC13", "PC14", "PC15",
      			 "PC16";
      		function = "nand0";
      		drive-strength = <30>;
      	};
      
      	nand0_pins_rb: nand0@1 {
      		pins = "PC4", "PC6", "PC3", "PC7";
      		function = "nand0";
      		drive-strength = <30>;
      		bias-pull-up;   /* only RB&CE should be pulled up */
      	};
      
      	nand0_pins_sleep: nand0@2 {
      		pins = "PC0", "PC1", "PC2", "PC3",
      			 "PC4", "PC5", "PC6", "PC7",
      			 "PC8", "PC9", "PC10", "PC11",
      			 "PC12", "PC13", "PC14", "PC15",
      			 "PC16";
      		function = "io_disabled";
      		drive-strength = <10>;
      	};
      
      	gmac0_pins_default: gmac0@0 {
      		pins = "PH0", "PH1", "PH2", "PH3",
      			"PH4", "PH5", "PH6", "PH7",
      			 "PH9", "PH10","PH13","PH14",
      			  "PH15","PH16","PH17","PH18";
      		drive-strength = <40>;
      		function = "gmac0";
      		bias-pull-up;
      	};
      
      	gmac0_pins_sleep: gmac0@1 {
      		pins = "PH0", "PH1", "PH2", "PH3",
      			"PH4", "PH5", "PH6", "PH7",
      			 "PH9", "PH10","PH13","PH14",
      			  "PH15","PH16","PH17","PH18";
      		function = "gpio_in";
      	};
      
      	gmac1_pins_default: gmac1@0 {
      		pins = "PJ0", "PJ1", "PJ2", "PJ3",
      			"PJ4", "PJ5", "PJ6", "PJ7",
      			"PJ8", "PJ9", "PJ10", "PJ11",
      			"PJ12","PJ13", "PJ14", "PJ15";
      		drive-strength = <40>;
      		function = "gmac1";
      		bias-pull-up;
      	};
      
      	gmac1_pins_sleep: gmac1@1 {
      		pins = "PJ0", "PJ1", "PJ2", "PJ3",
      			"PJ4", "PJ5", "PJ6", "PJ7",
      			"PJ8", "PJ9", "PJ10", "PJ11",
      			"PJ12","PJ13", "PJ14", "PJ15";
      		function = "gpio_in";
      	};
      
      
      	spi1_pin_default: spi1_pin_default{
      		pins = "PI2","PI3","PI4","PI5";
      		function = "spi1";
      	};
      
      	spi1_pin_sleep: spi1_pin_sleep{
      		pins = "PI2","PI3","PI4","PI5";
      		function = "gpio_in";
      	};
      
      	spi2_pin_default: spi2_default {
      		pins = "PI6","PI7","PI8","PI12";
      		function = "spi2";
      	};
      
      	spi2_pin_sleep: spi2_sleep {
      		pins = "PI6","PI7","PI8","PI12";
      		function = "gpio_in";
      	};
      };
      
      &spi1 {
      	clock-frequency = <100000000>;
      	pinctrl-names = "default","sleep";
      	pinctrl-0 = <&spi1_pin_default>;
      	pinctrl-1 = <&spi1_pin_sleep>;
      
      	sunxi,spi-num-cs = <1>;
      	sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
      	sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
      	status = "okay";
      
      	spidev1 {
      		reg = <0>;
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <500000>;
      		spi-rx-bus-width = <0x1>;
      		spi-tx-bus-width = <0x1>;
      	};
      };
      &spi2{
      	clock-frequency = <100000000>;
      	pinctrl-names = "default","sleep";
      	pinctrl-0 = <&spi2_pin_default>;
      	pinctrl-1 = <&spi2_pin_sleep>;
      
      	sunxi,spi-num-cs = <1>;
      	sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
      	sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
      	status = "okay";
      
      	spidev2 {
      		reg = <0>;
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <500000>;
      		spi-rx-bus-width = <0x1>;
      		spi-tx-bus-width = <0x1>;
      	};
      	
      };
      
      &soc {
      	auto_print@54321 {
      		reg = <0x0 0x54321 0x0 0x0>;
      		device_type = "auto_print";
      		status = "okay";
      	};
      	car_reverse: car-reverse {
      		compatible = "allwinner,sunxi-car-reverse";
      
      		/* video source setting*/
      		video_channel = <0>;
      		video_source = <0>;
      		format_type = <0>;
      		video_source_width = <1920>;
      		video_source_height = <1080>;
      		src_size_adaptive = <1>;
      		/* display setting */
      		overview_type = <1>;
      		screen_width = <1280>;
      		screen_height = <800>;
      		screen_size_adaptive = <1>;
      		discard_frame = <0>;
      		di_used = <0>;
      		g2d_used = <1>;
      		rotation = <0>;
      		/* auxiliary line setting */
      		auxiliary_line_type = <1>;
      		aux_angle = <0>;
      		aux_lr = <0>;
      		reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>;
      		status = "disabled";
      	};
      
      
      	dsp0_rproc: dsp0_rproc@0 {
      		mboxes = <&msgbox 4>, <&msgbox 6>;
      		mbox-names = "arm-kick", "dsp-standby";
      		memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>,
      				<&dsp0iram_reserved>, <&dsp0dram0_reserved>, <&dsp0dram1_reserved>;
      		memory-mappings =
      			/* < DA         len             PA >    */
      			/* local SRAM via external bus */
      			< 0x20000       0x20000         0x20000 >,
      			/* local SRAM via internal bus */
      			< 0x400000      0x10000         0x20000 >,
      			< 0x420000      0x8000          0x30000 >,
      			< 0x440000      0x8000          0x38000 >,
      			/* DDR front 256MB */
      			< 0x10000000    0x10000000      0x40000000 >,
      			/* local SRAM via internal bus */
      			< 0x20020000    0x10000         0x400000 >,
      			< 0x20030000    0x8000          0x420000 >,
      			< 0x20038000    0x8000          0x440000 >,
      
      			/* DDR front 256MB */
      			< 0x30000000    0x10000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0x40000000    0x40000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0x80000000    0x40000000      0x40000000 >,
      			/* DDR front 1GB */
      			< 0xC0000000    0x40000000      0x40000000 >;
      		standby-ctrl-en = <0x1>;
      		standby-record-reg = <0x07090110>;
      		status = "okay";
      	};
      
      	e906_rproc: e906_rproc@7130000 {
      		mboxes = <&msgbox 8>;
      		mbox-names = "arm-kick";
      		memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>;
      		memory-mappings =
      			/* < DA		len		PA >	*/
      			/* DSP RAM */
      			< 0x20000	0x20000		0x20000 >,
      			/* SRAM A2 */
      			< 0x40000	0x24000		0x40000 >,
      			/* DDR */
      			< 0x8000000	0x37f00000	0x8000000 >,
      			/* SRAM SPACE 0 */
      			< 0x3ffc0000	0x40000		0x07280000 >,
      			/* SRAM SPACE 1 */
      			< 0x40000000	0x40000		0x072c0000 >,
      			/* DRAM SPACE */
      			< 0x40040000	0x3ffc0000	0x40040000>;
      		status = "okay";
      	};
      
      };
      
      &uart0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart0_pins_a>;
      	pinctrl-1 = <&uart0_pins_b>;
      	uart-supply = <&reg_cldo3>;
      	status = "okay";
      };
      
      &uart1 {
      	status = "disabled";
      };
      
      &uart2 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart2_pins_a>;
      	pinctrl-1 = <&uart2_pins_b>;
      	status = "okay";
      };
      
      &uart3 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart3_pins_a>;
      	pinctrl-1 = <&uart3_pins_b>;
      	status = "okay";
      };
      
      &uart4 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart4_pins_a>;
      	pinctrl-1 = <&uart4_pins_b>;
      	status = "okay";
      };
      
      &uart5 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart5_pins_a>;
      	pinctrl-1 = <&uart5_pins_b>;
      	status = "okay";
      };
      
      &uart6 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart6_pins_a>;
      	pinctrl-1 = <&uart6_pins_b>;
      	status = "okay";
      };
      
      &uart7 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart7_pins_a>;
      	pinctrl-1 = <&uart7_pins_b>;
      	status = "okay";
      };
      
      &uart8 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart8_pins_a>;
      	pinctrl-1 = <&uart8_pins_b>;
      	status = "okay";
      };
      
      &uart9 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart9_pins_a>;
      	pinctrl-1 = <&uart9_pins_b>;
      	status = "okay";
      };
      
      &lradc {
      	key_cnt = <2>;
      	key0 = <210 0x73>;
      	key1 = <410 0x72>;
      	key_debounce;
      	debounce_value = <50>;
      	status = "okay";
      };
      
      &irrx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&irrx_pins_default>;
      	pinctrl-1 = <&irrx_pins_sleep>;
      	irrx-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &s_irrx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&s_irrx_pins_default>;
      	pinctrl-1 = <&s_irrx_pins_sleep>;
      	status = "okay";
      };
      
      &irtx {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&irtx_pins_default>;
      	pinctrl-1 = <&irtx_pins_sleep>;
      	status = "disabled";
      };
      
      &gpadc0 {
      	channel_num = <2>;
      	channel_select = <3>;
      	channel_data_select = <3>;
      	channel_compare_select = <3>;
      	channel_cld_select = <3>;
      	channel_chd_select = <3>;
      	channel0_compare_lowdata = <1700000>;
      	channel0_compare_higdata = <1200000>;
      	channel1_compare_lowdata = <460000>;
      	channel1_compare_higdata = <1200000>;
      	status = "disabled";
      };
      
      &gpadc1 {
      	channel_num = <2>;
      	channel_select = <3>;
      	channel_data_select = <3>;
      	channel_compare_select = <3>;
      	channel_cld_select = <3>;
      	channel_chd_select = <3>;
      	channel0_compare_lowdata = <1700000>;
      	channel0_compare_higdata = <1200000>;
      	channel1_compare_lowdata = <460000>;
      	channel1_compare_higdata = <1200000>;
      	status = "disabled";
      };
      
      &a_pwm0 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm0_pin_active>;
      	pinctrl-1 = <&a_pwm0_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &a_pwm1 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm1_pin_active>;
      	pinctrl-1 = <&a_pwm1_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm2 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm2_pin_active>;
      	pinctrl-1 = <&a_pwm2_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm3 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm3_pin_active>;
      	pinctrl-1 = <&a_pwm3_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm4 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm4_pin_active>;
      	pinctrl-1 = <&a_pwm4_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm5 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm5_pin_active>;
      	pinctrl-1 = <&a_pwm5_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &a_pwm10 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&a_pwm10_pin_active>;
      	pinctrl-1 = <&a_pwm10_pin_sleep>;
      	pwm-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      &ledc  {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&ledc_pins_a>;
      	pinctrl-1 = <&ledc_pins_b>;
      	led_count = <34>;
      	output_mode = "GRB";
      	reset_ns = <84>;
      	t1h_ns = <800>;
      	t1l_ns = <320>;
      	t0h_ns = <300>;
      	t0l_ns = <800>;
      	wait_time0_ns = <84>;
      	wait_time1_ns = <84>;
      	wait_data_time_ns = <600000>;
      	status = "disabled";
      };
      
      &twi0 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi0_pins_default>;
      	pinctrl-1 = <&twi0_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	pcie_usb_phy@74 {
      		compatible = "combphy,phy74";
      		reg = <0x74>;
      		status = "disabled";
      	};
      	pcie_usb_phy@75 {
      		compatible = "combphy,phy75";
      		reg = <0x75>;
      		status = "disabled";
      	};
      
      	ctp {
      		compatible = "allwinner,goodix";
      		reg = <0x5d>;
      		device_type = "ctp";
      		status = "disabled";
      		ctp_name = "gt9xxnew_ts";
      		ctp_twi_id = <0x0>;
      		ctp_twi_addr = <0x5d>;
      		ctp_screen_max_x = <0x320>;
      		ctp_screen_max_y = <0x500>;
      		ctp_revert_x_flag = <0x1>;
      		ctp_revert_y_flag = <0x1>;
      		ctp_exchange_x_y_flag = <0x0>;
      		ctp_int_port = <&pio PH 9 GPIO_ACTIVE_LOW>;
      		ctp_wakeup = <&pio PH 10 GPIO_ACTIVE_LOW>;
      		ctp-supply = <&reg_cldo2>;
      		ctp_power_ldo_vol = <3300>;
      	};
      
      	gt9xx {
      		compatible = "goodix,gt9xx";
      		reg = <0x5d>;
      		status = "disabled";
      		irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			B4 00 05 20 03 0A 3D 00 01 0A
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 06 17 19 1F 14 8E 2E 99
      			2D 2F 35 11 00 00 00 1A 03 10
      			00 00 00 00 00 00 00 00 00 00
      			00 32 50 94 D5 02 07 00 00 04
      			8E 48 00 8A 4D 00 86 53 00 83
      			59 00 80 60 00 80 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 01 04 05 06 07 08 09
      			0C 0D 0E 0F 10 11 14 15 16 17
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF 28 27 26 25 24 23 22 21
      			20 1F 1E 1C 1B 19 13 12 11 10
      			0F 0D 0C 0A 08 07 06 04 02 00
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF FF FF AB 01
      		];
      	};
      };
      
      &twi1 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi1_pins_default>;
      	pinctrl-1 = <&twi1_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	status = "okay";
      
      	mir3da {
      		compatible = "allwinner,mir3da";
      		reg = <0x26>;
      		device_type = "gsensor";
      		status = "disabled";
      		gsensor_twi_id = <0x1>;
      		gsensor_twi_addr = <0x26>;
      		gsensor_int1 = <&pio PH 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      		gsensor-supply = <&reg_cldo3>;
      		gsensor_vcc_io_val = <3300>;
      	};
      
      	eeprom@50 {
      		compatible = "atmel,24c32";
      		reg = <0x50>;
      		status = "okay";
      	};
      };
      
      &twi2 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi2_pins_default>;
      	pinctrl-1 = <&twi2_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &twi3 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi3_pins_default>;
      	pinctrl-1 = <&twi3_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "disabled";
      };
      
      &twi4 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi4_pins_default>;
      	pinctrl-1 = <&twi4_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	rtc@51 {
                  compatible = "nxp,pcf8563";
                  reg = <0x51>;
                  #clock-cells = <0>;
                  status = "okay";
          };
          /* 070 inch 
          ft5x06: ft5x06@38 {
      			compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
      			reg = <0x38>;
      			pinctrl-names = "default";
      			interrupt-parent = <&pio>;
      			interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
      			reset-gpios = <&pio PJ 18  GPIO_ACTIVE_LOW>;
      			touchscreen-size-x=<1024>;
      			touchscreen-size-y=<600>;
      	};
      	*/
      	// 101 inch
      	gt9271@14 {
                      compatible = "goodix,gt9271";
                      reg = <0x14>;
                      //pinctrl-names = "default";
                      //pinctrl-0 = <&pinctrl_i2c_synaptics_dsx_io>;
      
                      interrupt-parent = <&pio>;
      				interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
      				reset-gpios = <&pio PJ 18  GPIO_ACTIVE_LOW>;
                      /*synaptics,y-rotation;*/
                      esd-recovery-timeout-ms = <2000>;
                      irq-gpios = <&pio PJ 19 GPIO_ACTIVE_HIGH>;
                      //reset-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
                      status = "okay";
              };
          gt9xx {
      		compatible = "goodix,gt9xx";
      		reg = <0x5d>;
      		status = "okay";
      		irq-gpios = <&pio PJ 19 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			B4 00 05 20 03 0A 3D 00 01 0A
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 06 17 19 1F 14 8E 2E 99
      			2D 2F 35 11 00 00 00 1A 03 10
      			00 00 00 00 00 00 00 00 00 00
      			00 32 50 94 D5 02 07 00 00 04
      			8E 48 00 8A 4D 00 86 53 00 83
      			59 00 80 60 00 80 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 01 04 05 06 07 08 09
      			0C 0D 0E 0F 10 11 14 15 16 17
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF 28 27 26 25 24 23 22 21
      			20 1F 1E 1C 1B 19 13 12 11 10
      			0F 0D 0C 0A 08 07 06 04 02 00
      			FF FF FF FF FF FF FF FF FF FF
      			FF FF FF FF AB 01
      		];
      	};
      };
      
      &twi5 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi5_pins_default>;
      	pinctrl-1 = <&twi5_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_dcdc4>;
      	status = "okay";
      
      	gt9xx_secondary {
      		compatible = "goodix,gt9xx_secondary";
      		reg = <0x5d>;
      		status = "okay";
      		irq-gpios = <&pio PI 13 GPIO_ACTIVE_LOW>;
      		irq-flags = <2>;
      		reset-gpios = <&pio PI 14 GPIO_ACTIVE_LOW>;
      		vdd_ana-supply = <&reg_dcdc4>;
      
      		touchscreen-max-id = <11>;
      		touchscreen-size-x = <1280>;
      		touchscreen-size-y = <800>;
      		touchscreen-max-w = <512>;
      		touchscreen-max-p = <512>;
      		//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
      		goodix,slide-wakeup = <0>;
      		goodix,type-a-report = <1>;
      		goodix,driver-send-cfg = <0>;
      		goodix,send-cfg-id = <0>;
      		goodix,resume-in-workqueue = <0>;
      		goodix,int-sync = <1>;
      		goodix,revert_x = <0>;
      		goodix,revert_y = <0>;
      		goodix,swap-x2y = <0>;
      		goodix,tp_idle_support = <1>;
      		goodix,esd-protect = <1>;
      		goodix,auto-update-cfg = <0>;
      		goodix,power-off-sleep = <1>;
      		goodix,pen-suppress-finger = <0>;
      		/* GT9271_Config_20221222_v67.cfg*/
      		goodix,cfg-group0 = [
      			43 B0 04 80 07 0A 35 00 01 08
      			28 0F 50 32 03 05 00 00 00 00
      			00 00 00 17 19 1B 14 90 2B 99
      			2F 31 8E 12 00 00 00 DA 03 10
      			00 00 00 00 00 00 00 00 00 11
      			00 29 4B 94 C5 02 07 00 00 04
      			85 2B 00 7D 31 00 77 37 00 72
      			3E 00 6F 46 00 6F 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 00 00 00 00 00 00
      			00 00 00 00 C0 00 00 00 00 00
      			00 00 17 16 15 14 11 10 0F 0E
      			0D 0C 09 08 07 06 05 04 01 00
      			FF FF FF FF FF FF 00 00 00 00
      			00 00 25 24 23 22 21 20 1F 1E
      			1C 1B 19 14 13 12 11 10 0F 0E
      			0D 0C 0A 08 07 06 04 02 00 FF
      			FF FF FF FF 00 00 00 00 00 00
      			00 00 00 00 73 01
      		];
      	};
      };
      
      &csi_mclk3_pins_a {
      	pins = "PK13";
      	function = "ncsi";
      };
      
      &csi_mclk3_pins_b {
      	pins = "PK13";
      };
      
      &mipib_4lane_pins_a {
         pins = "PK6", "PK7", "PK8",
                              "PK9";
      };
      
      &mipib_4lane_pins_b {
         pins = "PK6", "PK7", "PK8",
                              "PK9";
      };
      
      &vind0 {
      	csi_top = <360000000>;
      	csi_isp = <300000000>;
      	vind_mclkpin-supply = <&reg_bldo3>; /* vcc-pe */
      	vind_mclkpin_vol = <1800000>;
      	vind_mcsipin-supply = <&reg_bldo3>; /* vcc-pk */
      	vind_mcsipin_vol = <1800000>;
      	vind_mipipin-supply = <&reg_bldo3>; /* vcc-mcsi */
      	vind_mipipin_vol = <1800000>;
      	status = "okay";
      
      	csi3:csi@5823000 {
      		pinctrl-names = "default","sleep";
      		pinctrl-0 = <&ncsi_bt1120_pins_a>;
      		pinctrl-1 = <&ncsi_bt1120_pins_b>;
      		status = "disabled";
      	};
      
      	tdm0:tdm@5908000 {
      		work_mode = <0>;
      	};
      
      	isp00:isp@5900000 {
      		work_mode = <0>;
      	};
      
      	isp01:isp@58ffffc {
      		status = "disabled";
      	};
      
      	isp02:isp@58ffff8 {
      		status = "disabled";
      	};
      
      	isp03:isp@58ffff4 {
      		status = "disabled";
      	};
      
      	isp10:isp@4 {
      		status = "okay";
      	};
      
      	isp20:isp@5 {
      		status = "okay";
      	};
      
      	scaler00:scaler@5910000 {
      		work_mode = <0>;
      	};
      
      	scaler01:scaler@590fffc {
      		status = "disabled";
      	};
      
      	scaler02:scaler@590fff8 {
      		status = "disabled";
      	};
      
      	scaler03:scaler@590fff4 {
      		status = "disabled";
      	};
      
      	scaler10:scaler@5910400 {
      		work_mode = <0>;
      	};
      
      	scaler11:scaler@59103fc {
      		status = "disabled";
      	};
      
      	scaler12:scaler@59103f8 {
      		status = "disabled";
      	};
      
      	scaler13:scaler@59103f4 {
      		status = "disabled";
      	};
      
      	scaler20:scaler@5910800 {
      		work_mode = <0>;
      	};
      
      	scaler21:scaler@59107fc {
      		status = "disabled";
      	};
      
      	scaler22:scaler@59107f8 {
      		status = "disabled";
      	};
      
      	scaler23:scaler@59107f4 {
      		status = "disabled";
      	};
      
      	scaler30:scaler@5910c00 {
      		work_mode = <0>;
      	};
      
      	scaler31:scaler@5910bfc {
      		status = "disabled";
      	};
      
      	scaler32:scaler@5910bf8 {
      		status = "disabled";
      	};
      
      	scaler33:scaler@5910bf4 {
      		status = "disabled";
      	};
      	scaler40:scaler@16 {
      		status = "okay";
      	};
      	scaler50:scaler@17 {
      		status = "okay";
      	};
      
      	actuator0: actuator@2108180 {
      		device_type = "actuator0";
      		actuator0_name = "dw9714_act";
      		actuator0_slave = <0x18>;
      		actuator0_af_pwdn = <>;
      		actuator0_afvdd = "afvcc-csi";
      		actuator0_afvdd_vol = <2800000>;
      		status = "disabled";
      	};
      
      	flash0: flash@2108190 {
      		device_type = "flash0";
      		flash0_type = <2>;
      		flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>;
      		flash0_mode = <>;
      		flash0_flvdd = "";
      		flash0_flvdd_vol = <>;
      		device_id = <0>;
      		status = "disabled";
      	};
      
      	sensor0:sensor@5812000 {
      		device_type = "sensor0";
      		sensor0_mname = "ov5640_mipi_cam1";
      		sensor0_twi_cci_id = <7>;
      		sensor0_twi_addr = <0x78>;
      		// sensor0_mclk_id = <0>;
      		sensor0_pos = "rear";
      		sensor0_isp_used = <0>;
      		sensor0_fmt = <0>;
      		sensor0_stby_mode = <0>;
      		sensor0_vflip = <0>;
      		sensor0_hflip = <0>;
      		sensor0_cameravdd-supply = <>;
      		sensor0_cameravdd_vol = <>;
      		sensor0_iovdd-supply = <>;
      		sensor0_iovdd_vol = <>;
      		sensor0_avdd-supply = <>;
      		sensor0_avdd_vol = <>;
      		sensor0_dvdd-supply = <>;
      		sensor0_dvdd_vol = <>;
      		sensor0_power_en = <&pio PH 11 GPIO_ACTIVE_HIGH>;
      		sensor0_reset = <&r_pio PM 0 GPIO_ACTIVE_LOW>;
      		sensor0_pwdn = <&r_pio PM 1 GPIO_ACTIVE_LOW>;
      		status = "okay";
      	};
      
      	sensor1:sensor@5812010 {
      		device_type = "sensor1";
      		sensor1_mname = "ov5640_mipi_cam2";
      		sensor1_twi_cci_id = <8>;
      		sensor1_twi_addr = <0x78>;
      		// sensor1_mclk_id = <3>;
      		sensor1_pos = "front";
      		sensor1_isp_used = <0>;
      		sensor1_fmt = <0>;
      		sensor1_stby_mode = <0>;
      		sensor1_vflip = <0>;
      		sensor1_hflip = <0>;
      		sensor1_iovdd-supply = <>;
      		sensor1_iovdd_vol = <>;
      		sensor1_avdd-supply = <>;
      		sensor1_avdd_vol = <>;
      		sensor1_dvdd-supply = <>;
      		sensor1_dvdd_vol = <>;
      		sensor1_power_en = <&pio PH 8 GPIO_ACTIVE_HIGH>;
      		sensor1_reset = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
      		sensor1_pwdn = <&r_pio PM 3 GPIO_ACTIVE_LOW>;
      		status = "okay";
      	};
      
      	vinc00:vinc@5830000 {
      		vinc0_csi_sel = <0>;
      		vinc0_mipi_sel = <0>;
      		vinc0_isp_sel = <4>;
      		vinc0_isp_tx_ch = <0>;
      		vinc0_tdm_rx_sel = <0>;
      		vinc0_rear_sensor_sel = <0>;
      		vinc0_front_sensor_sel = <0>;
      		vinc0_sensor_list = <0>;
      		device_id = <0>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc01:vinc@582fffc {
      		vinc1_csi_sel = <1>;
      		vinc1_mipi_sel = <2>;
      		vinc1_isp_sel = <1>;
      		vinc1_isp_tx_ch = <0>;
      		vinc1_tdm_rx_sel = <1>;
      		vinc1_rear_sensor_sel = <1>;
      		vinc1_front_sensor_sel = <1>;
      		vinc1_sensor_list = <0>;
      		device_id = <1>;
      		status = "disabled";
      	};
      
      	vinc02:vinc@582fff8 {
      		vinc2_csi_sel = <2>;
      		vinc2_mipi_sel = <0xff>;
      		vinc2_isp_sel = <2>;
      		vinc2_isp_tx_ch = <2>;
      		vinc2_tdm_rx_sel = <2>;
      		vinc2_rear_sensor_sel = <0>;
      		vinc2_front_sensor_sel = <0>;
      		vinc2_sensor_list = <0>;
      		device_id = <2>;
      		status = "disabled";
      	};
      
      	vinc03:vinc@582fff4 {
      		vinc3_csi_sel = <0>;
      		vinc3_mipi_sel = <0xff>;
      		vinc3_isp_sel = <0>;
      		vinc3_isp_tx_ch = <0>;
      		vinc3_tdm_rx_sel = <0>;
      		vinc3_rear_sensor_sel = <1>;
      		vinc3_front_sensor_sel = <1>;
      		vinc3_sensor_list = <0>;
      		device_id = <3>;
      		status = "disabled";
      	};
      
      	vinc10:vinc@5831000 {
      		vinc4_csi_sel = <0>;
      		vinc4_mipi_sel = <0>;
      		vinc4_isp_sel = <4>;
      		vinc4_isp_tx_ch = <1>;
      		vinc4_tdm_rx_sel = <0>;
      		vinc4_rear_sensor_sel = <0>;
      		vinc4_front_sensor_sel = <0>;
      		vinc4_sensor_list = <0>;
      		device_id = <4>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc11:vinc@5830ffc {
      		vinc5_csi_sel = <2>;
      		vinc5_mipi_sel = <0xff>;
      		vinc5_isp_sel = <1>;
      		vinc5_isp_tx_ch = <1>;
      		vinc5_tdm_rx_sel = <1>;
      		vinc5_rear_sensor_sel = <0>;
      		vinc5_front_sensor_sel = <0>;
      		vinc5_sensor_list = <0>;
      		device_id = <5>;
      		status = "disabled";
      	};
      
      	vinc12:vinc@5830ff8 {
      		vinc6_csi_sel = <2>;
      		vinc6_mipi_sel = <0xff>;
      		vinc6_isp_sel = <0>;
      		vinc6_isp_tx_ch = <0>;
      		vinc6_tdm_rx_sel = <0>;
      		vinc6_rear_sensor_sel = <0>;
      		vinc6_front_sensor_sel = <0>;
      		vinc6_sensor_list = <0>;
      		device_id = <6>;
      		status = "disabled";
      	};
      
      	vinc13:vinc@5830ff4 {
      		vinc7_csi_sel = <2>;
      		vinc7_mipi_sel = <0xff>;
      		vinc7_isp_sel = <0>;
      		vinc7_isp_tx_ch = <0>;
      		vinc7_tdm_rx_sel = <0>;
      		vinc7_rear_sensor_sel = <0>;
      		vinc7_front_sensor_sel = <0>;
      		vinc7_sensor_list = <0>;
      		device_id = <7>;
      		status = "disabled";
      	};
      
      	vinc20:vinc@5832000 {
      		vinc8_csi_sel = <0>;
      		vinc8_mipi_sel = <0>;
      		vinc8_isp_sel = <4>;
      		vinc8_isp_tx_ch = <2>;
      		vinc8_tdm_rx_sel = <0>;
      		vinc8_rear_sensor_sel = <0>;
      		vinc8_front_sensor_sel = <0>;
      		vinc8_sensor_list = <0>;
      		device_id = <8>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc21:vinc@5831ffc {
      		vinc9_csi_sel = <2>;
      		vinc9_mipi_sel = <0xff>;
      		vinc9_isp_sel = <0>;
      		vinc9_isp_tx_ch = <0>;
      		vinc9_tdm_rx_sel = <0>;
      		vinc9_rear_sensor_sel = <0>;
      		vinc9_front_sensor_sel = <0>;
      		vinc9_sensor_list = <0>;
      		device_id = <9>;
      		status = "disabled";
      	};
      
      	vinc22:vinc@5831ff8 {
      		vinc10_csi_sel = <2>;
      		vinc10_mipi_sel = <0xff>;
      		vinc10_isp_sel = <0>;
      		vinc10_isp_tx_ch = <0>;
      		vinc10_tdm_rx_sel = <0>;
      		vinc10_rear_sensor_sel = <0>;
      		vinc10_front_sensor_sel = <0>;
      		vinc10_sensor_list = <0>;
      		device_id = <10>;
      		status = "disabled";
      	};
      
      	vinc23:vinc@5831ff4 {
      		vinc11_csi_sel = <2>;
      		vinc11_mipi_sel = <0xff>;
      		vinc11_isp_sel = <0>;
      		vinc11_isp_tx_ch = <0>;
      		vinc11_tdm_rx_sel = <0>;
      		vinc11_rear_sensor_sel = <0>;
      		vinc11_front_sensor_sel = <0>;
      		vinc11_sensor_list = <0>;
      		device_id = <11>;
      		status = "disabled";
      	};
      
      	vinc30:vinc@5833000 {
      		vinc12_csi_sel = <0>;
      		vinc12_mipi_sel = <0>;
      		vinc12_isp_sel = <4>;
      		vinc12_isp_tx_ch = <3>;
      		vinc12_tdm_rx_sel = <0>;
      		vinc12_rear_sensor_sel = <0>;
      		vinc12_front_sensor_sel = <0>;
      		vinc12_sensor_list = <0>;
      		device_id = <12>;
      		work_mode = <0x0>;
      		status = "okay";
      	};
      
      	vinc31:vinc@5832ffc {
      		vinc13_csi_sel = <2>;
      		vinc13_mipi_sel = <0xff>;
      		vinc13_isp_sel = <0>;
      		vinc13_isp_tx_ch = <0>;
      		vinc13_tdm_rx_sel = <0>;
      		vinc13_rear_sensor_sel = <0>;
      		vinc13_front_sensor_sel = <0>;
      		vinc13_sensor_list = <0>;
      		device_id = <13>;
      		status = "disabled";
      	};
      
      	vinc32:vinc@5832ff8 {
      		vinc14_csi_sel = <2>;
      		vinc14_mipi_sel = <0xff>;
      		vinc14_isp_sel = <0>;
      		vinc14_isp_tx_ch = <0>;
      		vinc14_tdm_rx_sel = <0>;
      		vinc14_rear_sensor_sel = <0>;
      		vinc14_front_sensor_sel = <0>;
      		vinc14_sensor_list = <0>;
      		device_id = <14>;
      		status = "disabled";
      	};
      
      	vinc33:vinc@5832ff4 {
      		vinc15_csi_sel = <2>;
      		vinc15_mipi_sel = <0xff>;
      		vinc15_isp_sel = <0>;
      		vinc15_isp_tx_ch = <0>;
      		vinc15_tdm_rx_sel = <0>;
      		vinc15_rear_sensor_sel = <0>;
      		vinc15_front_sensor_sel = <0>;
      		vinc15_sensor_list = <0>;
      		device_id = <15>;
      		status = "disabled";
      	};
      
      	vinc40:vinc@5834000 {
      		vinc16_csi_sel = <2>;
      		vinc16_mipi_sel = <2>;
      		vinc16_isp_sel = <4>;
      		vinc16_isp_tx_ch = <0>;
      		vinc16_tdm_rx_sel = <0>;
      		vinc16_rear_sensor_sel = <1>;
      		vinc16_front_sensor_sel = <1>;
      		vinc16_sensor_list = <1>;
      		device_id = <16>;
      		status = "okay";
      	};
      
      	vinc50:vinc@5835000 {
      		vinc17_csi_sel = <2>;
      		vinc17_mipi_sel = <2>;
      		vinc17_isp_sel = <4>;
      		vinc17_isp_tx_ch = <1>;
      		vinc17_tdm_rx_sel = <0>;
      		vinc17_rear_sensor_sel = <1>;
      		vinc17_front_sensor_sel = <1>;
      		vinc17_sensor_list = <1>;
      		device_id = <17>;
      		status = "okay";
      	};
      };
      
      &twi6 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi0_pins_default>;
      	pinctrl-1 = <&s_twi0_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	device_type = "twi6";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	no_suspend = <1>;
      	status = "okay";
      
      	tcs0: tcs@41 {
      		compatible = "ext,tcs4838";
      		reg = <0x41>;
      		status = "okay";
      		tcs4838_delay = <0>;
      		regulator1: regulators@1 {
      			reg_tcs0: dcdc0 {
      				regulator-name = "tcs4838-dcdc0";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_tcs1: dcdc1 {
      				regulator-name = "tcs4838-dcdc1";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      		};
      		virtual-ext-dcdc0 {
      			compatible = "xpower-vregulator,ext-dcdc0";
      			dcdc0-supply = <&reg_tcs0>;
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_tcs1>;
      		};
      	};
      
      	sy0: sy@60 {
      		compatible = "ext,sy8827g";
      		reg = <0x60>;
      		status = "okay";
      		sy8827g_delay = <0>;
      		regulator2: regulators@2 {
      			reg_sy0: dcdc0 {
      				regulator-name = "sy8827g-dcdc0";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_sy1: dcdc1 {
      				regulator-name = "sy8827g-dcdc1";
      				regulator-min-microvolt = <712500>;
      				regulator-max-microvolt = <1500000>;
      				regulator-ramp-delay = <520>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      		};
      		virtual-ext-dcdc0 {
      			compatible = "xpower-vregulator,ext-dcdc0";
      			dcdc0-supply = <&reg_sy0>;
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_sy1>;
      		};
      	};
      
      	axp1530: axp1530@36{
      		compatible = "ext,axp1530";
      		status = "okay";
      		reg = <0x36>;
      
      		wakeup-source;
      
      		regulators{
      			reg_ext_axp1530_dcdc1: dcdc1 {
      				regulator-name = "axp1530-dcdc1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3400000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_dcdc2: dcdc2 {
      				regulator-name = "axp1530-dcdc2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1540000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-ramp-delay = <200>; /* FIXME */
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_dcdc3: dcdc3 {
      				regulator-name = "axp1530-dcdc3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1840000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      				regulator-always-on;
      			};
      
      			reg_ext_axp1530_aldo1: ldo1 {
      				regulator-name = "axp1530-aldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      			};
      
      			reg_ext_axp1530_dldo1: ldo2 {
      				regulator-name = "axp1530-dldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-step-delay-us = <25>;
      				regulator-final-delay-us = <50>;
      			};
      		};
      		virtual-ext-dcdc1 {
      			compatible = "xpower-vregulator,ext-dcdc1";
      			dcdc1-supply = <&reg_ext_axp1530_dcdc1>;
      		};
      		virtual-ext-dcdc2 {
      			compatible = "xpower-vregulator,ext-dcdc2";
      			dcdc2-supply = <&reg_ext_axp1530_dcdc2>;
      		};
      		virtual-ext-dcdc3 {
      			compatible = "xpower-vregulator,ext-dcdc3";
      			dcdc3-supply = <&reg_ext_axp1530_dcdc3>;
      		};
      		virtual-ext-aldo1 {
      			compatible = "xpower-vregulator,ext-aldo1";
      			aldo1-supply = <&reg_ext_axp1530_aldo1>;
      		};
      		virtual-ext-dldo1 {
      			compatible = "xpower-vregulator,ext-dldo1";
      			dldo1-supply = <&reg_ext_axp1530_dldo1>;
      		};
      
      	};
      
      	pmu0: pmu@35 {
      		compatible = "x-powers,axp2202";
      		reg = <0x35>;
      		status = "okay";
      		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
      		interrupt-parent = <&nmi_intc>;
      		x-powers,drive-vbus-en;
      		pmu_reset = <0>;
      		pmu_irq_wakeup = <1>;
      		pmu_hot_shutdown = <1>;
      
      		wakeup-source;
      
      		usb_power_supply: usb_power_supply {
      			compatible = "x-powers,axp2202-usb-power-supply";
      			status = "okay";
      
      			pmu_usbpc_vol = <4600>;
      			pmu_usbpc_cur = <500>;
      			pmu_usbad_vol = <4000>;
      			pmu_usbad_cur = <2500>;
      			pmu_usb_typec_used = <1>;
      			wakeup_usb_in;
      			wakeup_usb_out;
      
      			det_acin_supply = <&gpio_power_supply>;
      			pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>;
      			pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>;
      		};
      
      		gpio_power_supply: gpio_power_supply {
      			compatible = "x-powers,gpio-supply";
      			status = "disabled";
      			pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>;
      			det_usb_supply = <&usb_power_supply>;
      		};
      
      		bat_power_supply: bat-power-supply {
      			compatible = "x-powers,axp2202-bat-power-supply";
      			param = <&axp2202_parameter>;
      			status = "disabled";
      
      			pmu_chg_ic_temp = <0>;
      
      			pmu_battery_rdc= <147>;
      			pmu_battery_cap = <1771>;
      			pmu_runtime_chgcur = <1000>;
      			pmu_suspend_chgcur = <1500>;
      			pmu_shutdown_chgcur = <1500>;
      			pmu_init_chgvol = <4200>;
      			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 = <2>;
      			pmu_bat_para8 = <3>;
      			pmu_bat_para9 = <4>;
      			pmu_bat_para10 = <6>;
      			pmu_bat_para11 = <9>;
      			pmu_bat_para12 = <14>;
      			pmu_bat_para13 = <26>;
      			pmu_bat_para14 = <38>;
      			pmu_bat_para15 = <49>;
      			pmu_bat_para16 = <52>;
      			pmu_bat_para17 = <56>;
      			pmu_bat_para18 = <60>;
      			pmu_bat_para19 = <64>;
      			pmu_bat_para20 = <70>;
      			pmu_bat_para21 = <77>;
      			pmu_bat_para22 = <83>;
      			pmu_bat_para23 = <87>;
      			pmu_bat_para24 = <90>;
      			pmu_bat_para25 = <95>;
      			pmu_bat_para26 = <99>;
      			pmu_bat_para27 = <99>;
      			pmu_bat_para28 = <100>;
      			pmu_bat_para29 = <100>;
      			pmu_bat_para30 = <100>;
      			pmu_bat_para31 = <100>;
      			pmu_bat_para32 = <100>;
      
      			pmu_bat_temp_enable = <1>;
      			pmu_jetia_en        = <1>;
      			pmu_bat_charge_ltf = <1738>; //-5
      			pmu_bat_charge_htf = <150>; //60
      			pmu_bat_shutdown_ltf = <2125>; //-10
      			pmu_bat_shutdown_htf = <130>; //65
      			pmu_jetia_cool = <1390>; //0
      			pmu_jetia_warm = <206>; //50
      			pmu_jcool_ifall = <2>;//75%
      			pmu_jwarm_ifall = <2>;//75%
      			pmu_bat_temp_para1 = <4592>; //SDNT-25
      			pmu_bat_temp_para2 = <2781>; //-15
      			pmu_bat_temp_para3 = <2125>; //-10
      			pmu_bat_temp_para4 = <1738>; //-5
      			pmu_bat_temp_para5 = <1390>;//0
      			pmu_bat_temp_para6 = <1118>; //5
      			pmu_bat_temp_para7 = <906>; //10
      			pmu_bat_temp_para8 = <606>; //20
      			pmu_bat_temp_para9 = <415>; //30
      			pmu_bat_temp_para10 = <290>; //40
      			pmu_bat_temp_para11 = <244>; //45
      			pmu_bat_temp_para12 = <206>; //50
      			pmu_bat_temp_para13 = <175>; //55
      			pmu_bat_temp_para14 = <150>; //60
      			pmu_bat_temp_para15 = <110>; //70
      			pmu_bat_temp_para16 = <83>; //80
      
      			wakeup_bat_out;
      			/* wakeup_bat_in; */
      			/* wakeup_bat_charging; */
      			/* wakeup_bat_charge_over; */
      			/* wakeup_low_warning1; */
      			/* wakeup_low_warning2; */
      			/* wakeup_bat_untemp_work; */
      			/* wakeup_bat_ovtemp_work; */
      			/* wakeup_bat_untemp_chg; */
      			/* wakeup_bat_ovtemp_chg; */
      		};
      
      		powerkey0: powerkey@0 {
      			status = "okay";
      			compatible = "x-powers,axp2101-pek";
      			pmu_powkey_off_time = <6000>;
      			pmu_powkey_off_func = <0>;
      			pmu_powkey_off_en = <1>;
      			pmu_powkey_long_time = <1500>;
      			pmu_powkey_on_time = <512>;
      			wakeup_rising;
      			wakeup_falling;
      		};
      
      		regulator0: regulators@0 {
      			reg_dcdc1: dcdc1 {
      				regulator-name = "axp2202-dcdc1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1540000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_dcdc2: dcdc2 {
      				regulator-name = "axp2202-dcdc2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3400000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_dcdc3: dcdc3 {
      				regulator-name = "axp2202-dcdc3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1840000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      			};
      			reg_dcdc4: dcdc4 {
      				regulator-name = "axp2202-dcdc4";
      				regulator-min-microvolt = <1000000>;
      				regulator-max-microvolt = <3700000>;
      				regulator-ramp-delay = <250>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_rtcldo: rtcldo {
      				/* RTC_LDO is a fixed, always-on regulator */
      				regulator-name = "axp2202-rtcldo";
      				regulator-min-microvolt = <1800000>;
      				regulator-max-microvolt = <1800000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_aldo1: aldo1 {
      				regulator-name = "axp2202-aldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_aldo2: aldo2 {
      				regulator-name = "axp2202-aldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_aldo3: aldo3 {
      				regulator-name = "axp2202-aldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_aldo4: aldo4 {
      				regulator-name = "axp2202-aldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_bldo1: bldo1 {
      				regulator-name = "axp2202-bldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-always-on;
      				regulator-boot-on;
      			};
      			reg_bldo2: bldo2 {
      				regulator-name = "axp2202-bldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_bldo3: bldo3 {
      				regulator-name = "axp2202-bldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_bldo4: bldo4 {
      				regulator-name = "axp2202-bldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo1: cldo1 {
      				regulator-name = "axp2202-cldo1";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo2: cldo2 {
      				regulator-name = "axp2202-cldo2";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cldo3: cldo3 {
      				regulator-name = "axp2202-cldo3";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-ramp-delay = <2500>;
      				regulator-enable-ramp-delay = <1000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_cldo4: cldo4 {
      				regulator-name = "axp2202-cldo4";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <3500000>;
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_cpusldo: cpusldo {
      				/* cpus */
      				regulator-name = "axp2202-cpusldo";
      				regulator-min-microvolt = <500000>;
      				regulator-max-microvolt = <1400000>;
      				regulator-boot-on;
      				regulator-always-on;
      			};
      			reg_vmid: vmid {
      				regulator-name = "axp2202-vmid";
      				regulator-enable-ramp-delay = <1000>;
      			};
      			reg_drivevbus: drivevbus {
      				regulator-name = "axp2202-drivevbus";
      				regulator-enable-ramp-delay = <1000>;
      				drivevbusin-supply = <&reg_vmid>;
      			};
      		};
      
      		virtual-dcdc1 {
      			compatible = "xpower-vregulator,dcdc1";
      			dcdc1-supply = <&reg_dcdc1>;
      		};
      		virtual-dcdc2 {
      			compatible = "xpower-vregulator,dcdc2";
      			dcdc2-supply = <&reg_dcdc2>;
      		};
      		virtual-dcdc3 {
      			compatible = "xpower-vregulator,dcdc3";
      			dcdc3-supply = <&reg_dcdc3>;
      		};
      		virtual-dcdc4 {
      			compatible = "xpower-vregulator,dcdc4";
      			dcdc4-supply = <&reg_dcdc4>;
      		};
      		virtual-rtcldo {
      			compatible = "xpower-vregulator,rtcldo";
      			rtcldo-supply = <&reg_rtcldo>;
      		};
      		virtual-aldo1 {
      			compatible = "xpower-vregulator,aldo1";
      			aldo1-supply = <&reg_aldo1>;
      		};
      		virtual-aldo2 {
      			compatible = "xpower-vregulator,aldo2";
      			aldo2-supply = <&reg_aldo2>;
      		};
      		virtual-aldo3 {
      			compatible = "xpower-vregulator,aldo3";
      			aldo3-supply = <&reg_aldo3>;
      		};
      		virtual-aldo4 {
      			compatible = "xpower-vregulator,aldo4";
      			aldo4-supply = <&reg_aldo4>;
      		};
      		virtual-bldo1 {
      			compatible = "xpower-vregulator,bldo1";
      			bldo1-supply = <&reg_bldo1>;
      		};
      		virtual-bldo2 {
      			compatible = "xpower-vregulator,bldo2";
      			bldo2-supply = <&reg_bldo2>;
      		};
      		virtual-bldo3 {
      			compatible = "xpower-vregulator,bldo3";
      			bldo3-supply = <&reg_bldo3>;
      		};
      		virtual-bldo4 {
      			compatible = "xpower-vregulator,bldo4";
      			bldo4-supply = <&reg_bldo4>;
      		};
      		virtual-cldo1 {
      			compatible = "xpower-vregulator,cldo1";
      			cldo1-supply = <&reg_cldo1>;
      		};
      		virtual-cldo2 {
      			compatible = "xpower-vregulator,cldo2";
      			cldo2-supply = <&reg_cldo2>;
      		};
      		virtual-cldo3 {
      			compatible = "xpower-vregulator,cldo3";
      			cldo3-supply = <&reg_cldo3>;
      		};
      		virtual-cldo4 {
      			compatible = "xpower-vregulator,cldo4";
      			cldo4-supply = <&reg_cldo4>;
      		};
      		virtual-cpusldo {
      			compatible = "xpower-vregulator,cpusldo";
      			cpusldo-supply = <&reg_cpusldo>;
      		};
      		virtual-drivevbus {
      			compatible = "xpower-vregulator,drivevbus";
      			drivevbus-supply = <&reg_drivevbus>;
      		};
      		axp_gpio0: axp_gpio@0 {
      			gpio-controller;
      			#size-cells = <0>;
      			#gpio-cells = <6>;
      			status = "okay";
      		};
      	};
      };
      
      /{
      	axp2202_parameter:axp2202-parameter {
      		select = "battery-model";
      
      		battery-model {
      			parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f
      				0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04
      				0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb
      				0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05
      				0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09
      				0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04
      				0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08
      				0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03
      				0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07
      				0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08
      				0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a
      				0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6
      				0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
      				0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6
      				0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
      				0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>;
      		};
      			  };
      };
      
      &twi7 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi1_pins_default>;
      	pinctrl-1 = <&s_twi1_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	//twi_drv_used = <1>;
      	twi-supply = <&reg_aldo3>;
      	status = "okay";
      
      	lt9611: lt9611@39 {
      			compatible = "myir,lt9611";
      			reg = <0x39>;
      			lt9611-rst-gpios = <&r_pio PL 6 GPIO_ACTIVE_HIGH>;
      			lt9611-power-en-gpios = <&pio PG 12 GPIO_ACTIVE_HIGH>;
      			interrupt-parent = <&r_pio>;
      			interrupts = <PL 7 IRQ_TYPE_EDGE_FALLING>;
      			status = "okay";
      	};
      
      	ac107: ac107@36 {
      		#sound-dai-cells        = <0>;
      		compatible              = "allwinner,sunxi-ac107";
      		reg                     = <0x36>;
      		pllclk-src              = "MCLK";
      		sysclk-src              = "MCLK";
      		pcm-bit-first           = "MSB";
      		frame-sync-width        = <1>;
      		rx-chmap                = <0xaaaa>;
      		ch1-dig-vol             = <160>;
      		ch2-dig-vol             = <160>;
      		ch1-pga-gain            = <26>;
      		ch2-pga-gain            = <26>;
      		status                  = "okay";
      	};
      };
      
      &twi8 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&s_twi2_pins_default>;
      	pinctrl-1 = <&s_twi2_pins_sleep>;
      	pinctrl-names = "default", "sleep";
      	/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
      	twi_drv_used = <1>;
      	twi-supply = <&reg_aldo3>;
      	status = "okay";
      };
      
      &sdc2 {
      	non-removable;
      	bus-width = <8>;
      	mmc-ddr-1_8v;
      	mmc-hs200-1_8v;
      	mmc-hs400-1_8v;
      	no-sdio;
      	no-sd;
      	ctl-spec-caps = <0x308>;
      	cap-mmc-highspeed;
      	sunxi-power-save-mode;
      	sunxi-dis-signal-vol-sw;
      	mmc-bootpart-noacc;
      	/*cap-hsq;*/
      	cqe-on;
      	ctl-cmdq-md = <0x2>;
      	max-frequency = <150000000>;
      	vmmc-supply = <&reg_cldo3>;
      	/*emmc io vol 3.3v*/
      	/*vqmmc-supply = <&reg_aldo1>;*/
      	/*emmc io vol 1.8v*/
      	vqmmc-supply = <&reg_cldo1>;
      	status = "disabled";
      };
      
      &sdc0 {
      	bus-width = <4>;
      	cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
      	/*non-removable;*/
      	/*broken-cd;*/
      	/*cd-inverted*/
      	/*data3-detect;*/
      	/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
      	cd-used-24M;
      	cd-set-debounce = <0x1>;
      	cap-sd-highspeed;
      	// sd-uhs-sdr50;
      	// sd-uhs-ddr50;
      	// sd-uhs-sdr104;
      	no-sdio;
      	no-mmc;
      	sunxi-power-save-mode;
      	/*sunxi-dis-signal-vol-sw;*/
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x408>;
      	sunxi-dly-208M  = <0xff 1 0xff 0xff 0xff 0xff>;
      	vmmc-supply = <&reg_cldo3>;
      	vqmmc33sw-supply = <&reg_cldo3>;
      	vdmmc33sw-supply = <&reg_cldo3>;
      	// vqmmc18sw-supply = <&reg_bldo3>;
      	// vdmmc18sw-supply = <&reg_bldo3>;
      	status = "okay";
      };
      
      
      &sdc1 {
      	bus-width = <4>;
      	no-mmc;
      	no-sd;
      	cap-sd-highspeed;
      	/*sd-uhs-sdr12*/
      	sd-uhs-sdr25;
      	sd-uhs-sdr50;
      	sd-uhs-ddr50;
      	sd-uhs-sdr104;
      	/*sunxi-power-save-mode;*/
      	sunxi-dis-signal-vol-sw;
      	cap-sdio-irq;
      	keep-power-in-suspend;
      	ignore-pm-notify;
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x408>;
      	status = "okay";
      };
      
      &nand0 {
      	compatible = "allwinner,sun55iw3-nand";
      	device_type = "nand0";
      	//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&nand0_pins_default &nand0_pins_rb>;
      	pinctrl-1 = <&nand0_pins_sleep>;
      	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>;
      	chip_code = "sun55iw3";
      	status = "disabled";
      };
      
      &rfkill {
      	compatible = "allwinner,sunxi-rfkill";
      	chip_en;
      	power_en;
      	pinctrl-0;
      	pinctrl-names;
      	status = "okay";
      
      	/* bt session */
      	bt {
      		compatible    = "allwinner,sunxi-bt";
      		clocks;
      		clock-names;
      		bt_power    = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */
      		bt_power_vol= <3300000>, <1800000>;
      		bt_rst_n      = <&pio PC 4 GPIO_ACTIVE_HIGH>;
      	};
      };
      
      &addr_mgt {
      	compatible     = "allwinner,sunxi-addr_mgt";
      	type_addr_wifi = <0x0>;
      	type_addr_bt   = <0x0>;
      	type_addr_eth  = <0x0>;
      	status         = "okay";
      };
      
      &btlpm {
      	compatible  = "allwinner,sunxi-btlpm";
      	uart_index  = <0x1>;
      	bt_wake     = <&pio PC 12 GPIO_ACTIVE_HIGH>;
      	bt_hostwake = <&pio PC 2 GPIO_ACTIVE_HIGH>;
      	wakeup-source;
      	status      = "okay";
      };
      
      /*
       *usb_port_type: usb mode. 0-device, 1-host, 2-otg.
       *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
       *usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
       *usb_id_gpio: gpio for id detect.
       *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
       *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
       */
      &usbc0 {
      	device_type = "usbc0";
      	usb_port_type = <0x2>;
      	usb_detect_type = <0x1>;
      	usb_detect_mode = <0x0>;
      	usb_id_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	usb_det_vbus_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	detvbus_io-supply = <&reg_bldo1>;
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	usb_luns = <3>;
      	usb_serial_unique = <0>;
      	usb_serial_number = "20080411";
      	rndis_wceis = <1>;
      	status = "okay";
      };
      
      &udc {
      	det_vbus_supply = <&usb_power_supply>;
      	status = "okay";
      };
      
      &ehci0 {
      	//drvvbus-supply = <&reg_usb0_vbus>;
      	status = "okay";
      };
      
      &ohci0 {
      	//drvvbus-supply = <&reg_usb0_vbus>;
      	status = "okay";
      };
      
      &usbc1 {
      	device_type = "usbc1";
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	status = "okay";
      };
      
      &ehci1 {
      	//drvvbus-supply = <&reg_usb1_vbus>;
      	status = "okay";
      };
      
      &ohci1 {
      	//drvvbus-supply = <&reg_usb1_vbus>;
      	status = "okay";
      };
      
      &usbc2 {
      	device_type = "usbc2";
      	drvvbus-supply = <&reg_drivevbus>;
      	aw,vbus-shared-quirk;
      	status = "okay";
      };
      
      &xhci2 {
      	dr_mode = "host";
      	status = "okay";
      };
      
      &u2phy {
      	status = "okay";
      };
      
      &combophy {
      	resets = <&ccu RST_BUS_PCIE_USB3>;
      	phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */
      	status = "okay";
      };
      
      &gpu {
      	gpu_idle = <1>;
      	dvfs_status = <1>;
      	mali-supply = <&reg_dcdc2>;
      };
      
      /*----------------------------------------------------------------------------------
      disp init configuration
      
      disp_mode             (0:screen0<screen0,fb0>)
      screenx_output_type   (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
      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)
      screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
      screenx_output_bits   (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
      screenx_output_eotf   (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
      screenx_output_cs     (for hdmi, 0:undefined  257:BT709 260:BT601  263:BT2020)
      screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
      screen0_output_range   (for hdmi, 0:default 1:full 2:limited)
      screen0_output_scan    (for hdmi, 0:no data 1:overscan 2:underscan)
      screen0_output_aspect_ratio  (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
      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)
      framebuffer software rotation setting:
      disp_rotation_used:   (0:disable; 1:enable,you must set fbX_width to lcd_y,
      set fbX_height to lcd_x)
      degreeX:              (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
      degreeX_Y:            (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
      devX_output_type : config output type in bootGUI framework in UBOOT-2018.
      				   (0:none; 1:lcd; 2:tv; 4:hdmi;)
      devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
      devX_screen_id   : config display index of bootGUI framework in UBOOT-2018
      devX_do_hpd      : whether do hpd detectation or not in UBOOT-2018
      chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with 6
      				   channel, 1:dual display with 4 channel in main display and 2 channel in second
                         display, 2:dual display with 3 channel in main display and 3 channel in second
                         in display.
      ----------------------------------------------------------------------------------*/
      &disp {
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
              screen0_output_type      = <1>;
              screen0_output_mode      = <4>;
              screen0_to_lcd_index     = <0>;
      
              screen1_output_type      = <3>;
              screen1_output_mode      = <10>;
              screen1_to_lcd_index     = <3>;
      
              screen1_output_format    = <0>;
              screen1_output_bits      = <0>;
              screen1_output_eotf      = <4>;
              screen1_output_cs        = <257>;
              screen1_output_dvi_hdmi  = <2>;
              screen1_output_range     = <2>;
              screen1_output_scan      = <0>;
              screen1_output_aspect_ratio = <8>;
      
              dev0_output_type         = <1>;
              dev0_output_mode         = <4>;
              dev0_screen_id           = <0>;
              dev0_do_hpd              = <0>;
      
              screen1_output_type      = <6>;
              screen1_output_mode      = <10>;
              dev1_screen_id           = <2>;
              dev1_do_hpd              = <1>;
      
              def_output_dev           = <2>;
              hdmi_mode_check          = <1>;
      
              display_device_num          = <3>;
      
              primary_display_type        = "LCD";
              primary_de_id               = <0>;
              primary_framebuffer_width   = <1280>;
              primary_framebuffer_height  = <800>;
              primary_dpix                = <160>;
              primary_dpiy                = <160>;
      
              extend0_display_type        = "HDMI";
              extend0_de_id               = <1>;
              extend0_framebuffer_width   = <1920>;
              extend0_framebuffer_height  = <1080>;
              extend0_dpix                = <160>;
              extend0_dpiy                = <160>;
      
              extend1_display_type        = "DP";
              extend1_de_id               = <1>;
              extend1_framebuffer_width   = <1920>;
              extend1_framebuffer_height  = <1080>;
              extend1_dpix                = <160>;
              extend1_dpiy                = <160>;
      
              fb_format                = <0>;
              fb_num                   = <4>;
              /*<disp channel layer zorder>*/
              fb0_map                  = <0 1 0 16>;
              fb0_width                = <1920>;
              fb0_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb1_map                  = <1 1 0 16>;
              fb1_width                = <1920>;
              fb1_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb2_map                  = <1 0 0 16>;
              fb2_width                = <1920>;
              fb2_height               = <1080>;
              /*<disp channel layer zorder>*/
              fb3_map                  = <1 1 0 16>;
              fb3_width                = <300>;
              fb3_height               = <300>;
      
              chn_cfg_mode             = <3>;
              disp_para_zone           = <2>;
              //boot_disp				 = <0>;
              //boot_disp1				 = <0>;
              //boot_disp2				 = <0>;
              /* dual display clock constraints:
                 1. two tcons cannot share a parent clock.
                 2. when dsi uses ccu clock, combphy and corresponding tcon use the
                  same parent clock.
              */
              assigned-clocks = <&ccu CLK_DE>,
                        <&ccu CLK_VO0_TCONLCD0>,
                        <&ccu CLK_VO0_TCONLCD1>,
                        <&ccu CLK_VO1_TCONLCD0>,
                        <&ccu CLK_TCONTV>,
                        <&ccu CLK_TCONTV1>,
                        <&ccu CLK_COMBPHY0>,
                        <&ccu CLK_COMBPHY1>,
                        <&ccu CLK_DSI0>,
                        <&ccu CLK_DSI1>,
                        <&ccu CLK_EDP>;
              assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
                               <&ccu CLK_PLL_VIDEO0_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_VIDEO0_4X>,
                               <&ccu CLK_PLL_VIDEO1_4X>,
                               <&ccu CLK_PLL_PERI0_150M>,
                               <&ccu CLK_PLL_PERI0_150M>,
                               <&ccu CLK_PLL_VIDEO1_4X>;
              assigned-clock-rates = <600000000>;
      
              cldo3-supply = <&reg_cldo3>;
              dcdc4-supply = <&reg_dcdc4>;
              cldo1-supply = <&reg_cldo1>;
      
      	//pwms = <&a_pwm 4 5000000 0>, <&a_pwm 5 5000000 0>;
      	pwms = <&a_pwm 10 50000 0>, <&a_pwm 5 5000000 0>;
      	pwm-names = "lvds0_backlight", "lvds2_backlight";
      
              power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
              power-domain-names = "pd_de", "pd_vo0", "pd_vo1";
      
      	pinctrl-names = "active", "sleep";
      	//pinctrl-0 = <&a_pwm0_pin_active>;
      	//pinctrl-1 = <&a_pwm0_pin_sleep>;
      	pinctrl-0 = <&a_pwm10_pin_active>;
      	pinctrl-1 = <&a_pwm10_pin_sleep>;
      };
      
      /***
      ;lcd0 configuration
      
      ;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
      ;lcd_hv_if             0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
      ;lcd_hv_clk_phase      0:0 degree;1:90 degree;2:180 degree;3:270 degree
      ;lcd_hv_sync_polarity  0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
      ;lcd_hv_syuv_seq       0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
      ;lcd_cpu_if            0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
      ;                      6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
      ;lcd_cpu_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_dsi_if            0:video mode; 1: Command mode; 2:video burst mode
      ;lcd_dsi_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;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(pixel) + hsync plus width(pixel);
      ;lcd_ht:               hsync total cycle(pixel)
      ;lcd_vbp:              vsync back porch(line) + vysnc plus width(line)
      ;lcd_vt:               vysnc total cycle(line)
      ;lcd_hspw:             hsync plus width(pixel)
      ;lcd_vspw:             vysnc plus width(pixel)
      ;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)
      ;Pin setting for special function ie.LVDS, RGB data or vsync
      ;   name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for gpio:
      ;   lcd_gpio_X     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for backlight enable pin
      ;   lcd_bl_en     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;fsync setting, pulse to csi
      ;lcd_fsync_en          (0:disable fsync,1:enable)
      ;lcd_fsync_act_time    (active time of fsync, unit:pixel)
      ;lcd_fsync_dis_time    (disactive time of fsync, unit:pixel)
      ;lcd_fsync_pol         (0:positive;1:negative)
      ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
      pull up or pull down(default 0), driver level(default 1), data>
      ;For dual link lvds: use lvds2link_pins_a  and lvds2link_pins_b instead
      ;For rgb24: use rgb24_pins_a  and rgb24_pins_b instead
      ;For lvds1: use lvds1_pins_a  and lvds1_pins_b instead
      ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
      ***/
      &lcd0 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "default_lcd";
              lcd_backlight       = <200>;
              lcd_if              = <3>;
      
              lcd_x               = <1280>;
              lcd_y               = <800>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <63>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <10>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      	lcd_pwm_name	    = "lvds0_backlight";
      
              lcd_hbp             = <88>;
              lcd_ht              = <1451>;
              lcd_hspw            = <18>;
              lcd_vbp             = <23>;
              lcd_vt              = <860>;
              lcd_vspw            = <10>;
              
              
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <0>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <1>;
              lcd_hv_clk_phase    = <0>;
              lcd_hv_sync_polarity= <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
              lcd_fsync_pol       = <0>;
      	lcd_start_delay     = <5>;
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_pin_power = "cldo3";
              lcd_power = "dcdc4";
              lcd_power1 = "cldo1";
              //lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset
             //lcd_bl_en        = <&pio PI 2 GPIO_ACTIVE_HIGH>;
      
              pinctrl-0 = <&lvds0_pins_a>,<&dsi1_4lane_pins_a>;
              pinctrl-1 = <&lvds0_pins_b>,<&dsi1_4lane_pins_b>;
              lvds0_pinctrl-0 = <&lvds0_pins_a>;
              lvds0_pinctrl-1 = <&lvds0_pins_b>;
              lvds1_pinctrl-0 = <&lvds1_pins_a>;
              lvds1_pinctrl-1 = <&lvds1_pins_b>;
              dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>;
              dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>;
              dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>;
              dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>;
              dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>;
              dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>;
      };
      
      #if 1
      &lcd1 {
              lcd_used            = <1>;
              status              = "okay";
              lcd_driver_name     = "SQ101D_Q5DI404_84H501";
              lcd_backlight       = <200>;
              lcd_if              = <4>;
      
              lcd_x               = <1920>;
              lcd_y               = <1080>;
              lcd_width           = <136>;
              lcd_height          = <217>;
              lcd_dclk_freq       = <148>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <0>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      
              lcd_hbp             = <88>;
              lcd_ht              = <2200>;
              lcd_hspw            = <44>;
              lcd_vbp             = <4>;
              lcd_vt              = <1125>;
              lcd_vspw            = <5>;
      
              lcd_frm             = <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_start_delay     = <5>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_dsi_if          = <0>;
              lcd_dsi_lane        = <4>;
              lcd_dsi_format      = <0>;
              lcd_dsi_te          = <0>;
              lcd_dsi_eotp        = <0>;
      
              lcd_pin_power = "dcdc4";
              lcd_power1 = "cldo4";
              lcd_power2 = "cldo1";
      
              lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset
      
              pinctrl-0 = <&dsi0_4lane_pins_a>;
              pinctrl-1 = <&dsi0_4lane_pins_b>;
      
              // lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>;
              lcd_bl_0_percent        = <5>;
      };
      #else
      &lcd1 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "default_lcd";
              lcd_backlight       = <50>;
              lcd_if              = <0>;
      
              lcd_x               = <800>;
              lcd_y               = <480>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <48>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <7>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
      
              lcd_hbp             = <55>;
              lcd_ht              = <1240>;
              lcd_hspw            = <20>;
              lcd_vbp             = <35>;
              lcd_vt              = <650>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <1>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <1>;
              lcd_io_phase        = <0x0000>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
      
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
      };
      #endif
      
      &lcd2 {
              lcd_used            = <1>;
      
              lcd_driver_name     = "bp101wx1";
              lcd_backlight       = <50>;
              lcd_if              = <3>;
      
              lcd_x               = <1280>;
              lcd_y               = <800>;
              lcd_width           = <150>;
              lcd_height          = <94>;
              lcd_dclk_freq       = <75>;
      
              lcd_pwm_used        = <1>;
              lcd_pwm_ch          = <5>;
              lcd_pwm_freq        = <50000>;
              lcd_pwm_pol         = <0>;
              lcd_pwm_max_limit   = <255>;
      	lcd_pwm_name        = "lvds2_backlight";
      
              lcd_hbp             = <88>;
              lcd_ht              = <1451>;
              lcd_hspw            = <18>;
              lcd_vbp             = <23>;
              lcd_vt              = <860>;
              lcd_vspw            = <10>;
      
              lcd_lvds_if         = <0>;
              lcd_lvds_colordepth = <0>;
              lcd_lvds_mode       = <0>;
              lcd_frm             = <0>;
              lcd_hv_clk_phase    = <0>;
              lcd_hv_sync_polarity= <0>;
              lcd_gamma_en        = <0>;
              lcd_bright_curve_en = <0>;
              lcd_cmap_en         = <0>;
              lcd_fsync_en        = <0>;
              lcd_fsync_pol       = <0>;
              lcd_start_delay     = <5>;
              deu_mode            = <0>;
              lcdgamma4iep        = <22>;
              smart_color         = <90>;
      
              lcd_pin_power = "cldo3";
              lcd_power     = "dcdc4";
              /* lvds_power & other interface power */
              lcd_bl_en  = <&pio PI 5 GPIO_ACTIVE_HIGH>;
              pinctrl-0 = <&lvds2_pins_a>;
              pinctrl-1 = <&lvds2_pins_b>;
              lvds2_pinctrl-0 = <&lvds2_pins_a>;
              lvds2_pinctrl-1 = <&lvds2_pins_b>;
              lvds3_pinctrl-0 = <&lvds3_pins_a>;
              lvds3_pinctrl-1 = <&lvds3_pins_b>;
              dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>;
              dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>;
              status = "disabled";
      };
      
      &edp0 {
      	compatible = "allwinner,sunxi-dp0";
      	// use if hardware reset pin is need
      	/* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */
      
      	edp_ssc_en = <0>;
      	edp_ssc_mode = <0>;
      	edp_psr_support = <0>;
      	edp_colordepth = <8>; /* 6/8/10/12/16 */
      	edp_color_fmt = <0>; /* 0:RGB  1: YUV444  2: YUV422 */
      
      	edp_lane_rate = <1>;
      	edp_lane_cnt = <4>;
      	lane0_sw = <0>;
      	lane0_pre = <0>;
      	lane1_sw = <0>;
      	lane1_pre = <0>;
      	lane2_sw = <0>;
      	lane2_pre = <0>;
      	lane3_sw = <0>;
      	lane3_pre = <0>;
      	efficient_training = <0>;
      
      	sink_capacity_prefer = <0>;
      	edid_timings_prefer = <1>;
      	timings_fixed = <0>;
      	edp_traning_param_type = <1>;
      
      	edp_timings_type = <0>;
      	edp_panel_used = <0>;
      /*
      	edp_panel_used = <1>;
      	edp_panel_driver = "general_panel";
      	edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
      	edp_pwm_used = <1>;
      	edp_pwm_ch = <5>;
      	edp_pwm_freq = <50000>;
      	edp_pwm_pol = <0>;
      	edp_default_backlight = <200>;
      	edp_panel_power_0 = "edp-panel";
      */
      /*
      	edp_x               = <1280>;
              edp_y               = <800>;
              edp_width           = <150>;
              edp_height          = <94>;
              edp_dclk_freq       = <75>;
      
              edp_hbp             = <88>;
              edp_ht              = <1451>;
              edp_hspw            = <18>;
              edp_vbp             = <23>;
              edp_vt              = <860>;
              edp_vspw            = <10>;
              edp_fps				= <30>;
      */
      
      	vcc-edp-supply = <&reg_bldo3>;
      	vdd-edp-supply = <&reg_dcdc2>;
      	edp-panel-supply = <&reg_dcdc4>;
      	status = "okay";
      
      };
      
      &ve {
      	ve-supply = <&reg_dcdc2>;
      };
      
      /* audio dirver module -> audio codec */
      &codec {
      	tx-hub-en;
      	rx-sync-en;
      
      	dac-vol		= <63>;		/* default value:63 range:0->63 */
      	dacl-vol	= <160>;	/* default value:160 range:0->255 */
      	dacr-vol	= <160>;	/* default value:160 range:0->255 */
      	adc1-vol	= <160>;	/* default value:160 range:0->255 */
      	adc2-vol	= <160>;	/* default value:160 range:0->255 */
      	adc3-vol	= <160>;	/* default value:160 range:0->255 */
      	lineout-gain	= <31>;		/* default value:31 range:0->31 */
      	hpout-gain	= <7>;		/* default value:7 range:0->7 */
      	adc1-gain	= <31>;		/* default value:31 range:0->31 */
      	adc2-gain	= <31>;		/* default value:31 range:0->31 */
      	adc3-gain	= <31>;		/* default value:31 range:0->31 */
      
      	/* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */
      	avcc-external;
      	avcc-supply	= <&reg_aldo4>;
      	avcc-vol	= <1800000>;
      	vdd-external;
      	vdd-supply	= <&reg_cldo3>;
      	vdd-vol		= <3300000>;
      	cpvin-external;
      	cpvin-supply	= <&reg_bldo3>;
      	cpvin-vol	= <1800000>;
      
      	//pa-pin-max	= <1>;
      	//pa-pin-0	= <&r_pio PL 7 GPIO_ACTIVE_HIGH>;
      	//pa-pin-level-0	= <1>;
      	//pa-pin-msleep-0	= <0>;
      
      	jack-det-level		= <0>;
      	jack-det-threshold	= <8>;
      	jack-det-debouce-time	= <250>;
      
      	/* extcon                  = <&usb_power_supply>;
      	 * jack-swpin-mic-sel      = <&pio PH 8 GPIO_ACTIVE_HIGH>;
      	 * jack-swpin-hp-en        = <&pio PH 15 GPIO_ACTIVE_HIGH>;
      	 * jack-swpin-hp-sel       = <&pio PH 11 GPIO_ACTIVE_HIGH>;
      	 * jack-swmode-hp-off      = <0x00>;
      	 * jack-swmode-hp-usb      = <0x11>;
      	 * jack-swmode-hp-audio    = <0x10>;
      	 * jack-det-level          = <1>;
      	 * jack-det-threshold      = <8>;
      	 * jack-det-debouce-time   = <250>;
      	 */
      
      	status = "okay";
      };
      
      &codec_plat {
      	status = "okay";
      };
      
      &codec_mach {
      	soundcard-mach,jack-support = <1>;
      	status = "okay";
      	soundcard-mach,cpu {
      		sound-dai = <&codec_plat>;
      	};
      	soundcard-mach,codec {
      		sound-dai = <&codec>;
      	};
      };
      
      &hdmi_codec {
      	extcon = <&hdmi>;
      	status = "okay";
      };
      
      &edp_codec {
      	status = "disabled";
      };
      
      /* audio dirver module -> owa */
      &owa_plat {
      	rglt-max	= <1>;
      	rglt0-mode	= "PMU";
      	rglt0-voltage	= <3300000>;
      	rglt0-supply	= <&reg_dcdc4>;
      
      	pinctrl-used;
      	pinctrl-names	= "default","sleep";
      	pinctrl-0	= <&owa_pins_a>;
      	pinctrl-1	= <&owa_pins_b>;
      	tx-hub-en;
      	status		= "okay";
      };
      
      &owa_mach {
      	status		= "okay";
      	soundcard-mach,cpu {
      		sound-dai = <&owa_plat>;
      	};
      	soundcard-mach,codec {
      	};
      };
      
      /* audio dirver module -> DMIC */
      &dmic_plat {
      	rx-chmap	= <0x76543210>;
      	data-vol	= <0xB0>;
      	rxdelaytime	= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names	= "default","sleep"; */
      	/* pinctrl-0	= <&dmic_pins_a>; */
      	/* pinctrl-1	= <&dmic_pins_b>; */
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &dmic_mach {
      	status		= "disabled";
      	soundcard-mach,cpu {
      		sound-dai = <&dmic_plat>;
      	};
      	soundcard-mach,codec {
      	};
      };
      
      /* audio dirver module -> I2S/PCM */
      &i2s0_plat {
      	tdm-num		= <0>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	pinctrl-used;
      	pinctrl-names	= "default","sleep";
      	pinctrl-0	= <&i2s0_pins_a>;
      	pinctrl-1	= <&i2s0_pins_b>;
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s0_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s0_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s0_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	soundcard-mach,capture-only;
      	status		= "disabled";
      	i2s0_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s0_plat>;
      		/* note: pll freq = 24.576M or 22.5792M * pll-fs */
      		soundcard-mach,pll-fs	= <1>;
      		/* note:
      		 * mclk freq = mclk-fs * 12.288M or 11.2896M	(when mclk-fp ture)
      		 * mclk freq = mclk-fs * pcm rate		(when mclk-fp false)
      		 */
      		soundcard-mach,mclk-fp;
      		soundcard-mach,mclk-fs	= <1>;
      	};
      	i2s0_codec: soundcard-mach,codec {
      		sound-dai               = <&ac107>;
      		soundcard-mach,pll-fs   = <1>;
      	};
      };
      
      &i2s1_plat {
      	tdm-num		= <1>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s1_pins_a>; */
      	/* pinctrl-1	= <&i2s1_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s1_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s1_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s1_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	status		= "disabled";
      	i2s1_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s1_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s1_codec: soundcard-mach,codec {
      	};
      };
      
      &i2s2_plat {
      	tdm-num		= <2>;
      	tx-pin		= <0 1 2 3>;
      /* e.g.
       * tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0]  map channel[15:12, 3:0])
       * tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12])
       * tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0]  map channel[7:0])
       */
      	tx-pin0-map0	= <0x76543210>;
      	tx-pin0-map1	= <0xFEDCBA98>;
      	tx-pin1-map0	= <0x76543210>;
      	tx-pin1-map1	= <0xFEDCBA98>;
      	tx-pin2-map0	= <0x76543210>;
      	tx-pin2-map1	= <0xFEDCBA98>;
      	tx-pin3-map0	= <0x76543210>;
      	tx-pin3-map1	= <0xFEDCBA98>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s2_pins_a>; */
      	/* pinctrl-1	= <&i2s2_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	/* edp not need dai-type */
      	dai-type = "hdmi";
      	status		= "okay";
      };
      
      &i2s2_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s2_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s2_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	soundcard-mach,playback-only;
      	status		= "okay";
      	i2s2_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s2_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		/* edp mclk: 512fs */
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s2_codec: soundcard-mach,codec {
      		sound-dai               = <&hdmi_codec>;
      	};
      };
      
      &i2s3_plat {
      	tdm-num		= <3>;
      	tx-pin		= <0>;
      	rx-pin		= <0>;
      	/* pinctrl-used; */
      	/* pinctrl-names= "default","sleep"; */
      	/* pinctrl-0	= <&i2s3_pins_a>; */
      	/* pinctrl-1	= <&i2s3_pins_b>; */
      	tx-hub-en;
      	rx-sync-en;
      	status		= "disabled";
      };
      
      &i2s3_mach {
      	soundcard-mach,format		= "i2s";
      	soundcard-mach,frame-master	= <&i2s3_cpu>;
      	soundcard-mach,bitclock-master	= <&i2s3_cpu>;
      	/* soundcard-mach,frame-inversion; */
      	/* soundcard-mach,bitclock-inversion; */
      	soundcard-mach,slot-num		= <2>;
      	soundcard-mach,slot-width	= <32>;
      	status		= "disabled";
      	i2s3_cpu: soundcard-mach,cpu {
      		sound-dai = <&i2s3_plat>;
      		soundcard-mach,pll-fs	= <1>;
      		soundcard-mach,mclk-fs	= <0>;
      	};
      	i2s3_codec: soundcard-mach,codec {
      	};
      };
      
      
      &hdmi {
      	hdmi_used = <1>;
      	bldo3-supply = <&reg_bldo3>;
      	hdmi_power0 = "bldo3";
      	hdmi_power_cnt = <1>;
      	hdmi_hdcp_enable = <1>;
      	hdmi_hdcp22_enable = <0>;
      	hdmi_cts_compatibility = <0>;
      	hdmi_cec_support = <1>;
      	hdmi_cec_super_standby = <1>;
      	hdmi_skip_bootedid = <1>;
      
      	ddc_en_io_ctrl = <0>;
      	power_io_ctrl = <0>;
      };
      
      &cpu0 {
      	cpu-supply = <&reg_dcdc1>;
      };
      
      &dsufreq {
      	dsu-supply = <&reg_dcdc1>;
      };
      
      &mdio0 {
      	status = "okay";
      	gmac0_phy0: ethernet-phy@5 {
      		reg = <0x5>;
      		max-speed = <1000>;
      		/* PHY datasheet rst time */
      		reset-assert-us = <10000>;
      		reset-deassert-us = <150000>;
      	};
      };
      
      &gmac0 {
      	phy-mode = "rgmii";
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&gmac0_pins_default>;
      	pinctrl-1 = <&gmac0_pins_sleep>;
      	sunxi,phy-clk-type = <0>;
      	tx-delay = <0>;
      	rx-delay = <0>;
      	phy-handle = <&gmac0_phy0>;
      	gmac3v3-supply = <&reg_dcdc4>;
      	status = "okay";
      };
      
      
      &gmac1 {
      	phy-mode = "rgmii";
      	phy-handle = <&gmac1_phy0>;
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&gmac1_pins_default>;
      	pinctrl-1 = <&gmac1_pins_sleep>;
      	aw,soc-phy25m;
      	tx-delay = <0>;
      	rx-delay = <0>;
      	snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      	snps,phy-addr = <0x6>;
      	dwmac3v3-supply = <&reg_dcdc4>;
      	status = "okay";
      	mdio1: mdio1@1 {
      		snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      		gmac1_phy0: ethernet-phy@6 {
      			snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
      			reg = <0x6>;
      			max-speed = <1000>;
      			/* PHY datasheet rst time */
      			reset-assert-us = <10000>;
      			reset-deassert-us = <150000>;
      		};
      	};
      
      };
      
      &npu {
      	npu-supply = <&reg_ext_axp1530_dcdc3>;
      	npu_vol = <1050000>;
      	clock-frequency = <696000000>;
      	status = "okay";
      };
      
      &dram {
      	dram_para00 = <0x00000000>;
      	dram_para01 = <0x00000000>;
      	dram_para02 = <0x00000000>;
      	dram_para03 = <0x00000000>;
      	dram_para04 = <0x00000000>;
      	dram_para05 = <0x00000000>;
      	dram_para06 = <0x00000000>;
      	dram_para07 = <0x00000000>;
      	dram_para08 = <0x00000000>;
      	dram_para09 = <0x00000000>;
      	dram_para10 = <0x00000000>;
      	dram_para11 = <0x00000000>;
      	dram_para12 = <0x00000000>;
      	dram_para13 = <0x00000000>;
      	dram_para14 = <0x00000000>;
      	dram_para15 = <0x00000000>;
      	dram_para16 = <0x00000000>;
      	dram_para17 = <0x00000000>;
      	dram_para18 = <0x00000000>;
      	dram_para19 = <0x00000000>;
      	dram_para20 = <0x00000000>;
      	dram_para21 = <0x00000000>;
      	dram_para22 = <0x00000000>;
      	dram_para23 = <0x00000000>;
      	dram_para24 = <0x00000000>;
      	dram_para25 = <0x00000000>;
      	dram_para26 = <0x00000000>;
      	dram_para27 = <0x00000000>;
      	dram_para28 = <0x00000000>;
      	dram_para29 = <0x00000000>;
      	dram_para30 = <0x00000000>;
      	dram_para31 = <0x00000000>;
      	dram_para32 = <0x00000000>;
      	dram_para33 = <0x00000000>;
      	dram_para34 = <0x00000000>;
      	dram_para35 = <0x00000000>;
      	dram_para36 = <0x00000000>;
      	dram_para37 = <0x00000000>;
      	dram_para38 = <0x00000000>;
      	dram_para39 = <0x00000000>;
      	dram_para40 = <0x00000000>;
      	dram_para41 = <0x00000000>;
      	dram_para42 = <0x00000000>;
      	dram_para43 = <0x00000000>;
      	dram_para44 = <0x00000000>;
      	dram_para45 = <0x00000000>;
      	dram_para46 = <0x00000000>;
      	dram_para47 = <0x00000000>;
      	dram_para48 = <0x00000000>;
      	dram_para49 = <0x00000000>;
      	dram_para50 = <0x00000000>;
      	dram_para51 = <0x00000000>;
      	dram_para52 = <0x00000000>;
      	dram_para53 = <0x00000000>;
      	dram_para54 = <0x00000000>;
      	dram_para55 = <0x00000000>;
      	dram_para56 = <0x00000000>;
      	dram_para57 = <0x00000000>;
      	dram_para58 = <0x00000000>;
      	dram_para59 = <0x00000000>;
      	dram_para60 = <0x00000000>;
      	dram_para61 = <0x00000000>;
      	dram_para62 = <0x00000000>;
      	dram_para63 = <0x00000000>;
      	dram_para64 = <0x00000000>;
      	dram_para65 = <0x00000000>;
      	dram_para66 = <0x00000000>;
      	dram_para67 = <0x00000000>;
      	dram_para68 = <0x00000000>;
      	dram_para69 = <0x00000000>;
      	dram_para70 = <0x00000000>;
      	dram_para71 = <0x00000000>;
      	dram_para72 = <0x00000000>;
      	dram_para73 = <0x00000000>;
      	dram_para74 = <0x00000000>;
      	dram_para75 = <0x00000000>;
      	dram_para76 = <0x00000000>;
      	dram_para77 = <0x00000000>;
      	dram_para78 = <0x00000000>;
      	dram_para79 = <0x00000000>;
      	dram_para80 = <0x00000000>;
      	dram_para81 = <0x00000000>;
      	dram_para82 = <0x00000000>;
      	dram_para83 = <0x00000000>;
      	dram_para84 = <0x00000000>;
      	dram_para85 = <0x00000000>;
      	dram_para86 = <0x00000000>;
      	dram_para87 = <0x00000000>;
      	dram_para88 = <0x00000000>;
      	dram_para89 = <0x00000000>;
      	dram_para90 = <0x00000000>;
      	dram_para91 = <0x00000000>;
      	dram_para92 = <0x00000000>;
      	dram_para93 = <0x00000000>;
      	dram_para94 = <0x00000000>;
      	dram_para95 = <0x00000000>;
      };
      
      1 条回复 最后回复 回复 引用 分享 0
      • YuzukiTsuru
        柚木 鉉 LV 9 最后由 编辑

        // SPDX-License-Identifier: (GPL-2.0+ or MIT)
        /*
         * Copyright (C) 2021 liujuan1@allwinnertech.com
         */
        
        #include <dt-bindings/clock/sun55iw3-ccu.h>
        #include <dt-bindings/clock/sun55iw3-rtc.h>
        #include <dt-bindings/clock/sun55iw3-r-ccu.h>
        #include <dt-bindings/clock/sun55iw3-mcu-ccu.h>
        #include <dt-bindings/clock/sun55iw3-displl-ccu.h>
        #include <dt-bindings/gpio/gpio.h>
        #include <dt-bindings/gpio/sun4i-gpio.h>
        #include <dt-bindings/interrupt-controller/arm-gic.h>
        #include <dt-bindings/reset/sun55iw3-ccu.h>
        #include <dt-bindings/reset/sun55iw3-r-ccu.h>
        #include <dt-bindings/reset/sun55iw3-mcu-ccu.h>
        #include <dt-bindings/power/a523-power.h>
        #include <dt-bindings/phy/phy.h>
        #include <dt-bindings/usb/pd.h>
        #include <dt-bindings/thermal/thermal.h>
        #include <dt-bindings/spi/sunxi-spi.h>
        #include <dt-bindings/clock/sunxi-ccu.h>
        
        / {
        	model = "sun55iw3";
        	interrupt-parent = <&wakeupgen>;
        	#address-cells = <2>;
        	#size-cells = <2>;
        
        	aliases {
        		serial0 = &uart0;
        		serial1 = &uart1;
        		serial2 = &uart2;
        		serial3 = &uart3;
        		serial4 = &uart4;
        		serial5 = &uart5;
        		serial6 = &uart6;
        		serial7 = &uart7;
        		serial8 = &uart8;
        		serial9 = &uart9;
        		ir0 = &irrx;
        		ir1 = &s_irrx;
        		ir2 = &irtx;
        		pcie = &pcie;
        		gpadc0 = &gpadc0;
        		gpadc1 = &gpadc1;
        		twi0 = &twi0;
        		twi1 = &twi1;
        		twi2 = &twi2;
        		twi3 = &twi3;
        		twi4 = &twi4;
        		twi5 = &twi5;
        		twi6 = &twi6;
        		twi7 = &twi7;
        		twi8 = &twi8;
        		spi0 = &spi0;
        		spi1 = &spi1;
        		spi2 = &spi2;
        		spi3 = &r_spi0;
        		spif0 = &spif0;
        		nand0 = &nand0;
        		ve0 = &ve;
        		ve1 = &ve1;
        		sunxi-mmc0 = &sdc0;
        		sunxi-mmc2 = &sdc2;
        		gmac0 = &gmac0;
        		gmac1 = &gmac1;
        		edp0 = &edp0;
        		nsi0 = &nsi0;
        	};
        
        	reg_vdd_sys: vdd-sys {
        		compatible = "regulator-fixed";
        		regulator-name = "vdd_sys";
        		regulator-min-microvolt = <900000>;
        		regulator-max-microvolt = <900000>;
        		regulator-boot-on;
        		regulator-always-on;
        	};
        
        	reserved-memory {
        		#address-cells = <2>;
        		#size-cells = <2>;
        		ranges;
        
        		bl31 {
        			reg = <0x0 0x48000000 0x0 0x01000000>;
        		};
        	};
        
        	firmware {
        		android {
        			compatible = "android,firmware";
        			name = "android";
        			boot_devices = "soc@3000000/4020000.sdmmc,soc@3000000/4022000.sdmmc,soc@3000000";
        			vbmeta {
        				compatible = "android,vbmeta";
        				parts = "vbmeta,vbmeta_system,vbmeta_vendor,boot,init_boot";
        			};
        		};
        		optee {
        			compatible = "linaro,optee-tz";
        			method = "smc";
        		};
        	};
        
        	cpus {
        		#address-cells = <2>;
        		#size-cells = <0>;
        
        		cpu0: cpu@0 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x0>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <922>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU1>;
        			operating-points-v2 = <&cluster0_opp_table>;
        			#cooling-cells = <2>;
        			dynamic-power-coefficient = <286>;
        		};
        
        		cpu1: cpu@100 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x100>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <922>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU1>;
        			operating-points-v2 = <&cluster0_opp_table>;
        			#cooling-cells = <2>;
        		};
        
        		cpu2: cpu@200 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x200>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <922>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU1>;
        			operating-points-v2 = <&cluster0_opp_table>;
        			#cooling-cells = <2>;
        		};
        
        		cpu3: cpu@300 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x300>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <922>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU1>;
        			operating-points-v2 = <&cluster0_opp_table>;
        			#cooling-cells = <2>;
        		};
        
        		cpu4: cpu@400 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x400>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <1024>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU3>;
        			operating-points-v2 = <&cluster1_opp_table>;
        			#cooling-cells = <2>;
        			dynamic-power-coefficient = <354>;
        		};
        
        		cpu5: cpu@500 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x500>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <1024>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU3>;
        			operating-points-v2 = <&cluster1_opp_table>;
        			#cooling-cells = <2>;
        		};
        
        		cpu6: cpu@600 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x600>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <1024>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU3>;
        			operating-points-v2 = <&cluster1_opp_table>;
        			#cooling-cells = <2>;
        		};
        
        		cpu7: cpu@700 {
        			device_type = "cpu";
        			compatible = "arm,cortex-a55";
        			reg = <0x0 0x700>;
        			enable-method = "psci";
        			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
        			capacity-dmips-mhz = <1024>;
        			clocks = <&cpupll_ccu CLK_PLL_CPU3>;
        			operating-points-v2 = <&cluster1_opp_table>;
        			#cooling-cells = <2>;
        		};
        
        		cpu-map {
        			cluster0 {
        				core0 {
        					cpu = <&cpu0>;
        				};
        				core1 {
        					cpu = <&cpu1>;
        				};
        				core2 {
        					cpu = <&cpu2>;
        				};
        				core3 {
        					cpu = <&cpu3>;
        				};
        			};
        
        			cluster1 {
        				core0 {
        					cpu = <&cpu4>;
        				};
        				core1 {
        					cpu = <&cpu5>;
        				};
        				core2 {
        					cpu = <&cpu6>;
        				};
        				core3 {
        					cpu = <&cpu7>;
        				};
        			};
        		};
        
        		idle-states {
        			entry-method = "arm,psci";
        
        			CPU_SLEEP_0: cpu-sleep-0 {
        				compatible = "arm,idle-state";
        				arm,psci-suspend-param = <0x0010000>;
        				entry-latency-us = <46>;
        				exit-latency-us = <59>;
        				min-residency-us = <3570>;
        				local-timer-stop;
        			};
        
        			CLUSTER_SLEEP_0: cluster-sleep-0 {
        				compatible = "arm,idle-state";
        				arm,psci-suspend-param = <0x1010000>;
        				entry-latency-us = <47>;
        				exit-latency-us = <74>;
        				min-residency-us = <5000>;
        				local-timer-stop;
        			};
        		};
        	};
        
        	vf_mapping_table: vf_mapping_table {
        		vf-version = "V0.60";
        		table = <
        			0x00 0x0000
        			0x01 0x0100
        			0x02 0x0200
        			0x12 0x0201
        			0x04 0x0300
        			0x14 0x0301
        			0x05 0x0400
        			0x06 0x0500
        			>;
        	};
        
        	gpu_vf_mapping_table: gpu_vf_mapping_table {
        		table = <
        			0x01 1
        			0x02 2
        			0x12 21
        			0x04 3
        			0x14 31
        			0x05 4
        			0x06 5
        			>;
        	};
        
        	npu_vf_mapping_table: npu_vf_mapping_table {
        		table = <
        			0x01 1
        			0x02 2
        			0x12 21
        			0x04 3
        			0x14 31
        			0x05 4
        			0x06 5
        			>;
        	};
        
        	cluster0_opp_table: cluster0-opp-table {
        		compatible = "allwinner,sun50i-operating-points";
        		opp-shared;
        
        		opp@408000000 {
        			opp-hz = /bits/ 64 <408000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@672000000 {
        			opp-hz = /bits/ 64 <672000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@720000000 {
        			opp-hz = /bits/ 64 <720000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@792000000 {
        			opp-hz = /bits/ 64 <792000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@936000000 {
        			opp-hz = /bits/ 64 <936000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <920000>;
        			opp-microvolt-vf0200 = <920000>;
        			opp-microvolt-vf0201 = <920000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@1008000000 {
        			opp-hz = /bits/ 64 <1008000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <960000>;
        			opp-microvolt-vf0200 = <960000>;
        			opp-microvolt-vf0201 = <960000>;
        			opp-microvolt-vf0300 = <920000>;
        			opp-microvolt-vf0301 = <920000>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <920000>;
        		};
        
        		opp@1032000000 {
        			opp-hz = /bits/ 64 <1032000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <920000>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1104000000 {
        			opp-hz = /bits/ 64 <1104000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <1000000>;
        			opp-microvolt-vf0200 = <1000000>;
        			opp-microvolt-vf0201 = <1000000>;
        			opp-microvolt-vf0300 = <960000>;
        			opp-microvolt-vf0301 = <960000>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <960000>;
        		};
        
        		opp@1128000000 {
        			opp-hz = /bits/ 64 <1128000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1000000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <960000>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1224000000 {
        			opp-hz = /bits/ 64 <1224000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1050000>;
        			opp-microvolt-vf0100 = <1050000>;
        			opp-microvolt-vf0200 = <1050000>;
        			opp-microvolt-vf0201 = <1050000>;
        			opp-microvolt-vf0300 = <1000000>;
        			opp-microvolt-vf0301 = <1000000>;
        			opp-microvolt-vf0400 = <1000000>;
        			opp-microvolt-vf0500 = <1000000>;
        		};
        
        		opp@1296000000 {
        			opp-hz = /bits/ 64 <1296000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1100000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1320000000 {
        			opp-hz = /bits/ 64 <1320000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <1120000>;
        			opp-microvolt-vf0200 = <1120000>;
        			opp-microvolt-vf0201 = <1120000>;
        			opp-microvolt-vf0300 = <1050000>;
        			opp-microvolt-vf0301 = <1050000>;
        			opp-microvolt-vf0400 = <1050000>;
        			opp-microvolt-vf0500 = <1050000>;
        		};
        
        		opp@1416000000 {
        			opp-hz = /bits/ 64 <1416000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1150000>;
        			opp-microvolt-vf0100 = <1150000>;
        			opp-microvolt-vf0200 = <1150000>;
        			opp-microvolt-vf0201 = <1150000>;
        			opp-microvolt-vf0300 = <1100000>;
        			opp-microvolt-vf0301 = <1100000>;
        			opp-microvolt-vf0400 = <1100000>;
        			opp-microvolt-vf0500 = <1100000>;
        		};
        	};
        
        	cluster1_opp_table: cluster1-opp-table {
        		compatible = "allwinner,sun50i-operating-points";
        		opp-shared;
        
        		opp@408000000 {
        			opp-hz = /bits/ 64 <408000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@672000000 {
        			opp-hz = /bits/ 64 <672000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@720000000 {
        			opp-hz = /bits/ 64 <720000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@840000000 {
        			opp-hz = /bits/ 64 <840000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@1008000000 {
        			opp-hz = /bits/ 64 <1008000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@1200000000 {
        			opp-hz = /bits/ 64 <1200000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <920000>;
        			opp-microvolt-vf0200 = <920000>;
        			opp-microvolt-vf0201 = <920000>;
        			opp-microvolt-vf0300 = <920000>;
        			opp-microvolt-vf0301 = <920000>;
        			opp-microvolt-vf0400 = <920000>;
        			opp-microvolt-vf0500 = <920000>;
        		};
        
        		opp@1248000000 {
        			opp-hz = /bits/ 64 <1248000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1344000000 {
        			opp-hz = /bits/ 64 <1344000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <960000>;
        			opp-microvolt-vf0200 = <960000>;
        			opp-microvolt-vf0201 = <960000>;
        			opp-microvolt-vf0300 = <960000>;
        			opp-microvolt-vf0301 = <960000>;
        			opp-microvolt-vf0400 = <960000>;
        			opp-microvolt-vf0500 = <960000>;
        		};
        
        		opp@1488000000 {
        			opp-hz = /bits/ 64 <1488000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1000000>;
        			opp-microvolt-vf0100 = <1000000>;
        			opp-microvolt-vf0200 = <1000000>;
        			opp-microvolt-vf0201 = <1000000>;
        			opp-microvolt-vf0300 = <1000000>;
        			opp-microvolt-vf0301 = <1000000>;
        			opp-microvolt-vf0400 = <1000000>;
        			opp-microvolt-vf0500 = <1000000>;
        		};
        
        		opp@1584000000 {
        			opp-hz = /bits/ 64 <1584000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1050000>;
        			opp-microvolt-vf0100 = <1050000>;
        			opp-microvolt-vf0200 = <1050000>;
        			opp-microvolt-vf0201 = <1050000>;
        			opp-microvolt-vf0300 = <1050000>;
        			opp-microvolt-vf0301 = <1050000>;
        			opp-microvolt-vf0400 = <1050000>;
        			opp-microvolt-vf0500 = <1050000>;
        		};
        
        		opp@1680000000 {
        			opp-hz = /bits/ 64 <1680000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1100000>;
        			opp-microvolt-vf0100 = <1100000>;
        			opp-microvolt-vf0200 = <1100000>;
        			opp-microvolt-vf0201 = <1100000>;
        			opp-microvolt-vf0300 = <1100000>;
        			opp-microvolt-vf0301 = <1100000>;
        			opp-microvolt-vf0400 = <1100000>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1800000000 {
        			opp-hz = /bits/ 64 <1800000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <1150000>;
        			opp-microvolt-vf0100 = <1150000>;
        			opp-microvolt-vf0200 = <1150000>;
        			opp-microvolt-vf0201 = <1150000>;
        			opp-microvolt-vf0300 = <1150000>;
        			opp-microvolt-vf0301 = <1150000>;
        			opp-microvolt-vf0400 = <1150000>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1992000000 {
        			opp-hz = /bits/ 64 <1992000000>;
        			clock-latency-ns = <244144>; /* 8 32k periods */
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <1220000>;
        			opp-microvolt-vf0500 = <0>;
        		};
        	};
        
        	dsufreq: dsufreq@0 {
        		compatible = "allwinner,sun55iw3-dsufreq";
        		reg = <0x0 0x08815000 0x0 0x1000>;
        		clocks = <&cpupll_ccu CLK_PLL_CPU2>;
        		operating-points-v2 = <&dsu_opp_table>;
        	};
        
        	dsu_opp_table: dsu-opp-table {
        		compatible = "allwinner,dsu-operating-points";
        
        		opp@288000000 {
        			opp-hz = /bits/ 64 <288000000>;
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@408000000 {
        			opp-hz = /bits/ 64 <408000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@528000000 {
        			opp-hz = /bits/ 64 <528000000>;
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@600000000 {
        			opp-hz = /bits/ 64 <600000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@696000000 {
        			opp-hz = /bits/ 64 <696000000>;
        			opp-microvolt-vf0000 = <900000>;
        			opp-microvolt-vf0100 = <900000>;
        			opp-microvolt-vf0200 = <900000>;
        			opp-microvolt-vf0201 = <900000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@792000000 {
        			opp-hz = /bits/ 64 <792000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <920000>;
        			opp-microvolt-vf0200 = <920000>;
        			opp-microvolt-vf0201 = <920000>;
        			opp-microvolt-vf0300 = <900000>;
        			opp-microvolt-vf0301 = <900000>;
        			opp-microvolt-vf0400 = <900000>;
        			opp-microvolt-vf0500 = <900000>;
        		};
        
        		opp@864000000 {
        			opp-hz = /bits/ 64 <864000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <960000>;
        			opp-microvolt-vf0200 = <960000>;
        			opp-microvolt-vf0201 = <960000>;
        			opp-microvolt-vf0300 = <920000>;
        			opp-microvolt-vf0301 = <920000>;
        			opp-microvolt-vf0400 = <920000>;
        			opp-microvolt-vf0500 = <920000>;
        		};
        
        		opp@936000000 {
        			opp-hz = /bits/ 64 <936000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <1000000>;
        			opp-microvolt-vf0200 = <1000000>;
        			opp-microvolt-vf0201 = <1000000>;
        			opp-microvolt-vf0300 = <960000>;
        			opp-microvolt-vf0301 = <960000>;
        			opp-microvolt-vf0400 = <960000>;
        			opp-microvolt-vf0500 = <960000>;
        		};
        
        		opp@984000000 {
        			opp-hz = /bits/ 64 <984000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <1050000>;
        			opp-microvolt-vf0200 = <1050000>;
        			opp-microvolt-vf0201 = <1050000>;
        			opp-microvolt-vf0300 = <1000000>;
        			opp-microvolt-vf0301 = <1000000>;
        			opp-microvolt-vf0400 = <1000000>;
        			opp-microvolt-vf0500 = <1000000>;
        		};
        
        		opp@1008000000 {
        			opp-hz = /bits/ 64 <1008000000>;
        			opp-microvolt-vf0000 = <1000000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1056000000 {
        			opp-hz = /bits/ 64 <1056000000>;
        			opp-microvolt-vf0000 = <0>;
        			opp-microvolt-vf0100 = <1100000>;
        			opp-microvolt-vf0200 = <1100000>;
        			opp-microvolt-vf0201 = <1100000>;
        			opp-microvolt-vf0300 = <1050000>;
        			opp-microvolt-vf0301 = <1050000>;
        			opp-microvolt-vf0400 = <1050000>;
        			opp-microvolt-vf0500 = <1050000>;
        		};
        
        		opp@1104000000 {
        			opp-hz = /bits/ 64 <1104000000>;
        			opp-microvolt-vf0000 = <1050000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1128000000 {
        			opp-hz = /bits/ 64 <1128000000>;
        			opp-microvolt-vf0000 = <1100000>;
        			opp-microvolt-vf0100 = <0>;
        			opp-microvolt-vf0200 = <0>;
        			opp-microvolt-vf0201 = <0>;
        			opp-microvolt-vf0300 = <0>;
        			opp-microvolt-vf0301 = <0>;
        			opp-microvolt-vf0400 = <0>;
        			opp-microvolt-vf0500 = <0>;
        		};
        
        		opp@1152000000 {
        			opp-hz = /bits/ 64 <1152000000>;
        			opp-microvolt-vf0000 = <1150000>;
        			opp-microvolt-vf0100 = <1150000>;
        			opp-microvolt-vf0200 = <1150000>;
        			opp-microvolt-vf0201 = <1150000>;
        			opp-microvolt-vf0300 = <1100000>;
        			opp-microvolt-vf0301 = <1100000>;
        			opp-microvolt-vf0400 = <1100000>;
        			opp-microvolt-vf0500 = <1100000>;
        		};
        	};
        
        	thermal-zones {
        		cpul_thermal_zone: cpul_thermal_zone {
        			polling-delay-passive = <100>;
        			polling-delay = <1000>;
        			thermal-sensors = <&ths1 1>;
        			sustainable-power = <1200>;
        
        			cpul_trips: trips {
        				cpul_threshold: trip-point@0 {
        					temperature = <70000>;
        					type = "passive";
        					hysteresis = <0>;
        				};
        				cpul_target: trip-point@1 {
        					temperature = <90000>;
        					type = "passive";
        					hysteresis = <0>;
        				};
        				cpul_crit: cpu_crit@0 {
        					temperature = <110000>;
        					type = "critical";
        					hysteresis = <0>;
        				};
        			};
        
        			cooling-maps {
        				map0 {
        					trip = <&cpul_target>;
        					cooling-device = <&cpu0
        					THERMAL_NO_LIMIT
        					THERMAL_NO_LIMIT>;
        					contribution = <1024>;
        				};
        			};
        		};
        
        		cpub_thermal_zone: cpub_thermal_zone {
        			polling-delay-passive = <100>;
        			polling-delay = <1000>;
        			thermal-sensors = <&ths1 0>;
        			sustainable-power = <1600>;
        
        			cpub_trips: trips {
        				cpub_threshold: trip-point@0 {
        					temperature = <70000>;
        					type = "passive";
        					hysteresis = <0>;
        				};
        				cpub_target: trip-point@1 {
        					temperature = <90000>;
        					type = "passive";
        					hysteresis = <0>;
        				};
        				cpub_crit: cpu_crit@0 {
        					temperature = <110000>;
        					type = "critical";
        					hysteresis = <0>;
        				};
        			};
        
        			cooling-maps {
        				map0 {
        					trip = <&cpub_target>;
        					cooling-device = <&cpu4
        					THERMAL_NO_LIMIT
        					THERMAL_NO_LIMIT>;
        					contribution = <1024>;
        				};
        			};
        		};
        
        		gpu_thermal_zone: gpu_thermal_zone {
        			polling-delay-passive = <100>;
        			polling-delay = <1000>;
        			thermal-sensors = <&ths1 2>;
        			sustainable-power = <2400>;
        
        			gpu_trips: trips {
        				gpu_threshold: trip-point@0 {
        					temperature = <60000>;
        					type = "passive";
        					hysteresis = <0>;
        				};
        				gpu_target: trip-point@1 {
        					temperature = <90000>;
        					type = "passive";
        					hysteresis = <0>;
        				};
        				gpu_crit: gpu_crit@0 {
        					temperature = <110000>;
        					type = "critical";
        					hysteresis = <0>;
        				};
        			};
        
        			cooling-maps {
        				map0 {
        					trip = <&gpu_target>;
        					cooling-device = <&gpu
        					THERMAL_NO_LIMIT
        					THERMAL_NO_LIMIT>;
        					contribution = <1024>;
        				};
        			};
        		};
        
        		npu_thermal_zone {
        			polling-delay-passive = <100>;
        			polling-delay = <1000>;
        			thermal-sensors = <&ths1 3>;
        		};
        
        		ddr_thermal_zone {
        			polling-delay-passive = <0>;
        			polling-delay = <0>;
        			thermal-sensors = <&ths0 0>;
        		};
        	};
        
        	psci {
        		compatible = "arm,psci-1.0";
        		method = "smc";
        	};
        
        	dcxo24M: dcxo24M_clk {
        		#clock-cells = <0>;
        		compatible = "fixed-clock";
        		clock-frequency = <24000000>;
        		clock-output-names = "dcxo24M";
        	};
        
        	rc_16m: rc16m_clk {
        		#clock-cells = <0>;
        		compatible = "fixed-clock";
        		clock-frequency = <16000000>;
        		clock-accuracy = <300000000>;
        		clock-output-names = "rc-16m";
        	};
        
        	ext_32k: ext32k_clk {
        		#clock-cells = <0>;
        		compatible = "fixed-clock";
        		clock-frequency = <32768>;
        		clock-output-names = "ext-32k";
        	};
        
        	gic: interrupt-controller@3400000 {
        		compatible = "arm,gic-v3";
        		#interrupt-cells = <3>;
        		#address-cells = <0>;
        		interrupt-controller;
        		reg = <0x0 0x03400000 0 0x10000>, /* GIC Dist */
        		      <0x0 0x03460000 0 0xFF004>; /* GIC Re */
        		interrupt-parent = <&gic>;
        	};
        
        	wakeupgen: interrupt-controller@0 {
        		compatible = "allwinner,sunxi-wakeupgen";
        		interrupt-controller;
        		#interrupt-cells = <3>;
        		#address-cells = <0>;
        		interrupt-parent = <&gic>;
        	};
        
        	timer_arch {
        		compatible = "arm,armv8-timer";
        		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
        			   <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
        			   <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
        			   <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
        		clock-frequency = <24000000>;
        		interrupt-parent = <&gic>;
        		arm,no-tick-in-suspend;
        	};
        
        	power: power-management@7001400 {
        		compatible = "allwinner,a523-pmu", "syscon", "simple-mfd";
        		reg = <0x0 0x07001400 0x0 0x400>;
        
        		pd: power-controller {
        			compatible = "allwinner,a523-power-controller";
        			clocks = <&r_ccu CLK_R_PPU1>;
        			clock-names = "ppu";
        			resets = <&r_ccu RST_R_PPU1>;
        			reset-names = "ppu_rst";
        			#power-domain-cells = <1>;
        			#address-cells = <1>;
        			#size-cells = <0>;
        
        			pd_dsp@A523_PD_DSP {
        				reg = <A523_PD_DSP>;
        				ppu-always-on;
        			};
        			pd_npu@A523_PD_NPU {
        				reg = <A523_PD_NPU>;
        			};
        			pd_sram@A523_PD_SRAM {
        				reg = <A523_PD_SRAM>;
        				ppu-always-on;
        			};
        			pd_riscv@A523_PD_RISCV {
        				reg = <A523_PD_RISCV>;
        			};
        		};
        	};
        
        	pck: pck-600@7060000 {
        		compatible = "allwinner,a523-pck", "syscon", "simple-mfd";
        		reg = <0x0 0x07060000 0x0 0x8000>;
        
        		pd1: power-controller {
        			compatible = "allwinner,a523-pck-600";
        			clocks = <&r_ccu CLK_R_PPU>;
        			clock-names = "pck";
        			resets = <&r_ccu RST_R_PPU>;
        			reset-names = "pck_rst";
        			#power-domain-cells = <1>;
        			#address-cells = <1>;
        			#size-cells = <0>;
        
        			pd1_ve@A523_PCK_VE {
        				reg = <A523_PCK_VE>;
        			};
        			pd1_vi@A523_PCK_VI {
        				reg = <A523_PCK_VI>;
        			};
        			pd1_vo0@A523_PCK_VO0 {
        				reg = <A523_PCK_VO0>;
        			};
        			pd1_vo1@A523_PCK_VO1 {
        				reg = <A523_PCK_VO1>;
        			};
        			pd1_de@A523_PCK_DE {
        				reg = <A523_PCK_DE>;
        			};
        			pd1_nand@A523_PCK_NAND {
        				reg = <A523_PCK_NAND>;
        			};
        			pd1_pcie@A523_PCK_PCIE {
        				reg = <A523_PCK_PCIE>;
        			};
        		};
        	};
        
        	nmi_intc: intc-nmi@7010320 {
        		compatible = "allwinner,sun8i-nmi";
        		interrupt-parent = <&gic>;
        		#interrupt-cells = <2>;
        		#address-cells = <0>;
        		interrupt-controller;
        		reg = <0x0 0x07010320 0 0xc>;
        		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
        	};
        
        	mmu_aw: iommu@2010000 {
        		compatible = "allwinner,iommu-v15-sun55iw3";
        		reg = <0x0 0x02010000 0x0 0x1000>;
        		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
        		interrupt-names = "iommu-irq";
        		clocks = <&ccu CLK_IOMMU>;
        		clock-names = "iommu";
        		/* clock-frequency = <24000000>; */
        		#iommu-cells = <2>;
        	};
        
        	dram: dram {
        		compatible = "allwinner,dram";
        		clocks = <&ccu CLK_PLL_DDR>;
        		clock-names = "pll_ddr";
        	};
        
        	ddr_clk: clk_ddr {
        		compatible = "allwinner,clock_ddr";
        		reg = <0x0 0x02001000 0x0 0x1000>;
        		clocks = <&ccu CLK_PLL_DDR>;
        		clock-names = "pll_ddr";
        		#clock-cells = <0>;
        	};
        
        	dram_opp_table: opp_table {
        		compatible = "operating-points-v2";
        		opp@150000000 {
        			opp-hz = /bits/ 64 <150000000>;
        			clock-latency-ns = <150000>;
        			opp-microvolt = <900000>;
        		};
        	};
        
        	sunxi_dmcfreq: dmcfreq@3120000 {
        		compatible = "allwinner,sun55iw3-dmc", "syscon";
        		reg = <0x0 0x03120000 0x0 0x11000>,
        			  <0x0 0x02020000 0x0 0x4000>;
        		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
        		clocks = <&ddr_clk>, <&ccu CLK_NSI>;
        		clock-names = "dram", "bus";
        		operating-points-v2 = <&dram_opp_table>;
        		upthreshold = <60>;
        		downdifferential = <20>;
        		vddcore-supply = <&reg_vdd_sys>;
        		normalvoltage = <900000>;
        		boostvoltage = <900000>;
        	};
        
        	soc: soc@3000000 {
        		compatible = "simple-bus";
        		#address-cells = <2>;
        		#size-cells = <2>;
        		ranges;
        
        		rt-media@1c0e000 {
        			compatible = "allwinner,rt-media";
        		};
        
        		ve: ve@1c0e000 {
        			compatible = "allwinner,sunxi-cedar-ve";
        			reg = <0x0 0x01c0e000 0x0 0x1000>,
        				  <0x0 0x03000000 0x0 0x10>;
        			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
        			clocks =<&ccu CLK_BUS_VE>, <&ccu CLK_VE>, <&ccu CLK_VE_MBUS_GATE>;
        			clock-names = "bus_ve", "ve", "mbus_ve";
        			resets = <&ccu RST_BUS_VE>;
        			reset-names = "reset_ve";
        			iommus = <&mmu_aw 2 1>;
        			power-domains = <&pd1 A523_PCK_VE>;
        		};
        
        		ve1: ve1@1c0e000 {
        			compatible = "allwinner,sunxi-cedar-ve";
        			iommus = <&mmu_aw 3 1>;
        		};
        
        		pd_ve_test: pd-ve-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_VE>;
        			status = "okay";
        		};
        
        		pd_vi_test: pd-vi-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_VI>;
        			status = "okay";
        		};
        
        		pd_vo0_test: pd-vo0-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_VO0>;
        			status = "okay";
        		};
        
        		pd_vo1_test: pd-vo1-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_VO1>;
        			status = "okay";
        		};
        
        		pd_de_test: pd-de-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_DE>;
        			status = "okay";
        		};
        
        		pd_nand_test: pd-nand-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_NAND>;
        			status = "okay";
        		};
        
        		pd_pcie_test: pd-pcie-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd1 A523_PCK_PCIE>;
        			status = "okay";
        		};
        
        		pd_dsp_test: pd-dsp-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd A523_PD_DSP>;
        			status = "okay";
        		};
        
        		pd_npu_test: pd-npu-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd A523_PD_NPU>;
        			status = "okay";
        		};
        
        		pd_sram_test: pd-sram-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd A523_PD_SRAM>;
        			status = "okay";
        		};
        
        		pd_riscv_test: pd-riscv-test@0 {
        			compatible = "allwinner,sunxi-power-domain-test";
        			reg = <0x0 0x0 0x0 0x0>;
        			power-domains = <&pd A523_PD_RISCV>;
        			status = "okay";
        		};
        
        		test_ccu: test_ccu@3000090 {
        			compatible = "allwinner,sun55iw3-test-ccu";
        			device_type = "ccu-test";
        			resets = <&ccu RST_BUS_UART7>, <&ccu RST_BUS_UART6>;
        			reset-names = "rst-uart7", "rst-uart6";
        			reg = <0x0 0x3000090 0x0 0x8>;
        			#clock-cells = <1>;
        		};
        
        		rtc_ccu: rtc_ccu@7090000 {
        			compatible = "allwinner,sun55iw3-rtc-ccu";
        			reg = <0x0 0x07090000 0x0 0x400>;
        			#clock-cells = <1>;
        			#reset-cells = <1>;
        		};
        
        		cpupll_ccu: clock@8817000 {
        			compatible = "allwinner,sun55iw3-cpupll";
        			reg = <0x0 0x08817000 0x0 0x4000>;
        			#clock-cells = <1>;
        			#reset-cells = <1>;
        			pll_step = <0x9>;
        			/* pll_ssc will divid pll_ssc_scale in code
        			 * keep value 0 < pll_ssc < 10
        			 */
        			pll_ssc_scale = <0xa>;
        			pll_ssc = <0x1>;
        		};
        
        		ccu: ccu@2001000 {
        			compatible = "allwinner,sun55iw3-ccu";
        			reg = <0x0 0x02001000 0x0 0x1000>;
        			clocks = <&dcxo24M>, <&rtc_ccu CLK_OSC32K>, <&rc_16m>;
        			clock-names = "hosc", "losc", "iosc";
        			#clock-cells = <1>;
        			#reset-cells = <1>;
        			/*
        			 * sdm info:
        			 * for example:
        			 * pll_npux4 {
        			 * 	sdm-enable = <1>; // required
        			 * 	sdm-factor = <4>; // required
        			 *	freq-mod   = <TR_N>; // optional: default TR_N
        			 * 	sdm-freq   = <FREQ_32>; // optional: default FREQ_31_5
        			 * };
        			 */
        		};
        
        		r_ccu: r_ccu@7010000 {
        			compatible = "allwinner,sun55iw3-r-ccu";
        			reg = <0x0 0x07010000 0x0 0x230>;
        			#clock-cells = <1>;
        			#reset-cells = <1>;
        		};
        
        		mcu_ccu: mcu_ccu@7102000 {
        			compatible = "allwinner,sun55iw3-mcu-ccu";
        			reg = <0x0 0x07102000 0x0 0x165>;
        			#clock-cells = <1>;
        			#reset-cells = <1>;
        		};
        
        		disp: disp@5000000 {
        			compatible = "allwinner,sunxi-disp";
        			reg = <0x0 0x05000000 0x0 0x400000>, /*de*/
        			      <0x0 0x05500000 0x0 0x1000>, /* display_if_top */
        			      <0x0 0x05501000 0x0 0x1000>, /* tcon0 - tcon_lcd0 */
        			      <0x0 0x05502000 0x0 0x1000>, /* tcon1 - tcon_lcd1 */
        			      <0x0 0x05503000 0x0 0x1000>, /* tcon2 - tcon_tv0 */
        			      <0x0 0x05504000 0x0 0x1000>, /* tcon3 - tcon_tv1 */
        			      <0x0 0x05731000 0x0 0x1000>, /* tcon4 - tcon_lcd2 */
        			      <0x0 0x05506000 0x0 0x1fff>, /* dsi0 */
        			      <0x0 0x05508000 0x0 0x1fff>; /* dsi1 */
        			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, /* DE */
        				     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, /* tcon_lcd0 */
        				     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, /* tcon_lcd1 */
        				     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, /* tcon_tv0 */
        				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* tcon_tv1 */
        				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, /* tcon_lcd2 */
        				     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, /* dsi0 */
        				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; /* dsi1 */
        			clocks = <&ccu CLK_DE>,
        				 <&ccu CLK_DE>,
        				 <&ccu CLK_DE0>,
        				 <&ccu CLK_DE0>,
        				 <&ccu CLK_VO0_TCONLCD0>,
        				 <&ccu CLK_VO0_TCONLCD1>,
        				 <&ccu CLK_TCONTV>,
        				 <&ccu CLK_TCONTV1>,
        				 <&ccu CLK_VO1_TCONLCD0>,
        				 <&ccu CLK_BUS_VO0_TCONLCD0>,
        				 <&ccu CLK_BUS_VO0_TCONLCD1>,
        				 <&ccu CLK_BUS_TCONTV>,
        				 <&ccu CLK_BUS_TCONTV1>,
        				 <&ccu CLK_BUS_VO1_TCONLCD0>,
        				 <&ccu CLK_DPSS_TOP0>,
        				 <&ccu CLK_DPSS_TOP0>,
        				 <&ccu CLK_DPSS_TOP0>,
        				 <&ccu CLK_DPSS_TOP0>,
        				 <&ccu CLK_DPSS_TOP1>,
        				 <&ccu CLK_DSI0>,
        				 <&ccu CLK_DSI1>,
        				 <&ccu CLK_BUS_DSI0>,
        				 <&ccu CLK_BUS_DSI1>,
        				 <&ccu CLK_COMBPHY0>,
        				 <&ccu CLK_COMBPHY1>;
        			clock-names = 	"clk_de0",
        					"clk_de1",
        					"clk_bus_de0",
        					"clk_bus_de1",
        					"clk_tcon0",
        					"clk_tcon1",
        					"clk_tcon2",
        					"clk_tcon3",
        					"clk_tcon4",
        					"clk_bus_tcon0",
        					"clk_bus_tcon1",
        					"clk_bus_tcon2",
        					"clk_bus_tcon3",
        					"clk_bus_tcon4",
        					"clk_bus_dpss_top0",
        					"clk_bus_dpss_top1",
        					"clk_bus_dpss_top2",
        					"clk_bus_dpss_top3",
        					"clk_bus_dpss_top4",
        					"clk_mipi_dsi0",
        					"clk_mipi_dsi1",
        					"clk_bus_mipi_dsi0",
        					"clk_bus_mipi_dsi1",
        					"clk_mipi_dsi_combphy0",
        					"clk_mipi_dsi_combphy1";
        			resets = <&ccu RST_BUS_DE0>,
        				 <&ccu RST_BUS_DE0>,
        				 <&ccu RST_BUS_VO0_TCONLCD0>,
        				 <&ccu RST_BUS_VO0_TCONLCD1>,
        				 <&ccu RST_BUS_TCONTV>,
        				 <&ccu RST_BUS_TCONTV1>,
        				 <&ccu RST_BUS_VO1_TCONLCD0>,
        				 <&ccu RST_BUS_LVDS0>,
        				 <&ccu RST_BUS_LVDS1>,
        				 <&ccu RST_BUS_DPSS_TOP0>,
        				 <&ccu RST_BUS_DPSS_TOP0>,
        				 <&ccu RST_BUS_DPSS_TOP0>,
        				 <&ccu RST_BUS_DPSS_TOP0>,
        				 <&ccu RST_BUS_DPSS_TOP1>,
        				 <&ccu RST_BUS_DSI0>,
        				 <&ccu RST_BUS_DSI1>;
        			reset-names = 	"rst_bus_de0",
        					"rst_bus_de1",
        					"rst_bus_tcon0",
        					"rst_bus_tcon1",
        					"rst_bus_tcon2",
        					"rst_bus_tcon3",
        					"rst_bus_tcon4",
        					"rst_bus_lvds0",
        					"rst_bus_lvds1",
        					"rst_bus_dpss_top0",
        					"rst_bus_dpss_top1",
        					"rst_bus_dpss_top2",
        					"rst_bus_dpss_top3",
        					"rst_bus_dpss_top4",
        					"rst_bus_mipi_dsi0",
        					"rst_bus_mipi_dsi1";
        			assigned-clocks = <&ccu CLK_DE>,
        					  <&ccu CLK_VO0_TCONLCD0>,
        					  <&ccu CLK_VO0_TCONLCD1>,
        					  <&ccu CLK_VO1_TCONLCD0>,
        					  <&ccu CLK_BUS_TCONTV>,
        					  <&ccu CLK_TCONTV>,
        					  <&ccu CLK_TCONTV1>,
        					  <&ccu CLK_DSI0>,
        					  <&ccu CLK_DSI1>,
        					  <&ccu CLK_COMBPHY0>,
        					  <&ccu CLK_COMBPHY1>;
        			assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
        						 <&ccu CLK_PLL_VIDEO0_4X>,
        						 <&ccu CLK_PLL_VIDEO0_4X>,
        						 <&ccu CLK_PLL_VIDEO0_4X>,
        						 <&ccu CLK_PLL_VIDEO0_4X>,
        						 <&ccu CLK_PLL_VIDEO1_4X>,
        						 <&ccu CLK_PLL_VIDEO1_4X>,
        						 <&ccu CLK_PLL_PERI0_150M>,
        						 <&ccu CLK_PLL_PERI0_150M>,
        						 <&ccu CLK_PLL_VIDEO0_4X>,
        						 <&ccu CLK_PLL_VIDEO0_4X>;
        			assigned-clock-rates = <600000000>;
        			iommus = <&mmu_aw 5 0>;
        			/*power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
        			power-domain-names = "pd_de", "pd_vo0", "pd_vo1";*/
        			power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>;
        			power-domain-names = "pd_de", "pd_vo0";
        			status = "okay";
        
        			boot_disp = <0>;
        			fb_base = <0>;
        		};
        
        		hdmi: hdmi@5520000 {
        			compatible = "allwinner,sunxi-hdmi";
        			reg = <0x0 0x05520000 0x0 0x100000>;
        			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_HDMI>,
        				<&ccu CLK_HDMI_24M>,
        				<&ccu CLK_HDMI_CEC>,
        				<&ccu CLK_TCONTV>;
        			clock-names = "clk_hdmi",
        				      "clk_hdmi_24M",
        				      "clk_cec",
        				      "clk_tcon_tv";
        			resets = <&ccu RST_BUS_HDMI_SUB>,
        				<&ccu RST_BUS_HDMI_MAIN>;
        			reset-names = "rst_bus_sub",
        				      "rst_bus_main";
        			assigned-clocks = <&ccu CLK_HDMI>;
        			assigned-clock-rates = <0>, <0>;
        
        			status = "okay";
        		};
        
        		edp0: edp0@5720000 {
        			compatible = "allwinner,sunxi-edp0";
        			reg = <0x0 0x05720000 0x0 0x4000>;
        			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_EDP>,
        					<&ccu CLK_EDP>,
        					<&ccu CLK_HDMI_24M>;
        			clock-names = "clk_bus_edp", "clk_edp", "edp_clk_24m";
        			resets = <&ccu RST_BUS_EDP>;
        			reset-names = "rst_bus_edp";
        
        			assigned-clocks = <&ccu CLK_EDP>;
        			assigned-clock-parents = <&ccu CLK_PLL_VIDEO1_4X>;
        
        			status = "disabled";
        		};
        
        
        		lcd0: lcd0@1c0c000 {
        			compatible = "allwinner,sunxi-lcd0";
        			/* Fake registers to avoid dtc compiling warnings */
        			reg = <0x0 0x1c0c000 0x0 0x0>;
        			pinctrl-names = "active","sleep";
        		};
        
        		lcd1: lcd1@1c0c000 {
        			compatible = "allwinner,sunxi-lcd1";
        			/* Fake registers to avoid dtc compiling warnings */
        			reg = <0x0 0x1c0c000 0x0 0x0>;
        			pinctrl-names = "active","sleep";
        		};
        
        		lcd2: lcd2@1c0c000 {
        			compatible = "allwinner,sunxi-lcd2";
        			/* Fake registers to avoid dtc compiling warnings */
        			reg = <0x0 0x1c0c000 0x0 0x0>;
        			pinctrl-names = "active","sleep";
        		};
        
        		r_pio: pinctrl@7022000 {
        			#address-cells = <1>;
        			compatible = "allwinner,sun55iw3-r-pinctrl";
        			reg = <0x0 0x07022000 0x0 0x800>,
        				<0x0 0x07010374 0x0 0x4>,
        				<0x0 0x07010378 0x0 0x4>;
        			/*
        			 * The reg control i2s0/dmic routes to cpus-pad or sys-pad
        			 * 0: use cpus pad, 1: use sys pad
        			 */
        			reg-names = "r-pio", "i2s0", "dmic";
        			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, /* GPIOL */
        				     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;     /* GPIOM */
        			clocks = <&ccu CLK_R_APBS1>, <&dcxo24M>, <&rtc_ccu CLK_OSC32K>;
        			clock-names = "apb", "hosc", "losc";
        			gpio-controller;
        			#gpio-cells = <3>;
        			interrupt-controller;
        			#interrupt-cells = <3>;
        		};
        
        		g2d: g2d@5440000 {
        			compatible = "allwinner,sunxi-g2d";
        			reg = <0x0 0x05440000 0x0 0x30000>;
        			interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_G2D>, <&ccu CLK_G2D>;
        			clock-names = "bus", "g2d";
        			resets = <&ccu RST_BUS_G2D>;
        			iommus = <&mmu_aw 4 1>;
        			power-domains = <&pd1 A523_PCK_VO0>;
        			power-domain-names = "pd1_vo0";
        			assigned-clocks = <&ccu CLK_G2D>;
        			assigned-clock-rates = <300000000>;
        		};
        
        		pio: pinctrl@2000000 {
        			#address-cells = <1>;
        			compatible = "allwinner,sun55iw3-pinctrl";
        			/*
        			 * The reg control i2s0/dmic routes to cpus-pad or sys-pad
        			 * 0: use cpus pad, 1: use sys pad
        			 */
        			reg = <0x0 0x02000000 0x0 0x800>,
        				<0x0 0x07010374 0x0 0x4>,
        				<0x0 0x07010378 0x0 0x4>;
        			reg-names = "pio", "i2s0", "dmic";
        			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, /* GPIOB */
        				     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOC */
        				     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOD */
        				     <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOE */
        				     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOF */
        				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOG */
        				     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOH */
        				     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOI */
        				     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,     /* GPIOJ */
        				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;    /* GPIOK */
        			clocks = <&ccu CLK_APB1>, <&dcxo24M>, <&rtc_ccu CLK_OSC32K>;
        			clock-names = "apb", "hosc", "losc";
        			gpio-controller;
        			#gpio-cells = <3>;
        			interrupt-controller;
        			#interrupt-cells = <3>;
        
        			sdc0_pins_a: sdc0@0 {
        				pins = "PF0", "PF1", "PF2",
        						"PF3", "PF4", "PF5";
        				function = "sdc0";
        				drive-strength = <40>;
        				bias-pull-up;
        				power-source = <3300>;
        			};
        
        			sdc0_pins_b: sdc0@1 {
        				pins = "PF0", "PF1", "PF2",
        						"PF3", "PF4", "PF5";
        				function = "sdc0";
        				drive-strength = <40>;
        				bias-pull-up;
        				power-source = <1800>;
        			};
        
        			sdc0_pins_c: sdc0@2 {
        				pins = "PF0", "PF1", "PF2",
        						"PF3", "PF4", "PF5";
        				function = "gpio_in";
        				power-source = <3300>;
        			};
        
        			/* TODO: add jtag pin */
        			sdc0_pins_d: sdc0@3 {
        				pins = "PF2", "PF4";
        				function = "uart0";
        				drive-strength = <10>;
        				bias-pull-up;
        				power-source = <3300>;
        			};
        
        			sdc0_pins_e: sdc0@4 {
        				pins = "PF0", "PF1", "PF3",
        						"PF5";
        				function = "jtag";
        				drive-strength = <10>;
        				bias-pull-up;
        				power-source = <3300>;
        			};
        
        			sdc1_pins_a: sdc1@0 {
        				pins = "PG0", "PG1", "PG2",
        						"PG3", "PG4", "PG5";
        				function = "sdc1";
        				drive-strength = <40>;
        				bias-pull-up;
        			};
        
        			sdc1_pins_b: sdc1@1 {
        				pins = "PG0", "PG1", "PG2",
        						"PG3", "PG4", "PG5";
        				function = "gpio_in";
        			};
        
        			sdc2_pins_a: sdc2@0 {
        				pins = "PC1", "PC5", "PC6",
        						"PC8", "PC9", "PC10", "PC11",
        						"PC13", "PC14", "PC15", "PC16";
        				function = "sdc2";
        				drive-strength = <40>;
        				bias-pull-up;
        			};
        
        			sdc2_pins_b: sdc2@1 {
        				pins = "PC0", "PC1", "PC5", "PC6",
        						"PC8", "PC9", "PC10", "PC11",
        						"PC13", "PC14", "PC15", "PC16";
        				function = "gpio_in";
        			};
        
        			sdc2_pins_c: sdc2@2 {
        				pins = "PC0";
        				function = "sdc2";
        				drive-strength = <40>;
        				bias-pull-down;
        			};
        
        			uart1_pins_a: uart1@0 {
        				pins = "PG6", "PG7", "PG8", "PG9";
        				function = "uart1";
        				drive-strength = <10>;
        				bias-pull-up;
        			};
        
        			uart1_pins_b: uart1@1 {
        				pins = "PG6", "PG7", "PG8", "PG9";
        				function = "gpio_in";
        			};
        
        			dsi0_4lane_pins_a: dsi0_4lane@0 {
        				pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
        				function = "dsi0";
        				drive-strength = <30>;
        				bias-disable;
        			};
        
        			dsi0_4lane_pins_b: dsi0_4lane@1 {
        				pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
        				function = "io_disabled";
        				bias-disable;
        			};
        
        			dsi1_4lane_pins_a: dsi1_4lane@0 {
        				pins = "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19";
        				function = "dsi1";
        				drive-strength = <30>;
        				bias-disable;
        			};
        
        			dsi1_4lane_pins_b: dsi1_4lane@1 {
        				pins = "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19";
        				function = "io_disabled";
        				bias-disable;
        			};
        
        			rgb18_pins_a: rgb18@0 {
        				pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
        					"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
        					"PD20", "PD21";
        				function = "lcd0";
        				drive-strength = <30>;
        			};
        
        			rgb18_pins_b: rgb18@1 {
        				pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
        					"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
        					"PD20", "PD21";
        					function = "gpio_in";
        			};
        
        			lvds1_pins_a: lvds1@0 {
        				pins = "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19";
        				function = "lvds1";
        				drive-strength = <30>;
        			};
        
        			lvds1_pins_b: lvds1@1 {
        				pins = "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19";
        				function = "gpio_in";
        			};
        
        			lvds2_pins_a: lvds2@0 {
        				pins = "PJ0", "PJ1", "PJ2", "PJ3", "PJ4", "PJ5", "PJ6", "PJ7", "PJ8", "PJ9";
        				function = "lvds2";
        				drive-strength = <30>;
        			};
        
        			lvds2_pins_b: lvds2@1 {
        				pins = "PJ0", "PJ1", "PJ2", "PJ3", "PJ4", "PJ5", "PJ6", "PJ7", "PJ8", "PJ9";
        				function = "gpio_in";
        			};
        
        			lvds3_pins_a: lvds3@0 {
        				pins = "PJ10", "PJ11", "PJ12", "PJ13", "PJ14", "PJ15", "PJ16", "PJ17", "PJ18", "PJ19";
        				function = "lvds3";
        				drive-strength = <30>;
        			};
        
        			lvds3_pins_b: lvds3@1 {
        				pins = "PJ10", "PJ11", "PJ12", "PJ13", "PJ14", "PJ15", "PJ16", "PJ17", "PJ18", "PJ19";
        				function = "gpio_in";
        			};
        			/*
        			csi_mclk0_pins_a: csi_mclk0@0 {
        				pins = "PE0";
        				function = "mipi0";
        				drive-strength = <20>;
        			};
        
        			csi_mclk0_pins_b: csi_mclk0@1 {
        				pins = "PE0";
        				function = "gpio_in";
        			};
        			*/
        			csi_mclk1_pins_a: csi_mclk1@0 {
        				pins = "PE5";
        				function = "mipi1";
        				drive-strength = <20>;
        			};
        
        			csi_mclk1_pins_b: csi_mclk1@1 {
        				pins = "PE5";
        				function = "gpio_in";
        			};
        
        			csi_mclk2_pins_a: csi_mclk2@0 {
        				pins = "PE15";
        				function = "mipi2";
        				drive-strength = <20>;
        			};
        
        			csi_mclk2_pins_b: csi_mclk2@1 {
        				pins = "PE15";
        				function = "gpio_in";
        			};
        
        			csi_mclk3_pins_a: csi_mclk3@0 {
        				pins = "PE10";
        				function = "mipi3";
        				drive-strength = <20>;
        			};
        
        			csi_mclk3_pins_b: csi_mclk3@1 {
        				pins = "PE10";
        				function = "gpio_in";
        			};
        
        			ncsi_bt656_pins_a: ncsi_BT656@0 {
        				pins = "PK12", "PK14", "PK15",
        				"PK16", "PK17", "PK18", "PK19",
        				"PK20", "PK21", "PK22", "PK23";
        				function = "ncsi";
        				drive-strength = <20>;
        			};
        
        			ncsi_bt656_pins_b: ncsi_BT656@1 {
        				pins = "PK12", "PK14", "PK15",
        				"PK16", "PK17", "PK18", "PK19",
        				"PK20", "PK21", "PK22", "PK23";
        				function = "gpio_in";
        			};
        
        			ncsi_bt1120_pins_a: ncsi_BT1120@0 {
        				pins = "PK12", "PK14", "PK15",
        				"PK16", "PK17", "PK18", "PK19",
        				"PK20", "PK21", "PK22", "PK23",
        				"PE6", "PE7", "PE8", "PE9",
        				"PE10", "PE11", "PE12", "PE15";
        				function = "ncsi";
        				drive-strength = <20>;
        			};
        
        			ncsi_bt1120_pins_b: ncsi_BT1120@1 {
        				pins = "PK12", "PK14", "PK15",
        				"PK16", "PK17", "PK18", "PK19",
        				"PK20", "PK21", "PK22", "PK23",
        				"PE6", "PE7", "PE8", "PE9",
        				"PE10", "PE11", "PE12", "PE15";
        				function = "gpio_in";
        			};
        
        			mipia_pins_a: mipia@0 {
        				pins = "PK0", "PK1", "PK2",
        					"PK3", "PK4", "PK5";
        				function = "mcsia";
        				drive-strength = <10>;
        
        			};
        
        			mipia_pins_b: mipia@1 {
        				pins = "PK0", "PK1", "PK2",
        					"PK3", "PK4", "PK5";
        				function = "gpio_in";
        			};
        
        			mipib_pins_a: mipib@0 {
        				pins = "PK6", "PK7", "PK8",
        					"PK9", "PK10", "PK11";
        				function = "mcsib";
        				drive-strength = <10>;
        			};
        
        			mipib_pins_b: mipib@1 {
        				pins = "PK6", "PK7", "PK8",
        					"PK9", "PK10", "PK11";
        				function = "gpio_in";
        
        			};
        
        			mipib_4lane_pins_a: mipib_4lane@0 {
        				pins = "PK6", "PK7", "PK8",
        					"PK9", "PK10", "PK11";
        				function = "mcsib";
        				drive-strength = <10>;
        			};
        
        			mipib_4lane_pins_b: mipib_4lane@1 {
        				pins = "PK6", "PK7", "PK8",
        					"PK9", "PK10", "PK11";
        				function = "gpio_in";
        			};
        
        			mipic_pins_a: mipic@0 {
        				pins = "PK12", "PK13", "PK14",
        					"PK15", "PK16", "PK17";
        				function = "mcsic";
        				drive-strength = <10>;
        
        			};
        
        			mipic_pins_b: mipic@1 {
        				pins = "PK12", "PK13", "PK14",
        					"PK15", "PK16", "PK17";
        				function = "gpio_in";
        			};
        
        			mipid_pins_a: mipid@0 {
        				pins = "PK18", "PK19", "PK20",
        					"PK21", "PK22", "PK23";
        				function = "mcsid";
        				drive-strength = <10>;
        			};
        
        			mipid_pins_b: mipid@1 {
        				pins = "PK18", "PK19", "PK20",
        					"PK21", "PK22", "PK23";
        				function = "gpio_in";
        
        			};
        
        			mipid_4lane_pins_a: mipid_4lane@0 {
        				pins = "PK18", "PK19", "PK20",
        					"PK21", "PK22", "PK23";
        				function = "mcsid";
        				drive-strength = <10>;
        			};
        
        			mipid_4lane_pins_b: mipid_4lane@1 {
        				pins = "PK18", "PK19", "PK20",
        					"PK21", "PK22", "PK23";
        				function = "gpio_in";
        			};
        
        			test_pins_a: test_pins@0 {
        				pins = "PB2", "PB5";
        				function = "test";
        				drive-strength = <10>;
        				bias-pull-up;
        			};
        
        			test_pins_b: test_pins@1 {
        				pins = "PB2", "PB5";
        				function = "gpio_in";
        			};
        		};
        
        		pinctrl_test: pinctrl_test@2000000 {
        		      reg = <0x0 0x0 0x0 0x0>;
        		      compatible = "allwinner,sunxi-pinctrl-test";
        		      device_type = "pinctrl-test";
        		      pinctrl-0 = <&test_pins_a>;
        		      pinctrl-1 = <&test_pins_b>;
        		      pinctrl-names = "default", "sleep";
        		      test-gpios = <&pio PB 4 GPIO_ACTIVE_LOW>;
        		      suspend-gpios = <&r_pio PL 4 GPIO_ACTIVE_LOW>;
        		      wakeup-source;
        		      interrupt-parent = <&pio>;
        		      interrupts = <PB 6 IRQ_TYPE_LEVEL_HIGH>;
        		};
        
        		ths0: ths0@200a000 {
        			compatible = "allwinner,sun55iw3p1-ths0";
        			reg = <0x0 0x0200a000 0x0 0x400>;
        			clocks = <&ccu CLK_THS>, <&ccu CLK_GPADC0_24M>;
        			clock-names = "bus", "sclk";
        			resets = <&ccu RST_BUS_TH>;
        			#thermal-sensor-cells = <1>;
        		};
        
        		ths1: ths0@2009400 {
        			compatible = "allwinner,sun55iw3p1-ths1";
        			reg = <0x0 0x02009400 0x0 0x400>;
        			clocks = <&ccu CLK_THS>, <&ccu CLK_GPADC1_24M>;
        			clock-names = "bus", "sclk";
        			resets = <&ccu RST_BUS_TH>;
        			#thermal-sensor-cells = <1>;
        		};
        
        		soc_timer0: timer@3008000 {
        			compatible = "allwinner,sun50i-timer";
        			device_type = "soc_timer";
        			reg = <0x0 0x03008000 0x0 0x400>;
        			interrupt-parent = <&gic>;
        			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
        			clock-names = "parent", "bus", "timer0-mod", "timer1-mod";
        			clocks = <&dcxo24M>, <&ccu CLK_TIMER>, <&ccu CLK_TIMER0>, <&ccu CLK_TIMER1>;
        			resets = <&ccu RST_BUS_TIME>;
        		};
        
        		arm_pmu {
        			compatible = "arm,armv8-pmuv3";
        			interrupt-parent = <&gic>;
        			interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
        		};
        
        		dump_reg:dump_reg@40000 {
        			 compatible = "allwinner,sunxi-dump-reg";
        			 reg = <0x0 0x00040000 0x0 0x0004>;
        		};
        
        		soft_jtag_master:soft_jtag_master@0 {
        			compatible = "allwinner,soft-jtag-master";
        			tdi-gpios = <&r_pio PL 2 GPIO_ACTIVE_HIGH>;
        			tdo-gpios = <&r_pio PL 3 GPIO_ACTIVE_HIGH>;
        			tck-gpios = <&pio PB 11 GPIO_ACTIVE_HIGH>;
        			tms-gpios = <&pio PB 12 GPIO_ACTIVE_HIGH>;
        			status = "disabled";
        		};
        
        		reg_pio1_8: pio-18 {
        			compatible = "regulator-fixed";
        			regulator-name = "pio-18";
        			regulator-min-microvolt = <1800000>;
        			regulator-max-microvolt = <1800000>;
        		};
        
        		reg_pio2_8: pio-28 {
        			compatible = "regulator-fixed";
        			regulator-name = "pio-28";
        			regulator-min-microvolt = <2800000>;
        			regulator-max-microvolt = <2800000>;
        		};
        
        		reg_pio3_3: pio-33 {
        			compatible = "regulator-fixed";
        			regulator-name = "pio-33";
        			regulator-min-microvolt = <3300000>;
        			regulator-max-microvolt = <3300000>;
        		};
        
        		uart0: uart@2500000 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x02500000 0x0 0x400>;
        			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_UART0>;
        			resets = <&ccu RST_BUS_UART0>;
        			uart0_port = <0>;
        			uart0_type = <2>;
        			status = "disabled";
        		};
        
        		uart1: uart@2500400 {
        			compatible = "allwinner,sun55i-uart";
        			device_type = "uart1";
        			reg = <0x0 0x02500400 0x0 0x400>;
        			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
        			sunxi,uart-fifosize = <64>;
        			clocks = <&ccu CLK_BUS_UART1>;
        			clock-names = "uart1";
        			resets = <&ccu RST_BUS_UART1>;
        			pinctrl-names = "default", "sleep";
        			pinctrl-0 = <&uart1_pins_a>;
        			pinctrl-1 = <&uart1_pins_b>;
        			uart1_port = <1>;
        			uart1_type = <4>;
        			status = "disabled";
        		};
        
        		uart2: uart@2500800 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x2500800 0x0 0x400>;
        			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_UART2>;
        			resets = <&ccu RST_BUS_UART2>;
        			uart2_port = <2>;
        			uart2_type = <4>;
        			sunxi,uart-fifosize = <128>;
        			status = "disabled";
        		};
        
        		uart3: uart@2500c00 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x2500c00 0x0 0x400>;
        			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_UART3>;
        			resets = <&ccu RST_BUS_UART3>;
        			uart3_port = <3>;
        			uart3_type = <4>;
        			sunxi,uart-fifosize = <128>;
        			status = "disabled";
        		};
        
        		uart4: uart@2501000 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x2501000 0x0 0x400>;
        			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_UART4>;
        			resets = <&ccu RST_BUS_UART4>;
        			uart4_port = <4>;
        			uart4_type = <4>;
        			sunxi,uart-fifosize = <128>;
        			status = "disabled";
        		};
        
        		uart5: uart@2501400 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x2501400 0x0 0x400>;
        			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_UART5>;
        			resets = <&ccu RST_BUS_UART5>;
        			uart5_port = <5>;
        			uart5_type = <4>;
        			sunxi,uart-fifosize = <128>;
        			status = "disabled";
        		};
        
        		uart6: uart@2501800 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x2501800 0x0 0x400>;
        			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_UART6>;
        			resets = <&ccu RST_BUS_UART6>;
        			uart6_port = <6>;
        			uart6_type = <4>;
        			sunxi,uart-fifosize = <128>;
        			status = "disabled";
        		};
        
        		uart7: uart@2501c00 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x2501c00 0x0 0x400>;
        			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_UART7>;
        			resets = <&ccu RST_BUS_UART7>;
        			uart7_port = <7>;
        			uart7_type = <4>;
        			sunxi,uart-fifosize = <128>;
        			status = "disabled";
        		};
        
        		uart8: uart@7080000 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x7080000 0x0 0x400>;
        			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_UART0>;
        			resets = <&r_ccu RST_R_UART0>;
        			uart8_port = <8>;
        			uart8_type = <2>;
        			sunxi,uart-fifosize = <64>;
        			status = "disabled";
        		};
        
        		uart9: uart@7080400 {
        			compatible = "allwinner,sun55i-uart";
        			reg = <0x0 0x7080400 0x0 0x400>;
        			interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_UART1>;
        			resets = <&r_ccu RST_R_UART1>;
        			uart9_port = <9>;
        			uart9_type = <2>;
        			sunxi,uart-fifosize = <64>;
        			status = "disabled";
        		};
        
        		dma:dma-controller@3002000 {
        			compatible = "allwinner,dma-v105";
        			reg = <0x0 0x03002000 0x0 0x1000>;
        			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_DMA>, <&ccu CLK_DMA_MBUS_GATE>;
        			clock-names = "bus", "mbus";
        			dma-channels = <8>;
        			dma-requests = <54>;
        			resets = <&ccu RST_BUS_DMA>;
        			#dma-cells = <1>;
        			status = "okay";
        		};
        
        		dma1:dma1-controller@7121000 {
        			compatible = "allwinner,dma-v104";
        			reg = <0x0 0x7121000 0x0 0x1000>;
        			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&mcu_ccu CLK_BUS_MCU_DMA>, <&mcu_ccu CLK_BUS_MCU_DMA_MBUS>, <&mcu_ccu CLK_BUS_MCU_MBUS>;
        			clock-names = "bus", "mbus", "mcu-mbus";
        			dma-channels = <8>;
        			dma-requests = <15>;
        			resets = <&mcu_ccu RST_BUS_MCU_DMA>;
        			#dma-cells = <1>;
        			status = "okay";
        		};
        
        		npu: npu@7122000 {
        			compatible = "allwinner,npu";
        			reg = <0x0 0x07122000 0x0 0x1000>;
        			device_type = "npu";
        			dev_name = "npu";
        			interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_NPU>, <&ccu CLK_PLL_NPU_2X>, <&mcu_ccu CLK_BUS_MCU_NPU_ACLK>, <&mcu_ccu CLK_BUS_MCU_NPU_HCLK>;
        			clock-names = "clk_npu", "clk_parent", "npu-aclk", "npu-hclk";
        			operating-points-v2 = <&npu_opp_table>;
        			resets = <&mcu_ccu RST_BUS_MCU_NPU>;
        			interrupt-names = "npu";
        			npu-vf = <1>;
        			power-domains = <&pd A523_PD_NPU>;
        			status = "okay";
        		};
        
        		npu_opp_table: npu-opp-table {
        			compatible = "allwinner,sun55i-operating-points";
        			opp-shared;
        			npu_opp_table_546: opp-546 {
        				opp-hz = <546000000>;
        				opp-microvolt-vf1 = <920000>;
        				opp-microvolt-vf2 = <920000>;
        				opp-microvolt-vf21 = <920000>;
        				opp-microvolt-vf3 = <920000>;
        				opp-microvolt-vf31 = <920000>;
        				opp-microvolt-vf4 = <920000>;
        				opp-microvolt-vf5 = <920000>;
        			};
        
        			npu_opp_table_696: opp-696 {
        				opp-hz = <696000000>;
        				opp-microvolt-vf1 = <1050000>;
        				opp-microvolt-vf2 = <1050000>;
        				opp-microvolt-vf21 = <1050000>;
        				opp-microvolt-vf3 = <1000000>;
        				opp-microvolt-vf31 = <1000000>;
        				opp-microvolt-vf4 = <1000000>;
        				opp-microvolt-vf5 = <960000>;
        			};
        		};
        
        		wdt: watchdog@2050000 {
        			compatible = "allwinner,wdt-v103";
        			reg = <0x0 0x02050000 0x0 0x20>;  /* In Timers Spec */
        			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;  /* In GIC Spec */
        		};
        
        		gpadc0: gpadc0@2009000 {
        			compatible = "allwinner,sunxi-gpadc";
        			reg = <0x0 0x02009000 0x0 0x400>;
        			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_GPADC0>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_GPADC0>;
        			status = "disabled";
        		};
        
        		gpadc1: gpadc1@2009c00 {
        			compatible = "allwinner,sunxi-gpadc";
        			reg = <0x0 0x02009c00 0x0 0x400>;
        			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_GPADC1>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_GPADC1>;
        			status = "disabled";
        		};
        
        		dsp0_rproc: dsp0_rproc@0 {
        			compatible = "allwinner,hifi4-rproc";
        			clock-frequency = <600000000>;
        			clocks = <&ccu CLK_PLL_PERI0_2X>, <&mcu_ccu CLK_DSP_DSP>, <&ccu CLK_DSP>, <&mcu_ccu CLK_BUS_DSP_CFG>, <&r_ccu CLK_R_AHB>;
        			clock-names = "pll", "mcu-mod", "mod", "cfg", "ahbs";
        			resets = <&mcu_ccu RST_BUS_DSP>, <&mcu_ccu RST_BUS_DSP_CFG>, <&mcu_ccu RST_BUS_DSP_DBG>;
        			reset-names = "mod-rst", "cfg-rst", "dbg-rst";
        			reg = <0x0 0x07010364 0x0 0x04>,
        				<0x0 0x07100000 0x0 0x40>;
        			reg-names = "sram-for-cpux", "hifi4-cfg";
        			firmware-name = "amp_dsp0.bin";
        			power-domains = <&pd A523_PD_DSP>, <&pd A523_PD_SRAM>;
        			power-domain-names = "pd_dsp", "pd_sram";
        			status = "disabled";
        		};
        
        		e906_rproc: e906_rproc@7130000 {
        			compatible = "allwinner,e906-rproc";
        			clocks = <&mcu_ccu CLK_BUS_PUBSRAM>, <&mcu_ccu CLK_BUS_RV>, <&mcu_ccu CLK_BUS_RV_CFG>;
        			clock-names = "pubsram", "mod", "cfg";
        			resets = <&mcu_ccu RST_BUS_PUBSRAM>, <&mcu_ccu RST_BUS_RV>, <&mcu_ccu RST_BUS_RV_CFG>, <&mcu_ccu RST_BUS_RV_DBG>;
        			reset-names = "pubsram-rst", "mod-rst", "cfg-rst", "dbg-rst";
        			firmware-name = "amp_rv0.bin";
        			reg = <0x0 0x07130000 0x0 0x1000>;
        			reg-names = "e906-cfg";
        			power-domains = <&pd A523_PD_RISCV>, <&pd A523_PD_SRAM>;
        			power-domain-names = "pd_riscv", "pd_sram";
        			status = "disabled";
        		};
        
        		msgbox: msgbox@3003000 {
        			compatible = "allwinner,sun55iw3-msgbox";
        			#mbox-cells = <1>;
        			reg = <0x0 0x03003000 0x0 0x1000>,
        			      <0x0 0x07120000 0x0 0x1000>,
        			      <0x0 0x07094000 0x0 0x1000>,
        			      <0x0 0x07136000 0x0 0x1000>;
        			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
        					<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
        					<GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
        					<GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_MSGBOX0>;
        			clock-names = "msgbox";
        			resets = <&ccu RST_BUS_MSGBOX0>;
        			reset-names = "rst";
        			local_id = <0>;
        		};
        
        		hwspinlock: hwspinlock@3005000 {
        			compatible = "allwinner,sunxi-hwspinlock";
        			reg = <0x0 0x3005000 0x0 0x1000>;
        			#hwlock-cells = <1>;
        			clocks = <&ccu CLK_SPINLOCK>;
        			clock-names = "clk_hwspinlock_bus";
        			resets = <&ccu RST_BUS_SPINLOCK>;
        			reset-names = "rst";
        			num-locks = <32>;
        			status = "okay";
        		};
        
        		pwm0: pwm0@2000c00 {
        			#pwm-cells = <0x3>;
        			compatible = "allwinner,sunxi-pwm-v201";
        			reg = <0x0 0x02000c00 0x0 0x400>;
        			clocks = <&ccu CLK_PWM>;
        			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
        			resets = <&ccu RST_BUS_PWM>;
        			pwm-number = <16>;
        			pwm-base = <0x0>;
        			sunxi-pwms = <&pwm0_0>, <&pwm0_1>, <&pwm0_2>, <&pwm0_3>, <&pwm0_4>,
        			<&pwm0_5>, <&pwm0_6>, <&pwm0_7>, <&pwm0_8>, <&pwm0_9>,
        			<&pwm0_10>, <&pwm0_11>, <&pwm0_12>, <&pwm0_13>,
        			<&pwm0_14>, <&pwm0_15>;
        			status = "okay";
        		};
        
        		pwm0_0: pwm0_0@2000c10 {
        			compatible = "allwinner,sunxi-pwm0";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c10 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_1: pwm0_1@2000c11 {
        			compatible = "allwinner,sunxi-pwm1";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c11 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_2: pwm0_2@2000c12 {
        			compatible = "allwinner,sunxi-pwm2";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c12 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_3: pwm0_3@2000c13 {
        			compatible = "allwinner,sunxi-pwm3";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c13 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_4: pwm0_4@2000c14 {
        			compatible = "allwinner,sunxi-pwm4";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c14 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_5: pwm0_5@2000c15 {
        			compatible = "allwinner,sunxi-pwm5";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c15 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_6: pwm0_6@2000c16 {
        			compatible = "allwinner,sunxi-pwm6";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c16 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_7: pwm0_7@2000c17 {
        			compatible = "allwinner,sunxi-pwm7";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c17 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_8: pwm0_8@2000c18 {
        			compatible = "allwinner,sunxi-pwm8";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c18 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_9: pwm0_9@2000c19 {
        			compatible = "allwinner,sunxi-pwm9";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c19 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_10: pwm0_10@2000c1a {
        			compatible = "allwinner,sunxi-pwm10";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c1a 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_11: pwm0_11@2000c1b {
        			compatible = "allwinner,sunxi-pwm11";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c1b 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_12: pwm0_12@2000c1c {
        			compatible = "allwinner,sunxi-pwm12";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c1c 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_13: pwm0_13@2000c1d {
        			compatible = "allwinner,sunxi-pwm13";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c1d 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_14: pwm0_14@2000c1e {
        			compatible = "allwinner,sunxi-pwm14";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c1e 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm0_15: pwm0_15@2000c1f {
        			compatible = "allwinner,sunxi-pwm15";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02000c1f 0x0 0x4>;
        			reg_base = <0x02000c00>;
        			status = "disabled";
        		};
        
        		pwm1: pwm1@2051000 {
        			#pwm-cells = <0x3>;
        			compatible = "allwinner,sunxi-pwm-v201";
        			reg = <0x0 0x02051000 0x0 0x400>;
        			clocks = <&ccu CLK_PWM1>;
        			interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
        			resets = <&ccu RST_BUS_PWM1>;
        			pwm-number = <4>;
        			pwm-base = <0x10>;
        			sunxi-pwms = <&pwm1_0>, <&pwm1_1>, <&pwm1_2>, <&pwm1_3>;
        			status = "disabled";
        		};
        
        		pwm1_0: pwm1_0@2051010 {
        			compatible = "allwinner,sunxi-pwm16";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02051010 0x0 0x4>;
        			reg_base = <0x02051000>;
        			status = "disabled";
        		};
        
        		pwm1_1: pwm1_1@2051011 {
        			compatible = "allwinner,sunxi-pwm17";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02051011 0x0 0x4>;
        			reg_base = <0x02051000>;
        			status = "disabled";
        		};
        
        		pwm1_2: pwm1_2@2051012 {
        			compatible = "allwinner,sunxi-pwm18";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02051012 0x0 0x4>;
        			reg_base = <0x02051000>;
        			status = "disabled";
        		};
        
        		pwm1_3: pwm1_3@2051013 {
        			compatible = "allwinner,sunxi-pwm19";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x02051013 0x0 0x4>;
        			reg_base = <0x02051000>;
        			status = "disabled";
        		};
        
        		s_pwm0: s_pwm0@7020c00 {
        			#pwm-cells = <0x3>;
        			compatible = "allwinner,sunxi-pwm-v202";
        			reg = <0x0 0x07020c00 0x0 0x400>;
        			clocks = <&r_ccu CLK_R_PWM>,<&r_ccu CLK_BUS_R_PWM>;
        			interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
        			clock-names = "clk_pwm","clk_bus_pwm";
        			resets = <&r_ccu RST_R_PWM>;
        			pwm-number = <2>;
        			pwm-base = <0x14>;
        			sunxi-pwms = <&s_pwm0_0>, <&s_pwm0_1>;
        			status = "disabled";
        		};
        
        		s_pwm0_0: s_pwm0_0@7020c10 {
        			compatible = "allwinner,sunxi-pwm20";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07020c10 0x0 0x4>;
        			reg_base = <0x07020c00>;
        			status = "disabled";
        		};
        
        		s_pwm0_1: s_pwm0_1@7020c11 {
        			compatible = "allwinner,sunxi-pwm21";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07020c11 0x0 0x4>;
        			reg_base = <0x07020c00>;
        			status = "disabled";
        		};
        
        		mcu_pwm0: mcu_pwm0@7103000 {
        			#pwm-cells = <0x3>;
        			compatible = "allwinner,sunxi-pwm-v202";
        			reg = <0x0 0x07103000 0x0 0x400>;
        			clocks = <&mcu_ccu CLK_MCU_PWM>,<&mcu_ccu CLK_BUS_MCU_PWM>;
        			interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
        			clock-names = "clk_pwm","clk_bus_pwm";
        			resets = <&mcu_ccu RST_BUS_MCU_PWM>;
        			pwm-number = <8>;
        			pwm-base = <0x16>;
        			sunxi-pwms = <&mcu_pwm0_0>, <&mcu_pwm0_1>, <&mcu_pwm0_2>, <&mcu_pwm0_3>,
        			<&mcu_pwm0_4>,<&mcu_pwm0_5>, <&mcu_pwm0_6>, <&mcu_pwm0_7>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_0: mcu_pwm0_0@7103010 {
        			compatible = "allwinner,sunxi-pwm22";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103010 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_1: mcu_pwm0_1@7103020 {
        			compatible = "allwinner,sunxi-pwm23";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103020 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_2: mcu_pwm0_2@7103030 {
        			compatible = "allwinner,sunxi-pwm24";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103030 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_3: mcu_pwm0_3@7103040 {
        			compatible = "allwinner,sunxi-pwm25";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103040 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_4: mcu_pwm0_4@7103050 {
        			compatible = "allwinner,sunxi-pwm26";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103050 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_5: mcu_pwm0_5@7103060 {
        			compatible = "allwinner,sunxi-pwm27";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103060 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_6: mcu_pwm0_6@7103070 {
        			compatible = "allwinner,sunxi-pwm28";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103070 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		mcu_pwm0_7: mcu_pwm0_7@7103080 {
        			compatible = "allwinner,sunxi-pwm29";
        			pinctrl-names = "active", "sleep";
        			reg = <0x0 0x07103080 0x0 0x4>;
        			reg_base = <0x07103000>;
        			status = "disabled";
        		};
        
        		ledc: ledc@2008000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-leds";
        			reg = <0x0 0x02008000 0x0 0x400>;
        			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_LEDC>, <&ccu CLK_BUS_LEDC>;
        			clock-names = "clk_ledc", "clk_cpuapb";
        			resets = <&ccu RST_BUS_LEDC>;
        			reset-names = "ledc_reset";
        			dmas = <&dma 42>, <&dma 42>;
        			dma-names = "rx", "tx";
        			status = "disabled";
        		};
        
        		irrx: irrx@2005000 {
        			compatible = "allwinner,irrx";
        			reg = <0x0 0x02005000 0x0 0x400>;
        			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_IRRX>, <&dcxo24M>, <&ccu CLK_IRRX>;
        			clock-names = "bus", "pclk", "mclk";
        			resets = <&ccu RST_BUS_IRRX>;
        			status = "disabled";
        		};
        
        		s_irrx: s_irrx@7040000 {
        			compatible = "allwinner,irrx";
        			reg = <0x0 0x07040000 0x0 0x400>;
        			interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_IRRX>, <&dcxo24M>, <&r_ccu CLK_R_IRRX>;
        			clock-names = "bus", "pclk", "mclk";
        			resets = <&r_ccu RST_R_IRRX>;
        			status = "disabled";
        		};
        
        		irtx: irtx@2003000 {
        			compatible = "allwinner,irtx";
        			reg = <0x0 0x02003000 0x0 0x400>;
        			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_BUS_IRTX>, <&dcxo24M>, <&ccu CLK_IRTX>;
        			clock-names = "bus", "pclk", "mclk";
        			resets = <&ccu RST_BUS_IRTX>;
        			status = "disabled";
        		};
        
        		twi0: twi0@2502000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi0";
        			reg = <0x0 0x02502000 0x0 0x400>;
        			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_TWI0>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_TWI0>;
        			dmas = <&dma 43>, <&dma 43>;
        			dma-names = "tx", "rx";
        			status = "okay";
        		};
        
        		twi1: twi1@2502400 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi1";
        			reg = <0x0 0x02502400 0x0 0x400>;
        			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_TWI1>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_TWI1>;
        			dmas = <&dma 44>, <&dma 44>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi2: twi2@2502800 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi2";
        			reg = <0x0 0x02502800 0x0 0x400>;
        			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_TWI2>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_TWI2>;
        			dmas = <&dma 45>, <&dma 45>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi3: twi3@2502c00 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi3";
        			reg = <0x0 0x02502c00 0x0 0x400>;
        			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_TWI3>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_TWI3>;
        			dmas = <&dma 46>, <&dma 46>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi4: twi4@2503000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi4";
        			reg = <0x0 0x02503000 0x0 0x400>;
        			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_TWI4>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_TWI4>;
        			dmas = <&dma 47>, <&dma 47>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi5: twi5@2503400{
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi5";
        			reg = <0x0 0x02503400 0x0 0x400>;
        			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_TWI5>;
        			clock-names = "bus";
        			resets = <&ccu RST_BUS_TWI5>;
        			dmas = <&dma 48>, <&dma 48>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi6: s_twi0@7081400 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi6";
        			reg = <0x0 0x07081400 0x0 0x400>;
        			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_TWI0>;
        			clock-names = "bus";
        			resets = <&r_ccu RST_R_TWI0>;
        			dmas = <&dma1 9>, <&dma1 9>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi7: s_twi1@7081800 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi7";
        			reg = <0x0 0x07081800 0x0 0x400>;
        			interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_TWI1>;
        			clock-names = "bus";
        			resets = <&r_ccu RST_R_TWI1>;
        			dmas = <&dma1 10>, <&dma1 10>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		twi8: s_twi2@7081c00 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-twi-v101";
        			device_type = "twi8";
        			reg = <0x0 0x07081C00 0x0 0x400>;
        			interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_TWI2>;
        			clock-names = "bus";
        			resets = <&r_ccu RST_R_TWI2>;
        			dmas = <&dma1 14>, <&dma1 14>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		spi0: spi@4025000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-spi-v1.3";
        			device_type = "spi0";
        			reg = <0x0 0x04025000 0x0 0x1000>;
        			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_PLL_PERI0_300M>, <&ccu CLK_SPI0>, <&ccu CLK_BUS_SPI0>;
        			clock-names = "pll", "mod", "bus";
        			resets = <&ccu RST_BUS_SPI0>;
        			dmas = <&dma 22>, <&dma 22>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		spi1: spi@4026000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-spi-v1.3";
        			device_type = "spi1";
        			reg = <0x0 0x04026000 0x0 0x1000>;
        			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_PLL_PERI0_300M>, <&ccu CLK_SPI1>, <&ccu CLK_BUS_SPI1>;
        			clock-names = "pll", "mod", "bus";
        			resets = <&ccu RST_BUS_SPI1>;
        			dmas = <&dma 23>, <&dma 23>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		spi2: spi@4027000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-spi-v1.3";
        			device_type = "spi2";
        			reg = <0x0 0x04027000 0x0 0x1000>;
        			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_PLL_PERI0_300M>, <&ccu CLK_SPI2>, <&ccu CLK_BUS_SPI2>;
        			clock-names = "pll", "mod", "bus";
        			resets = <&ccu RST_BUS_SPI2>;
        			dmas = <&dma 24>, <&dma 24>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		r_spi0: spi@7092000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-spi-v1.3";
        			device_type = "r_spi0";
        			reg = <0x0 0x07092000 0x0 0x1000>;
        			interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_PLL_PERI0_300M>, <&r_ccu CLK_R_SPI>, <&r_ccu CLK_BUS_R_SPI>;
        			clock-names = "pll", "mod", "bus";
        			resets = <&r_ccu RST_R_SPI>;
        			dmas = <&dma1 13>, <&dma1 13>;
        			dma-names = "tx", "rx";
        			status = "disabled";
        		};
        
        		spif0: spif@47f0000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sun55i-spif";
        			device_type = "spif";
        			reg = <0x0 0x047f0000 0x0 0x1000>;
        			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_PLL_PERI0_400M>, <&ccu CLK_SPIF>, <&ccu CLK_BUS_SPIF>;
        			clock-names = "pclk", "mclk", "bus";
        			resets = <&ccu RST_BUS_SPIF>;
        			status = "disabled";
        		};
        
        		nand0:nand0@4011000 {
        			compatible = "allwinner,sun55iw3-nand";
        			device_type = "nand0";
        			reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
        			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_PLL_PERI1_400M>,
        				<&ccu CLK_NAND0_CLK0>,
        				 <&ccu CLK_NAND0_CLK1>,
        				<&ccu CLK_NAND0>,
        				 <&ccu CLK_NAND_MBUS_GATE>;
        			clock-names = "pll_periph", "mclk","ecc", "bus", "mbus";
        			resets = <&ccu RST_BUS_NAND0>;
        			reset-names = "rst";
        			power-domains = <&pd1 A523_PCK_NAND>;
        
        			nand0_regulator1 = "none";
        			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>;
        			chip_code = "sun50iw10";
        			status = "disabled";
        			boot_crc = "disabled";
        		};
        
        		lradc: lradc@2009800 {
        			compatible = "allwinner,keyboard_1350mv";
        			reg = <0x0 0x02009800 0x0 0x100>;
        			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_LRADC>;
        			resets = <&ccu RST_BUS_LRADC>;
        			status = "disabled";
        		};
        
        		nsi0: nsi-controller@2020000 {
        			compatible = "allwinner,sun55i-nsi";
        			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
        			reg = <0x0 0x02020000 0x0 0x10000>,
        				<0x0 0x02071000 0x0 0x400>;
        			clocks = <&ccu CLK_PLL_DDR>, <&ccu CLK_MBUS>;
        			clock-names = "pll", "bus";
        			resets = <&ccu RST_MBUS>;
        			clock-frequency = <462000000>;
        			#nsi-cells = <1>;
        
        			npu{
        				id = <5>;
        				mode = <0>;
        				pri = <0>;
        				select = <1>;
        			};
        
        			gmac0{
        				id = <18>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			gmac1{
        				id = <19>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			smhc0{
        				id = <20>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			smhc1{
        				id = <21>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			smhc2{
        				id = <22>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			usb0{
        				id = <23>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			usb1{
        				id = <24>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			usb2{
        				id = <25>;
        				mode = <0>;
        				pri = <1>;
        				select = <1>;
        			};
        
        			isp{
        				id = <6>;
        				mode = <0>;
        				pri = <2>;
        				select = <1>;
        			};
        
        			iommu{
        				id = <10>;
        				mode = <0>;
        				pri = <3>;
        				select = <1>;
        			};
        
        			ve_r{
        				id = <11>;
        				mode = <0>;
        				pri = <2>;
        				select = <1>;
        			};
        
        			ve_rw{
        				id = <12>;
        				mode = <0>;
        				pri = <2>;
        				select = <1>;
        			};
        
        			de{
        				id = <13>;
        				mode = <0>;
        				pri = <2>;
        				select = <1>;
        			};
        
        			csi{
        				id = <14>;
        				mode = <0>;
        				pri = <2>;
        				select = <1>;
        			};
        
        		};
        
        		npd0: npd@2070000 {
        			compatible = "allwinner,sun55i-npd";
        			status = "okay";
        		};
        
        		cryptoengine: ce@3040000 {
        			compatible = "allwinner,sunxi-ce";
        			device_name = "ce";
        			reg = <0x0 0x03040000 0x0 0xa0>, /* non-secure space */
        				<0x0 0x03040800 0x0 0xa0>; /* secure space */
        			interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, /*non-secure*/
        				   <GIC_SPI 53 IRQ_TYPE_EDGE_RISING>; /* secure*/
        			clock-frequency = <400000000>; /* 400MHz */
        			clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>, <&ccu CLK_CE_MBUS_GATE>,
        				 <&ccu CLK_PLL_PERI0_400M>, <&ccu CLK_CE_SYS>;
        			clock-names = "bus_ce", "ce_clk", "mbus_ce", "clk_src", "ce_sys_clk";
        			resets = <&ccu RST_BUS_CE>;
        		};
        
        		rtc: rtc@7090000 {
        			compatible = "allwinner,rtc-v201";
        			device_type = "rtc";
        			wakeup-source;
        			reg = <0x0 0x07090000 0x0 0x320>;
        			interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&r_ccu CLK_BUS_R_RTC>, <&rtc_ccu CLK_RTC_1K>, <&rtc_ccu CLK_RTC_SPI>;
        			clock-names = "r-ahb-rtc", "rtc-1k", "rtc-spi";
        			resets = <&r_ccu RST_R_RTC>;
        			gpr_cur_pos = <6>;
        			gpr_bootcount_pos = <7>;
        		};
        
        		sdc2: sdmmc@4022000 {
        			compatible = "allwinner,sunxi-mmc-v4p6x";
        			device_type = "sdc2";
        			reg = <0x0 0x04022000 0x0 0x1000>;
        			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&dcxo24M>,
        				<&ccu CLK_PLL_PERI1_800M>,
        				<&ccu CLK_PLL_PERI1_600M>,
        				<&ccu CLK_SMHC2>,
        				<&ccu CLK_BUS_SMHC2>;
        			clock-names = "osc24m","pll_periph","pll_periph_2","mmc","ahb";
        			resets = <&ccu RST_BUS_SMHC2>;
        			reset-names = "rst";
        			pinctrl-names = "default","sleep";
        			pinctrl-0 = <&sdc2_pins_a &sdc2_pins_c>;
        			pinctrl-1 = <&sdc2_pins_b>;
        			bus-width = <8>;
        			req-page-count = <2>;
        			cap-mmc-highspeed;
        			cap-cmd23;
        			mmc-cache-ctrl;
        			non-removable;
        			/*max-frequency = <200000000>;*/
        			max-frequency = <50000000>;
        			cap-erase;
        			mmc-high-capacity-erase-size;
        			no-sdio;
        			no-sd;
        			/*-- speed mode --*/
        			/*sm0: DS26_SDR12*/
        			/*sm1: HSSDR52_SDR25*/
        			/*sm2: HSDDR52_DDR50*/
        			/*sm3: HS200_SDR104*/
        			/*sm4: HS400*/
        			/*-- frequency point --*/
        			/*f0: CLK_400K*/
        			/*f1: CLK_25M*/
        			/*f2: CLK_50M*/
        			/*f3: CLK_100M*/
        			/*f4: CLK_150M*/
        			/*f5: CLK_200M*/
        			ctl-spec-caps = <0x328>;
        			sdc_tm4_sm0_freq0 = <0>;
        			sdc_tm4_sm0_freq1 = <0>;
        			sdc_tm4_sm1_freq0 = <0x00000000>;
        			sdc_tm4_sm1_freq1 = <0>;
        			sdc_tm4_sm2_freq0 = <0x00000000>;
        			sdc_tm4_sm2_freq1 = <0>;
        			sdc_tm4_sm3_freq0 = <0x05000000>;
        			sdc_tm4_sm3_freq1 = <0x00000005>;
        			sdc_tm4_sm4_freq0 = <0x00050000>;
        			sdc_tm4_sm4_freq1 = <0x00000004>;
        			sdc_tm4_sm4_freq0_cmd = <0>;
        			sdc_tm4_sm4_freq1_cmd = <0>;
        
        			/*vmmc-supply = <&reg_3p3v>;*/
        			/*vqmc-supply = <&reg_3p3v>;*/
        			/*vdmc-supply = <&reg_3p3v>;*/
        			/*vmmc = "vcc-card";*/
        			/*vqmc = "";*/
        			/*vdmc = "";*/
        			/*sunxi-power-save-mode;*/
        		};
        
        		sdc0: sdmmc@4020000 {
        			compatible = "allwinner,sunxi-mmc-v5p3x";
        			device_type = "sdc0";
        			reg = <0x0 0x04020000 0x0 0x1000>;
        			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&dcxo24M>,
        				 <&ccu CLK_PLL_PERI1_400M>,
        				 <&ccu CLK_PLL_PERI1_300M>,
        				 <&ccu CLK_SMHC0>,
        				 <&ccu CLK_BUS_SMHC0>;
        			clock-names = "osc24m","pll_periph","pll_periph_2","mmc","ahb";
        			resets = <&ccu RST_BUS_SMHC0>;
        			reset-names = "rst";
        			pinctrl-names = "default","mmc_1v8","sleep","uart_jtag";
        			pinctrl-0 = <&sdc0_pins_a>;
        			pinctrl-1 = <&sdc0_pins_b>;
        			pinctrl-2 = <&sdc0_pins_c>;
        			pinctrl-3 = <&sdc0_pins_d &sdc0_pins_e>;
        			max-frequency = <50000000>;
        			bus-width = <4>;
        			req-page-count = <2>;
        			/*non-removable;*/
        			/*broken-cd;*/
        			/*cd-inverted*/
        			/*cd-gpios = <&pio PF 6 GPIO_ACTIVE_LOW>;*/
        			/* vmmc-supply = <&reg_3p3v>;*/
        			/* vqmc-supply = <&reg_3p3v>;*/
        			/* vdmc-supply = <&reg_3p3v>;*/
        			/*vmmc = "vcc-card";*/
        			/*vqmc = "";*/
        			/*vdmc = "";*/
        			cap-sd-highspeed;
        			cap-wait-while-busy;
        			/*sd-uhs-sdr50;*/
        			/*sd-uhs-ddr50;*/
        			/*cap-sdio-irq;*/
        			/*keep-power-in-suspend;*/
        			/*ignore-pm-notify;*/
        			/*sunxi-power-save-mode;*/
        			/*sunxi-dly-400k = <1 0 0 0>; */
        			/*sunxi-dly-26M  = <1 0 0 0>;*/
        			/*sunxi-dly-52M  = <1 0 0 0>;*/
        			/*sunxi-dly-52M-ddr4  = <1 0 0 0>;*/
        			/*sunxi-dly-52M-ddr8  = <1 0 0 0>;*/
        			/*sunxi-dly-104M  = <1 0 0 0>;*/
        			/*sunxi-dly-208M  = <1 0 0 0>;*/
        			/*sunxi-dly-104M-ddr  = <1 0 0 0>;*/
        			/*sunxi-dly-208M-ddr  = <1 0 0 0>;*/
        			ctl-spec-caps = <0x428>;
        			status = "okay";
        		};
        
        		sdc1: sdmmc@4021000 {
        			compatible = "allwinner,sunxi-mmc-v5p3x";
        			device_type = "sdc1";
        			reg = <0x0 0x04021000 0x0 0x1000>;
        			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&dcxo24M>,
        				 <&ccu CLK_PLL_PERI1_400M>,
        				 <&ccu CLK_PLL_PERI1_300M>,
        				 <&ccu CLK_SMHC1>,
        				 <&ccu CLK_BUS_SMHC1>;
        			clock-names = "osc24m","pll_periph","pll_periph_2","mmc","ahb";
        			resets = <&ccu RST_BUS_SMHC1>;
        			reset-names = "rst";
        			pinctrl-names = "default","sleep";
        			pinctrl-0 = <&sdc1_pins_a>;
        			pinctrl-1 = <&sdc1_pins_b>;
        			max-frequency = <50000000>;
        			bus-width = <4>;
        			/*broken-cd;*/
        			/*cd-inverted*/
        			/*cd-gpios = <&pio PG 6 6 1 2 0>;*/
        			/* vmmc-supply = <&reg_3p3v>;*/
        			/* vqmc-supply = <&reg_3p3v>;*/
        			/* vdmc-supply = <&reg_3p3v>;*/
        			/*vmmc = "vcc-card";*/
        			/*vqmc = "";*/
        			/*vdmc = "";*/
        			cap-sd-highspeed;
        			cap-sdio-irq;
        			ignore-pm-notify;
        			/*sd-uhs-sdr50;*/
        			/*sd-uhs-ddr50;*/
        			/*sd-uhs-sdr104;*/
        			/*cap-sdio-irq;*/
        			keep-power-in-suspend;
        			/*ignore-pm-notify;*/
        			/*sunxi-power-save-mode;*/
        			/*sunxi-dly-400k = <0xff 0xff 0xff 0xff 0xff 0xff>; */
        			/*sunxi-dly-26M  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			/*sunxi-dly-52M  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			/*sunxi-dly-52M-ddr4  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			/*sunxi-dly-52M-ddr8  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			/*sunxi-dly-104M  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			/*sunxi-dly-208M  = <0xff 0xff 0xff 0xff 0xff 0xff> ;*/
        			/*sunxi-dly-104M-ddr  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			/*sunxi-dly-208M-ddr  = <0xff 0xff 0xff 0xff 0xff 0xff>;*/
        			sunxi-dly-208M  = <0xff 0x1 0xff 0xff 0xff 0xff>;
        			ctl-spec-caps = <0x428>;
        			status = "okay";
        		};
        
        		usbc0: usbc0@10 {
        			device_type = "usbc0";
        			compatible = "allwinner,sunxi-otg-manager";
        			reg = <0x0 0x10 0x0 0x1000>;
        			usb_port_type = <2>;
        			usb_detect_type = <1>;
        			usb_detect_mode = <0>;
        			usb_id_gpio;
        			usb_det_vbus_gpio;
        			usb_regulator_io = "nocare";
        			usb_wakeup_suspend = <0>;
        			usb_luns = <3>;
        			usb_serial_unique = <0>;
        			usb_serial_number = "20080411";
        			rndis_wceis = <1>;
        			status = "disabled";
        		};
        
        		udc:udc-controller@4100000 {
        			compatible = "allwinner,sunxi-udc";
        			reg = <0x0 0x04100000 0x0 0x1000>, /*udc base*/
        			      <0x0 0x00000000 0x0 0x100>;  /*sram base*/
        			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_USB_24M>, <&ccu CLK_USBOTG0>;
        			clock-names = "hosc", "bus_otg";
        			resets = <&ccu RST_USB_OTG0>, <&ccu RST_USB_PHY0_RSTN>;
        			reset-names = "otg", "phy";
        			status = "disabled";
        		};
        
        		ehci0:ehci0-controller@4101000 {
        			compatible = "allwinner,sunxi-ehci0";
        			reg = <0x0 0x04101000 0x0 0xFFF>,  /*hci0 base*/
        			      <0x0 0x00000000 0x0 0x100>,  /*sram base*/
        			      <0x0 0x04100000 0x0 0x1000>; /*otg base*/
        			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_USB_24M>, <&ccu CLK_USBEHCI0>;
        			clock-names = "hosc", "bus_hci";
        			resets = <&ccu RST_USB_EHCI0>, <&ccu RST_USB_PHY0_RSTN>;
        			reset-names = "hci", "phy";
        			hci_ctrl_no = <0>;
        			status = "disabled";
        		};
        
        		ohci0:ohci0-controller@4101400 {
        			compatible = "allwinner,sunxi-ohci0";
        			reg = <0x0 0x04101400 0x0 0xFFF>,  /*hci0 base*/
        			      <0x0 0x00000000 0x0 0x100>,  /*sram base*/
        			      <0x0 0x04100000 0x0 0x1000>; /*otg base*/
        			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_USB_24M>, <&ccu CLK_USBOHCI0>, <&ccu CLK_USB0>;
        			clock-names = "hosc", "bus_hci", "ohci";
        			resets = <&ccu RST_USB_OHCI0>, <&ccu RST_USB_PHY0_RSTN>;
        			reset-names = "hci", "phy";
        			hci_ctrl_no = <0>;
        			status = "disabled";
        		};
        
        		usbc1: usbc1@11 {
        			device_type = "usbc1";
        			reg = <0x0 0x11 0x0 0x1000>;
        			usb_regulator_io = "nocare";
        			usb_wakeup_suspend = <0>;
        			status = "disabled";
        		};
        
        		ehci1: ehci1-controller@4200000 {
        			compatible = "allwinner,sunxi-ehci1";
        			reg = <0x0 0x04200000 0x0 0xFFF>,  /*ehci1 base*/
        			      <0x0 0x00000000 0x0 0x100>,  /*sram base*/
        			      <0x0 0x04100000 0x0 0x1000>; /*otg base*/
        			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_USB_24M>, <&ccu CLK_USBEHCI1>;
        			clock-names = "hosc", "bus_hci";
        			resets = <&ccu RST_USB_EHCI1>, <&ccu RST_USB_PHY1_RSTN>;
        			reset-names = "hci", "phy";
        			hci_ctrl_no = <1>;
        			status = "disabled";
        		};
        
        		ohci1: ohci1-controller@4200400 {
        			compatible = "allwinner,sunxi-ohci1";
        			reg = <0x0 0x04200400 0x0 0xFFF>,  /*ohci1 base*/
        			      <0x0 0x00000000 0x0 0x100>,  /*sram base*/
        			      <0x0 0x04100000 0x0 0x1000>; /*otg base*/
        			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_USB_24M>, <&ccu CLK_USBOHCI1>, <&ccu CLK_USB1>;
        			clock-names = "hosc", "bus_hci", "ohci";
        			resets = <&ccu RST_USB_OHCI1>, <&ccu RST_USB_PHY1_RSTN>;
        			reset-names = "hci", "phy";
        			hci_ctrl_no = <1>;
        			status = "disabled";
        		};
        
        		usbc2:usbc2@12 {
        			device_type = "usbc2";
        			compatible = "allwinner,sunxi-plat-dwc3";
        			reg = <0x0 0x12 0x0 0x1000>;
        			#address-cells = <2>;
        			#size-cells = <2>;
        			ranges;
        			aw,hcgen2-phygen1-quirk;
        			status = "disabled";
        
        			xhci2: xhci2-controller@4d00000 {
        				compatible = "snps,dwc3";
        				reg = <0x0 0x04d00000 0x0 0x100000>;
        				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
        				dr_mode = "otg"; // dr_mode option: host, peripheral, otg
        				clocks = <&ccu CLK_USB3_MBUS_GATE>, <&ccu CLK_USB3_REF>,
        					 <&ccu CLK_USB2_REF>, <&ccu CLK_USB3_SUSPEND>;
        				clock-names = "bus_clk", "ref_clk3", "ref_clk2", "suspend";
        				resets = <&ccu RST_USB_3>;
        				reset-names = "hci";
        				maximum-speed = "super-speed";
        				phy_type = "utmi";
        				snps,dis_enblslpm_quirk;
        				snps,dis-u1-entry-quirk;
        				snps,dis-u2-entry-quirk;
        				snps,dis_u3_susphy_quirk;
        				snps,dis_u2_susphy_quirk;
        				phys = <&u2phy>, <&combophy PHY_TYPE_USB3>;
        				phy-names = "usb2-phy", "usb3-phy";
        				status = "disabled";
        			};
        		};
        
        		u2phy: phy@4e00000 {
        			compatible = "allwinner,sunxi-plat-phy";
        			reg = <0x0 0x04e00000 0x0 0x800>; /* Application Registers */
        			#phy-cells = <0>;
        			status = "disabled";
        		};
        
        		vind0: vind@5800800 {
        			compatible = "allwinner,sunxi-vin-media", "simple-bus";
        			#address-cells = <2>;
        			#size-cells = <2>;
        			ranges;
        			device_id = <0>;
        			csi_top = <336000000>;
        			csi_isp = <327000000>;
        			reg = <0x0 0x05800800 0x0 0x200>,
        				<0x0 0x05800000 0x0 0x800>,
        				<0x0 0x05810000 0x0 0x100>;
        			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
        			clocks = <&ccu CLK_CSI>, <&ccu CLK_PLL_VIDEO3_4X>,
        				<&ccu CLK_CSI_MASTER0>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO3_4X>,
        				<&ccu CLK_CSI_MASTER1>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO3_4X>,
        				<&ccu CLK_CSI_MASTER2>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO3_4X>,
        				<&ccu CLK_CSI_MASTER3>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO3_4X>,
        				<&ccu CLK_ISP>, <&ccu CLK_PLL_VIDEO2_4X>,
        				<&ccu CLK_BUS_CSI>, <&ccu CLK_CSI_MBUS_GATE>, <&ccu CLK_ISP_MBUS_GATE>;
        			clock-names = "csi_top", "csi_top_src",
        						"csi_mclk0", "csi_mclk0_24m", "csi_mclk0_pll",
        						"csi_mclk1", "csi_mclk1_24m", "csi_mclk1_pll",
        						"csi_mclk2", "csi_mclk2_24m", "csi_mclk2_pll",
        						"csi_mclk3", "csi_mclk3_24m", "csi_mclk3_pll",
        						"csi_isp", "csi_isp_src",
        						"csi_bus", "csi_mbus", "csi_isp_mbus";
        			resets = <&ccu RST_BUS_CSI>, <&ccu RST_BUS_ISP>;
        			reset-names = "csi_ret", "isp_ret";
        			//pinctrl-names = "mclk0-default", "mclk0-sleep", "mclk1-default", "mclk1-sleep",
        			//				"mclk2-default", "mclk2-sleep", "mclk3-default", "mclk3-sleep";
        			pinctrl-names = "mclk1-default", "mclk1-sleep",
        							"mclk2-default", "mclk2-sleep", "mclk3-default", "mclk3-sleep";
        			//pinctrl-0 = <&csi_mclk0_pins_a>;
        			//pinctrl-1 = <&csi_mclk0_pins_b>;
        			pinctrl-2 = <&csi_mclk1_pins_a>;
        			pinctrl-3 = <&csi_mclk1_pins_b>;
        			pinctrl-4 = <&csi_mclk2_pins_a>;
        			pinctrl-5 = <&csi_mclk2_pins_b>;
        			pinctrl-6 = <&csi_mclk3_pins_a>;
        			pinctrl-7 = <&csi_mclk3_pins_b>;
        			power-domains = <&pd1 A523_PCK_VI>;
        			dram_dfs_time = <150>;
        			status = "okay";
        
        			csi0: csi@5820000 {
        				compatible = "allwinner,sunxi-csi";
        				reg = <0x0 0x05820000 0x0 0x1000>;
        				interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
        				device_id = <0>;
        				status = "okay";
        			};
        			csi1: csi@5821000 {
        				compatible = "allwinner,sunxi-csi";
        				reg = <0x0 0x05821000 0x0 0x1000>;
        				interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
        				device_id = <1>;
        				status = "okay";
        			};
        			csi2: csi@5822000 {
        				compatible = "allwinner,sunxi-csi";
        				reg = <0x0 0x05822000 0x0 0x1000>;
        				interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
        				device_id = <2>;
        				status = "okay";
        			};
        			csi3: csi@5823000 {
        				compatible = "allwinner,sunxi-csi";
        				reg = <0x0 0x05823000 0x0 0x1000>;
        				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
        				pinctrl-names = "default","sleep";
        				pinctrl-0 = <&ncsi_bt656_pins_a>;
        				pinctrl-1 = <&ncsi_bt656_pins_b>;
        				device_id = <3>;
        				status = "okay";
        			};
        			mipi0: mipi@5810100 {
        				compatible = "allwinner,sunxi-mipi";
        				reg = <0x0 0x05810100 0x0 0x100>,
        					<0x0 0x05811000 0x0 0x400>;
        				interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
        				pinctrl-names = "mipi0-default","mipi0-sleep",
        						"mipi1-4lane-default","mipi1-4lane-sleep";
        				pinctrl-0 = <&mipia_pins_a>;
        				pinctrl-1 = <&mipia_pins_b>;
        				pinctrl-2 = <&mipib_4lane_pins_a>;
        				pinctrl-3 = <&mipib_4lane_pins_b>;
        				device_id = <0>;
        				status = "okay";
        			};
        			mipi1: mipi@5810200 {
        				compatible = "allwinner,sunxi-mipi";
        				reg = <0x0 0x05810200 0x0 0x100>,
        					<0x0 0x05811400 0x0 0x400>;
        				pinctrl-names = "mipi1-default","mipi1-sleep";
        				pinctrl-0 = <&mipib_pins_a>;
        				pinctrl-1 = <&mipib_pins_b>;
        				device_id = <1>;
        				status = "okay";
        			};
        			mipi2: mipi@5810300 {
        				compatible = "allwinner,sunxi-mipi";
        				reg = <0x0 0x05810300 0x0 0x100>,
        					<0x0 0x05811800 0x0 0x400>;
        				pinctrl-names = "mipi2-default","mipi2-sleep",
        						"mipi3-4lane-default","mipi3-4lane-sleep";
        				pinctrl-0 = <&mipic_pins_a>;
        				pinctrl-1 = <&mipic_pins_b>;
        				pinctrl-2 = <&mipid_4lane_pins_a>;
        				pinctrl-3 = <&mipid_4lane_pins_b>;
        				device_id = <2>;
        				status = "okay";
        			};
        			mipi3: mipi@5810400 {
        				compatible = "allwinner,sunxi-mipi";
        				reg = <0x0 0x05810400 0x0 0x100>,
        					<0x0 0x05811C00 0x0 0x400>;
        				pinctrl-names = "mipi3-default","mipi3-sleep";
        				pinctrl-0 = <&mipid_pins_a>;
        				pinctrl-1 = <&mipid_pins_b>;
        				device_id = <3>;
        				status = "okay";
        			};
        			tdm0: tdm@5908000 {
        				compatible = "allwinner,sunxi-tdm";
        				reg = <0x0 0x05908000 0x0 0x300>;
        				interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0x0>;
        				device_id = <0>;
        				iommus = <&mmu_aw 0 0>;
        				status = "okay";
        			};
        			isp00:isp@5900000 {
        				compatible = "allwinner,sunxi-isp";
        				reg = <0x0 0x05900000 0x0 0x1300>;
        				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0x0>;
        				device_id = <0>;
        				iommus = <&mmu_aw 0 0>;
        				status = "okay";
        			};
        			isp01:isp@58ffffc {
        				compatible = "allwinner,sunxi-isp";
        				reg = <0x0 0x058ffffc 0x0 0x1304>;
        				interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0xff>;
        				device_id = <1>;
        				iommus = <&mmu_aw 0 0>;
        				status = "okay";
        			};
        			isp02:isp@58ffff8 {
        				compatible = "allwinner,sunxi-isp";
        				reg = <0x0 0x058ffff8 0x0 0x1308>;
        				interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0xff>;
        				device_id = <2>;
        				iommus = <&mmu_aw 0 0>;
        				status = "okay";
        			};
        			isp03:isp@58ffff4 {
        				compatible = "allwinner,sunxi-isp";
        				reg = <0x0 0x058ffff4 0x0 0x130c>;
        				interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0xff>;
        				device_id = <3>;
        				iommus = <&mmu_aw 0 0>;
        				status = "okay";
        			};
        			isp10:isp@4 {
        				compatible = "allwinner,sunxi-isp";
        				device_id = <4>;
        				iommus = <&mmu_aw 0 0>;
        				status = "okay";
        			};
        			isp20:isp@5 {
        					compatible = "allwinner,sunxi-isp";
        					device_id = <5>;
        					iommus = <&mmu_aw 0 0>;
        					status = "okay";
        			};
        			isp30:isp@6 {
        					compatible = "allwinner,sunxi-isp";
        					device_id = <6>;
        					iommus = <&mmu_aw 0 0>;
        					status = "okay";
        			};
        			scaler00:scaler@5910000 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910000 0x0 0x400>;
        				interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0x0>;
        				device_id = <0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler01:scaler@590fffc {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x0590fffc 0x0 0x404>;
        				work_mode = <0xff>;
        				device_id = <1>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler02:scaler@590fff8 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x0590fff8 0x0 0x408>;
        				work_mode = <0xff>;
        				device_id = <2>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler03:scaler@590fff4 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x0590fff4 0x0 0x40c>;
        				work_mode = <0xff>;
        				device_id = <3>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler10:scaler@5910400 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910400 0x0 0x400>;
        				interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0x0>;
        				device_id = <4>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler11:scaler@59103fc {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x059103fc 0x0 0x404>;
        				work_mode = <0xff>;
        				device_id = <5>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler12:scaler@59103f8 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x059103f8 0x0 0x408>;
        				work_mode = <0xff>;
        				device_id = <6>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler13:scaler@59103f4 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x059103f4 0x0 0x40c>;
        				work_mode = <0xff>;
        				device_id = <7>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler20:scaler@5910800 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910800 0x0 0x400>;
        				interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0x0>;
        				device_id = <8>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler21:scaler@59107fc {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x059107fc 0x0 0x404>;
        				work_mode = <0xff>;
        				device_id = <9>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler22:scaler@59107f8 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x059107f8 0x0 0x408>;
        				work_mode = <0xff>;
        				device_id = <10>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler23:scaler@59107f4 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x059107f4 0x0 0x40c>;
        				work_mode = <0xff>;
        				device_id = <11>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler30:scaler@5910c00 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910c00 0x0 0x400>;
        				interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
        				work_mode = <0x0>;
        				device_id = <12>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler31:scaler@5910bfc {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910bfc 0x0 0x404>;
        				work_mode = <0xff>;
        				device_id = <13>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler32:scaler@5910bf8 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910bf8 0x0 0x408>;
        				work_mode = <0xff>;
        				device_id = <14>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler33:scaler@5910bf4 {
        				compatible = "allwinner,sunxi-scaler";
        				reg = <0x0 0x05910bf4 0x0 0x40c>;
        				work_mode = <0xff>;
        				device_id = <15>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler40:scaler@16 {
        				compatible = "allwinner,sunxi-scaler";
        				device_id = <16>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			scaler50:scaler@17 {
        				compatible = "allwinner,sunxi-scaler";
        				device_id = <17>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        			actuator0: actuator@2108180 {
        				compatible = "allwinner,sunxi-actuator";
        				device_type = "actuator0";
        				reg = <0x0 0x02108180 0x0 0x10>;
        				actuator0_name = "ad5820_act";
        				actuator0_slave = <0x18>;
        				actuator0_af_pwdn = <>;
        				actuator0_afvdd = "afvcc-csi";
        				actuator0_afvdd_vol = <2800000>;
        				status = "disabled";
        			};
        			flash0: flash@2108190 {
        				device_type = "flash0";
        				compatible = "allwinner,sunxi-flash";
        				reg = <0x0 0x02108190 0x0 0x10>;
        				flash0_type = <2>;
        				flash0_en = <>;
        				flash0_mode = <>;
        				flash0_flvdd = "";
        				flash0_flvdd_vol = <>;
        				device_id = <0>;
        				status = "disabled";
        			};
        			sensor0: sensor@5812000 {
        				reg = <0x0 0x05812000 0x0 0x10>;
        				device_type = "sensor0";
        				compatible = "allwinner,sunxi-sensor";
        				sensor0_mname = "ov5640";
        				sensor0_twi_cci_id = <2>;
        				sensor0_twi_addr = <0x78>;
        				sensor0_mclk_id = <0>;
        				sensor0_pos = "rear";
        				sensor0_isp_used = <0>;
        				sensor0_fmt = <0>;
        				sensor0_stby_mode = <0>;
        				sensor0_vflip = <0>;
        				sensor0_hflip = <0>;
        				sensor0_iovdd-supply = <>;
        				sensor0_iovdd_vol = <>;
        				sensor0_avdd-supply = <>;
        				sensor0_avdd_vol = <>;
        				sensor0_dvdd-supply = <>;
        				sensor0_dvdd_vol = <>;
        				sensor0_power_en = <>;
        				sensor0_reset = <>;
        				sensor0_pwdn = <>;
        				sensor0_sm_vs = <>;
        				flash_handle = <&flash0>;
        				act_handle = <&actuator0>;
        				device_id = <0>;
        				status	= "disabled";
        			};
        			sensor1: sensor@5812010 {
        				reg = <0x0 0x05812010 0x0 0x10>;
        				device_type = "sensor1";
        				compatible = "allwinner,sunxi-sensor";
        				sensor1_mname = "ov5647";
        				sensor1_twi_cci_id = <3>;
        				sensor1_twi_addr = <0x6c>;
        				sensor1_mclk_id = <1>;
        				sensor1_pos = "front";
        				sensor1_isp_used = <0>;
        				sensor1_fmt = <0>;
        				sensor1_stby_mode = <0>;
        				sensor1_vflip = <0>;
        				sensor1_hflip = <0>;
        				sensor1_iovdd-supply = <>;
        				sensor1_iovdd_vol = <>;
        				sensor1_avdd-supply = <>;
        				sensor1_avdd_vol = <>;
        				sensor1_dvdd-supply = <>;
        				sensor1_dvdd_vol = <>;
        				sensor1_power_en = <>;
        				sensor1_reset = <>;
        				sensor1_pwdn = <>;
        				sensor1_sm_vs = <>;
        				flash_handle = <>;
        				act_handle = <>;
        				device_id = <1>;
        				status	= "disabled";
        			};
        			sensor2: sensor@5812020 {
        				reg = <0x0 0x05812020 0x0 0x10>;
        				device_type = "sensor2";
        				compatible = "allwinner,sunxi-sensor";
        				sensor2_mname = "imx386_mipi";
        				sensor2_twi_cci_id = <3>;
        				sensor2_twi_addr = <0x6c>;
        				sensor2_mclk_id = <1>;
        				sensor2_pos = "rear";
        				sensor2_isp_used = <0>;
        				sensor2_fmt = <0>;
        				sensor2_stby_mode = <0>;
        				sensor2_vflip = <0>;
        				sensor2_hflip = <0>;
        				sensor2_iovdd-supply = <>;
        				sensor2_iovdd_vol = <>;
        				sensor2_avdd-supply = <>;
        				sensor2_avdd_vol = <>;
        				sensor2_dvdd-supply = <>;
        				sensor2_dvdd_vol = <>;
        				sensor2_power_en = <>;
        				sensor2_reset = <>;
        				sensor2_pwdn = <>;
        				sensor2_sm_vs = <>;
        				flash_handle = <>;
        				act_handle = <>;
        				device_id = <2>;
        				status= "disabled";
        			};
        			sensor3: sensor@5812030 {
        				reg = <0x0 0x05812030 0x0 0x10>;
        				device_type = "sensor3";
        				compatible = "allwinner,sunxi-sensor";
        				sensor3_mname = "imx317_mipi";
        				sensor3_twi_cci_id = <3>;
        				sensor3_twi_addr = <0x6c>;
        				sensor3_mclk_id = <1>;
        				sensor3_pos = "rear";
        				sensor3_isp_used = <0>;
        				sensor3_fmt = <0>;
        				sensor3_stby_mode = <0>;
        				sensor3_vflip = <0>;
        				sensor3_hflip = <0>;
        				sensor3_iovdd-supply = <>;
        				sensor3_iovdd_vol = <>;
        				sensor3_avdd-supply = <>;
        				sensor3_avdd_vol = <>;
        				sensor3_dvdd-supply = <>;
        				sensor3_dvdd_vol = <>;
        				sensor3_power_en = <>;
        				sensor3_reset = <>;
        				sensor3_pwdn = <>;
        				sensor3_sm_vs = <>;
        				flash_handle = <>;
        				act_handle = <>;
        				device_id = <2>;
        				status= "disabled";
        			};
        			sensor_list0:sensor_list@200b820 {
        				reg = <0x0 0x0200b820 0x0 0x10>;
        				device_type = "sensor_list0";
        				compatible = "allwinner,sunxi-sensor-list";
        				csi_sel = <0>;
        				sensor00_mname = "gc5035_mipi";
        				sensor00_twi_addr = <0x6c>;
        				sensor00_type = <1>;
        				sensor00_hflip =  <0>;
        				sensor00_vflip = <0>;
        				sensor00_act_used = <1>;
        				sensor00_act_name = "";
        				sensor00_act_twi_addr = <>;
        				sensor01_mname = "ov5675_mipi";
        				sensor01_twi_addr = <0x6c>;
        				sensor01_type = <1>;
        				sensor01_hflip =  <0>;
        				sensor01_vflip = <0>;
        				sensor01_act_used = <1>;
        				sensor01_act_name = "dw9714_act";
        				sensor01_act_twi_addr = <0x18>;
        				sensor02_mname = "sp5409_mipi";
        				sensor02_twi_addr = <0x78>;
        				sensor02_type = <1>;
        				sensor02_hflip =  <0>;
        				sensor02_vflip = <0>;
        				sensor02_act_used = <0>;
        				sensor02_act_name = "dw9714_act";
        				sensor02_act_twi_addr = <0x18>;
        				device_id = <0>;
        				status	= "disabled";
        			};
        			sensor_list1:sensor_list@200b830 {
        				reg = <0x0 0x0200b830 0x0 0x10>;
        				device_type = "sensor_list1";
        				compatible = "allwinner,sunxi-sensor-list";
        				csi_sel = <0>;
        				sensor10_mname = "gc02m2_mipi";
        				sensor10_twi_addr = <0x20>;
        				sensor10_type = <1>;
        				sensor10_hflip =  <0>;
        				sensor10_vflip = <0>;
        				sensor10_act_used = <1>;
        				sensor10_act_name = "dw9714_act";
        				sensor10_act_twi_addr = <0x18>;
        				sensor11_mname = "ov02a10_mipi";
        				sensor11_twi_addr = <0x7a>;
        				sensor11_type = <1>;
        				sensor11_hflip =  <1>;
        				sensor11_vflip = <0>;
        				sensor11_act_used = <0>;
        				sensor11_act_name = "";
        				sensor11_act_twi_addr = <>;
        				sensor12_mname = "gc030a_mipi";
        				sensor12_twi_addr = <0x42>;
        				sensor12_type = <1>;
        				sensor12_hflip =  <0>;
        				sensor12_vflip = <0>;
        				sensor12_act_used = <0>;
        				sensor12_act_name = "";
        				sensor12_act_twi_addr = <>;
        				device_id = <1>;
        				status	= "disabled";
        			};
        			vinc00:vinc@5830000 {
        				device_type = "vinc0";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05830000 0x0 0x1000>;
        				interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
        				vinc0_csi_sel = <3>;
        				vinc0_mipi_sel = <0xff>;
        				vinc0_isp_sel = <0>;
        				vinc0_isp_tx_ch = <0>;
        				vinc0_tdm_rx_sel = <0>;
        				vinc0_rear_sensor_sel = <0>;
        				vinc0_front_sensor_sel = <0>;
        				vinc0_sensor_list = <0>;
        				device_id = <0>;
        				work_mode = <0x0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "okay";
        			};
        
        			vinc01:vinc@582fffc {
        				device_type = "vinc1";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x0582fffc 0x0 0x1004>;
        				vinc1_csi_sel = <2>;
        				vinc1_mipi_sel = <0xff>;
        				vinc1_isp_sel = <1>;
        				vinc1_isp_tx_ch = <1>;
        				vinc1_tdm_rx_sel = <1>;
        				vinc1_rear_sensor_sel = <0>;
        				vinc1_front_sensor_sel = <0>;
        				vinc1_sensor_list = <0>;
        				device_id = <1>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        			vinc02:vinc@582fff8 {
        				device_type = "vinc2";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x0582fff8 0x0 0x1008>;
        				vinc2_csi_sel = <2>;
        				vinc2_mipi_sel = <0xff>;
        				vinc2_isp_sel = <2>;
        				vinc2_isp_tx_ch = <2>;
        				vinc2_tdm_rx_sel = <2>;
        				vinc2_rear_sensor_sel = <0>;
        				vinc2_front_sensor_sel = <0>;
        				vinc2_sensor_list = <0>;
        				device_id = <2>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc03:vinc@582fff4 {
        				device_type = "vinc3";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x0582fff4 0x0 0x100c>;
        				vinc3_csi_sel = <0>;
        				vinc3_mipi_sel = <0xff>;
        				vinc3_isp_sel = <0>;
        				vinc3_isp_tx_ch = <0>;
        				vinc3_tdm_rx_sel = <0>;
        				vinc3_rear_sensor_sel = <1>;
        				vinc3_front_sensor_sel = <1>;
        				vinc3_sensor_list = <0>;
        				device_id = <3>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc10:vinc@5831000 {
        				device_type = "vinc4";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05831000 0x0 0x1000>;
        				interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
        				vinc4_csi_sel = <3>;
        				vinc4_mipi_sel = <0xff>;
        				vinc4_isp_sel = <0>;
        				vinc4_isp_tx_ch = <0>;
        				vinc4_tdm_rx_sel = <1>;
        				vinc4_rear_sensor_sel = <0>;
        				vinc4_front_sensor_sel = <0>;
        				vinc4_sensor_list = <0>;
        				device_id = <4>;
        				work_mode = <0x0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc11:vinc@5830ffc {
        				device_type = "vinc5";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05830ffc 0x0 0x1004>;
        				vinc5_csi_sel = <2>;
        				vinc5_mipi_sel = <0xff>;
        				vinc5_isp_sel = <1>;
        				vinc5_isp_tx_ch = <1>;
        				vinc5_tdm_rx_sel = <1>;
        				vinc5_rear_sensor_sel = <0>;
        				vinc5_front_sensor_sel = <0>;
        				vinc5_sensor_list = <0>;
        				device_id = <5>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc12:vinc@5830ff8 {
        				device_type = "vinc6";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05830ff8 0x0 0x1008>;
        				vinc6_csi_sel = <2>;
        				vinc6_mipi_sel = <0xff>;
        				vinc6_isp_sel = <0>;
        				vinc6_isp_tx_ch = <0>;
        				vinc6_tdm_rx_sel = <0>;
        				vinc6_rear_sensor_sel = <0>;
        				vinc6_front_sensor_sel = <0>;
        				vinc6_sensor_list = <0>;
        				device_id = <6>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc13:vinc@5830ff4 {
        				device_type = "vinc7";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05830ff4 0x0 0x100c>;
        				vinc7_csi_sel = <2>;
        				vinc7_mipi_sel = <0xff>;
        				vinc7_isp_sel = <0>;
        				vinc7_isp_tx_ch = <0>;
        				vinc7_tdm_rx_sel = <0>;
        				vinc7_rear_sensor_sel = <0>;
        				vinc7_front_sensor_sel = <0>;
        				vinc7_sensor_list = <0>;
        				device_id = <7>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc20:vinc@5832000 {
        				device_type = "vinc8";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05832000 0x0 0x1000>;
        				interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
        				vinc8_csi_sel = <2>;
        				vinc8_mipi_sel = <0xff>;
        				vinc8_isp_sel = <4>;
        				vinc8_isp_tx_ch = <3>;
        				vinc8_tdm_rx_sel = <3>;
        				vinc8_rear_sensor_sel = <0>;
        				vinc8_front_sensor_sel = <0>;
        				vinc8_sensor_list = <0>;
        				device_id = <8>;
        				work_mode = <0x0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc21:vinc@5831ffc {
        				device_type = "vinc9";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05831ffc 0x0 0x1004>;
        				vinc9_csi_sel = <2>;
        				vinc9_mipi_sel = <0xff>;
        				vinc9_isp_sel = <0>;
        				vinc9_isp_tx_ch = <0>;
        				vinc9_tdm_rx_sel = <0>;
        				vinc9_rear_sensor_sel = <0>;
        				vinc9_front_sensor_sel = <0>;
        				vinc9_sensor_list = <0>;
        				device_id = <9>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc22:vinc@5831ff8 {
        				device_type = "vinc10";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05831ff8 0x0 0x1008>;
        				vinc10_csi_sel = <2>;
        				vinc10_mipi_sel = <0xff>;
        				vinc10_isp_sel = <0>;
        				vinc10_isp_tx_ch = <0>;
        				vinc10_tdm_rx_sel = <0>;
        				vinc10_rear_sensor_sel = <0>;
        				vinc10_front_sensor_sel = <0>;
        				vinc10_sensor_list = <0>;
        				device_id = <10>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc23:vinc@5831ff4 {
        				device_type = "vinc11";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05831ff4 0x0 0x100c>;
        				vinc11_csi_sel = <2>;
        				vinc11_mipi_sel = <0xff>;
        				vinc11_isp_sel = <0>;
        				vinc11_isp_tx_ch = <0>;
        				vinc11_tdm_rx_sel = <0>;
        				vinc11_rear_sensor_sel = <0>;
        				vinc11_front_sensor_sel = <0>;
        				vinc11_sensor_list = <0>;
        				device_id = <11>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc30:vinc@5833000 {
        				device_type = "vinc12";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05833000 0x0 0x1000>;
        				interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
        				vinc12_csi_sel = <2>;
        				vinc12_mipi_sel = <0xff>;
        				vinc12_isp_sel = <0>;
        				vinc12_isp_tx_ch = <0>;
        				vinc12_tdm_rx_sel = <0>;
        				vinc12_rear_sensor_sel = <0>;
        				vinc12_front_sensor_sel = <0>;
        				vinc12_sensor_list = <0>;
        				device_id = <12>;
        				work_mode = <0x0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc31:vinc@5832ffc {
        				device_type = "vinc13";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05832ffc 0x0 0x1004>;
        				vinc13_csi_sel = <2>;
        				vinc13_mipi_sel = <0xff>;
        				vinc13_isp_sel = <0>;
        				vinc13_isp_tx_ch = <0>;
        				vinc13_tdm_rx_sel = <0>;
        				vinc13_rear_sensor_sel = <0>;
        				vinc13_front_sensor_sel = <0>;
        				vinc13_sensor_list = <0>;
        				device_id = <13>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc32:vinc@5832ff8 {
        				device_type = "vinc14";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05832ff8 0x0 0x1008>;
        				vinc14_csi_sel = <2>;
        				vinc14_mipi_sel = <0xff>;
        				vinc14_isp_sel = <0>;
        				vinc14_isp_tx_ch = <0>;
        				vinc14_tdm_rx_sel = <0>;
        				vinc14_rear_sensor_sel = <0>;
        				vinc14_front_sensor_sel = <0>;
        				vinc14_sensor_list = <0>;
        				device_id = <14>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc33:vinc@5832ff4 {
        				device_type = "vinc15";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05832ff4 0x0 0x100c>;
        				vinc15_csi_sel = <2>;
        				vinc15_mipi_sel = <0xff>;
        				vinc15_isp_sel = <0>;
        				vinc15_isp_tx_ch = <0>;
        				vinc15_tdm_rx_sel = <0>;
        				vinc15_rear_sensor_sel = <0>;
        				vinc15_front_sensor_sel = <0>;
        				vinc15_sensor_list = <0>;
        				device_id = <15>;
        				work_mode = <0xff>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc40:vinc@5834000 {
        				device_type = "vinc16";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05834000 0x0 0x1000>;
        				interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
        				vinc16_csi_sel = <2>;
        				vinc16_mipi_sel = <0xff>;
        				vinc16_isp_sel = <0>;
        				vinc16_isp_tx_ch = <0>;
        				vinc16_tdm_rx_sel = <0>;
        				vinc16_rear_sensor_sel = <0>;
        				vinc16_front_sensor_sel = <0>;
        				vinc16_sensor_list = <0>;
        				device_id = <16>;
        				work_mode = <0x0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        
        			vinc50:vinc@5835000 {
        				device_type = "vinc17";
        				compatible = "allwinner,sunxi-vin-core";
        				reg = <0x0 0x05835000 0x0 0x1000>;
        				interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
        				vinc17_csi_sel = <2>;
        				vinc17_mipi_sel = <0xff>;
        				vinc17_isp_sel = <0>;
        				vinc17_isp_tx_ch = <0>;
        				vinc17_tdm_rx_sel = <0>;
        				vinc17_rear_sensor_sel = <0>;
        				vinc17_front_sensor_sel = <0>;
        				vinc17_sensor_list = <0>;
        				device_id = <17>;
        				work_mode = <0x0>;
        				iommus = <&mmu_aw 1 0>;
        				status = "disabled";
        			};
        		};
        
        		di:deinterlace@5400000 {
        			#address-cells = <1>;
        			#size-cells = <0>;
        			compatible = "allwinner,sunxi-deinterlace";
        			reg = <0x0 0x05400000 0x0 0x040000>;
        			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
        			iommus = <&mmu_aw 6 1>;
        			power-domains = <&pd1 A523_PCK_VO0>;
        			status = "okay";
        
        			clocks = <&ccu CLK_DI>, <&ccu CLK_BUS_DI>, <&ccu CLK_PLL_VIDEO0_4X>;
        			clock-names = "clk_di", "clk_bus_di", "clk_di_parent";
        			clock-frequency = <300000000>;
        
        			resets = <&ccu RST_BUS_DI>;
        			reset-names = "rst_bus_di";
        		};
        
        		gpu:gpu@1800000 {
        			device_type = "gpu";
        			compatible = "arm,mali-valhall";
        			reg = <0x0 0x01800000 0x0 0x10000>;
        			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
        			interrupt-names = "JOB", "MMU", "GPU";
        			clocks = <&ccu CLK_PLL_GPU>, <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>;
        			clock-names = "clk_parent", "clk_mali", "clk_bus";
        			resets = <&ccu RST_BUS_GPU>;
        			operating-points-v2 = <&gpu_opp_table>;
        			#cooling-cells = <2>;
        			ipa_dvfs:ipa_dvfs {
        				compatible = "arm,mali-simple-power-model";
        				static-coefficient = <636>;
        				dynamic-coefficient = <1434>;
        				/* ts0 -> ts3 */
        				ts = <0xcc77c0 217000 0xffffd508 200>;
        				thermal-zone = "gpu_thermal_zone";
        				/*ss-coefficient = <36>;*/
        				/*ff-coefficient = <291>;*/
        			};
        			/*power-domains = <&pd1 A523_PCK_GPU>;*/
        		};
        
        		gpu_opp_table: gpu-opp-table {
        			compatible = "allwinner, mali-valhall-operating-points";
        			opp@150000000 {
        				opp-hz = /bits/ 64 <150000000>;
        				opp-microvolt = <900000>;
        			};
        
        			opp@200000000 {
        				opp-hz = /bits/ 64 <200000000>;
        				opp-microvolt = <900000>;
        			};
        
        			opp@300000000 {
        				opp-hz = /bits/ 64 <300000000>;
        				opp-microvolt = <900000>;
        			};
        
        			opp@400000000 {
        				opp-hz = /bits/ 64 <400000000>;
        				opp-microvolt = <900000>;
        			};
        
        			opp@600000000 {
        				opp-hz = /bits/ 64 <600000000>;
        				opp-microvolt = <900000>;
        			};
        
        			opp@648000000 {
        				opp-hz = /bits/ 64 <648000000>;
        				opp-microvolt = <0>;
        				opp-microvolt-vf0900 = <900000>;
        			};
        
        			opp@696000000 {
        				opp-hz = /bits/ 64 <696000000>;
        				opp-microvolt = <0>;
        				opp-microvolt-vf1920 = <900000>;
        				opp-microvolt-vf2920 = <900000>;
        				opp-microvolt-vf3920 = <900000>;
        				opp-microvolt-vf21920 = <900000>;
        				opp-microvolt-vf31920 = <900000>;
        				opp-microvolt-vf5920 = <900000>;
        			};
        
        			opp@744000000 {
        				opp-hz = /bits/ 64 <744000000>;
        				opp-microvolt = <0>;
        				opp-microvolt-vf4920 = <900000>;
        				/* Not use: only for performance test
        				   opp-microvolt-vf2920 = <900000>;
        				   opp-microvolt-vf3920 = <900000>;
        				   opp-microvolt-vf21920 = <900000>;
        				   opp-microvolt-vf31920 = <900000>;
        				*/
        			};
        
        			/* Not use: only for performance test */
        			opp@792000000 {
        				opp-hz = /bits/ 64 <792000000>;
        				opp-microvolt = <0>;
        				/* opp-microvolt-vf2950 = <900000>;
        				   opp-microvolt-vf3950 = <900000>;
        				   opp-microvolt-vf21950 = <900000>;
        				   opp-microvolt-vf31950 = <900000>;
        				*/
        			};
        		};
        
        		combophy: phy@4f00000 {
        			compatible = "allwinner,inno-combphy";
        			reg = <0x0 0x04f00000 0x0 0x80000>, /* Sub-System Application Registers */
        			      <0x0 0x04f80000 0x0 0x80000>; /* Combo INNO PHY Registers */
        			reg-names = "phy-ctl", "phy-clk";
        			power-domains = <&pd1 A523_PCK_PCIE>;
        			phy_refclk_sel = <0>; /* 0:internal clk; 1:external clk */
        			#phy-cells = <1>;
        			status = "disabled";
        		};
        
        		pcie: pcie@4800000 {
        			#address-cells = <3>;
        			#size-cells = <2>;
        			compatible = "allwinner,sunxi-pcie-v210";
        			bus-range = <0x0 0xff>;
        			reg = <0 0x04800000 0 0x480000>;
        			reg-names = "dbi";
        			device_type = "pci";
        			ranges = <0x00000800 0 0x20000000 0x0 0x20000000 0 0x01000000
        				  0x81000000 0 0x21000000 0x0 0x21000000 0 0x01000000
        				  0x82000000 0 0x22000000 0x0 0x22000000 0 0x07000000>;
        			num-lanes = <1>;
        			phys = <&combophy PHY_TYPE_PCIE>;
        			phy-names = "pcie-phy";
        			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 98  IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 99  IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
        				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
        			interrupt-names = "msi", "sii", "edma-w0", "edma-w1", "edma-w2", "edma-w3",
        					  "edma-r0", "edma-r1", "edma-r2", "edma-r3";
        			#interrupt-cells = <1>;
        			num-edma = <4>;
        			max-link-speed = <2>;
        			num-ib-windows = <8>;
        			num-ob-windows = <8>;
        			num-viewport = <8>;
        			linux,pci-domain = <0>;
        			power-domains = <&pd1 A523_PCK_PCIE>;
        			clocks = <&ccu CLK_USB3_REF>, <&ccu CLK_PLL_PERI0_200M>, <&dcxo24M>, <&ccu CLK_PCIE_AUX>;
        			clock-names = "pclk_ref", "pclk_per", "hosc", "pclk_aux";
        			resets = <&ccu RST_BUS_PCIE_USB3>;
        			reset-names = "pclk_rst";
        			busno = <0>;
        			status = "disabled";
        		};
        
        		/* audio dirver module -> audio codec */
        		codec:codec@7110000 {
        			#sound-dai-cells = <0>;
        			compatible	= "allwinner,sunxi-snd-codec";
        			reg		= <0x0 0x07110000 0x0 0x348>;
        			resets		= <&mcu_ccu RST_BUS_MCU_AUDIO_CODEC>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_AUDIO_CODEC>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_AUDIO_CODEC_DAC>,
        					  <&mcu_ccu CLK_MCU_AUDIO_CODEC_ADC>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_audio",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_audio_dac",
        					  "clk_audio_adc";
        			interrupts	= <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
        			status = "disabled";
        		};
        
        		codec_plat:codec_plat {
        			#sound-dai-cells = <0>;
        			compatible	= "allwinner,sunxi-snd-plat-aaudio";
        			dac-txdata	= <0x07110020>;
        			adc-txdata	= <0x07110040>;
        			dmas		= <&dma1 7>, <&dma1 7>;
        			dma-names	= "tx", "rx";
        			playback-cma	= <128>;
        			capture-cma	= <128>;
        			tx-fifo-size	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		codec_mach:codec_mach {
        			compatible = "allwinner,sunxi-snd-mach";
        			soundcard-mach,name		= "audiocodec";
        			soundcard-mach,pin-switches	= "MIC1", "MIC2", "MIC3",
        							  "LINEOUTL", "LINEOUTR",
        							  "HPOUT", "SPK";
        			soundcard-mach,routing		= "MIC1P_PIN", "MIC1",
        							  "MIC1N_PIN", "MIC1",
        							  "MIC2P_PIN", "MIC2",
        							  "MIC2N_PIN", "MIC2",
        							  "MIC3P_PIN", "MIC3",
        							  "MIC3N_PIN", "MIC3",
        							  "LINEOUTL", "LINEOUTLP_PIN",
        							  "LINEOUTL", "LINEOUTLN_PIN",
        							  "LINEOUTR", "LINEOUTRP_PIN",
        							  "LINEOUTR", "LINEOUTRN_PIN",
        							  "SPK", "LINEOUTLP_PIN",
        							  "SPK", "LINEOUTLN_PIN",
        							  "SPK", "LINEOUTRP_PIN",
        							  "SPK", "LINEOUTRN_PIN",
        							  "HPOUT", "HPOUTL_PIN",
        							  "HPOUT", "HPOUTR_PIN";
        			soundcard-mach,jack-support = <1>;
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&codec_plat>;
        			};
        			soundcard-mach,codec {
        				sound-dai = <&codec>;
        				soundcard-mach,pll-fs	= <1>;
        			};
        		};
        
        		hdmi_codec:hdmi_codec {
        			#sound-dai-cells = <0>;
        			compatible	= "allwinner,sunxi-snd-codec-hdmi";
        			status = "disabled";
        		};
        
        		edp_codec:edp_codec {
        			#sound-dai-cells = <0>;
        			compatible	= "allwinner,sunxi-snd-codec-edp";
        			status = "disabled";
        		};
        
        		/* audio dirver module -> owa */
        		owa_plat:owa_plat@7116000 {
        			#sound-dai-cells = <0>;
        			compatible	= "allwinner,sunxi-snd-plat-owa";
        			reg		= <0x0 0x07116000 0x0 0x58>;
        			resets		= <&mcu_ccu RST_BUS_MCU_OWA>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_OWA>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&ccu CLK_PLL_PERI0_300M>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_OWA_TX>,
        					  <&mcu_ccu CLK_MCU_OWA_RX>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_owa",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_peri0_300",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_owa_tx",
        					  "clk_owa_rx";
        			dmas		= <&dma1 2>, <&dma1 2>;
        			dma-names	= "tx", "rx";
        			playback-cma	= <128>;
        			capture-cma	= <128>;
        			tx-fifo-size	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		owa_mach:owa_mach {
        			compatible = "allwinner,sunxi-snd-mach";
        			soundcard-mach,name = "sndowa";
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&owa_plat>;
        			};
        			soundcard-mach,codec {
        			};
        		};
        
        		/* audio dirver module -> dmic */
        		dmic_plat:dmic_plat@7111000 {
        			#sound-dai-cells = <0>;
        			compatible	= "allwinner,sunxi-snd-plat-dmic";
        			reg		= <0x0 0x07111000 0x0 0x50>;
        			resets		= <&mcu_ccu RST_BUS_MCU_DMIC>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_DMIC>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_DMIC>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_dmic",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_dmic";
        			dmas		= <&dma1 8>;
        			dma-names	= "rx";
        			capture-cma	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		dmic_mach:dmic_mach{
        			compatible = "allwinner,sunxi-snd-mach";
        			soundcard-mach,name		= "snddmic";
        			soundcard-mach,capture-only;
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&dmic_plat>;
        			};
        			soundcard-mach,codec {
        			};
        		};
        
        		/* audio dirver module -> I2S/PCM */
        		i2s0_plat:i2s0_plat@7112000 {
        			#sound-dai-cells = <0>;
        			compatible = "allwinner,sunxi-snd-plat-i2s";
        			reg		= <0x0 0x07112000 0x0 0xA0>;
        			resets		= <&mcu_ccu RST_BUS_MCU_I2S0>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_I2S0>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_I2S0>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_i2s",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_i2s";
        			dmas		= <&dma1 3>, <&dma1 3>;
        			dma-names	= "tx", "rx";
        			playback-cma	= <128>;
        			capture-cma	= <128>;
        			tx-fifo-size	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		i2s0_mach:i2s0_mach{
        			compatible = "allwinner,sunxi-snd-mach";
        			soundcard-mach,name		= "sndi2s0";
        			soundcard-mach,format		= "i2s";
        			soundcard-mach,slot-num		= <2>;
        			soundcard-mach,slot-width	= <32>;
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&i2s0_plat>;
        			};
        			soundcard-mach,codec {
        			};
        		};
        
        		i2s1_plat:i2s1_plat@7113000 {
        			#sound-dai-cells = <0>;
        			compatible = "allwinner,sunxi-snd-plat-i2s";
        			reg		= <0x0 0x07113000 0x0 0xA0>;
        			resets		= <&mcu_ccu RST_BUS_MCU_I2S1>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_I2S1>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_I2S1>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_i2s",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_i2s";
        			dmas		= <&dma1 4>, <&dma1 4>;
        			dma-names	= "tx", "rx";
        			playback-cma	= <128>;
        			capture-cma	= <128>;
        			tx-fifo-size	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		i2s1_mach:i2s1_mach{
        			compatible = "allwinner,sunxi-snd-mach";
        			soundcard-mach,name		= "sndi2s1";
        			soundcard-mach,format		= "i2s";
        			soundcard-mach,slot-num		= <2>;
        			soundcard-mach,slot-width	= <32>;
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&i2s1_plat>;
        			};
        			soundcard-mach,codec {
        			};
        		};
        
        		i2s2_plat:i2s2_plat@7114000 {
        			#sound-dai-cells = <0>;
        			compatible = "allwinner,sunxi-snd-plat-i2s";
        			reg		= <0x0 0x07114000 0x0 0xA0>;
        			resets		= <&mcu_ccu RST_BUS_MCU_I2S2>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_I2S2>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_I2S2>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_i2s",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_i2s";
        			dmas		= <&dma1 5>, <&dma1 5>;
        			dma-names	= "tx", "rx";
        			playback-cma	= <128>;
        			capture-cma	= <128>;
        			tx-fifo-size	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		i2s2_mach:i2s2_mach{
        			compatible = "allwinner,sunxi-snd-mach";
        			/* card name. hdmi: "sndhdmi"; edp: "sndedp" */
        			soundcard-mach,name		= "sndhdmi";
        			soundcard-mach,format		= "i2s";
        			soundcard-mach,slot-num		= <2>;
        			soundcard-mach,slot-width	= <32>;
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&i2s2_plat>;
        			};
        			soundcard-mach,codec {
        			};
        		};
        
        		i2s3_plat:i2s3_plat@7115000 {
        			#sound-dai-cells = <0>;
        			compatible = "allwinner,sunxi-snd-plat-i2s";
        			reg		= <0x0 0x07115000 0x0 0xA0>;
        			resets		= <&mcu_ccu RST_BUS_MCU_I2S3>;
        			clocks		= <&ccu CLK_PLL_PERI0_2X>,
        					  <&ccu CLK_DSP>,
        					  <&mcu_ccu CLK_DSP_DSP>,
        					  <&mcu_ccu CLK_BUS_MCU_I2S3>,
        					  <&ccu CLK_PLL_AUDIO0_4X>,
        					  <&ccu CLK_PLL_PERI0_300M>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV2>,
        					  <&mcu_ccu CLK_PLL_MCU_AUDIO1_DIV5>,
        					  <&mcu_ccu CLK_MCU_I2S3_ASRC>,
        					  <&mcu_ccu CLK_MCU_I2S3>;
        			clock-names	= "clk_pll_peri0_2x",
        					  "clk_dsp_src",
        					  "clk_dsp_core",
        					  "clk_bus_i2s",
        					  "clk_pll_audio0_4x",
        					  "clk_pll_peri0_300",
        					  "clk_pll_audio1_div2",
        					  "clk_pll_audio1_div5",
        					  "clk_i2s_asrc",
        					  "clk_i2s";
        			dmas		= <&dma1 6>, <&dma1 6>;
        			dma-names	= "tx", "rx";
        			playback-cma	= <128>;
        			capture-cma	= <128>;
        			tx-fifo-size	= <128>;
        			rx-fifo-size	= <128>;
        			status = "disabled";
        		};
        
        		i2s3_mach:i2s3_mach{
        			compatible = "allwinner,sunxi-snd-mach";
        			soundcard-mach,name		= "sndi2s3";
        			soundcard-mach,format		= "i2s";
        			soundcard-mach,slot-num		= <2>;
        			soundcard-mach,slot-width	= <32>;
        			status = "disabled";
        			soundcard-mach,cpu {
        				sound-dai = <&i2s3_plat>;
        			};
        			soundcard-mach,codec {
        			};
        		};
        
        		rfkill: rfkill {
        			compatible = "allwinner,sunxi-rfkill";
        			status = "disabled";
        		};
        
        		addr_mgt: addr_mgt {
        			compatible = "allwinner,sunxi-addr_mgt";
        			status = "disabled";
        		};
        
        		btlpm: btlpm {
        			compatible = "allwinner,sunxi-btlpm";
        			status = "disabled";
        		};
        
        		mdio0: mdio0@4500048 {
        			compatible = "allwinner,sunxi-mdio";
        			#address-cells = <1>;
        			#size-cells = <0>;
        			reg = <0x0 0x04500048 0x0 0x8>;
        			status = "disabled";
        			//gmac0_phy0: ethernet-phy@1 {
        			//	/* RTL8211F (0x001cc916) */
        			//	reg = <1>;
        			//	max-speed = <1000>;  /* Max speed capability */
        			//	reset-gpios = <&pio PH 19 GPIO_ACTIVE_LOW>;
        			//	/* PHY datasheet rst time */
        			//	reset-assert-us = <10000>;
        			//	reset-deassert-us = <150000>;
        			//};
        		};
        
        		gmac0: gmac0@4500000 {
        			compatible = "allwinner,sunxi-gmac";
        			reg = <0x0 0x04500000 0x0 0x10000>,
        			      <0x0 0x03000030 0x0 0x4>;
        			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
        			interrupt-names = "gmacirq";
        			clocks = <&ccu CLK_GMAC0>, <&ccu CLK_GMAC0_25M>;
        			clock-names = "gmac", "phy25m";
        			resets = <&ccu RST_BUS_GMAC0>;
        			//phy-handle = <&gmac0_phy0>;
        			status = "disabled";
        		};
        
        		gmac1: ethernet@4510000 {
        			compatible = "allwinner,sunxi-gmac-200", "snps,dwmac-4.20a";
        			reg = <0x0 0x04510000 0x0 0x10000>,
        			      <0x0 0x03000034 0x0 0x4>;
        			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
        			interrupt-names = "macirq";
        			clocks = <&ccu CLK_GMAC1>, <&ccu CLK_GMAC1_MBUS_GATE>, <&ccu CLK_GMAC1_25M>;
        			clock-names = "stmmaceth", "pclk", "phy25m";
        			resets = <&ccu RST_BUS_GMAC1>;
        			reset-names = "stmmaceth";
        			//phy-handle = <&gmac1_phy0>;
        			power-domains = <&pd1 A523_PCK_VO1>;
        			status = "disabled";
        
        
        			snps,fixed-burst;
        
        			snps,axi-config = <&gmac1_stmmac_axi_setup>;
        			snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
        			snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
        
        			gmac1_stmmac_axi_setup: stmmac-axi-config {
        				snps,wr_osr_lmt = <0xf>;
        				snps,rd_osr_lmt = <0xf>;
        				snps,blen = <256 128 64 32 16 8 4>;
        			};
        
        			gmac1_mtl_rx_setup: rx-queues-config {
        				snps,rx-queues-to-use = <1>;
        				queue0 {};
        			};
        
        			gmac1_mtl_tx_setup: tx_queues-config {
        				snps,tx-queues-to-use = <1>;
        				queue0 {};
        			};
        
        			mdio1: mdio1@1 {
        				compatible = "snps,dwmac-mdio";
        				#address-cells = <1>;
        				#size-cells = <0>;
        				//gmac1_phy0: ethernet-phy@1 {
        				//	compatible = "ethernet-phy-ieee802.3-c22";
        				//	reg = <0x1>;
        				//	max-speed = <1000>;  /* Max speed capability */
        				//	reset-gpios = <&pio PJ 27 GPIO_ACTIVE_LOW>;
        				//	/* PHY datasheet rst time */
        				//	reset-assert-us = <10000>;
        				//	reset-deassert-us = <150000>;
        				//};
        			};
        		};
        
        		sid@3006000 {
        			compatible = "allwinner,sun55iw3p1-sid", "allwinner,sunxi-sid";
        			reg = <0x0 0x03006000 0 0x1000>;
        			#address-cells = <1>;
        			#size-cells = <1>;
        			non-secure-maxoffset = <0x80>;
        			non-secure-maxlen = <0x20>;
        
        			secure_status {
        				reg = <0x0 0>;
        				offset = <0xa0>;
        				size = <0x4>;
        			};
        			chipid {
        				reg = <0x0 0>;
        				offset = <0x200>;
        				size = <0x10>;
        			};
        			rotpk {
        				reg = <0x0 0>;
        				offset = <0x140>;
        				size = <0x20>;
        			};
        		};
        
        		sram_ctrl: sram_ctrl@3000000 {
        			compatible = "allwinner,sram_ctrl";
        			reg = <0x0 0x03000000 0 0x184>;
        			soc_ver {
        				offset = <0x24>;
        				mask = <0x7>;
        				shift = <0>;
        				ver_a = <0x00000000>;
        				ver_b = <0x00000001>;
        				ver_c = <0x00000002>;
        			};
        
        			soc_id {
        				offset = <0x200>;
        				mask = <0x1>;
        				shift = <22>;
        			};
        
        			soc_bin {
        				offset = <0x0>;
        				mask = <0x3ff>;
        				shift = <0x0>;
        			};
        		};
        	};
        };
        
        1 条回复 最后回复 回复 引用 分享 0
        • YuzukiTsuru
          柚木 鉉 LV 9 最后由 编辑

          HardwareFiles.zip

          1 条回复 最后回复 回复 引用 分享 0
          • Moved from 其它全志芯片讨论区 by  Kirin Kirin 
          • 1 / 1
          • First post
            Last post

          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

          行为准则 | 用户协议 | 隐私权政策