blob: 5116a77852013ec387151daeb8df91b31a7e57c8 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
4 * Copyright (c) 2020 Engicam srl
5 * Copyright (c) 2020 Amarula Solutions(India)
6 */
7
8/dts-v1/;
9#include "stm32mp157.dtsi"
10#include "stm32mp157a-microgea-stm32mp1.dtsi"
11#include "stm32mp15-pinctrl.dtsi"
12#include "stm32mp15xxaa-pinctrl.dtsi"
13#include <dt-bindings/gpio/gpio.h>
14
15/ {
16 model = "Engicam MicroGEA STM32MP1 MicroDev 2.0 7\" Open Frame";
17 compatible = "engicam,microgea-stm32mp1-microdev2.0-of7",
18 "engicam,microgea-stm32mp1", "st,stm32mp157";
19
20 aliases {
21 serial0 = &uart4;
22 serial1 = &uart8;
23 };
24
25 chosen {
26 stdout-path = "serial0:115200n8";
27 };
28
29 backlight: backlight {
30 compatible = "gpio-backlight";
31 gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>;
32 default-on;
33 };
34
35 lcd_3v3: regulator-lcd-3v3 {
36 compatible = "regulator-fixed";
37 regulator-name = "lcd_3v3";
38 regulator-min-microvolt = <3300000>;
39 regulator-max-microvolt = <3300000>;
40 gpio = <&gpiof 10 GPIO_ACTIVE_HIGH>;
41 enable-active-high;
42 regulator-always-on;
43 power-supply = <&panel_pwr>;
44 };
45
46 panel_pwr: regulator-panel-pwr {
47 compatible = "regulator-fixed";
48 regulator-name = "panel_pwr";
49 regulator-min-microvolt = <3300000>;
50 regulator-max-microvolt = <3300000>;
51 gpio = <&gpiob 10 GPIO_ACTIVE_HIGH>;
52 regulator-always-on;
53 };
54
55 panel {
56 compatible = "auo,b101aw03";
57 backlight = <&backlight>;
58 enable-gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>;
59 power-supply = <&lcd_3v3>;
60
61 port {
62 panel_in: endpoint {
63 remote-endpoint = <&ltdc_ep0_out>;
64 };
65 };
66 };
67};
68
69&i2c2 {
70 i2c-scl-falling-time-ns = <20>;
71 i2c-scl-rising-time-ns = <185>;
72 pinctrl-names = "default", "sleep";
73 pinctrl-0 = <&i2c2_pins_a>;
74 pinctrl-1 = <&i2c2_sleep_pins_a>;
75 status = "okay";
76};
77
78&ltdc {
79 pinctrl-names = "default";
80 pinctrl-0 = <&ltdc_pins>;
81 status = "okay";
82
83 port {
84 ltdc_ep0_out: endpoint {
85 remote-endpoint = <&panel_in>;
86 };
87 };
88};
89
90&pinctrl {
91 ltdc_pins: ltdc-0 {
92 pins {
93 pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
94 <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
95 <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */
96 <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
97 <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */
98 <STM32_PINMUX('E', 5, AF14)>, /* LTDC_G0 */
99 <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */
100 <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
101 <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
102 <STM32_PINMUX('G', 7, AF14)>, /* LTDC_CLK */
103 <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
104 <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */
105 <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */
106 <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */
107 <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */
108 <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
109 <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
110 <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
111 <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
112 <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */
113 <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */
114 <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */
115 <STM32_PINMUX('I', 4, AF14)>, /* LTDC_B4 */
116 <STM32_PINMUX('I', 5, AF14)>, /* LTDC_B5 */
117 <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */
118 <STM32_PINMUX('I', 7, AF14)>, /* LTDC_B7 */
119 <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */
120 <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
121 bias-disable;
122 drive-push-pull;
123 slew-rate = <3>;
124 };
125 };
126};
127
128&sdmmc1 {
129 bus-width = <4>;
130 disable-wp;
131 pinctrl-names = "default", "opendrain", "sleep";
132 pinctrl-0 = <&sdmmc1_b4_pins_a>;
133 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
134 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
135 st,neg-edge;
136 vmmc-supply = <&vdd>;
137 status = "okay";
138};
139
140&uart4 {
141 pinctrl-names = "default", "sleep", "idle";
142 pinctrl-0 = <&uart4_pins_a>;
143 pinctrl-1 = <&uart4_sleep_pins_a>;
144 pinctrl-2 = <&uart4_idle_pins_a>;
145 /delete-property/dmas;
146 /delete-property/dma-names;
147 status = "okay";
148};
149
150/* J31: RS323 */
151&uart8 {
152 pinctrl-names = "default";
153 pinctrl-0 = <&uart8_pins_a>;
154 /delete-property/dmas;
155 /delete-property/dma-names;
156 status = "okay";
157};