diff --git a/arch/arm64/boot/dts/seco/Makefile b/arch/arm64/boot/dts/seco/Makefile
index b408fd6de4001eef97ac961b10a00648aa3b9be5..8f2b9580061f8fafe3edae8653aa8374e1c758e4 100644
--- a/arch/arm64/boot/dts/seco/Makefile
+++ b/arch/arm64/boot/dts/seco/Makefile
@@ -4,6 +4,7 @@ endif
 
 dtb-$(CONFIG_ARCH_ROCKCHIP) += seco-rk3399-c31.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += seco-px30-d23-revc.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += seco-px30-d23-revc1.dtb
 
 # dtb-$(CONFIG_ARCH_ROCKCHIP) += seco-px30-d23-revc-hdmi.dtb
 # dtb-$(CONFIG_ARCH_ROCKCHIP) += seco-px30-d23-revc-lvds-800x480.dtb
diff --git a/arch/arm64/boot/dts/seco/seco-px30-d23-revc.dtsi b/arch/arm64/boot/dts/seco/seco-px30-d23-revc.dtsi
index 9e8a55f2e5c0b8dcfac4b4d6e89fa9d67919a245..41abf0f9151df278ae096d3ae9a967d81502ed99 100644
--- a/arch/arm64/boot/dts/seco/seco-px30-d23-revc.dtsi
+++ b/arch/arm64/boot/dts/seco/seco-px30-d23-revc.dtsi
@@ -824,6 +824,7 @@
 	sd-uhs-sdr50;
 	sd-uhs-sdr104;
 	mmc-hs200-1_8v;
+    max-frequency=<25000000>;
 	supports-sdio;
 	ignore-pm-notify;
 	keep-power-in-suspend;
