--- /dev/null
+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
+/*
+ * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
+ * Copyright (c) 2020 Engicam srl
+ * Copyright (c) 2020 Amarula Solutons(India)
+ */
+
+/dts-v1/;
+#include "stm32mp157.dtsi"
+#include "stm32mp157a-microgea-stm32mp1.dtsi"
+#include "stm32mp15-pinctrl.dtsi"
+#include "stm32mp15xxaa-pinctrl.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "Engicam MicroGEA STM32MP1 MicroDev 2.0 7\" Open Frame";
+       compatible = "engicam,microgea-stm32mp1-microdev2.0-of7",
+                    "engicam,microgea-stm32mp1", "st,stm32mp157";
+
+       aliases {
+               serial0 = &uart4;
+               serial1 = &uart8;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       backlight: backlight {
+               compatible = "gpio-backlight";
+               gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>;
+               default-on;
+       };
+
+       lcd_3v3: regulator-lcd-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "lcd_3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpiof 10 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-always-on;
+               power-supply = <&panel_pwr>;
+       };
+
+       panel_pwr: regulator-panel-pwr {
+               compatible = "regulator-fixed";
+               regulator-name = "panel_pwr";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpiob 10 GPIO_ACTIVE_HIGH>;
+               regulator-always-on;
+       };
+
+       panel {
+               compatible = "auo,b101aw03";
+               backlight = <&backlight>;
+               enable-gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>;
+               power-supply = <&lcd_3v3>;
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <<dc_ep0_out>;
+                       };
+               };
+       };
+};
+
+&i2c2 {
+       i2c-scl-falling-time-ns = <20>;
+       i2c-scl-rising-time-ns = <185>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&i2c2_pins_a>;
+       pinctrl-1 = <&i2c2_sleep_pins_a>;
+       status = "okay";
+};
+
+<dc {
+       pinctrl-names = "default";
+       pinctrl-0 = <<dc_pins>;
+       status = "okay";
+
+       port {
+               ltdc_ep0_out: endpoint@0 {
+                       reg = <0>;
+                       remote-endpoint = <&panel_in>;
+               };
+       };
+};
+
+&pinctrl {
+       ltdc_pins: ltdc {
+               pins {
+                       pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
+                                <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
+                                <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */
+                                <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
+                                <STM32_PINMUX('D', 9, AF14)>,  /* LTDC_B0 */
+                                <STM32_PINMUX('E', 5, AF14)>,  /* LTDC_G0 */
+                                <STM32_PINMUX('E', 6, AF14)>,  /* LTDC_G1 */
+                                <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
+                                <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
+                                <STM32_PINMUX('G', 7, AF14)>,  /* LTDC_CLK */
+                                <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
+                                <STM32_PINMUX('H', 2, AF14)>,  /* LTDC_R0 */
+                                <STM32_PINMUX('H', 3, AF14)>,  /* LTDC_R1 */
+                                <STM32_PINMUX('H', 8, AF14)>,  /* LTDC_R2 */
+                                <STM32_PINMUX('H', 9, AF14)>,  /* LTDC_R3 */
+                                <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
+                                <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
+                                <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
+                                <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
+                                <STM32_PINMUX('I', 0, AF14)>,  /* LTDC_G5 */
+                                <STM32_PINMUX('I', 1, AF14)>,  /* LTDC_G6 */
+                                <STM32_PINMUX('I', 2, AF14)>,  /* LTDC_G7 */
+                                <STM32_PINMUX('I', 4, AF14)>,  /* LTDC_B4 */
+                                <STM32_PINMUX('I', 5, AF14)>,  /* LTDC_B5 */
+                                <STM32_PINMUX('B', 8, AF14)>,  /* LTDC_B6 */
+                                <STM32_PINMUX('I', 7, AF14)>,  /* LTDC_B7 */
+                                <STM32_PINMUX('I', 9, AF14)>,  /* LTDC_VSYNC */
+                                <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
+                       bias-disable;
+                       drive-push-pull;
+                       slew-rate = <3>;
+               };
+       };
+};
+
+&sdmmc1 {
+       bus-width = <4>;
+       disable-wp;
+       pinctrl-names = "default", "opendrain", "sleep";
+       pinctrl-0 = <&sdmmc1_b4_pins_a>;
+       pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
+       pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
+       st,neg-edge;
+       vmmc-supply = <&vdd>;
+       status = "okay";
+};
+
+&uart4 {
+       pinctrl-names = "default", "sleep", "idle";
+       pinctrl-0 = <&uart4_pins_a>;
+       pinctrl-1 = <&uart4_sleep_pins_a>;
+       pinctrl-2 = <&uart4_idle_pins_a>;
+       status = "okay";
+};
+
+/* J31: RS323 */
+&uart8 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart8_pins_a>;
+       status = "okay";
+};