diff --git a/arch/arm64/boot/dts/seco/include/qcs6490-e81-common.dtsi b/arch/arm64/boot/dts/seco/include/qcs6490-e81-common.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..950b105f01d42e64892ff37f6d3aa464d118432b
--- /dev/null
+++ b/arch/arm64/boot/dts/seco/include/qcs6490-e81-common.dtsi
@@ -0,0 +1,557 @@
+/*****************************************************************************/
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT)                                */
+/*
+ * Device-tree-include-file for SECO SMARC Module with QCS5430/6490
+ *
+ * Copyright 2024 SECO    Dietmar Muscholik <dietmar.muscholik@seco.com>
+ *
+ * Rules to keep this file readable:
+ * - try to maintain an alphabetical order
+ * - when nodes have more than a couple of children or child-nodes exceed
+ *   a couple of lines, move them out of the main-node
+ * - do the pinmuxing at the end of the file and keep the order of the
+ *   corresponding device-nodes
+ * - use generic names for nodes that are referenced from outside this file
+ * - avoid conditional compilation if possible
+ * - use tabs for indention
+ * - don't be afraid of comments
+ *
+ *****************************************************************************/
+
+#ifndef SECO_QCS6490_E81_DTSI
+#define SECO_QCS6490_E81_DTSI
+
+#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
+#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "../../qcom/qcm6490.dtsi" // includes qcom/sc7280.dtsi
+#include "../../qcom/pm7325.dtsi"
+#include "../../qcom/pm8350c.dtsi"
+
+#include "qcs6490-pinfunc.h"
+
+/ {
+	
+	reg_5v_sleep: 5v_sleep {
+		compatible = "regulator-fixed";
+		regulator-name = "5V_SLEEP";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-always-on;
+	};
+
+	reg_5v_run: 5v_run {
+		compatible = "regulator-fixed";
+		regulator-name = "5V_RUN";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-always-on;
+		vin-supply = <&reg_5v_sleep>;
+	};
+
+	reg_3v3_sleep: 3v3_sleep {
+		compatible = "regulator-fixed";
+		regulator-name = "3V3_SLEEP";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		vin-supply = <&reg_5v_sleep>;
+	};
+
+	reg_1v0_run: 1v0_run {
+		compatible = "regulator-fixed";
+		regulator-name = "1V0_RUN";
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+		regulator-always-on;
+		vin-supply = <&vreg_l8c_1p8>;
+	};
+
+	reg_2v5_run: 2v5_run {
+		compatible = "regulator-fixed";
+		regulator-name = "2V5_RUN";
+		regulator-min-microvolt = <2500000>;
+		regulator-max-microvolt = <2500000>;
+		regulator-always-on;
+		//vin-supply = <&vreg_l11c_3p3>;
+		vin-supply = <&reg_5v_run>;
+	};
+
+	reg_0v9_qps: 0v9_qps {
+		compatible = "regulator-fixed";
+		regulator-name = "0V9_QPS";
+		regulator-min-microvolt = <900000>;
+		regulator-max-microvolt = <900000>;
+		//gpio = <&qps_0v9_en>;
+		gpio = <&pm8350c_gpios 2 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		vin-supply = <&reg_5v_run>;
+	};
+
+	reg_1v8_qps: 1v8_qps {
+		compatible = "regulator-fixed";
+		regulator-name = "1V8_QPS";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		//gpio = <&qps_1v8_en>;
+		gpio = <&pm8350c_gpios 3 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		vin-supply = <&reg_5v_run>;
+	};
+
+	reg_3v3_wifi: 3v3_wifi {
+		compatible = "regulator-fixed";
+		regulator-name = "3V3_WIFI";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		vin-supply = <&reg_5v_run>;
+	};
+};
+
+&apps_rsc {
+	// PM7325, U1900
+	regulators-0 {
+		compatible = "qcom,pm7325-rpmh-regulators";
+		qcom,pmic-id = "b";
+
+		vreg_s1b_1p872: smps1 {
+			regulator-name = "VDD_SYS_1V8";
+			regulator-min-microvolt = <1840000>;
+			regulator-max-microvolt = <2040000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s2b_0p876: smps2 {
+			regulator-name = "VDDA_0V7";
+			regulator-min-microvolt = <570070>;
+			regulator-max-microvolt = <1050000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+/*
+		// kernel hang
+		vreg_s3b_0v752: smps3 {
+			regulator-name = "VDD_APC1";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+*/
+		/*
+		// kernel hang
+		vreg_s6b_0v752: smps6 {
+			regulator-name = "VDD_APC0";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+		*/
+		vreg_s7b_0p972: smps7 {
+			regulator-name = "VDD_SYS_0V952";
+			regulator-min-microvolt = <904000>;
+			regulator-max-microvolt = <1120000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s8b_1p272: smps8 {
+			regulator-name = "VDD_SYS_1V256";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1500000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1b_0p912: ldo1 {
+			regulator-name = "VDDA_USB_0V9";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <925000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2b_3p072: ldo2 {
+			regulator-name = "VDDA_USB_3V1";
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <3544000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3b_0p504: ldo3 {
+			regulator-name = "LPDDR5_VDDQ";
+			regulator-min-microvolt = <312000>;
+			regulator-max-microvolt = <910000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4b_0p752: ldo4 {
+			regulator-name = "VDD_LPI_MX";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <820000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5b_0p752: ldo5 {
+			regulator-name = "VDD_LPI_CX";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <820000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6b_1p2: ldo6 {
+			regulator-name = "VDDA_1V2";
+			regulator-min-microvolt = <1140000>;
+			regulator-max-microvolt = <1260000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7b_2p952: ldo7 {
+			regulator-name = "VCC_UFS_EMMC";
+			//regulator-min-microvolt = <2400000>;
+			//regulator-max-microvolt = <3544000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8b_0p904: ldo8 {
+			regulator-name = "LPDDR5_VDD2L";
+			regulator-min-microvolt = <870000>;
+			regulator-max-microvolt = <970000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9b_1p2: ldo9 {
+			regulator-name = "UFS_1V2";
+			//regulator-min-microvolt = <1200000>;
+			//regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>;
+		};
+/*
+		// kernel hang
+		vreg_l10b_1v504: ldo10 {
+			regulator-name = "VREG_10B_1V25";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+*/
+		vreg_l11b_1p504: ldo11 {
+			regulator-name = "ETH0_1V8";
+			regulator-min-microvolt = <1504000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+// according to schematics page 3+4 these regulators are to used
+/*
+		vreg_l12b_0p751: ldo12 {
+			regulator-name = "VREG_L12B_0V8";
+			regulator-min-microvolt = <751000>;
+			regulator-max-microvolt = <824000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13b_0p53: ldo13 {
+			regulator-min-microvolt = <530000>;
+			regulator-max-microvolt = <824000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l14b_1p08: ldo14 {
+			regulator-min-microvolt = <1080000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l15b_0p765: ldo15 {
+			regulator-min-microvolt = <765000>;
+			regulator-max-microvolt = <1020000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l16b_1p1: ldo16 {
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1300000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+*/
+		vreg_l17b_1p7: ldo17 {
+			regulator-name = "ETH1_1V8";
+			regulator-min-microvolt = <1700000>;
+			regulator-max-microvolt = <1900000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l18b_1p8: ldo18 {
+			regulator-name = "VDD_1V8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l19b_1p8: ldo19 {
+			regulator-name = "EMMC_VCCQ";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	// PM7350C, U2300
+	regulators-1 {
+		compatible = "qcom,pm8350c-rpmh-regulators";
+		qcom,pmic-id = "c";
+
+		vreg_s2c_0v752: smps2 {
+			regulator-name = "VDD_CX";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s5c_0v752: smps5 {
+			regulator-name = "VDD_MODEM";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s7c_0v752: smps7 {
+			regulator-name = "VDD_GFX";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+/*
+		vreg_s8c_0v752: smps8 {
+			regulator-name = "VDD_GFX_1";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+		};
+*/
+		vreg_s9c_1v1: smps9 {
+			regulator-name = "LPDDR5_VDD2H";
+			regulator-min-microvolt = <1084000>;
+			regulator-max-microvolt = <1084000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s10c_0v752: smps10 {
+			regulator-name = "VDD_MX";
+			regulator-min-microvolt = <752000>;
+			regulator-max-microvolt = <752000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1c_1v8: ldo1 {
+			regulator-name = "VDDA_1V8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4c_1v8: ldo4 {
+			regulator-name = "VDD_UIM1";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5c_1v8: ldo5 {
+			regulator-name = "VDD_UIM2";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6c_2v96: ldo6 {
+			regulator-name = "VDD_SDIO";
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7c_3p3: ldo7 {
+			//regulator-name = "vreg_l7c_3p3";
+			regulator-name = "3V3_USB_HUB";
+			//regulator-min-microvolt = <3300000>;
+			//regulator-max-microvolt = <3300000>;
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3540000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8c_1p8: ldo8 {
+			//regulator-name = "vreg_l8c_1p62";
+			regulator-name = "1V8_RUN";
+			//regulator-min-microvolt = <1620000>;
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-always-on;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10c_0v9: ldo10 {
+			regulator-name = "VDDA_0V9";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-always-on;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l11c_3p3: ldo11 {
+			//regulator-name = "vreg_l11c_3p3";
+			regulator-name = "3V3_RUN";
+			//regulator-min-microvolt = <3300000>;
+			//regulator-max-microvolt = <3300000>;
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3540000>;
+			regulator-always-on;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+};
+
+// dma-controller
+&gpi_dma0 {
+	status = "okay";
+};
+
+&gpi_dma1 {
+	status = "okay";
+};
+
+
+// i2c
+&i2c0 { // QPS615_I2C
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+&i2c1 { // I2C_GP
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+&i2c2 { // I2C_PM
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+
+&i2c4 { // TPM_I2C
+	status = "okay";
+};
+
+&i2c13 { // TS_I2C
+	clock-frequency = <100000>;
+	status = "okay";
+};
+
+// GENI Serial Engine QUP Wrapper Controller
+// (parent of all serial interfaces)
+&qupv3_id_0 {
+	status = "okay";
+};
+
+&qupv3_id_1 {
+	status = "okay";
+};
+
+// remote processors
+/*
+&remoteproc_adsp {
+	firmware-name = "qcom/qcs6490/adsp.mdt";
+	status = "okay";
+};
+
+&remoteproc_cdsp {
+	firmware-name = "qcom/qcs6490/cdsp.mdt";
+	status = "okay";
+};
+
+&remoteproc_mpss {
+	firmware-name = "qcom/qcs6490/modem.mdt";
+	status = "okay";
+};
+
+&remoteproc_wpss {
+	firmware-name = "qcom/qcs6490/wpss.mdt";
+	status = "okay";
+};
+*/
+
+// eMMC
+&sdhc_1 {
+	///delete-property/pinctrl-names;
+	///delete-property/pinctrl-0;
+	///delete-property/pinctrl-1;
+
+	non-removable;
+	//no-sd;
+	//no-sdio;
+
+	vmmc-supply = <&vreg_l7b_2p952>;
+	vqmmc-supply = <&vreg_l19b_1p8>;
+
+	status = "okay";
+};
+
+// uarts
+&uart6 { // SER0
+	status = "okay";
+};
+
+&uart5 { // SER1
+	status = "okay";
+};
+
+&uart10 { // SER2
+	status = "okay";
+};
+
+&uart9 { // SER3
+	compatible = "qcom,geni-uart";
+	pinctrl-names = "default";
+	pinctrl-0 = <&qup_uart9_tx>, <&qup_uart9_rx>;
+
+	status = "okay";
+};
+
+
+&ufs_mem_hc {
+	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
+	vcc-supply = <&vreg_l7b_2p952>;
+	vcc-max-microamp = <800000>;
+	vccq-supply = <&vreg_l9b_1p2>;
+	vccq-max-microamp = <900000>;
+	vccq2-supply = <&vreg_l9b_1p2>;
+	vccq2-max-microamp = <900000>;
+
+	status = "okay";
+};
+
+&ufs_mem_phy {
+	vdda-phy-supply = <&vreg_l9b_1p2>;
+	vdda-pll-supply = <&vreg_l6b_1p2>;
+
+	status = "okay";
+};
+
+// children of i2c2 (I2C_PM)
+&i2c2 {
+	stm32: stm32@40 {
+		reg = <0x40>;
+		compatible = "seco,stm32";
+		gpio-controller;
+		#gpio-cells = <2>;
+		ngpios =/bits/ 16  <STM32_NGPIOS>;
+
+		status = "okay";
+	};
+};
+
+#endif
diff --git a/arch/arm64/boot/dts/seco/include/qcs6490-pinfunc.h b/arch/arm64/boot/dts/seco/include/qcs6490-pinfunc.h
new file mode 100644
index 0000000000000000000000000000000000000000..99d40597487fb1f950fda48fca6008406dc992e3
--- /dev/null
+++ b/arch/arm64/boot/dts/seco/include/qcs6490-pinfunc.h
@@ -0,0 +1,11 @@
+
+#ifndef QCS6490_PINFUNC_H
+#define QCS6490_PINFUNC_H
+
+#define STM32_NGPIOS 30
+
+#define LCD0_VDD_EN &stm32 24
+#define LCD0_BKLT_EN &pm8350c_gpios 7
+#define LCD0_BKLT_PWM &pm8350c_pwm 3
+
+#endif