blob: adb24649209c77906502bc1fb80459efbcfa7afd [file] [log] [blame]
Patrice Chotard23661602019-02-12 16:50:38 +01001// 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
Patrick Delaunay35a54d42019-07-11 11:15:28 +020042&cec {
43 pinctrl-names = "default", "sleep";
44 pinctrl-0 = <&cec_pins_b>;
45 pinctrl-1 = <&cec_pins_sleep_b>;
46 status = "okay";
47};
48
Patrice Chotard23661602019-02-12 16:50:38 +010049&ethernet0 {
50 status = "okay";
51 pinctrl-0 = <&ethernet0_rgmii_pins_a>;
52 pinctrl-1 = <&ethernet0_rgmii_pins_sleep_a>;
53 pinctrl-names = "default", "sleep";
Patrick Delaunay35a54d42019-07-11 11:15:28 +020054 phy-mode = "rgmii-id";
Patrice Chotard23661602019-02-12 16:50:38 +010055 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
Patrick Delaunay35a54d42019-07-11 11:15:28 +020068
Patrice Chotard23661602019-02-12 16:50:38 +010069&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";
Patrick Delaunay35a54d42019-07-11 11:15:28 +020075 /* spare dmas for other usage */
Patrice Chotard23661602019-02-12 16:50:38 +010076 /delete-property/dmas;
77 /delete-property/dma-names;
78
Patrick Delaunay6fe7dd32019-03-29 15:42:24 +010079 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
Patrice Chotard23661602019-02-12 16:50:38 +010097 pmic: stpmic@33 {
98 compatible = "st,stpmic1";
99 reg = <0x33>;
Patrick Delaunay35a54d42019-07-11 11:15:28 +0200100 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
Patrice Chotard23661602019-02-12 16:50:38 +0100101 interrupt-controller;
102 #interrupt-cells = <2>;
103 status = "okay";
104
Patrice Chotard23661602019-02-12 16:50:38 +0100105 regulators {
106 compatible = "st,stpmic1-regulators";
Patrice Chotard23661602019-02-12 16:50:38 +0100107 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";
Patrick Delaunay35a54d42019-07-11 11:15:28 +0200115 regulator-min-microvolt = <800000>;
Patrice Chotard23661602019-02-12 16:50:38 +0100116 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>;
Patrice Chotard23661602019-02-12 16:50:38 +0100195 };
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>;
Patrice Chotard23661602019-02-12 16:50:38 +0100211 };
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";
Patrick Delaunay35a54d42019-07-11 11:15:28 +0200222 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
Patrice Chotard23661602019-02-12 16:50:38 +0100223 interrupt-names = "onkey-falling", "onkey-rising";
Patrick Delaunay35a54d42019-07-11 11:15:28 +0200224 power-off-time-sec = <10>;
Patrice Chotard23661602019-02-12 16:50:38 +0100225 status = "okay";
226 };
227
228 watchdog {
229 compatible = "st,stpmic1-wdt";
230 status = "disabled";
231 };
232 };
233};
234
Fabien Dessenne1958dae2019-05-14 11:20:37 +0200235&ipcc {
236 status = "okay";
237};
238
Patrice Chotard23661602019-02-12 16:50:38 +0100239&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 {
Patrick Delaunay35a54d42019-07-11 11:15:28 +0200257 pinctrl-names = "default", "opendrain", "sleep";
Patrice Chotard23661602019-02-12 16:50:38 +0100258 pinctrl-0 = <&sdmmc1_b4_pins_a>;
Patrick Delaunay35a54d42019-07-11 11:15:28 +0200259 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
260 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
Patrice Chotard23661602019-02-12 16:50:38 +0100261 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
Patrick Delaunayc31000c2019-03-29 15:42:23 +0100280&usbotg_hs {
281 dr_mode = "peripheral";
282 phys = <&usbphyc_port1 0>;
283 phy-names = "usb2-phy";
Patrice Chotard23661602019-02-12 16:50:38 +0100284 status = "okay";
285};
286
Patrick Delaunayc31000c2019-03-29 15:42:23 +0100287&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
Patrice Chotard23661602019-02-12 16:50:38 +0100299&vrefbuf {
300 regulator-min-microvolt = <2500000>;
301 regulator-max-microvolt = <2500000>;
302 vdda-supply = <&vdd>;
303 status = "okay";
304};