Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / stm32mp157c-lxa-mc1.dts
1 /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */
2 /*
3  * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
4  * Copyright (C) 2020 Ahmad Fatoum, Pengutronix
5  */
6
7 /dts-v1/;
8
9 #include "stm32mp157.dtsi"
10 #include "stm32mp15xx-osd32.dtsi"
11 #include "stm32mp15xxac-pinctrl.dtsi"
12
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/pwm/pwm.h>
15
16 / {
17         model = "Linux Automation MC-1 board";
18         compatible = "lxa,stm32mp157c-mc1", "oct,stm32mp15xx-osd32", "st,stm32mp157";
19
20         aliases {
21                 ethernet0 = &ethernet0;
22                 mmc0 = &sdmmc1;
23                 mmc1 = &sdmmc2;
24                 serial0 = &uart4;
25         };
26
27         backlight: backlight {
28                 compatible = "pwm-backlight";
29                 pwms = <&backlight_pwm 1 100000 PWM_POLARITY_INVERTED>;
30                 brightness-levels = <0 31 63 95 127 159 191 223 255>;
31                 default-brightness-level = <7>;
32                 power-supply = <&reg_5v2>; /* 3V3_BACKLIGHT */
33         };
34
35         chosen {
36                 stdout-path = &uart4;
37         };
38
39         led-act {
40                 compatible = "gpio-leds";
41
42                 led-green {
43                         label = "mc1:green:act";
44                         gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
45                         linux,default-trigger = "heartbeat";
46                 };
47         };
48
49         led-rgb {
50                 compatible = "pwm-leds";
51
52                 led-red {
53                         label = "mc1:red:rgb";
54                         pwms = <&leds_pwm 1 1000000 0>;
55                         max-brightness = <255>;
56                         active-low;
57                 };
58
59                 led-green {
60                         label = "mc1:green:rgb";
61                         pwms = <&leds_pwm 2 1000000 0>;
62                         max-brightness = <255>;
63                         active-low;
64                 };
65
66                 led-blue {
67                         label = "mc1:blue:rgb";
68                         pwms = <&leds_pwm 3 1000000 0>;
69                         max-brightness = <255>;
70                         active-low;
71                 };
72         };
73
74         panel: panel {
75                 compatible = "edt,etm0700g0edh6", "simple-panel";
76                 backlight = <&backlight>;
77                 enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>;
78                 power-supply = <&reg_3v3>;
79
80                 port {
81                         panel_input: endpoint {
82                                 remote-endpoint = <&ltdc_ep0_out>;
83                         };
84                 };
85         };
86
87         reg_3v3: regulator_3v3 {
88                 compatible = "regulator-fixed";
89                 regulator-name = "3V3";
90                 regulator-min-microvolt = <3300000>;
91                 regulator-max-microvolt = <3300000>;
92                 regulator-always-on;
93                 vin-supply = <&v3v3>;
94         };
95
96         /* supplied by either debug board or PoE */
97         reg_5v2: regulator_5v2 {
98                 compatible = "regulator-fixed";
99                 regulator-name = "5V2";
100                 regulator-min-microvolt = <5200000>;
101                 regulator-max-microvolt = <5200000>;
102                 regulator-always-on;
103         };
104 };
105
106 &ethernet0 {
107         pinctrl-names = "default", "sleep";
108         pinctrl-0 = <&ethernet0_rgmii_pins_b>;
109         pinctrl-1 = <&ethernet0_rgmii_sleep_pins_b>;
110         phy-mode = "rgmii-id";
111         phy-handle = <&ethphy>;
112         status = "okay";
113
114         mdio0 {
115                 compatible = "snps,dwmac-mdio";
116                 #address-cells = <1>;
117                 #size-cells = <0>;
118
119                 ethphy: ethernet-phy@3 { /* KSZ9031RN */
120                         reg = <3>;
121                         reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */
122                         interrupt-parent = <&gpioa>;
123                         interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */
124                         reset-assert-us = <10000>;
125                         reset-deassert-us = <300>;
126                         micrel,force-master;
127                 };
128         };
129 };
130
131 &gpioz {
132         gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "",
133                           "HWID4", "HWID5";
134 };
135
136 &i2c5 {
137         pinctrl-names = "default", "sleep";
138         pinctrl-0 = <&i2c5_pins_b>;
139         pinctrl-1 = <&i2c5_sleep_pins_b>;
140         clock-frequency = <400000>;
141         status = "okay";
142
143         touchscreen@38 {
144                 compatible = "edt,edt-ft5x06";
145                 interrupt-parent = <&gpiod>;
146                 interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */
147                 vcc-supply = <&reg_3v3>;
148                 reg = <0x38>;
149                 reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */
150                 touchscreen-size-x = <1792>;
151                 touchscreen-size-y = <1024>;
152                 wakeup-source;
153         };
154 };
155
156 &ltdc {
157         pinctrl-names = "default", "sleep";
158         pinctrl-0 = <&ltdc_pins_c>;
159         pinctrl-1 = <&ltdc_sleep_pins_c>;
160         status = "okay";
161
162         port {
163                 ltdc_ep0_out: endpoint@0 {
164                         reg = <0>;
165                         remote-endpoint = <&panel_input>;
166                 };
167         };
168 };
169
170 &pmic {
171         regulators {
172                 buck4-supply = <&reg_5v2>;      /* VIN */
173                 ldo2-supply = <&reg_5v2>;       /* PMIC_LDO25IN */
174                 ldo5-supply = <&reg_5v2>;       /* PMIC_LDO25IN */
175                 boost-supply = <&reg_5v2>;      /* PMIC_BSTIN */
176                 pwr_sw2-supply = <&bst_out>;    /* PMIC_SWIN */
177         };
178 };
179
180 &sdmmc1 {
181         pinctrl-names = "default", "opendrain", "sleep";
182         pinctrl-0 = <&sdmmc1_b4_pins_a>;
183         pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
184         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
185         bus-width = <4>;
186         cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
187         disable-wp;
188         no-1-8-v;
189         st,neg-edge;
190         vmmc-supply = <&reg_3v3>;
191         status = "okay";
192 };
193
194 &sdmmc1_b4_pins_a {
195         /*
196          * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to
197          * work, thus enable internal pull-ups.
198          */
199         pins1 {
200                 /delete-property/ bias-disable;
201                 bias-pull-up;
202         };
203         pins2 {
204                 /delete-property/ bias-disable;
205                 bias-pull-up;
206         };
207 };
208
209 &sdmmc2 {
210         pinctrl-names = "default", "opendrain", "sleep";
211         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>;
212         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>;
213         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>;
214         bus-width = <8>;
215         mmc-ddr-3_3v;
216         no-1-8-v;
217         no-sd;
218         no-sdio;
219         non-removable;
220         st,neg-edge;
221         vmmc-supply = <&reg_3v3>;
222         status = "okay";
223 };
224
225 &timers3 {
226         status = "okay";
227
228         backlight_pwm: pwm {
229                 pinctrl-names = "default", "sleep";
230                 pinctrl-0 = <&pwm3_pins_b>;
231                 pinctrl-1 = <&pwm3_sleep_pins_b>;
232                 status = "okay";
233         };
234 };
235
236 &timers5 {
237         status = "okay";
238
239         leds_pwm: pwm {
240                 pinctrl-names = "default", "sleep";
241                 pinctrl-0 = <&pwm5_pins_b>;
242                 pinctrl-1 = <&pwm5_sleep_pins_b>;
243                 status = "okay";
244         };
245 };
246
247 &uart4 {
248         pinctrl-names = "default";
249         pinctrl-0 = <&uart4_pins_a>;
250         status = "okay";
251 };