ARM: dts: stm32mp1: sync device tree with v5.2-rc4
[oweals/u-boot.git] / arch / arm / dts / stm32mp157a-dk1.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
4  * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics.
5  */
6
7 /dts-v1/;
8
9 #include "stm32mp157c.dtsi"
10 #include "stm32mp157-pinctrl.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/mfd/st,stpmic1.h>
13
14 / {
15         model = "STMicroelectronics STM32MP157A-DK1 Discovery Board";
16         compatible = "st,stm32mp157a-dk1", "st,stm32mp157";
17
18         aliases {
19                 ethernet0 = &ethernet0;
20                 serial0 = &uart4;
21         };
22
23         chosen {
24                 stdout-path = "serial0:115200n8";
25         };
26
27         memory@c0000000 {
28                 reg = <0xc0000000 0x20000000>;
29         };
30
31         led {
32                 compatible = "gpio-leds";
33                 blue {
34                         label = "heartbeat";
35                         gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
36                         linux,default-trigger = "heartbeat";
37                         default-state = "off";
38                 };
39         };
40 };
41
42 &cec {
43         pinctrl-names = "default", "sleep";
44         pinctrl-0 = <&cec_pins_b>;
45         pinctrl-1 = <&cec_pins_sleep_b>;
46         status = "okay";
47 };
48
49 &ethernet0 {
50         status = "okay";
51         pinctrl-0 = <&ethernet0_rgmii_pins_a>;
52         pinctrl-1 = <&ethernet0_rgmii_pins_sleep_a>;
53         pinctrl-names = "default", "sleep";
54         phy-mode = "rgmii-id";
55         max-speed = <1000>;
56         phy-handle = <&phy0>;
57
58         mdio0 {
59                 #address-cells = <1>;
60                 #size-cells = <0>;
61                 compatible = "snps,dwmac-mdio";
62                 phy0: ethernet-phy@0 {
63                         reg = <0>;
64                 };
65         };
66 };
67
68
69 &i2c4 {
70         pinctrl-names = "default";
71         pinctrl-0 = <&i2c4_pins_a>;
72         i2c-scl-rising-time-ns = <185>;
73         i2c-scl-falling-time-ns = <20>;
74         status = "okay";
75         /* spare dmas for other usage */
76         /delete-property/dmas;
77         /delete-property/dma-names;
78
79         typec: stusb1600@28 {
80                 compatible = "st,stusb1600";
81                 reg = <0x28>;
82                 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
83                 interrupt-parent = <&gpioi>;
84                 pinctrl-names = "default";
85                 pinctrl-0 = <&stusb1600_pins_a>;
86
87                 status = "okay";
88
89                 typec_con: connector {
90                         compatible = "usb-c-connector";
91                         label = "USB-C";
92                         power-role = "sink";
93                         power-opmode = "default";
94                 };
95         };
96
97         pmic: stpmic@33 {
98                 compatible = "st,stpmic1";
99                 reg = <0x33>;
100                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
101                 interrupt-controller;
102                 #interrupt-cells = <2>;
103                 status = "okay";
104
105                 regulators {
106                         compatible = "st,stpmic1-regulators";
107                         ldo1-supply = <&v3v3>;
108                         ldo3-supply = <&vdd_ddr>;
109                         ldo6-supply = <&v3v3>;
110                         pwr_sw1-supply = <&bst_out>;
111                         pwr_sw2-supply = <&bst_out>;
112
113                         vddcore: buck1 {
114                                 regulator-name = "vddcore";
115                                 regulator-min-microvolt = <800000>;
116                                 regulator-max-microvolt = <1350000>;
117                                 regulator-always-on;
118                                 regulator-initial-mode = <0>;
119                                 regulator-over-current-protection;
120                         };
121
122                         vdd_ddr: buck2 {
123                                 regulator-name = "vdd_ddr";
124                                 regulator-min-microvolt = <1350000>;
125                                 regulator-max-microvolt = <1350000>;
126                                 regulator-always-on;
127                                 regulator-initial-mode = <0>;
128                                 regulator-over-current-protection;
129                         };
130
131                         vdd: buck3 {
132                                 regulator-name = "vdd";
133                                 regulator-min-microvolt = <3300000>;
134                                 regulator-max-microvolt = <3300000>;
135                                 regulator-always-on;
136                                 st,mask-reset;
137                                 regulator-initial-mode = <0>;
138                                 regulator-over-current-protection;
139                         };
140
141                         v3v3: buck4 {
142                                 regulator-name = "v3v3";
143                                 regulator-min-microvolt = <3300000>;
144                                 regulator-max-microvolt = <3300000>;
145                                 regulator-always-on;
146                                 regulator-over-current-protection;
147                                 regulator-initial-mode = <0>;
148                         };
149
150                         v1v8_audio: ldo1 {
151                                 regulator-name = "v1v8_audio";
152                                 regulator-min-microvolt = <1800000>;
153                                 regulator-max-microvolt = <1800000>;
154                                 regulator-always-on;
155                                 interrupts = <IT_CURLIM_LDO1 0>;
156                         };
157
158                         v3v3_hdmi: ldo2 {
159                                 regulator-name = "v3v3_hdmi";
160                                 regulator-min-microvolt = <3300000>;
161                                 regulator-max-microvolt = <3300000>;
162                                 regulator-always-on;
163                                 interrupts = <IT_CURLIM_LDO2 0>;
164                         };
165
166                         vtt_ddr: ldo3 {
167                                 regulator-name = "vtt_ddr";
168                                 regulator-min-microvolt = <500000>;
169                                 regulator-max-microvolt = <750000>;
170                                 regulator-always-on;
171                                 regulator-over-current-protection;
172                         };
173
174                         vdd_usb: ldo4 {
175                                 regulator-name = "vdd_usb";
176                                 regulator-min-microvolt = <3300000>;
177                                 regulator-max-microvolt = <3300000>;
178                                 interrupts = <IT_CURLIM_LDO4 0>;
179                         };
180
181                         vdda: ldo5 {
182                                 regulator-name = "vdda";
183                                 regulator-min-microvolt = <2900000>;
184                                 regulator-max-microvolt = <2900000>;
185                                 interrupts = <IT_CURLIM_LDO5 0>;
186                                 regulator-boot-on;
187                         };
188
189                         v1v2_hdmi: ldo6 {
190                                 regulator-name = "v1v2_hdmi";
191                                 regulator-min-microvolt = <1200000>;
192                                 regulator-max-microvolt = <1200000>;
193                                 regulator-always-on;
194                                 interrupts = <IT_CURLIM_LDO6 0>;
195                         };
196
197                         vref_ddr: vref_ddr {
198                                 regulator-name = "vref_ddr";
199                                 regulator-always-on;
200                                 regulator-over-current-protection;
201                         };
202
203                          bst_out: boost {
204                                 regulator-name = "bst_out";
205                                 interrupts = <IT_OCP_BOOST 0>;
206                          };
207
208                         vbus_otg: pwr_sw1 {
209                                 regulator-name = "vbus_otg";
210                                 interrupts = <IT_OCP_OTG 0>;
211                          };
212
213                          vbus_sw: pwr_sw2 {
214                                 regulator-name = "vbus_sw";
215                                 interrupts = <IT_OCP_SWOUT 0>;
216                                 regulator-active-discharge;
217                          };
218                 };
219
220                 onkey {
221                         compatible = "st,stpmic1-onkey";
222                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
223                         interrupt-names = "onkey-falling", "onkey-rising";
224                         power-off-time-sec = <10>;
225                         status = "okay";
226                 };
227
228                 watchdog {
229                         compatible = "st,stpmic1-wdt";
230                         status = "disabled";
231                 };
232         };
233 };
234
235 &ipcc {
236         status = "okay";
237 };
238
239 &iwdg2 {
240         timeout-sec = <32>;
241         status = "okay";
242 };
243
244 &pwr {
245         pwr-supply = <&vdd>;
246 };
247
248 &rng1 {
249         status = "okay";
250 };
251
252 &rtc {
253         status = "okay";
254 };
255
256 &sdmmc1 {
257         pinctrl-names = "default", "opendrain", "sleep";
258         pinctrl-0 = <&sdmmc1_b4_pins_a>;
259         pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
260         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
261         broken-cd;
262         st,neg-edge;
263         bus-width = <4>;
264         vmmc-supply = <&v3v3>;
265         status = "okay";
266 };
267
268 &uart4 {
269         pinctrl-names = "default";
270         pinctrl-0 = <&uart4_pins_a>;
271         status = "okay";
272 };
273
274 &usbh_ehci {
275         phys = <&usbphyc_port0>;
276         phy-names = "usb";
277         status = "okay";
278 };
279
280 &usbotg_hs {
281         dr_mode = "peripheral";
282         phys = <&usbphyc_port1 0>;
283         phy-names = "usb2-phy";
284         status = "okay";
285 };
286
287 &usbphyc {
288         status = "okay";
289 };
290
291 &usbphyc_port0 {
292         phy-supply = <&vdd_usb>;
293 };
294
295 &usbphyc_port1 {
296         phy-supply = <&vdd_usb>;
297 };
298
299 &vrefbuf {
300         regulator-min-microvolt = <2500000>;
301         regulator-max-microvolt = <2500000>;
302         vdda-supply = <&vdd>;
303         status = "okay";
304 };