0001 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
0002 /*
0003 * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
0004 * Copyright (c) 2020 Engicam srl
0005 * Copyright (c) 2020 Amarula Solutons(India)
0006 */
0007
0008 /dts-v1/;
0009 #include "stm32mp157.dtsi"
0010 #include "stm32mp157a-microgea-stm32mp1.dtsi"
0011 #include "stm32mp15-pinctrl.dtsi"
0012 #include "stm32mp15xxaa-pinctrl.dtsi"
0013 #include <dt-bindings/gpio/gpio.h>
0014
0015 / {
0016 model = "Engicam MicroGEA STM32MP1 MicroDev 2.0 7\" Open Frame";
0017 compatible = "engicam,microgea-stm32mp1-microdev2.0-of7",
0018 "engicam,microgea-stm32mp1", "st,stm32mp157";
0019
0020 aliases {
0021 serial0 = &uart4;
0022 serial1 = &uart8;
0023 };
0024
0025 chosen {
0026 stdout-path = "serial0:115200n8";
0027 };
0028
0029 backlight: backlight {
0030 compatible = "gpio-backlight";
0031 gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>;
0032 default-on;
0033 };
0034
0035 lcd_3v3: regulator-lcd-3v3 {
0036 compatible = "regulator-fixed";
0037 regulator-name = "lcd_3v3";
0038 regulator-min-microvolt = <3300000>;
0039 regulator-max-microvolt = <3300000>;
0040 gpio = <&gpiof 10 GPIO_ACTIVE_HIGH>;
0041 enable-active-high;
0042 regulator-always-on;
0043 power-supply = <&panel_pwr>;
0044 };
0045
0046 panel_pwr: regulator-panel-pwr {
0047 compatible = "regulator-fixed";
0048 regulator-name = "panel_pwr";
0049 regulator-min-microvolt = <3300000>;
0050 regulator-max-microvolt = <3300000>;
0051 gpio = <&gpiob 10 GPIO_ACTIVE_HIGH>;
0052 regulator-always-on;
0053 };
0054
0055 panel {
0056 compatible = "auo,b101aw03";
0057 backlight = <&backlight>;
0058 enable-gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>;
0059 power-supply = <&lcd_3v3>;
0060
0061 port {
0062 panel_in: endpoint {
0063 remote-endpoint = <<dc_ep0_out>;
0064 };
0065 };
0066 };
0067 };
0068
0069 &i2c2 {
0070 i2c-scl-falling-time-ns = <20>;
0071 i2c-scl-rising-time-ns = <185>;
0072 pinctrl-names = "default", "sleep";
0073 pinctrl-0 = <&i2c2_pins_a>;
0074 pinctrl-1 = <&i2c2_sleep_pins_a>;
0075 status = "okay";
0076 };
0077
0078 <dc {
0079 pinctrl-names = "default";
0080 pinctrl-0 = <<dc_pins>;
0081 status = "okay";
0082
0083 port {
0084 ltdc_ep0_out: endpoint@0 {
0085 reg = <0>;
0086 remote-endpoint = <&panel_in>;
0087 };
0088 };
0089 };
0090
0091 &pinctrl {
0092 ltdc_pins: ltdc-0 {
0093 pins {
0094 pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
0095 <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
0096 <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */
0097 <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
0098 <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */
0099 <STM32_PINMUX('E', 5, AF14)>, /* LTDC_G0 */
0100 <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */
0101 <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
0102 <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
0103 <STM32_PINMUX('G', 7, AF14)>, /* LTDC_CLK */
0104 <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
0105 <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */
0106 <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */
0107 <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */
0108 <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */
0109 <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
0110 <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
0111 <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
0112 <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
0113 <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */
0114 <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */
0115 <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */
0116 <STM32_PINMUX('I', 4, AF14)>, /* LTDC_B4 */
0117 <STM32_PINMUX('I', 5, AF14)>, /* LTDC_B5 */
0118 <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */
0119 <STM32_PINMUX('I', 7, AF14)>, /* LTDC_B7 */
0120 <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */
0121 <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
0122 bias-disable;
0123 drive-push-pull;
0124 slew-rate = <3>;
0125 };
0126 };
0127 };
0128
0129 &sdmmc1 {
0130 bus-width = <4>;
0131 disable-wp;
0132 pinctrl-names = "default", "opendrain", "sleep";
0133 pinctrl-0 = <&sdmmc1_b4_pins_a>;
0134 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
0135 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
0136 st,neg-edge;
0137 vmmc-supply = <&vdd>;
0138 status = "okay";
0139 };
0140
0141 &uart4 {
0142 pinctrl-names = "default", "sleep", "idle";
0143 pinctrl-0 = <&uart4_pins_a>;
0144 pinctrl-1 = <&uart4_sleep_pins_a>;
0145 pinctrl-2 = <&uart4_idle_pins_a>;
0146 /delete-property/dmas;
0147 /delete-property/dma-names;
0148 status = "okay";
0149 };
0150
0151 /* J31: RS323 */
0152 &uart8 {
0153 pinctrl-names = "default";
0154 pinctrl-0 = <&uart8_pins_a>;
0155 /delete-property/dmas;
0156 /delete-property/dma-names;
0157 status = "okay";
0158 };