162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) STMicroelectronics 2019 - All Rights Reserved 462306a36Sopenharmony_ci * Copyright (c) 2020 Engicam srl 562306a36Sopenharmony_ci * Copyright (c) 2020 Amarula Solutions(India) 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci#include "stm32mp157.dtsi" 1062306a36Sopenharmony_ci#include "stm32mp157a-microgea-stm32mp1.dtsi" 1162306a36Sopenharmony_ci#include "stm32mp15-pinctrl.dtsi" 1262306a36Sopenharmony_ci#include "stm32mp15xxaa-pinctrl.dtsi" 1362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/ { 1662306a36Sopenharmony_ci model = "Engicam MicroGEA STM32MP1 MicroDev 2.0 7\" Open Frame"; 1762306a36Sopenharmony_ci compatible = "engicam,microgea-stm32mp1-microdev2.0-of7", 1862306a36Sopenharmony_ci "engicam,microgea-stm32mp1", "st,stm32mp157"; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci aliases { 2162306a36Sopenharmony_ci serial0 = &uart4; 2262306a36Sopenharmony_ci serial1 = &uart8; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci chosen { 2662306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci backlight: backlight { 3062306a36Sopenharmony_ci compatible = "gpio-backlight"; 3162306a36Sopenharmony_ci gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>; 3262306a36Sopenharmony_ci default-on; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci lcd_3v3: regulator-lcd-3v3 { 3662306a36Sopenharmony_ci compatible = "regulator-fixed"; 3762306a36Sopenharmony_ci regulator-name = "lcd_3v3"; 3862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 3962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 4062306a36Sopenharmony_ci gpio = <&gpiof 10 GPIO_ACTIVE_HIGH>; 4162306a36Sopenharmony_ci enable-active-high; 4262306a36Sopenharmony_ci regulator-always-on; 4362306a36Sopenharmony_ci power-supply = <&panel_pwr>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci panel_pwr: regulator-panel-pwr { 4762306a36Sopenharmony_ci compatible = "regulator-fixed"; 4862306a36Sopenharmony_ci regulator-name = "panel_pwr"; 4962306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 5062306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 5162306a36Sopenharmony_ci gpio = <&gpiob 10 GPIO_ACTIVE_HIGH>; 5262306a36Sopenharmony_ci regulator-always-on; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci panel { 5662306a36Sopenharmony_ci compatible = "auo,b101aw03"; 5762306a36Sopenharmony_ci backlight = <&backlight>; 5862306a36Sopenharmony_ci enable-gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>; 5962306a36Sopenharmony_ci power-supply = <&lcd_3v3>; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci port { 6262306a36Sopenharmony_ci panel_in: endpoint { 6362306a36Sopenharmony_ci remote-endpoint = <<dc_ep0_out>; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci&i2c2 { 7062306a36Sopenharmony_ci i2c-scl-falling-time-ns = <20>; 7162306a36Sopenharmony_ci i2c-scl-rising-time-ns = <185>; 7262306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 7362306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins_a>; 7462306a36Sopenharmony_ci pinctrl-1 = <&i2c2_sleep_pins_a>; 7562306a36Sopenharmony_ci status = "okay"; 7662306a36Sopenharmony_ci}; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci<dc { 7962306a36Sopenharmony_ci pinctrl-names = "default"; 8062306a36Sopenharmony_ci pinctrl-0 = <<dc_pins>; 8162306a36Sopenharmony_ci status = "okay"; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci port { 8462306a36Sopenharmony_ci ltdc_ep0_out: endpoint { 8562306a36Sopenharmony_ci remote-endpoint = <&panel_in>; 8662306a36Sopenharmony_ci }; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci}; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci&pinctrl { 9162306a36Sopenharmony_ci ltdc_pins: ltdc-0 { 9262306a36Sopenharmony_ci pins { 9362306a36Sopenharmony_ci pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */ 9462306a36Sopenharmony_ci <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */ 9562306a36Sopenharmony_ci <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */ 9662306a36Sopenharmony_ci <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */ 9762306a36Sopenharmony_ci <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */ 9862306a36Sopenharmony_ci <STM32_PINMUX('E', 5, AF14)>, /* LTDC_G0 */ 9962306a36Sopenharmony_ci <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */ 10062306a36Sopenharmony_ci <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */ 10162306a36Sopenharmony_ci <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */ 10262306a36Sopenharmony_ci <STM32_PINMUX('G', 7, AF14)>, /* LTDC_CLK */ 10362306a36Sopenharmony_ci <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */ 10462306a36Sopenharmony_ci <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */ 10562306a36Sopenharmony_ci <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */ 10662306a36Sopenharmony_ci <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */ 10762306a36Sopenharmony_ci <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */ 10862306a36Sopenharmony_ci <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */ 10962306a36Sopenharmony_ci <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */ 11062306a36Sopenharmony_ci <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */ 11162306a36Sopenharmony_ci <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */ 11262306a36Sopenharmony_ci <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */ 11362306a36Sopenharmony_ci <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */ 11462306a36Sopenharmony_ci <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */ 11562306a36Sopenharmony_ci <STM32_PINMUX('I', 4, AF14)>, /* LTDC_B4 */ 11662306a36Sopenharmony_ci <STM32_PINMUX('I', 5, AF14)>, /* LTDC_B5 */ 11762306a36Sopenharmony_ci <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */ 11862306a36Sopenharmony_ci <STM32_PINMUX('I', 7, AF14)>, /* LTDC_B7 */ 11962306a36Sopenharmony_ci <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */ 12062306a36Sopenharmony_ci <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */ 12162306a36Sopenharmony_ci bias-disable; 12262306a36Sopenharmony_ci drive-push-pull; 12362306a36Sopenharmony_ci slew-rate = <3>; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci}; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci&sdmmc1 { 12962306a36Sopenharmony_ci bus-width = <4>; 13062306a36Sopenharmony_ci disable-wp; 13162306a36Sopenharmony_ci pinctrl-names = "default", "opendrain", "sleep"; 13262306a36Sopenharmony_ci pinctrl-0 = <&sdmmc1_b4_pins_a>; 13362306a36Sopenharmony_ci pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 13462306a36Sopenharmony_ci pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 13562306a36Sopenharmony_ci st,neg-edge; 13662306a36Sopenharmony_ci vmmc-supply = <&vdd>; 13762306a36Sopenharmony_ci status = "okay"; 13862306a36Sopenharmony_ci}; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci&uart4 { 14162306a36Sopenharmony_ci pinctrl-names = "default", "sleep", "idle"; 14262306a36Sopenharmony_ci pinctrl-0 = <&uart4_pins_a>; 14362306a36Sopenharmony_ci pinctrl-1 = <&uart4_sleep_pins_a>; 14462306a36Sopenharmony_ci pinctrl-2 = <&uart4_idle_pins_a>; 14562306a36Sopenharmony_ci /delete-property/dmas; 14662306a36Sopenharmony_ci /delete-property/dma-names; 14762306a36Sopenharmony_ci status = "okay"; 14862306a36Sopenharmony_ci}; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci/* J31: RS323 */ 15162306a36Sopenharmony_ci&uart8 { 15262306a36Sopenharmony_ci pinctrl-names = "default"; 15362306a36Sopenharmony_ci pinctrl-0 = <&uart8_pins_a>; 15462306a36Sopenharmony_ci /delete-property/dmas; 15562306a36Sopenharmony_ci /delete-property/dma-names; 15662306a36Sopenharmony_ci status = "okay"; 15762306a36Sopenharmony_ci}; 158