blob: 5670b23812a2165a2ef12a537f300b22e7679473 [file] [log] [blame]
Jagan Teki46f44b52021-03-16 21:52:07 +05301// 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 Solutons(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@0 {
85 reg = <0>;
86 remote-endpoint = <&panel_in>;
87 };
88 };
89};
90
91&pinctrl {
Patrick Delaunayb22fa9d2021-07-27 12:15:12 +020092 ltdc_pins: ltdc-0 {
Jagan Teki46f44b52021-03-16 21:52:07 +053093 pins {
94 pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
95 <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
96 <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */
97 <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
98 <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */
99 <STM32_PINMUX('E', 5, AF14)>, /* LTDC_G0 */
100 <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */
101 <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
102 <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
103 <STM32_PINMUX('G', 7, AF14)>, /* LTDC_CLK */
104 <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
105 <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */
106 <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */
107 <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */
108 <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */
109 <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
110 <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
111 <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
112 <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
113 <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */
114 <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */
115 <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */
116 <STM32_PINMUX('I', 4, AF14)>, /* LTDC_B4 */
117 <STM32_PINMUX('I', 5, AF14)>, /* LTDC_B5 */
118 <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */
119 <STM32_PINMUX('I', 7, AF14)>, /* LTDC_B7 */
120 <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */
121 <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
122 bias-disable;
123 drive-push-pull;
124 slew-rate = <3>;
125 };
126 };
127};
128
129&sdmmc1 {
130 bus-width = <4>;
131 disable-wp;
132 pinctrl-names = "default", "opendrain", "sleep";
133 pinctrl-0 = <&sdmmc1_b4_pins_a>;
134 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
135 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
136 st,neg-edge;
137 vmmc-supply = <&vdd>;
138 status = "okay";
139};
140
141&uart4 {
142 pinctrl-names = "default", "sleep", "idle";
143 pinctrl-0 = <&uart4_pins_a>;
144 pinctrl-1 = <&uart4_sleep_pins_a>;
145 pinctrl-2 = <&uart4_idle_pins_a>;
146 status = "okay";
147};
148
149/* J31: RS323 */
150&uart8 {
151 pinctrl-names = "default";
152 pinctrl-0 = <&uart8_pins_a>;
153 status = "okay";
154};