Merge tag 'efi-2019-07-rc1-2' of git://git.denx.de/u-boot-efi
[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 &ethernet0 {
43         status = "okay";
44         pinctrl-0 = <&ethernet0_rgmii_pins_a>;
45         pinctrl-1 = <&ethernet0_rgmii_pins_sleep_a>;
46         pinctrl-names = "default", "sleep";
47         phy-mode = "rgmii";
48         max-speed = <1000>;
49         phy-handle = <&phy0>;
50
51         mdio0 {
52                 #address-cells = <1>;
53                 #size-cells = <0>;
54                 compatible = "snps,dwmac-mdio";
55                 phy0: ethernet-phy@0 {
56                         reg = <0>;
57                 };
58         };
59 };
60
61 &i2c4 {
62         pinctrl-names = "default";
63         pinctrl-0 = <&i2c4_pins_a>;
64         i2c-scl-rising-time-ns = <185>;
65         i2c-scl-falling-time-ns = <20>;
66         status = "okay";
67         /delete-property/dmas;
68         /delete-property/dma-names;
69
70         pmic: stpmic@33 {
71                 compatible = "st,stpmic1";
72                 reg = <0x33>;
73                 interrupt-controller;
74                 #interrupt-cells = <2>;
75                 status = "okay";
76
77                 st,main-control-register = <0x04>;
78                 st,vin-control-register = <0xc0>;
79                 st,usb-control-register = <0x20>;
80
81                 regulators {
82                         compatible = "st,stpmic1-regulators";
83
84                         ldo1-supply = <&v3v3>;
85                         ldo3-supply = <&vdd_ddr>;
86                         ldo6-supply = <&v3v3>;
87                         pwr_sw1-supply = <&bst_out>;
88                         pwr_sw2-supply = <&bst_out>;
89
90                         vddcore: buck1 {
91                                 regulator-name = "vddcore";
92                                 regulator-min-microvolt = <1200000>;
93                                 regulator-max-microvolt = <1350000>;
94                                 regulator-always-on;
95                                 regulator-initial-mode = <0>;
96                                 regulator-over-current-protection;
97                         };
98
99                         vdd_ddr: buck2 {
100                                 regulator-name = "vdd_ddr";
101                                 regulator-min-microvolt = <1350000>;
102                                 regulator-max-microvolt = <1350000>;
103                                 regulator-always-on;
104                                 regulator-initial-mode = <0>;
105                                 regulator-over-current-protection;
106                         };
107
108                         vdd: buck3 {
109                                 regulator-name = "vdd";
110                                 regulator-min-microvolt = <3300000>;
111                                 regulator-max-microvolt = <3300000>;
112                                 regulator-always-on;
113                                 st,mask-reset;
114                                 regulator-initial-mode = <0>;
115                                 regulator-over-current-protection;
116                         };
117
118                         v3v3: buck4 {
119                                 regulator-name = "v3v3";
120                                 regulator-min-microvolt = <3300000>;
121                                 regulator-max-microvolt = <3300000>;
122                                 regulator-always-on;
123                                 regulator-over-current-protection;
124                                 regulator-initial-mode = <0>;
125                         };
126
127                         v1v8_audio: ldo1 {
128                                 regulator-name = "v1v8_audio";
129                                 regulator-min-microvolt = <1800000>;
130                                 regulator-max-microvolt = <1800000>;
131                                 regulator-always-on;
132                                 interrupts = <IT_CURLIM_LDO1 0>;
133                         };
134
135                         v3v3_hdmi: ldo2 {
136                                 regulator-name = "v3v3_hdmi";
137                                 regulator-min-microvolt = <3300000>;
138                                 regulator-max-microvolt = <3300000>;
139                                 regulator-always-on;
140                                 interrupts = <IT_CURLIM_LDO2 0>;
141                         };
142
143                         vtt_ddr: ldo3 {
144                                 regulator-name = "vtt_ddr";
145                                 regulator-min-microvolt = <500000>;
146                                 regulator-max-microvolt = <750000>;
147                                 regulator-always-on;
148                                 regulator-over-current-protection;
149                         };
150
151                         vdd_usb: ldo4 {
152                                 regulator-name = "vdd_usb";
153                                 regulator-min-microvolt = <3300000>;
154                                 regulator-max-microvolt = <3300000>;
155                                 interrupts = <IT_CURLIM_LDO4 0>;
156                         };
157
158                         vdda: ldo5 {
159                                 regulator-name = "vdda";
160                                 regulator-min-microvolt = <2900000>;
161                                 regulator-max-microvolt = <2900000>;
162                                 interrupts = <IT_CURLIM_LDO5 0>;
163                                 regulator-boot-on;
164                         };
165
166                         v1v2_hdmi: ldo6 {
167                                 regulator-name = "v1v2_hdmi";
168                                 regulator-min-microvolt = <1200000>;
169                                 regulator-max-microvolt = <1200000>;
170                                 regulator-always-on;
171                                 interrupts = <IT_CURLIM_LDO6 0>;
172
173                         };
174
175                         vref_ddr: vref_ddr {
176                                 regulator-name = "vref_ddr";
177                                 regulator-always-on;
178                                 regulator-over-current-protection;
179                         };
180
181                          bst_out: boost {
182                                 regulator-name = "bst_out";
183                                 interrupts = <IT_OCP_BOOST 0>;
184                          };
185
186                         vbus_otg: pwr_sw1 {
187                                 regulator-name = "vbus_otg";
188                                 interrupts = <IT_OCP_OTG 0>;
189                                 regulator-active-discharge;
190                          };
191
192                          vbus_sw: pwr_sw2 {
193                                 regulator-name = "vbus_sw";
194                                 interrupts = <IT_OCP_SWOUT 0>;
195                                 regulator-active-discharge;
196                          };
197                 };
198
199                 onkey {
200                         compatible = "st,stpmic1-onkey";
201                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
202                         interrupt-names = "onkey-falling", "onkey-rising";
203                         status = "okay";
204                 };
205
206                 watchdog {
207                         compatible = "st,stpmic1-wdt";
208                         status = "disabled";
209                 };
210         };
211 };
212
213 &iwdg2 {
214         timeout-sec = <32>;
215         status = "okay";
216 };
217
218 &pwr {
219         pwr-supply = <&vdd>;
220 };
221
222 &rng1 {
223         status = "okay";
224 };
225
226 &rtc {
227         status = "okay";
228 };
229
230 &sdmmc1 {
231         pinctrl-names = "default";
232         pinctrl-0 = <&sdmmc1_b4_pins_a>;
233         broken-cd;
234         st,neg-edge;
235         bus-width = <4>;
236         vmmc-supply = <&v3v3>;
237         status = "okay";
238 };
239
240 &uart4 {
241         pinctrl-names = "default";
242         pinctrl-0 = <&uart4_pins_a>;
243         status = "okay";
244 };
245
246 &usbh_ehci {
247         phys = <&usbphyc_port0>;
248         phy-names = "usb";
249         status = "okay";
250 };
251
252 &usbphyc {
253         vdd3v3-supply = <&vdd_usb>;
254         status = "okay";
255 };
256
257 &vrefbuf {
258         regulator-min-microvolt = <2500000>;
259         regulator-max-microvolt = <2500000>;
260         vdda-supply = <&vdd>;
261         status = "okay";
262 };