xref: /rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts (revision ff8767cbfc2bb851a2f6cc32fbe3693ddbfb7d12)
1587f60faSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2587f60faSYann Gautier/*
3*ff8767cbSNicolas Le Bayon * Copyright (c) 2017-2022, STMicroelectronics - All Rights Reserved
4587f60faSYann Gautier * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5587f60faSYann Gautier */
6587f60faSYann Gautier/dts-v1/;
7587f60faSYann Gautier
8277d6af5SYann Gautier#include "stm32mp157.dtsi"
9277d6af5SYann Gautier#include "stm32mp15xc.dtsi"
10277d6af5SYann Gautier#include "stm32mp15-pinctrl.dtsi"
11277d6af5SYann Gautier#include "stm32mp15xxaa-pinctrl.dtsi"
12277d6af5SYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h>
13277d6af5SYann 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
23277d6af5SYann Gautier	memory@c0000000 {
24277d6af5SYann Gautier		device_type = "memory";
25277d6af5SYann Gautier		reg = <0xC0000000 0x40000000>;
26277d6af5SYann Gautier	};
27277d6af5SYann Gautier
28c948f771SYann Gautier	aliases {
29c948f771SYann Gautier		serial0 = &uart4;
30c948f771SYann Gautier	};
31c948f771SYann Gautier};
32c948f771SYann Gautier
33277d6af5SYann Gautier&bsec {
34277d6af5SYann Gautier	board_id: board_id@ec {
35277d6af5SYann Gautier		reg = <0xec 0x4>;
36277d6af5SYann Gautier		status = "okay";
37277d6af5SYann Gautier		secure-status = "okay";
38277d6af5SYann Gautier	};
39277d6af5SYann Gautier};
40277d6af5SYann Gautier
41c948f771SYann Gautier&clk_hse {
42c948f771SYann Gautier	st,digbypass;
43587f60faSYann Gautier};
44587f60faSYann Gautier
45277d6af5SYann Gautier&cpu0 {
46277d6af5SYann Gautier	cpu-supply = <&vddcore>;
47277d6af5SYann Gautier};
48277d6af5SYann Gautier
49277d6af5SYann Gautier&cpu1 {
50277d6af5SYann Gautier	cpu-supply = <&vddcore>;
51277d6af5SYann Gautier};
52277d6af5SYann Gautier
53277d6af5SYann Gautier&cryp1 {
54277d6af5SYann Gautier	status = "okay";
55277d6af5SYann Gautier};
56277d6af5SYann Gautier
57b37b52efSYann Gautier&hash1 {
58b37b52efSYann Gautier	status = "okay";
59b37b52efSYann Gautier};
60b37b52efSYann Gautier
61587f60faSYann Gautier&i2c4 {
62587f60faSYann Gautier	pinctrl-names = "default";
63587f60faSYann Gautier	pinctrl-0 = <&i2c4_pins_a>;
64587f60faSYann Gautier	i2c-scl-rising-time-ns = <185>;
65587f60faSYann Gautier	i2c-scl-falling-time-ns = <20>;
66277d6af5SYann Gautier	clock-frequency = <400000>;
67587f60faSYann Gautier	status = "okay";
68587f60faSYann Gautier
6923684d0eSYann Gautier	pmic: stpmic@33 {
7023684d0eSYann Gautier		compatible = "st,stpmic1";
71587f60faSYann Gautier		reg = <0x33>;
72c948f771SYann Gautier		interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
73c948f771SYann Gautier		interrupt-controller;
74c948f771SYann Gautier		#interrupt-cells = <2>;
75587f60faSYann Gautier		status = "okay";
76587f60faSYann Gautier
77587f60faSYann Gautier		regulators {
7823684d0eSYann Gautier			compatible = "st,stpmic1-regulators";
79c948f771SYann Gautier			ldo1-supply = <&v3v3>;
80c948f771SYann Gautier			ldo2-supply = <&v3v3>;
81c948f771SYann Gautier			ldo3-supply = <&vdd_ddr>;
82c948f771SYann Gautier			ldo5-supply = <&v3v3>;
83c948f771SYann Gautier			ldo6-supply = <&v3v3>;
84277d6af5SYann Gautier			pwr_sw1-supply = <&bst_out>;
85277d6af5SYann Gautier			pwr_sw2-supply = <&bst_out>;
86c948f771SYann Gautier
87c948f771SYann Gautier			vddcore: buck1 {
88c948f771SYann Gautier				regulator-name = "vddcore";
89d82d4ff0SYann Gautier				regulator-min-microvolt = <1200000>;
90c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
91c948f771SYann Gautier				regulator-always-on;
92c948f771SYann Gautier				regulator-initial-mode = <0>;
93c948f771SYann Gautier				regulator-over-current-protection;
94c948f771SYann Gautier			};
95c948f771SYann Gautier
96c948f771SYann Gautier			vdd_ddr: buck2 {
97c948f771SYann Gautier				regulator-name = "vdd_ddr";
98c948f771SYann Gautier				regulator-min-microvolt = <1350000>;
99c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
100c948f771SYann Gautier				regulator-always-on;
101c948f771SYann Gautier				regulator-initial-mode = <0>;
102c948f771SYann Gautier				regulator-over-current-protection;
103c948f771SYann Gautier			};
104c948f771SYann Gautier
105c948f771SYann Gautier			vdd: buck3 {
106c948f771SYann Gautier				regulator-name = "vdd";
107c948f771SYann Gautier				regulator-min-microvolt = <3300000>;
108c948f771SYann Gautier				regulator-max-microvolt = <3300000>;
109c948f771SYann Gautier				regulator-always-on;
110c948f771SYann Gautier				st,mask-reset;
111c948f771SYann Gautier				regulator-initial-mode = <0>;
112c948f771SYann Gautier				regulator-over-current-protection;
113c948f771SYann Gautier			};
114c948f771SYann Gautier
115587f60faSYann Gautier			v3v3: buck4 {
116587f60faSYann Gautier				regulator-name = "v3v3";
117587f60faSYann Gautier				regulator-min-microvolt = <3300000>;
118587f60faSYann Gautier				regulator-max-microvolt = <3300000>;
119c948f771SYann Gautier				regulator-always-on;
120587f60faSYann Gautier				regulator-over-current-protection;
121c948f771SYann Gautier				regulator-initial-mode = <0>;
122c948f771SYann Gautier			};
123587f60faSYann Gautier
124c948f771SYann Gautier			vdda: ldo1 {
125c948f771SYann Gautier				regulator-name = "vdda";
126c948f771SYann Gautier				regulator-min-microvolt = <2900000>;
127c948f771SYann Gautier				regulator-max-microvolt = <2900000>;
128587f60faSYann Gautier			};
129c948f771SYann Gautier
130c948f771SYann Gautier			v2v8: ldo2 {
131c948f771SYann Gautier				regulator-name = "v2v8";
132c948f771SYann Gautier				regulator-min-microvolt = <2800000>;
133c948f771SYann Gautier				regulator-max-microvolt = <2800000>;
134587f60faSYann Gautier			};
135c948f771SYann Gautier
136c948f771SYann Gautier			vtt_ddr: ldo3 {
137c948f771SYann Gautier				regulator-name = "vtt_ddr";
138c948f771SYann Gautier				regulator-always-on;
139c948f771SYann Gautier				regulator-over-current-protection;
14067d95409SPascal Paillet				st,regulator-sink-source;
141587f60faSYann Gautier			};
142c948f771SYann Gautier
143c948f771SYann Gautier			vdd_usb: ldo4 {
144c948f771SYann Gautier				regulator-name = "vdd_usb";
14567d95409SPascal Paillet				regulator-min-microvolt = <3300000>;
14667d95409SPascal Paillet				regulator-max-microvolt = <3300000>;
147587f60faSYann Gautier			};
148587f60faSYann Gautier
149587f60faSYann Gautier			vdd_sd: ldo5 {
150587f60faSYann Gautier				regulator-name = "vdd_sd";
151587f60faSYann Gautier				regulator-min-microvolt = <2900000>;
152587f60faSYann Gautier				regulator-max-microvolt = <2900000>;
153587f60faSYann Gautier				regulator-boot-on;
154c948f771SYann Gautier			};
155587f60faSYann Gautier
156c948f771SYann Gautier			v1v8: ldo6 {
157c948f771SYann Gautier				regulator-name = "v1v8";
158c948f771SYann Gautier				regulator-min-microvolt = <1800000>;
159c948f771SYann Gautier				regulator-max-microvolt = <1800000>;
160587f60faSYann Gautier			};
161c948f771SYann Gautier
162c948f771SYann Gautier			vref_ddr: vref_ddr {
163c948f771SYann Gautier				regulator-name = "vref_ddr";
164c948f771SYann Gautier				regulator-always-on;
165587f60faSYann Gautier			};
166277d6af5SYann Gautier
167277d6af5SYann Gautier			bst_out: boost {
168277d6af5SYann Gautier				regulator-name = "bst_out";
169277d6af5SYann Gautier			};
170277d6af5SYann Gautier
171277d6af5SYann Gautier			vbus_otg: pwr_sw1 {
172277d6af5SYann Gautier				regulator-name = "vbus_otg";
173277d6af5SYann Gautier			 };
174277d6af5SYann Gautier
175277d6af5SYann Gautier			 vbus_sw: pwr_sw2 {
176277d6af5SYann Gautier				regulator-name = "vbus_sw";
177277d6af5SYann Gautier				regulator-active-discharge = <1>;
178277d6af5SYann Gautier			 };
179277d6af5SYann Gautier		};
180277d6af5SYann Gautier
181277d6af5SYann Gautier		onkey {
182277d6af5SYann Gautier			compatible = "st,stpmic1-onkey";
183277d6af5SYann Gautier			power-off-time-sec = <10>;
184277d6af5SYann Gautier			status = "okay";
185277d6af5SYann Gautier		};
186277d6af5SYann Gautier
187277d6af5SYann Gautier		watchdog {
188277d6af5SYann Gautier			compatible = "st,stpmic1-wdt";
189277d6af5SYann Gautier			status = "disabled";
190587f60faSYann Gautier		};
191587f60faSYann Gautier	};
192587f60faSYann Gautier};
193587f60faSYann Gautier
194587f60faSYann Gautier&iwdg2 {
195587f60faSYann Gautier	timeout-sec = <32>;
196587f60faSYann Gautier	status = "okay";
197587f60faSYann Gautier};
198587f60faSYann Gautier
199*ff8767cbSNicolas Le Bayon&nvmem_layout {
200*ff8767cbSNicolas Le Bayon	nvmem-cells = <&cfg0_otp>,
201*ff8767cbSNicolas Le Bayon		      <&part_number_otp>,
202*ff8767cbSNicolas Le Bayon		      <&monotonic_otp>,
203*ff8767cbSNicolas Le Bayon		      <&nand_otp>,
204*ff8767cbSNicolas Le Bayon		      <&uid_otp>,
205*ff8767cbSNicolas Le Bayon		      <&package_otp>,
206*ff8767cbSNicolas Le Bayon		      <&hw2_otp>,
207*ff8767cbSNicolas Le Bayon		      <&board_id>;
208*ff8767cbSNicolas Le Bayon
209*ff8767cbSNicolas Le Bayon	nvmem-cell-names = "cfg0_otp",
210*ff8767cbSNicolas Le Bayon			   "part_number_otp",
211*ff8767cbSNicolas Le Bayon			   "monotonic_otp",
212*ff8767cbSNicolas Le Bayon			   "nand_otp",
213*ff8767cbSNicolas Le Bayon			   "uid_otp",
214*ff8767cbSNicolas Le Bayon			   "package_otp",
215*ff8767cbSNicolas Le Bayon			   "hw2_otp",
216*ff8767cbSNicolas Le Bayon			   "board_id";
217*ff8767cbSNicolas Le Bayon};
218*ff8767cbSNicolas Le Bayon
219277d6af5SYann Gautier&pwr_regulators {
220f33b2433SYann Gautier	vdd-supply = <&vdd>;
221277d6af5SYann Gautier	vdd_3v3_usbfs-supply = <&vdd_usb>;
222f33b2433SYann Gautier};
223f33b2433SYann Gautier
224587f60faSYann Gautier&rcc {
225c948f771SYann Gautier	secure-status = "disabled";
226587f60faSYann Gautier	st,clksrc = <
227587f60faSYann Gautier		CLK_MPU_PLL1P
228587f60faSYann Gautier		CLK_AXI_PLL2P
229b053a22eSYann Gautier		CLK_MCU_PLL3P
230587f60faSYann Gautier		CLK_PLL12_HSE
231587f60faSYann Gautier		CLK_PLL3_HSE
232587f60faSYann Gautier		CLK_PLL4_HSE
233587f60faSYann Gautier		CLK_RTC_LSE
234587f60faSYann Gautier		CLK_MCO1_DISABLED
235587f60faSYann Gautier		CLK_MCO2_DISABLED
236587f60faSYann Gautier	>;
237587f60faSYann Gautier
238587f60faSYann Gautier	st,clkdiv = <
239587f60faSYann Gautier		1 /*MPU*/
240587f60faSYann Gautier		0 /*AXI*/
241b053a22eSYann Gautier		0 /*MCU*/
242587f60faSYann Gautier		1 /*APB1*/
243587f60faSYann Gautier		1 /*APB2*/
244587f60faSYann Gautier		1 /*APB3*/
245587f60faSYann Gautier		1 /*APB4*/
246587f60faSYann Gautier		2 /*APB5*/
247587f60faSYann Gautier		23 /*RTC*/
248587f60faSYann Gautier		0 /*MCO1*/
249587f60faSYann Gautier		0 /*MCO2*/
250587f60faSYann Gautier	>;
251587f60faSYann Gautier
252587f60faSYann Gautier	st,pkcs = <
253587f60faSYann Gautier		CLK_CKPER_HSE
254587f60faSYann Gautier		CLK_FMC_ACLK
255587f60faSYann Gautier		CLK_QSPI_ACLK
2563e881a88SYann Gautier		CLK_ETH_PLL4P
257c948f771SYann Gautier		CLK_SDMMC12_PLL4P
258587f60faSYann Gautier		CLK_DSI_DSIPLL
259587f60faSYann Gautier		CLK_STGEN_HSE
260587f60faSYann Gautier		CLK_USBPHY_HSE
261587f60faSYann Gautier		CLK_SPI2S1_PLL3Q
262587f60faSYann Gautier		CLK_SPI2S23_PLL3Q
263587f60faSYann Gautier		CLK_SPI45_HSI
264587f60faSYann Gautier		CLK_SPI6_HSI
265587f60faSYann Gautier		CLK_I2C46_HSI
266c948f771SYann Gautier		CLK_SDMMC3_PLL4P
267587f60faSYann Gautier		CLK_USBO_USBPHY
268587f60faSYann Gautier		CLK_ADC_CKPER
269587f60faSYann Gautier		CLK_CEC_LSE
270587f60faSYann Gautier		CLK_I2C12_HSI
271587f60faSYann Gautier		CLK_I2C35_HSI
272587f60faSYann Gautier		CLK_UART1_HSI
273587f60faSYann Gautier		CLK_UART24_HSI
274587f60faSYann Gautier		CLK_UART35_HSI
275587f60faSYann Gautier		CLK_UART6_HSI
276587f60faSYann Gautier		CLK_UART78_HSI
277c948f771SYann Gautier		CLK_SPDIF_PLL4P
2782dc9fe70SAntonio Borneo		CLK_FDCAN_PLL4R
279587f60faSYann Gautier		CLK_SAI1_PLL3Q
280587f60faSYann Gautier		CLK_SAI2_PLL3Q
281587f60faSYann Gautier		CLK_SAI3_PLL3Q
282587f60faSYann Gautier		CLK_SAI4_PLL3Q
283c948f771SYann Gautier		CLK_RNG1_LSI
284c948f771SYann Gautier		CLK_RNG2_LSI
285587f60faSYann Gautier		CLK_LPTIM1_PCLK1
286587f60faSYann Gautier		CLK_LPTIM23_PCLK3
287c948f771SYann Gautier		CLK_LPTIM45_LSE
288587f60faSYann Gautier	>;
289587f60faSYann Gautier
290587f60faSYann Gautier	/* VCO = 1300.0 MHz => P = 650 (CPU) */
291587f60faSYann Gautier	pll1: st,pll@0 {
292cdbbb9f7SYann Gautier		compatible = "st,stm32mp1-pll";
293cdbbb9f7SYann Gautier		reg = <0>;
294587f60faSYann Gautier		cfg = <2 80 0 0 0 PQR(1,0,0)>;
295587f60faSYann Gautier		frac = <0x800>;
296587f60faSYann Gautier	};
297587f60faSYann Gautier
298587f60faSYann Gautier	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */
299587f60faSYann Gautier	pll2: st,pll@1 {
300cdbbb9f7SYann Gautier		compatible = "st,stm32mp1-pll";
301cdbbb9f7SYann Gautier		reg = <1>;
302587f60faSYann Gautier		cfg = <2 65 1 0 0 PQR(1,1,1)>;
303587f60faSYann Gautier		frac = <0x1400>;
304587f60faSYann Gautier	};
305587f60faSYann Gautier
306c948f771SYann Gautier	/* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */
307587f60faSYann Gautier	pll3: st,pll@2 {
308cdbbb9f7SYann Gautier		compatible = "st,stm32mp1-pll";
309cdbbb9f7SYann Gautier		reg = <2>;
310c948f771SYann Gautier		cfg = <1 33 1 16 36 PQR(1,1,1)>;
311c948f771SYann Gautier		frac = <0x1a04>;
312587f60faSYann Gautier	};
313587f60faSYann Gautier
314c948f771SYann Gautier	/* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */
315587f60faSYann Gautier	pll4: st,pll@3 {
316cdbbb9f7SYann Gautier		compatible = "st,stm32mp1-pll";
317cdbbb9f7SYann Gautier		reg = <3>;
318c948f771SYann Gautier		cfg = <3 98 5 7 7 PQR(1,1,1)>;
319587f60faSYann Gautier	};
320587f60faSYann Gautier};
321587f60faSYann Gautier
322277d6af5SYann Gautier&rng1 {
323f237822fSYann Gautier	status = "okay";
324f237822fSYann Gautier};
325277d6af5SYann Gautier
326277d6af5SYann Gautier&rtc {
327277d6af5SYann Gautier	status = "okay";
328277d6af5SYann Gautier};
329277d6af5SYann Gautier
330277d6af5SYann Gautier&sdmmc1 {
331277d6af5SYann Gautier	pinctrl-names = "default";
332277d6af5SYann Gautier	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
333277d6af5SYann Gautier	disable-wp;
334277d6af5SYann Gautier	st,sig-dir;
335277d6af5SYann Gautier	st,neg-edge;
336277d6af5SYann Gautier	st,use-ckin;
337277d6af5SYann Gautier	bus-width = <4>;
338277d6af5SYann Gautier	vmmc-supply = <&vdd_sd>;
339277d6af5SYann Gautier	sd-uhs-sdr12;
340277d6af5SYann Gautier	sd-uhs-sdr25;
341277d6af5SYann Gautier	sd-uhs-sdr50;
342277d6af5SYann Gautier	sd-uhs-ddr50;
343277d6af5SYann Gautier	status = "okay";
344277d6af5SYann Gautier};
345277d6af5SYann Gautier
346277d6af5SYann Gautier&sdmmc2 {
347277d6af5SYann Gautier	pinctrl-names = "default";
348277d6af5SYann Gautier	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
349277d6af5SYann Gautier	non-removable;
350277d6af5SYann Gautier	no-sd;
351277d6af5SYann Gautier	no-sdio;
352277d6af5SYann Gautier	st,neg-edge;
353277d6af5SYann Gautier	bus-width = <8>;
354277d6af5SYann Gautier	vmmc-supply = <&v3v3>;
355277d6af5SYann Gautier	vqmmc-supply = <&vdd>;
356277d6af5SYann Gautier	mmc-ddr-3_3v;
357277d6af5SYann Gautier	status = "okay";
358277d6af5SYann Gautier};
359277d6af5SYann Gautier
360277d6af5SYann Gautier&uart4 {
361277d6af5SYann Gautier	pinctrl-names = "default";
362277d6af5SYann Gautier	pinctrl-0 = <&uart4_pins_a>;
363277d6af5SYann Gautier	status = "okay";
364f237822fSYann Gautier};
365