diff --git a/arch/arm64/boot/dts/seco/seco-imx8mp-d18.dts b/arch/arm64/boot/dts/seco/seco-imx8mp-d18.dts
index 22aeae4d8fa343f426a4c97e4a2d25a8f6eff290..2d727742dd3071ac433bb392758e070f8cd801b5 100644
--- a/arch/arm64/boot/dts/seco/seco-imx8mp-d18.dts
+++ b/arch/arm64/boot/dts/seco/seco-imx8mp-d18.dts
@@ -8,6 +8,7 @@
 #include <dt-bindings/usb/pd.h>
 #include "include/imx8mp.dtsi"
 #include "dt-bindings/net/ti-dp83867.h"
+#include "dt-bindings/seco/ectrl_stm32.h"
 
 / {
 	model = "SECO i.MX8MPlus LPDDR4 D18 board";
@@ -232,10 +233,46 @@ &i2c1 {
 	pinctrl-0 = <&pinctrl_i2c1>;
 	status = "okay";
 
+	econtroller: ectrl@40 {
+		compatible       = "seco,ectrl-stm32";
+		reg              = <0x40>;
+
+		board-id         = "D18";
+
+		interrupt-parent = <&gpio4>;
+		interrupts       = <2 0>;
+
+		//rb-poff-gpio     = "-1";
+
+		ectrl,input;
+
+		events = <ECTRL_EVNT_FAIL_BV
+		          ECTRL_EVNT_FAIL_WD
+		          ECTRL_EVNT_BATLOW_SIGNAL
+		          ECTRL_EVNT_SLEEP_SIGNAL
+		          ECTRL_EVNT_LID_SIGNAL
+		          ECTRL_EVNT_PWR_BUTTON
+		          ECTRL_EVNT_FAIL_PWGIN
+		          ECTRL_EVNT_WAKE_EN>;
+
+		boot_device {
+			bootdev@0 {
+				id    = <ECTRL_BOOTDEV_EMMC>;
+				label = "on board eMMC";
+			};
+
+			bootdev@1 {
+				id    = <ECTRL_BOOTDEV_SPI>;
+				label = "external uSD";
+			};
+		};
+	};
+
 	pmic: pca9450@25 {
 		reg = <0x25>;
 		compatible = "nxp,pca9450c";
 		/* PMIC PCA9450 PMIC_nINT GPIO1_IO3 */
+		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_pmic>;
 		interrupt-parent = <&gpio1>;
 		interrupts = <3 GPIO_ACTIVE_LOW>;
@@ -637,6 +674,9 @@ MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC		0x40000019
 
 			/* GPIO expander 0x20 */
 			MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07		0x40000
+			/* eCtrl  */
+			MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02		0x0
+			MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00		0x0
 			/* GPIOs and USB OC */
 			MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19		0x0 /* USB0_EN_OC#_1V8_IN */
 		>;