xref: /optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts (revision 5a913ee74d3c71af2a2860ce8a4e7aeab2916f9b)
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6/dts-v1/;
7
8#include "stm32mp157c.dtsi"
9#include "stm32mp157-pinctrl.dtsi"
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/mfd/st,stpmic1.h>
12
13/ {
14	model = "STMicroelectronics STM32MP157C eval daughter";
15	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
16
17	chosen {
18		stdout-path = "serial0:115200n8";
19	};
20
21	memory@c0000000 {
22		device_type = "memory";
23		reg = <0xC0000000 0x40000000>;
24	};
25
26	aliases {
27		serial0 = &uart4;
28	};
29
30	reg11: reg11 {
31		compatible = "regulator-fixed";
32		regulator-name = "reg11";
33		regulator-min-microvolt = <1100000>;
34		regulator-max-microvolt = <1100000>;
35		regulator-always-on;
36	};
37
38	reg18: reg18 {
39		compatible = "regulator-fixed";
40		regulator-name = "reg18";
41		regulator-min-microvolt = <1800000>;
42		regulator-max-microvolt = <1800000>;
43		regulator-always-on;
44	};
45
46	sd_switch: regulator-sd_switch {
47		compatible = "regulator-gpio";
48		regulator-name = "sd_switch";
49		regulator-min-microvolt = <1800000>;
50		regulator-max-microvolt = <2900000>;
51		regulator-type = "voltage";
52		regulator-always-on;
53
54		gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
55		gpios-states = <0>;
56		states = <1800000 0x1 2900000 0x0>;
57	};
58};
59
60&dts {
61	status = "okay";
62};
63
64&i2c4 {
65	pinctrl-names = "default";
66	pinctrl-0 = <&i2c4_pins_a>;
67	i2c-scl-rising-time-ns = <185>;
68	i2c-scl-falling-time-ns = <20>;
69	status = "okay";
70	/* spare dmas for other usage */
71	/delete-property/dmas;
72	/delete-property/dma-names;
73
74	pmic: stpmic@33 {
75		compatible = "st,stpmic1";
76		reg = <0x33>;
77		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
78		interrupt-controller;
79		#interrupt-cells = <2>;
80		status = "okay";
81
82		regulators {
83			compatible = "st,stpmic1-regulators";
84			ldo1-supply = <&v3v3>;
85			ldo2-supply = <&v3v3>;
86			ldo3-supply = <&vdd_ddr>;
87			ldo5-supply = <&v3v3>;
88			ldo6-supply = <&v3v3>;
89			pwr_sw1-supply = <&bst_out>;
90			pwr_sw2-supply = <&bst_out>;
91
92			vddcore: buck1 {
93				regulator-name = "vddcore";
94				regulator-min-microvolt = <800000>;
95				regulator-max-microvolt = <1350000>;
96				regulator-always-on;
97				regulator-initial-mode = <0>;
98				regulator-over-current-protection;
99			};
100
101			vdd_ddr: buck2 {
102				regulator-name = "vdd_ddr";
103				regulator-min-microvolt = <1350000>;
104				regulator-max-microvolt = <1350000>;
105				regulator-always-on;
106				regulator-initial-mode = <0>;
107				regulator-over-current-protection;
108			};
109
110			vdd: buck3 {
111				regulator-name = "vdd";
112				regulator-min-microvolt = <3300000>;
113				regulator-max-microvolt = <3300000>;
114				regulator-always-on;
115				st,mask-reset;
116				regulator-initial-mode = <0>;
117				regulator-over-current-protection;
118			};
119
120			v3v3: buck4 {
121				regulator-name = "v3v3";
122				regulator-min-microvolt = <3300000>;
123				regulator-max-microvolt = <3300000>;
124				regulator-always-on;
125				regulator-over-current-protection;
126				regulator-initial-mode = <0>;
127			};
128
129			vdda: ldo1 {
130				regulator-name = "vdda";
131				regulator-min-microvolt = <2900000>;
132				regulator-max-microvolt = <2900000>;
133				interrupts = <IT_CURLIM_LDO1 0>;
134			};
135
136			v2v8: ldo2 {
137				regulator-name = "v2v8";
138				regulator-min-microvolt = <2800000>;
139				regulator-max-microvolt = <2800000>;
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			vdd_sd: ldo5 {
159				regulator-name = "vdd_sd";
160				regulator-min-microvolt = <2900000>;
161				regulator-max-microvolt = <2900000>;
162				interrupts = <IT_CURLIM_LDO5 0>;
163				regulator-boot-on;
164			};
165
166			v1v8: ldo6 {
167				regulator-name = "v1v8";
168				regulator-min-microvolt = <1800000>;
169				regulator-max-microvolt = <1800000>;
170				interrupts = <IT_CURLIM_LDO6 0>;
171			};
172
173			vref_ddr: vref_ddr {
174				regulator-name = "vref_ddr";
175				regulator-always-on;
176				regulator-over-current-protection;
177			};
178
179			bst_out: boost {
180				regulator-name = "bst_out";
181				interrupts = <IT_OCP_BOOST 0>;
182			};
183
184			vbus_otg: pwr_sw1 {
185				regulator-name = "vbus_otg";
186				interrupts = <IT_OCP_OTG 0>;
187			 };
188
189			 vbus_sw: pwr_sw2 {
190				regulator-name = "vbus_sw";
191				interrupts = <IT_OCP_SWOUT 0>;
192				regulator-active-discharge;
193			 };
194		};
195
196		onkey {
197			compatible = "st,stpmic1-onkey";
198			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
199			interrupt-names = "onkey-falling", "onkey-rising";
200			power-off-time-sec = <10>;
201			status = "okay";
202		};
203
204		watchdog {
205			compatible = "st,stpmic1-wdt";
206			status = "disabled";
207		};
208	};
209};
210
211&ipcc {
212	status = "okay";
213};
214
215&iwdg2 {
216	timeout-sec = <32>;
217	status = "okay";
218};
219
220&rng1 {
221	status = "okay";
222};
223
224&rtc {
225	status = "okay";
226};
227
228&sdmmc1 {
229	pinctrl-names = "default", "opendrain", "sleep";
230	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
231	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
232	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
233	broken-cd;
234	st,sig-dir;
235	st,neg-edge;
236	st,use-ckin;
237	bus-width = <4>;
238	vmmc-supply = <&vdd_sd>;
239	vqmmc-supply = <&sd_switch>;
240	status = "okay";
241};
242
243&timers6 {
244	status = "okay";
245	/* spare dmas for other usage */
246	/delete-property/dmas;
247	/delete-property/dma-names;
248	timer@5 {
249		status = "okay";
250	};
251};
252
253&uart4 {
254	pinctrl-names = "default";
255	pinctrl-0 = <&uart4_pins_a>;
256	status = "okay";
257};
258
259&usbphyc_port0 {
260	phy-supply = <&vdd_usb>;
261	vdda1v1-supply = <&reg11>;
262	vdda1v8-supply = <&reg18>;
263};
264
265&usbphyc_port1 {
266	phy-supply = <&vdd_usb>;
267	vdda1v1-supply = <&reg11>;
268	vdda1v8-supply = <&reg18>;
269};
270
271&rcc {
272	status = "okay";
273	secure-status = "disable";
274};
275