xref: /rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts (revision 277d6af5616b270436219733a34ded2048c98702)
1587f60faSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2587f60faSYann Gautier/*
383f62c87SYann Gautier * Copyright (C) STMicroelectronics 2017-2019 - All Rights Reserved
4587f60faSYann Gautier * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5587f60faSYann Gautier */
6587f60faSYann Gautier/dts-v1/;
7587f60faSYann Gautier
8*277d6af5SYann Gautier#include "stm32mp157.dtsi"
9*277d6af5SYann Gautier#include "stm32mp15xc.dtsi"
10*277d6af5SYann Gautier#include "stm32mp15-pinctrl.dtsi"
11*277d6af5SYann Gautier#include "stm32mp15xxaa-pinctrl.dtsi"
12*277d6af5SYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h>
13*277d6af5SYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi"
14587f60faSYann Gautier
15587f60faSYann Gautier/ {
16c948f771SYann Gautier	model = "STMicroelectronics STM32MP157C eval daughter";
17587f60faSYann Gautier	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
18587f60faSYann Gautier
19587f60faSYann Gautier	chosen {
20c948f771SYann Gautier		stdout-path = "serial0:115200n8";
21587f60faSYann Gautier	};
22c948f771SYann Gautier
23*277d6af5SYann Gautier
24*277d6af5SYann Gautier	memory@c0000000 {
25*277d6af5SYann Gautier		device_type = "memory";
26*277d6af5SYann Gautier		reg = <0xC0000000 0x40000000>;
27*277d6af5SYann Gautier	};
28*277d6af5SYann Gautier
29c948f771SYann Gautier	aliases {
30c948f771SYann Gautier		serial0 = &uart4;
31c948f771SYann Gautier	};
32c948f771SYann Gautier};
33c948f771SYann Gautier
34*277d6af5SYann Gautier&bsec {
35*277d6af5SYann Gautier	board_id: board_id@ec {
36*277d6af5SYann Gautier		reg = <0xec 0x4>;
37*277d6af5SYann Gautier		status = "okay";
38*277d6af5SYann Gautier		secure-status = "okay";
39*277d6af5SYann Gautier	};
40*277d6af5SYann Gautier};
41*277d6af5SYann Gautier
42c948f771SYann Gautier&clk_hse {
43c948f771SYann Gautier	st,digbypass;
44587f60faSYann Gautier};
45587f60faSYann Gautier
46*277d6af5SYann Gautier&cpu0 {
47*277d6af5SYann Gautier	cpu-supply = <&vddcore>;
48*277d6af5SYann Gautier};
49*277d6af5SYann Gautier
50*277d6af5SYann Gautier&cpu1 {
51*277d6af5SYann Gautier	cpu-supply = <&vddcore>;
52*277d6af5SYann Gautier};
53*277d6af5SYann Gautier
54*277d6af5SYann Gautier&cryp1 {
55*277d6af5SYann Gautier	status="okay";
56*277d6af5SYann Gautier};
57*277d6af5SYann Gautier
58587f60faSYann Gautier&i2c4 {
59587f60faSYann Gautier	pinctrl-names = "default";
60587f60faSYann Gautier	pinctrl-0 = <&i2c4_pins_a>;
61587f60faSYann Gautier	i2c-scl-rising-time-ns = <185>;
62587f60faSYann Gautier	i2c-scl-falling-time-ns = <20>;
63*277d6af5SYann Gautier	clock-frequency = <400000>;
64587f60faSYann Gautier	status = "okay";
65587f60faSYann Gautier
6623684d0eSYann Gautier	pmic: stpmic@33 {
6723684d0eSYann Gautier		compatible = "st,stpmic1";
68587f60faSYann Gautier		reg = <0x33>;
69c948f771SYann Gautier		interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
70c948f771SYann Gautier		interrupt-controller;
71c948f771SYann Gautier		#interrupt-cells = <2>;
72587f60faSYann Gautier		status = "okay";
73587f60faSYann Gautier
74587f60faSYann Gautier		regulators {
7523684d0eSYann Gautier			compatible = "st,stpmic1-regulators";
76c948f771SYann Gautier			ldo1-supply = <&v3v3>;
77c948f771SYann Gautier			ldo2-supply = <&v3v3>;
78c948f771SYann Gautier			ldo3-supply = <&vdd_ddr>;
79c948f771SYann Gautier			ldo5-supply = <&v3v3>;
80c948f771SYann Gautier			ldo6-supply = <&v3v3>;
81*277d6af5SYann Gautier			pwr_sw1-supply = <&bst_out>;
82*277d6af5SYann Gautier			pwr_sw2-supply = <&bst_out>;
83c948f771SYann Gautier
84c948f771SYann Gautier			vddcore: buck1 {
85c948f771SYann Gautier				regulator-name = "vddcore";
86d82d4ff0SYann Gautier				regulator-min-microvolt = <1200000>;
87c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
88c948f771SYann Gautier				regulator-always-on;
89c948f771SYann Gautier				regulator-initial-mode = <0>;
90c948f771SYann Gautier				regulator-over-current-protection;
91c948f771SYann Gautier			};
92c948f771SYann Gautier
93c948f771SYann Gautier			vdd_ddr: buck2 {
94c948f771SYann Gautier				regulator-name = "vdd_ddr";
95c948f771SYann Gautier				regulator-min-microvolt = <1350000>;
96c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
97c948f771SYann Gautier				regulator-always-on;
98c948f771SYann Gautier				regulator-initial-mode = <0>;
99c948f771SYann Gautier				regulator-over-current-protection;
100c948f771SYann Gautier			};
101c948f771SYann Gautier
102c948f771SYann Gautier			vdd: buck3 {
103c948f771SYann Gautier				regulator-name = "vdd";
104c948f771SYann Gautier				regulator-min-microvolt = <3300000>;
105c948f771SYann Gautier				regulator-max-microvolt = <3300000>;
106c948f771SYann Gautier				regulator-always-on;
107c948f771SYann Gautier				st,mask-reset;
108c948f771SYann Gautier				regulator-initial-mode = <0>;
109c948f771SYann Gautier				regulator-over-current-protection;
110c948f771SYann Gautier			};
111c948f771SYann Gautier
112587f60faSYann Gautier			v3v3: buck4 {
113587f60faSYann Gautier				regulator-name = "v3v3";
114587f60faSYann Gautier				regulator-min-microvolt = <3300000>;
115587f60faSYann Gautier				regulator-max-microvolt = <3300000>;
116c948f771SYann Gautier				regulator-always-on;
117587f60faSYann Gautier				regulator-over-current-protection;
118c948f771SYann Gautier				regulator-initial-mode = <0>;
119c948f771SYann Gautier			};
120587f60faSYann Gautier
121c948f771SYann Gautier			vdda: ldo1 {
122c948f771SYann Gautier				regulator-name = "vdda";
123c948f771SYann Gautier				regulator-min-microvolt = <2900000>;
124c948f771SYann Gautier				regulator-max-microvolt = <2900000>;
125587f60faSYann Gautier			};
126c948f771SYann Gautier
127c948f771SYann Gautier			v2v8: ldo2 {
128c948f771SYann Gautier				regulator-name = "v2v8";
129c948f771SYann Gautier				regulator-min-microvolt = <2800000>;
130c948f771SYann Gautier				regulator-max-microvolt = <2800000>;
131587f60faSYann Gautier			};
132c948f771SYann Gautier
133c948f771SYann Gautier			vtt_ddr: ldo3 {
134c948f771SYann Gautier				regulator-name = "vtt_ddr";
135c948f771SYann Gautier				regulator-min-microvolt = <500000>;
136c948f771SYann Gautier				regulator-max-microvolt = <750000>;
137c948f771SYann Gautier				regulator-always-on;
138c948f771SYann Gautier				regulator-over-current-protection;
139587f60faSYann Gautier			};
140c948f771SYann Gautier
141c948f771SYann Gautier			vdd_usb: ldo4 {
142c948f771SYann Gautier				regulator-name = "vdd_usb";
143587f60faSYann Gautier			};
144587f60faSYann Gautier
145587f60faSYann Gautier			vdd_sd: ldo5 {
146587f60faSYann Gautier				regulator-name = "vdd_sd";
147587f60faSYann Gautier				regulator-min-microvolt = <2900000>;
148587f60faSYann Gautier				regulator-max-microvolt = <2900000>;
149587f60faSYann Gautier				regulator-boot-on;
150c948f771SYann Gautier			};
151587f60faSYann Gautier
152c948f771SYann Gautier			v1v8: ldo6 {
153c948f771SYann Gautier				regulator-name = "v1v8";
154c948f771SYann Gautier				regulator-min-microvolt = <1800000>;
155c948f771SYann Gautier				regulator-max-microvolt = <1800000>;
156587f60faSYann Gautier			};
157c948f771SYann Gautier
158c948f771SYann Gautier			vref_ddr: vref_ddr {
159c948f771SYann Gautier				regulator-name = "vref_ddr";
160c948f771SYann Gautier				regulator-always-on;
161587f60faSYann Gautier			};
162*277d6af5SYann Gautier
163*277d6af5SYann Gautier			bst_out: boost {
164*277d6af5SYann Gautier				regulator-name = "bst_out";
165*277d6af5SYann Gautier			};
166*277d6af5SYann Gautier
167*277d6af5SYann Gautier			vbus_otg: pwr_sw1 {
168*277d6af5SYann Gautier				regulator-name = "vbus_otg";
169*277d6af5SYann Gautier			 };
170*277d6af5SYann Gautier
171*277d6af5SYann Gautier			 vbus_sw: pwr_sw2 {
172*277d6af5SYann Gautier				regulator-name = "vbus_sw";
173*277d6af5SYann Gautier				regulator-active-discharge = <1>;
174*277d6af5SYann Gautier			 };
175*277d6af5SYann Gautier		};
176*277d6af5SYann Gautier
177*277d6af5SYann Gautier		onkey {
178*277d6af5SYann Gautier			compatible = "st,stpmic1-onkey";
179*277d6af5SYann Gautier			power-off-time-sec = <10>;
180*277d6af5SYann Gautier			status = "okay";
181*277d6af5SYann Gautier		};
182*277d6af5SYann Gautier
183*277d6af5SYann Gautier		watchdog {
184*277d6af5SYann Gautier			compatible = "st,stpmic1-wdt";
185*277d6af5SYann Gautier			status = "disabled";
186587f60faSYann Gautier		};
187587f60faSYann Gautier	};
188587f60faSYann Gautier};
189587f60faSYann Gautier
190587f60faSYann Gautier&iwdg2 {
191587f60faSYann Gautier	timeout-sec = <32>;
192587f60faSYann Gautier	status = "okay";
193587f60faSYann Gautier};
194587f60faSYann Gautier
195*277d6af5SYann Gautier&pwr_regulators {
196f33b2433SYann Gautier	vdd-supply = <&vdd>;
197*277d6af5SYann Gautier	vdd_3v3_usbfs-supply = <&vdd_usb>;
198f33b2433SYann Gautier};
199f33b2433SYann Gautier
200587f60faSYann Gautier&rcc {
201c948f771SYann Gautier	secure-status = "disabled";
202587f60faSYann Gautier	st,clksrc = <
203587f60faSYann Gautier		CLK_MPU_PLL1P
204587f60faSYann Gautier		CLK_AXI_PLL2P
205b053a22eSYann Gautier		CLK_MCU_PLL3P
206587f60faSYann Gautier		CLK_PLL12_HSE
207587f60faSYann Gautier		CLK_PLL3_HSE
208587f60faSYann Gautier		CLK_PLL4_HSE
209587f60faSYann Gautier		CLK_RTC_LSE
210587f60faSYann Gautier		CLK_MCO1_DISABLED
211587f60faSYann Gautier		CLK_MCO2_DISABLED
212587f60faSYann Gautier	>;
213587f60faSYann Gautier
214587f60faSYann Gautier	st,clkdiv = <
215587f60faSYann Gautier		1 /*MPU*/
216587f60faSYann Gautier		0 /*AXI*/
217b053a22eSYann Gautier		0 /*MCU*/
218587f60faSYann Gautier		1 /*APB1*/
219587f60faSYann Gautier		1 /*APB2*/
220587f60faSYann Gautier		1 /*APB3*/
221587f60faSYann Gautier		1 /*APB4*/
222587f60faSYann Gautier		2 /*APB5*/
223587f60faSYann Gautier		23 /*RTC*/
224587f60faSYann Gautier		0 /*MCO1*/
225587f60faSYann Gautier		0 /*MCO2*/
226587f60faSYann Gautier	>;
227587f60faSYann Gautier
228587f60faSYann Gautier	st,pkcs = <
229587f60faSYann Gautier		CLK_CKPER_HSE
230587f60faSYann Gautier		CLK_FMC_ACLK
231587f60faSYann Gautier		CLK_QSPI_ACLK
232587f60faSYann Gautier		CLK_ETH_DISABLED
233c948f771SYann Gautier		CLK_SDMMC12_PLL4P
234587f60faSYann Gautier		CLK_DSI_DSIPLL
235587f60faSYann Gautier		CLK_STGEN_HSE
236587f60faSYann Gautier		CLK_USBPHY_HSE
237587f60faSYann Gautier		CLK_SPI2S1_PLL3Q
238587f60faSYann Gautier		CLK_SPI2S23_PLL3Q
239587f60faSYann Gautier		CLK_SPI45_HSI
240587f60faSYann Gautier		CLK_SPI6_HSI
241587f60faSYann Gautier		CLK_I2C46_HSI
242c948f771SYann Gautier		CLK_SDMMC3_PLL4P
243587f60faSYann Gautier		CLK_USBO_USBPHY
244587f60faSYann Gautier		CLK_ADC_CKPER
245587f60faSYann Gautier		CLK_CEC_LSE
246587f60faSYann Gautier		CLK_I2C12_HSI
247587f60faSYann Gautier		CLK_I2C35_HSI
248587f60faSYann Gautier		CLK_UART1_HSI
249587f60faSYann Gautier		CLK_UART24_HSI
250587f60faSYann Gautier		CLK_UART35_HSI
251587f60faSYann Gautier		CLK_UART6_HSI
252587f60faSYann Gautier		CLK_UART78_HSI
253c948f771SYann Gautier		CLK_SPDIF_PLL4P
2542dc9fe70SAntonio Borneo		CLK_FDCAN_PLL4R
255587f60faSYann Gautier		CLK_SAI1_PLL3Q
256587f60faSYann Gautier		CLK_SAI2_PLL3Q
257587f60faSYann Gautier		CLK_SAI3_PLL3Q
258587f60faSYann Gautier		CLK_SAI4_PLL3Q
259c948f771SYann Gautier		CLK_RNG1_LSI
260c948f771SYann Gautier		CLK_RNG2_LSI
261587f60faSYann Gautier		CLK_LPTIM1_PCLK1
262587f60faSYann Gautier		CLK_LPTIM23_PCLK3
263c948f771SYann Gautier		CLK_LPTIM45_LSE
264587f60faSYann Gautier	>;
265587f60faSYann Gautier
266587f60faSYann Gautier	/* VCO = 1300.0 MHz => P = 650 (CPU) */
267587f60faSYann Gautier	pll1: st,pll@0 {
268587f60faSYann Gautier		cfg = < 2 80 0 0 0 PQR(1,0,0) >;
269587f60faSYann Gautier		frac = < 0x800 >;
270587f60faSYann Gautier	};
271587f60faSYann Gautier
272587f60faSYann Gautier	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */
273587f60faSYann Gautier	pll2: st,pll@1 {
274587f60faSYann Gautier		cfg = < 2 65 1 0 0 PQR(1,1,1) >;
275587f60faSYann Gautier		frac = < 0x1400 >;
276587f60faSYann Gautier	};
277587f60faSYann Gautier
278c948f771SYann Gautier	/* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */
279587f60faSYann Gautier	pll3: st,pll@2 {
280c948f771SYann Gautier		cfg = < 1 33 1 16 36 PQR(1,1,1) >;
281c948f771SYann Gautier		frac = < 0x1a04 >;
282587f60faSYann Gautier	};
283587f60faSYann Gautier
284c948f771SYann Gautier	/* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */
285587f60faSYann Gautier	pll4: st,pll@3 {
286c948f771SYann Gautier		cfg = < 3 98 5 7 7 PQR(1,1,1) >;
287587f60faSYann Gautier	};
288587f60faSYann Gautier};
289587f60faSYann Gautier
290*277d6af5SYann Gautier&rng1 {
291f237822fSYann Gautier	status = "okay";
292f237822fSYann Gautier};
293*277d6af5SYann Gautier
294*277d6af5SYann Gautier&rtc {
295*277d6af5SYann Gautier	status = "okay";
296*277d6af5SYann Gautier};
297*277d6af5SYann Gautier
298*277d6af5SYann Gautier&sdmmc1 {
299*277d6af5SYann Gautier	pinctrl-names = "default";
300*277d6af5SYann Gautier	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
301*277d6af5SYann Gautier	disable-wp;
302*277d6af5SYann Gautier	st,sig-dir;
303*277d6af5SYann Gautier	st,neg-edge;
304*277d6af5SYann Gautier	st,use-ckin;
305*277d6af5SYann Gautier	bus-width = <4>;
306*277d6af5SYann Gautier	vmmc-supply = <&vdd_sd>;
307*277d6af5SYann Gautier	sd-uhs-sdr12;
308*277d6af5SYann Gautier	sd-uhs-sdr25;
309*277d6af5SYann Gautier	sd-uhs-sdr50;
310*277d6af5SYann Gautier	sd-uhs-ddr50;
311*277d6af5SYann Gautier	status = "okay";
312*277d6af5SYann Gautier};
313*277d6af5SYann Gautier
314*277d6af5SYann Gautier&sdmmc2 {
315*277d6af5SYann Gautier	pinctrl-names = "default";
316*277d6af5SYann Gautier	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
317*277d6af5SYann Gautier	non-removable;
318*277d6af5SYann Gautier	no-sd;
319*277d6af5SYann Gautier	no-sdio;
320*277d6af5SYann Gautier	st,neg-edge;
321*277d6af5SYann Gautier	bus-width = <8>;
322*277d6af5SYann Gautier	vmmc-supply = <&v3v3>;
323*277d6af5SYann Gautier	vqmmc-supply = <&vdd>;
324*277d6af5SYann Gautier	mmc-ddr-3_3v;
325*277d6af5SYann Gautier	status = "okay";
326*277d6af5SYann Gautier};
327*277d6af5SYann Gautier
328*277d6af5SYann Gautier&uart4 {
329*277d6af5SYann Gautier	pinctrl-names = "default";
330*277d6af5SYann Gautier	pinctrl-0 = <&uart4_pins_a>;
331*277d6af5SYann Gautier	status = "okay";
332f237822fSYann Gautier};
333