diff --git a/arch/arm64/boot/dts/seco/seco-px30-d23-revc1.dts b/arch/arm64/boot/dts/seco/seco-px30-d23-revc1.dts
new file mode 100644
index 0000000000000000000000000000000000000000..7dfa74060622613da2830bb0b786dec41c46cef8
--- /dev/null
+++ b/arch/arm64/boot/dts/seco/seco-px30-d23-revc1.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
+ */
+
+/dts-v1/;
+
+#include "seco-px30-d23-revc1.dtsi"
+
diff --git a/arch/arm64/boot/dts/seco/seco-px30-d23-revc1.dtsi b/arch/arm64/boot/dts/seco/seco-px30-d23-revc1.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..bdf0871fe68d2bc234bded349140a1e76520f53d
--- /dev/null
+++ b/arch/arm64/boot/dts/seco/seco-px30-d23-revc1.dtsi
@@ -0,0 +1,1002 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
+ */
+
+/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/display/drm_mipi_dsi.h>
+#include <dt-bindings/sensor-dev.h>
+#include "seco-px30.dtsi"
+
+/ {
+	compatible = "rockchip,linux", "rockchip,rk3326";
+
+	aliases {
+        mmc0 = &emmc;
+        mmc1 = &sdmmc;
+	};
+
+	fiq-debugger {
+		compatible = "rockchip,fiq-debugger";
+		rockchip,serial-id = <2>;
+		rockchip,wake-irq = <0>;
+		/* If enable uart uses irq instead of fiq */
+		rockchip,irq-mode-enable = <0>;
+		rockchip,baudrate = <115200>;  /* Only 115200 and 1500000 */
+		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&uart2m1_xfer>;/*change to uart2m1*/
+		status = "okay";
+	};
+
+	ramoops {
+		compatible = "ramoops";
+		record-size = <0x0 0x20000>;
+		console-size = <0x0 0x80000>;
+		ftrace-size = <0x0 0x00000>;
+		pmsg-size = <0x0 0x00000>;
+		memory-region = <&ramoops_mem>;
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		drm_logo: drm-logo@00000000 {
+			compatible = "rockchip,drm-logo";
+			reg = <0x0 0x0 0x0 0x0>;
+		};
+
+		ramoops_mem: region@110000 {
+			reg = <0x0 0x110000 0x0 0xf0000>;
+			reg-names = "ramoops_mem";
+		};
+	};
+
+	 clk20m: clk20m {
+                compatible = "fixed-clock";
+                #clock-cells = <0>;
+                clock-frequency = <20000000>;
+    };
+
+	vcc_phy: vcc-phy-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc_phy";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
+	vcc5v0_sys: vccsys {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc5v0_sys";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+	};
+
+	vdd_m2: vdd_m2 {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_m2";
+        enable-active-high;
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+		gpio = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
+	};
+
+	reg_1p8v_run_en: reg_1p8v_run_en {
+		compatible = "regulator-fixed";
+		regulator-name = "reg_1p8v_run_en";
+        enable-active-high;
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
+	};
+
+	usb1_pwr_en: usb1_pwr_en {
+		compatible = "regulator-fixed";
+		regulator-boot-on;
+		regulator-always-on;
+		regulator-name = "usb1_pwr_en";
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+		gpio = <&gpio_expanderA_u32 2 GPIO_ACTIVE_LOW>;
+	};
+
+	usb2_pwr_en: usb2_pwr_en {
+		compatible = "regulator-fixed";
+		regulator-boot-on;
+		regulator-always-on;
+		regulator-name = "usb2_pwr_en";
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+		gpio = <&gpio_expanderA_u32 3 GPIO_ACTIVE_LOW>;
+	};
+
+	usb3_pwr_en: usb3_pwr_en {
+		compatible = "regulator-fixed";
+		regulator-boot-on;
+		regulator-always-on;
+		regulator-name = "usb3_pwr_en";
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+		gpio = <&gpio_expanderA_u32 4 GPIO_ACTIVE_LOW>;
+	};
+
+	usb4_pwr_en: usb4_pwr_en {
+		compatible = "regulator-fixed";
+		regulator-boot-on;
+		regulator-always-on;
+		regulator-name = "usb3_pwr_en";
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+		gpio = <&gpio_expanderA_u32 5 GPIO_ACTIVE_LOW>;
+	};
+//
+//  Disabled to avoid modem reset during boot
+//
+//	pcie_rst: pcie_rst {
+//		compatible = "regulator-fixed";
+//		regulator-boot-on;
+//		regulator-always-on;
+//		regulator-name = "pcie_rst";
+//		regulator-min-microvolt = <3000000>;
+//		regulator-max-microvolt = <3000000>;
+//		gpio = <&gpio_expanderA_u32 13 GPIO_ACTIVE_HIGH>;
+//	};
+
+    vdd_m2_enabler: en_vdd-m2 {
+        compatible = "reg-userspace-consumer";
+        regulator-name = "en_vdd-m2";
+        regulator-supplies = "vdd_m2";
+        vdd_m2-supply = <&vdd_m2>;
+        regulator-boot-on;
+    };
+
+    reg_1p8v_enabler: reg_1p8v_enabler {
+        compatible = "reg-userspace-consumer";
+        regulator-name = "en_1p8v_run";
+        regulator-supplies = "reg_1p8v_run_en";
+        reg_1p8v_run_en-supply = <&reg_1p8v_run_en>;
+        regulator-boot-on;
+    };
+
+    vbus_pwr_enabler: vbus_pwr_enabler {
+        compatible = "reg-userspace-consumer";
+        regulator-boot-on;
+        regulator-name = "vbus_pwr_enabler";
+        regulator-supplies = "usb1_pwr_en", "usb2_pwr_en", "usb3_pwr_en", "usb4_pwr_en", "hub_usb_rst";
+        usb1_pwr_en-supply = <&usb1_pwr_en>;
+        usb2_pwr_en-supply = <&usb2_pwr_en>;
+        usb3_pwr_en-supply = <&usb3_pwr_en>;
+        usb4_pwr_en-supply = <&usb4_pwr_en>;
+    };
+
+	sdio_pwrseq: sdio-pwrseq {
+		compatible = "mmc-pwrseq-simple";
+
+		/*
+		 * On the module itself this is one of these (depending
+		 * on the actual card populated):
+		 * - SDIO_RESET_L_WL_REG_ON
+		 * - PDN (power down when low)
+		 */
+		reset-gpios = <&gpio_expanderA_u32 10 GPIO_ACTIVE_LOW>; 
+	};
+
+	rk809_sound: rk809-sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,name = "rockchip,rk809-codec";
+		simple-audio-card,mclk-fs = <256>;
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"Mic Jack", "MICBIAS1",
+			"IN1P", "Mic Jack",
+			"Headphone Jack", "HPOL",
+			"Headphone Jack", "HPOR";
+		simple-audio-card,cpu {
+			sound-dai = <&i2s1_2ch>;
+		};
+		simple-audio-card,codec {
+			sound-dai = <&rk809_codec>;
+		};
+	};
+
+	backlight: backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm1 0 1000000 0>;
+		brightness-levels = <
+			  0   1   2   3   4   5   6   7
+			  8   9  10  11  12  13  14  15
+			 16  17  18  19  20  21  22  23
+			 24  25  26  27  28  29  30  31
+			 32  33  34  35  36  37  38  39
+			 40  41  42  43  44  45  46  47
+			 48  49  50  51  52  53  54  55
+			 56  57  58  59  60  61  62  63
+			 64  65  66  67  68  69  70  71
+			 72  73  74  75  76  77  78  79
+			 80  81  82  83  84  85  86  87
+			 88  89  90  91  92  93  94  95
+			 96  97  98  99 100 101 102 103
+			104 105 106 107 108 109 110 111
+			112 113 114 115 116 117 118 119
+			120 121 122 123 124 125 126 127
+			128 129 130 131 132 133 134 135
+			136 137 138 139 140 141 142 143
+			144 145 146 147 148 149 150 151
+			152 153 154 155 156 157 158 159
+			160 161 162 163 164 165 166 167
+			168 169 170 171 172 173 174 175
+			176 177 178 179 180 181 182 183
+			184 185 186 187 188 189 190 191
+			192 193 194 195 196 197 198 199
+			200 201 202 203 204 205 206 207
+			208 209 210 211 212 213 214 215
+			216 217 218 219 220 221 222 223
+			224 225 226 227 228 229 230 231
+			232 233 234 235 236 237 238 239
+			240 241 242 243 244 245 246 247
+			248 249 250 251 252 253 254 255>;
+		default-brightness-level = <250>;
+		enable-gpio = <&gpio_expanderB_u33 10 GPIO_ACTIVE_HIGH>;
+	};
+
+    panel_lvds {
+        compatible = "samsung,lsl070nl01", "simple-panel";
+        backlight = <&backlight>;
+        power-supply = <&vcc3v3_lcd>;
+        enable-delay-ms = <20>;
+        prepare-delay-ms = <20>;
+        unprepare-delay-ms = <20>;
+        disable-delay-ms = <20>;
+        enable-gpios = <&gpio_expanderA_u32 12 GPIO_ACTIVE_HIGH>;
+ 
+        width-mm = <217>;
+        height-mm = <136>;
+ 
+        port {
+           panel_in_lvds: endpoint {
+              remote-endpoint = <&lvds_out_panel>;
+            };
+        };
+    };
+};
+
+&bus_apll {
+	bus-supply = <&vdd_logic>;
+	status = "okay";
+};
+
+&cpu0 {
+	cpu-supply = <&vdd_arm>;
+};
+
+&dfi {
+	status = "okay";
+};
+
+&dmc {
+	auto-freq-en = <0>;
+	center-supply = <&vdd_logic>;
+	status = "okay";
+};
+
+&lvds_in_vopb {
+	status = "disabled";
+};
+
+&lvds_in_vopl {
+	status = "disabled";
+};
+
+&display_subsystem {
+ 	status = "okay";
+	ports = <&vopb_out>, <&vopl_out>;
+	logo-memory-region = <&drm_logo>;
+
+	route {
+		route_lvds: route-lvds {
+			status = "disabled";
+			logo,uboot = "logo.bmp";
+			logo,kernel = "logo_kernel.bmp";
+			logo,mode = "center";
+			charge_logo,mode = "center";
+			connect = <&vopb_out_lvds>;
+		};
+
+		route_dsi: route-dsi {
+			status = "disabled";
+			logo,uboot = "logo.bmp";
+			logo,kernel = "logo_kernel.bmp";
+			logo,mode = "center";
+			charge_logo,mode = "center";
+			connect = <&vopb_out_dsi>;
+		};
+
+		route_rgb: route-rgb {
+			status = "disabled";
+			logo,uboot = "logo.bmp";
+			logo,kernel = "logo_kernel.bmp";
+			logo,mode = "center";
+			charge_logo,mode = "center";
+			connect = <&vopb_out_rgb>;
+		};
+	};
+};
+
+&vopl {
+	assigned-clocks = <&cru PLL_NPLL>;
+	assigned-clock-rates = <1188000000>;
+};
+
+&lvds {
+	status = "disabled";
+    ports {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        port@1 {
+            reg = <1>;
+            lvds_out_panel: endpoint {
+                remote-endpoint = <&panel_in_lvds>;
+            };
+        };
+    };
+};
+
+&rgb {
+	status = "disabled";
+};
+
+&rgb_in_vopb {
+	status = "disabled";
+};
+
+&rgb_in_vopl {
+	status = "disabled";
+};
+
+&route_rgb {
+	status = "disabled";
+};
+
+&video_phy {
+	status = "disabled";
+};
+
+&route_lvds {
+	status = "disabled";
+};
+
+&gmac {
+	phy-supply = <&vcc_phy>;
+	assigned-clocks = <&cru SCLK_GMAC>;
+	assigned-clock-parents = <&gmac_clkin>;
+	clock_in_out = "input";
+	phy-mode = "rmii";
+	pinctrl-names = "default";
+	pinctrl-0 = <&rmii_pins &mac_refclk &eth_phy_pwr &eth_phy_int>;
+	snps,reset-gpio = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
+	snps,reset-active-low;
+	snps,reset-delays-us = <0 100000 100000>;
+	status = "okay";
+};
+
+&gpu {
+	mali-supply = <&vdd_logic>;
+	status = "okay";
+};
+
+&spi0 {
+        status = "okay";
+//        max-freq = <48000000>;
+		pinctrl-0 = <&spi0_clk &spi0_csn &spi0_miso &spi0_mosi>;
+		pinctrl-1 = <&spi0_clk_hs &spi0_csn &spi0_miso_hs &spi0_mosi_hs>;
+	    spi_dev@0 {
+          status = "okay";
+          compatible = "rockchip,spidev";
+          reg = <0>;
+          spi-max-frequency = <48000000>;
+	      spi-lsb-first;
+       };
+};
+
+&spi1 {
+        status = "disabled";
+};
+
+&i2c0 {
+	status = "okay";
+	clock-frequency = <400000>;
+
+	rk809: pmic@20 {
+		compatible = "rockchip,rk809";
+		reg = <0x20>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default", "pmic-sleep",
+				"pmic-power-off", "pmic-reset";
+		pinctrl-0 = <&pmic_int>;
+		pinctrl-1 = <&soc_slppin_slp>, <&rk817_slppin_slp>;
+		pinctrl-2 = <&soc_slppin_gpio>, <&rk817_slppin_pwrdn>;
+		pinctrl-3 = <&soc_slppin_rst>, <&rk817_slppin_rst>;
+		rockchip,system-power-controller;
+		wakeup-source;
+		#clock-cells = <1>;
+		clock-output-names = "rk808-clkout1", "rk808-clkout2";
+		//fb-inner-reg-idxs = <2>;
+		/* 1: rst regs (default in codes), 0: rst the pmic */
+		pmic-reset-func = <1>;
+
+		vcc1-supply = <&vcc5v0_sys>;
+		vcc2-supply = <&vcc5v0_sys>;
+		vcc3-supply = <&vcc5v0_sys>;
+		vcc4-supply = <&vcc5v0_sys>;
+		vcc5-supply = <&vcc3v3_sys>;
+		vcc6-supply = <&vcc3v3_sys>;
+		vcc7-supply = <&vcc3v3_sys>;
+		vcc8-supply = <&vcc3v3_sys>;
+		vcc9-supply = <&vcc5v0_sys>;
+
+		pwrkey {
+			status = "okay";
+		};
+
+		pinctrl_rk8xx: pinctrl_rk8xx {
+			gpio-controller;
+			#gpio-cells = <2>;
+
+			rk817_slppin_null: rk817_slppin_null {
+				pins = "gpio_slp";
+				function = "pin_fun0";
+			};
+
+			rk817_slppin_slp: rk817_slppin_slp {
+				pins = "gpio_slp";
+				function = "pin_fun1";
+			};
+
+			rk817_slppin_pwrdn: rk817_slppin_pwrdn {
+				pins = "gpio_slp";
+				function = "pin_fun2";
+			};
+
+			rk817_slppin_rst: rk817_slppin_rst {
+				pins = "gpio_slp";
+				function = "pin_fun3";
+			};
+		};
+
+		regulators {
+			vdd_logic: DCDC_REG1 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <950000>;
+				regulator-max-microvolt = <1350000>;
+				regulator-ramp-delay = <6001>;
+				regulator-initial-mode = <0x2>;
+				regulator-name = "vdd_logic";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <950000>;
+				};
+			};
+
+			vdd_arm: DCDC_REG2 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <950000>;
+				regulator-max-microvolt = <1350000>;
+				regulator-ramp-delay = <6001>;
+				regulator-initial-mode = <0x2>;
+				regulator-name = "vdd_arm";
+				regulator-state-mem {
+					regulator-off-in-suspend;
+					regulator-suspend-microvolt = <950000>;
+				};
+			};
+
+			vcc_ddr: DCDC_REG3 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-name = "vcc_ddr";
+				regulator-initial-mode = <0x2>;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+				};
+			};
+
+			vcc_3v0: DCDC_REG4 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-initial-mode = <0x2>;
+				regulator-name = "vcc_3v0";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3000000>;
+				};
+			};
+
+			vcc_1v0: LDO_REG1 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-name = "vcc_1v0";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1000000>;
+				};
+			};
+
+			vcc1v8_soc: LDO_REG2 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+
+				regulator-name = "vcc1v8_soc";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vdd1v0_soc: LDO_REG3 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+
+				regulator-name = "vcc1v0_soc";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1000000>;
+				};
+			};
+
+			vcc3v0_pmu: LDO_REG4 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+
+				regulator-name = "vcc3v0_pmu";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3000000>;
+
+				};
+			};
+
+			vccio_sd: LDO_REG5 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;/*old 3300000*/
+
+				regulator-name = "vccio_sd";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3300000>;
+				};
+			};
+
+			vcc_sd: LDO_REG6 {
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;/*add for test*/
+				regulator-name = "vcc_sd";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3300000>;
+
+				};
+			};
+
+			vcc2v8_dvp: LDO_REG7 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+
+				regulator-name = "vcc2v8_dvp";
+				regulator-state-mem {
+					regulator-off-in-suspend;
+					regulator-suspend-microvolt = <2800000>;
+				};
+			};
+
+			vcc1v8_dvp: LDO_REG8 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+
+				regulator-name = "vcc1v8_dvp";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vdd1v5_dvp: LDO_REG9 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1500000>;
+
+				regulator-name = "vdd1v5_dvp";
+				regulator-state-mem {
+					regulator-off-in-suspend;
+					regulator-suspend-microvolt = <1500000>;
+				};
+			};
+
+			vcc3v3_sys: DCDC_REG5 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-name = "vcc3v3_sys";
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3300000>;
+				};
+			};
+
+			vcc3v3_lcd: SWITCH_REG1 {
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-name = "vcc3v3_lcd";
+			};
+
+			vcc5v0_host: SWITCH_REG2 {
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-name = "vcc5v0_host";
+			};
+		};
+
+		rk809_codec: codec {
+			#sound-dai-cells = <0>;
+			compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
+			clocks = <&cru SCLK_I2S1_OUT>;
+			clock-names = "mclk";
+			hp-volume = <20>;
+			spk-volume = <3>;
+			status = "okay";
+		};
+	};
+};
+
+&i2c1 {
+	status = "okay";
+	clock-frequency = <400000>;
+
+	rtc@51 {
+        compatible = "nxp,pcf85063";
+        reg = <0x51>;
+    };
+
+	at24@53 {
+		compatible = "at24,24aa025";
+		pagesize   = <256>;
+		reg        = <0x53>;
+	};
+
+	gpio_expanderA_u32: pcal6416@20 {
+		compatible = "nxp,pcal6416";
+		reg = <0x20>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pcal6416a_u32>;
+		gpio-base = <256>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
+//		interrupt-parent = <&gpio4>;
+//		interrupts = <16 0x2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+	
+	gpio_expanderB_u33: pcal6416@21 {
+		compatible = "nxp,pcal6416";
+		reg = <0x21>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pcal6416b_u33>;
+		gpio-base = <272>;
+		gpio-controller;
+		#gpio-cells = <2>;
+//		reset-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <RK_PA3 0x2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+};
+
+&i2c2 {
+	status = "okay";
+};
+
+&io_domains {
+	status = "okay";
+	vccio1-supply = <&vcc1v8_soc>;
+	vccio2-supply = <&vccio_sd>;
+	vccio3-supply = <&vcc_3v0>;
+	vccio4-supply = <&vcc1v8_dvp>;
+    vccio5-supply = <&vcc1v8_soc>;
+};
+
+&isp_mmu {
+	status = "okay";
+};
+
+&rkisp1 {
+	status = "okay";
+};
+
+&pmu_io_domains {
+	status = "okay";
+	pmuio1-supply = <&vcc3v0_pmu>;
+	pmuio2-supply = <&vcc1v8_soc>; /* <&vcc3v0_pmu>;*/
+};
+
+&pwm1 {
+	status = "okay";
+};
+
+&pwm2 {
+	status = "okay";
+};
+
+&rk_rga {
+	status = "okay";
+};
+
+&rng {
+    status = "okay";
+};
+  
+&rockchip_suspend {
+	status = "okay";
+	rockchip,sleep-debug-en = <1>;
+};
+
+&saradc {
+	status = "okay";
+	vref-supply = <&vcc1v8_soc>;
+};
+
+&sdmmc {
+/*	clock-frequency = <37500000>;
+	max-frequency = <37500000>;*/
+	bus-width = <4>;
+//	cap-mmc-highspeed;
+//	cap-sd-highspeed;
+	supports-sd;
+    non-removable;
+	card-detect-delay = <800>;
+	ignore-pm-notify;
+	/*cd-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; [> CD GPIO <]*/
+	sd-uhs-sdr12;
+	sd-uhs-sdr25;
+	sd-uhs-sdr50;
+	sd-uhs-sdr104;
+	vqmmc-supply = <&vccio_sd>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
+	status = "okay";
+};
+
+&emmc {
+	bus-width = <8>;
+	cap-mmc-highspeed;
+//	mmc-hs200-1_8v;
+	supports-emmc;
+	disable-wp;
+	non-removable;
+	num-slots = <1>;
+	status = "okay";
+};
+
+&sdio {
+	bus-width = <4>;
+	sd-uhs-sdr12;
+	sd-uhs-sdr25;
+	sd-uhs-sdr50;
+	sd-uhs-sdr104;
+	mmc-hs200-1_8v;
+	supports-sdio;
+	ignore-pm-notify;
+	keep-power-in-suspend;
+	non-removable;
+	cap-sdio-irq;
+	mmc-pwrseq = <&sdio_pwrseq>;
+	status = "okay";
+};
+
+&tsadc {
+	pinctrl-names = "init", "default";
+	pinctrl-0 = <&tsadc_otp_gpio>;
+	pinctrl-1 = <&tsadc_otp_out>;
+	status = "okay";
+};
+
+&i2s1_2ch {
+	status = "okay";
+	#sound-dai-cells = <0>;
+	gpio-amp-sd = <&gpio_expanderB_u33 14 GPIO_ACTIVE_HIGH>;
+};
+
+&uart0 {
+        status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+/*uart2 debug change to uart2m1*/
+&uart2 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&uart2m1_xfer>;
+        status = "disabled";
+};
+
+&u2phy {
+	status = "okay";
+
+	u2phy_host: host-port {
+		status = "okay";
+	};
+
+	u2phy_otg: otg-port {
+		status = "okay";
+	};
+};
+
+&usb20_otg {
+	status = "okay";
+};
+
+&usb_host0_ehci {
+	status = "okay";
+};
+
+&usb_host0_ohci {
+	status = "okay";
+};
+
+&vopb {
+	status = "okay";
+};
+
+&vopb_mmu {
+	status = "okay";
+};
+
+&vopl {
+	status = "okay";
+};
+
+&vopl_mmu {
+	status = "okay";
+};
+
+&vpu_combo {
+	status = "okay";
+};
+
+&pinctrl {
+    pinctrl-names = "default";
+    pinctrl-0 = <&secod23_gpioset>;
+
+	pmic {
+		pmic_int: pmic_int {
+			rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
+		};
+
+		soc_slppin_gpio: soc_slppin_gpio {
+			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
+		};
+
+		soc_slppin_slp: soc_slppin_slp {
+			rockchip,pins = <0 RK_PA4 RK_FUNC_1 &pcfg_pull_none>;
+		};
+
+		soc_slppin_rst: soc_slppin_rst {
+			rockchip,pins = <0 RK_PA4 RK_FUNC_2 &pcfg_pull_none>;
+		};
+	};
+
+  	eth_phy {
+		eth_phy_pwr: eth_phy_pwr {
+           rockchip,pins = <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
+        };
+    };
+
+  	eth_int {
+		eth_phy_int: eth_phy_int {
+                rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+        };
+  	};
+
+	i2c_pcal6416a_u32 {
+		pinctrl_pcal6416a_u32: pinctrl_pcal6416a_u32 {
+			rockchip,pins =
+             <0 RK_PB6 RK_FUNC_GPIO &pcfg_output_low>;  /* IO_EXPA_RST#  - GPIO_14 */
+		};
+	};
+
+	i2c_pcal6416b_u33 {
+		pinctrl_pcal6416b_u33: pinctrl_pcal6416b_u33 {
+			rockchip,pins =
+//             <1 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>, /* IO_EXPB_RST#  - GPIO_40 */
+             <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; /* IO_EXPB_INT#  - GPIO_3 */
+		};
+	};
+
+
+	lcd_vdd_gpio {
+        lcd_vdd_gpio_en: lcd_vdd_gpio_en {
+           rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
+        };
+    };
+
+	px30_lanxus_gpioset{
+		lanxus_gpioset: lanxus-gpioset {
+			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_output_high>;
+		};
+	};
+
+	secod23_gpio {
+		secod23_gpioset: secod23-gpioset {
+			rockchip,pins = 
+                <0 RK_PA0 RK_FUNC_GPIO &pcfg_output_high>, /* 1P8V_RUN_EN       - GPIO_0  */
+                <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>,       /* M2_SDIO_WAKE#     - GPIO_1  */
+
+                <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_high>,       /* EC_IRQ#           - GPIO_2   */
+
+                <0 RK_PA5 RK_FUNC_GPIO &pcfg_output_high>,       /* TOUCH_INT#        - GPIO_5  */
+
+                <0 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>, /* EC_RST#           - GPIO_15  */
+
+                <0 RK_PC1 RK_FUNC_GPIO &pcfg_output_high>,       /* M2_UART_WAKE#     - GPIO_17 */
+
+                <1 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>, /* +3V3_MOD_EN       - GPIO_40 */
+                <1 RK_PB3 RK_FUNC_GPIO &pcfg_output_high>,       /* HDMI_INT#         - GPIO_43 */
+
+
+//				<2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>, /* GPIO 81 */
+//				<2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>,
+//				<2 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up>,
+//				<2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>,
+//				<2 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>,
+//
+                <0 RK_PC4 RK_FUNC_1    &pcfg_output_high>; /* CLKOUT_32K  */
+		};
+	};
+};
+
+/* DON'T PUT ANYTHING BELOW HERE.  PUT IT ABOVE PINCTRL */
+/* DON'T PUT ANYTHING BELOW HERE.  PUT IT ABOVE PINCTRL */
+/* DON'T PUT ANYTHING BELOW HERE.  PUT IT ABOVE PINCTRL */
+