xref: /rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts (revision f237822f0b003dc5bec54d8c4ee961597a11116c)
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
8587f60faSYann Gautier#include "stm32mp157c.dtsi"
9587f60faSYann Gautier#include "stm32mp157caa-pinctrl.dtsi"
10587f60faSYann Gautier
11587f60faSYann Gautier/ {
12c948f771SYann Gautier	model = "STMicroelectronics STM32MP157C eval daughter";
13587f60faSYann Gautier	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
14587f60faSYann Gautier
15587f60faSYann Gautier	chosen {
16c948f771SYann Gautier		stdout-path = "serial0:115200n8";
17587f60faSYann Gautier	};
18c948f771SYann Gautier
19c948f771SYann Gautier	aliases {
20c948f771SYann Gautier		serial0 = &uart4;
21c948f771SYann Gautier	};
22c948f771SYann Gautier};
23c948f771SYann Gautier
24c948f771SYann Gautier&clk_hse {
25c948f771SYann Gautier	st,digbypass;
26587f60faSYann Gautier};
27587f60faSYann Gautier
28587f60faSYann Gautier&i2c4 {
29587f60faSYann Gautier	pinctrl-names = "default";
30587f60faSYann Gautier	pinctrl-0 = <&i2c4_pins_a>;
31587f60faSYann Gautier	i2c-scl-rising-time-ns = <185>;
32587f60faSYann Gautier	i2c-scl-falling-time-ns = <20>;
33587f60faSYann Gautier	status = "okay";
34587f60faSYann Gautier
3523684d0eSYann Gautier	pmic: stpmic@33 {
3623684d0eSYann Gautier		compatible = "st,stpmic1";
37587f60faSYann Gautier		reg = <0x33>;
38c948f771SYann Gautier		interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
39c948f771SYann Gautier		interrupt-controller;
40c948f771SYann Gautier		#interrupt-cells = <2>;
41587f60faSYann Gautier		status = "okay";
42587f60faSYann Gautier
43c948f771SYann Gautier		st,main-control-register = <0x04>;
44c948f771SYann Gautier		st,vin-control-register = <0xc0>;
45*f237822fSYann Gautier		st,usb-control-register = <0x20>;
46587f60faSYann Gautier
47587f60faSYann Gautier		regulators {
4823684d0eSYann Gautier			compatible = "st,stpmic1-regulators";
49587f60faSYann Gautier
50c948f771SYann Gautier			ldo1-supply = <&v3v3>;
51c948f771SYann Gautier			ldo2-supply = <&v3v3>;
52c948f771SYann Gautier			ldo3-supply = <&vdd_ddr>;
53c948f771SYann Gautier			ldo5-supply = <&v3v3>;
54c948f771SYann Gautier			ldo6-supply = <&v3v3>;
55c948f771SYann Gautier
56c948f771SYann Gautier			vddcore: buck1 {
57c948f771SYann Gautier				regulator-name = "vddcore";
58d82d4ff0SYann Gautier				regulator-min-microvolt = <1200000>;
59c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
60c948f771SYann Gautier				regulator-always-on;
61c948f771SYann Gautier				regulator-initial-mode = <0>;
62c948f771SYann Gautier				regulator-over-current-protection;
63c948f771SYann Gautier			};
64c948f771SYann Gautier
65c948f771SYann Gautier			vdd_ddr: buck2 {
66c948f771SYann Gautier				regulator-name = "vdd_ddr";
67c948f771SYann Gautier				regulator-min-microvolt = <1350000>;
68c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
69c948f771SYann Gautier				regulator-always-on;
70c948f771SYann Gautier				regulator-initial-mode = <0>;
71c948f771SYann Gautier				regulator-over-current-protection;
72c948f771SYann Gautier			};
73c948f771SYann Gautier
74c948f771SYann Gautier			vdd: buck3 {
75c948f771SYann Gautier				regulator-name = "vdd";
76c948f771SYann Gautier				regulator-min-microvolt = <3300000>;
77c948f771SYann Gautier				regulator-max-microvolt = <3300000>;
78c948f771SYann Gautier				regulator-always-on;
79c948f771SYann Gautier				st,mask-reset;
80c948f771SYann Gautier				regulator-initial-mode = <0>;
81c948f771SYann Gautier				regulator-over-current-protection;
82c948f771SYann Gautier			};
83c948f771SYann Gautier
84587f60faSYann Gautier			v3v3: buck4 {
85587f60faSYann Gautier				regulator-name = "v3v3";
86587f60faSYann Gautier				regulator-min-microvolt = <3300000>;
87587f60faSYann Gautier				regulator-max-microvolt = <3300000>;
88c948f771SYann Gautier				regulator-always-on;
89587f60faSYann Gautier				regulator-over-current-protection;
90c948f771SYann Gautier				regulator-initial-mode = <0>;
91c948f771SYann Gautier			};
92587f60faSYann Gautier
93c948f771SYann Gautier			vdda: ldo1 {
94c948f771SYann Gautier				regulator-name = "vdda";
95c948f771SYann Gautier				regulator-min-microvolt = <2900000>;
96c948f771SYann Gautier				regulator-max-microvolt = <2900000>;
97587f60faSYann Gautier			};
98c948f771SYann Gautier
99c948f771SYann Gautier			v2v8: ldo2 {
100c948f771SYann Gautier				regulator-name = "v2v8";
101c948f771SYann Gautier				regulator-min-microvolt = <2800000>;
102c948f771SYann Gautier				regulator-max-microvolt = <2800000>;
103587f60faSYann Gautier			};
104c948f771SYann Gautier
105c948f771SYann Gautier			vtt_ddr: ldo3 {
106c948f771SYann Gautier				regulator-name = "vtt_ddr";
107c948f771SYann Gautier				regulator-min-microvolt = <500000>;
108c948f771SYann Gautier				regulator-max-microvolt = <750000>;
109c948f771SYann Gautier				regulator-always-on;
110c948f771SYann Gautier				regulator-over-current-protection;
111587f60faSYann Gautier			};
112c948f771SYann Gautier
113c948f771SYann Gautier			vdd_usb: ldo4 {
114c948f771SYann Gautier				regulator-name = "vdd_usb";
115c948f771SYann Gautier				regulator-min-microvolt = <3300000>;
116c948f771SYann Gautier				regulator-max-microvolt = <3300000>;
117587f60faSYann Gautier			};
118587f60faSYann Gautier
119587f60faSYann Gautier			vdd_sd: ldo5 {
120587f60faSYann Gautier				regulator-name = "vdd_sd";
121587f60faSYann Gautier				regulator-min-microvolt = <2900000>;
122587f60faSYann Gautier				regulator-max-microvolt = <2900000>;
123587f60faSYann Gautier				regulator-boot-on;
124c948f771SYann Gautier			};
125587f60faSYann Gautier
126c948f771SYann Gautier			v1v8: ldo6 {
127c948f771SYann Gautier				regulator-name = "v1v8";
128c948f771SYann Gautier				regulator-min-microvolt = <1800000>;
129c948f771SYann Gautier				regulator-max-microvolt = <1800000>;
130587f60faSYann Gautier			};
131c948f771SYann Gautier
132c948f771SYann Gautier			vref_ddr: vref_ddr {
133c948f771SYann Gautier				regulator-name = "vref_ddr";
134c948f771SYann Gautier				regulator-always-on;
135c948f771SYann Gautier				regulator-over-current-protection;
136587f60faSYann Gautier			};
137587f60faSYann Gautier		};
138587f60faSYann Gautier	};
139587f60faSYann Gautier};
140587f60faSYann Gautier
141587f60faSYann Gautier&iwdg2 {
142587f60faSYann Gautier	timeout-sec = <32>;
143587f60faSYann Gautier	status = "okay";
144587f60faSYann Gautier};
145587f60faSYann Gautier
146f33b2433SYann Gautier&pwr {
147f33b2433SYann Gautier	pwr-regulators {
148f33b2433SYann Gautier		vdd-supply = <&vdd>;
149f33b2433SYann Gautier	};
150f33b2433SYann Gautier};
151f33b2433SYann Gautier
152587f60faSYann Gautier&rng1 {
153587f60faSYann Gautier	status = "okay";
154587f60faSYann Gautier};
155587f60faSYann Gautier
156c948f771SYann Gautier&rtc {
157c948f771SYann Gautier	status = "okay";
158c948f771SYann Gautier};
159c948f771SYann Gautier
160587f60faSYann Gautier&sdmmc1 {
161587f60faSYann Gautier	pinctrl-names = "default";
162587f60faSYann Gautier	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
163587f60faSYann Gautier	broken-cd;
164c948f771SYann Gautier	st,sig-dir;
165c948f771SYann Gautier	st,neg-edge;
166c948f771SYann Gautier	st,use-ckin;
167587f60faSYann Gautier	bus-width = <4>;
168c948f771SYann Gautier	vmmc-supply = <&vdd_sd>;
169587f60faSYann Gautier	sd-uhs-sdr12;
170587f60faSYann Gautier	sd-uhs-sdr25;
171587f60faSYann Gautier	sd-uhs-sdr50;
172587f60faSYann Gautier	sd-uhs-ddr50;
173587f60faSYann Gautier	sd-uhs-sdr104;
174587f60faSYann Gautier	status = "okay";
175587f60faSYann Gautier};
176587f60faSYann Gautier
177587f60faSYann Gautier&sdmmc2 {
178587f60faSYann Gautier	pinctrl-names = "default";
179587f60faSYann Gautier	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
180587f60faSYann Gautier	non-removable;
181587f60faSYann Gautier	no-sd;
182587f60faSYann Gautier	no-sdio;
183c948f771SYann Gautier	st,neg-edge;
184587f60faSYann Gautier	bus-width = <8>;
185c948f771SYann Gautier	vmmc-supply = <&v3v3>;
186c948f771SYann Gautier	vqmmc-supply = <&v3v3>;
187c948f771SYann Gautier	mmc-ddr-3_3v;
188587f60faSYann Gautier	status = "okay";
189587f60faSYann Gautier};
190587f60faSYann Gautier
191587f60faSYann Gautier&uart4 {
192587f60faSYann Gautier	pinctrl-names = "default";
193587f60faSYann Gautier	pinctrl-0 = <&uart4_pins_a>;
194587f60faSYann Gautier	status = "okay";
195587f60faSYann Gautier};
196587f60faSYann Gautier
197587f60faSYann Gautier/* ATF Specific */
198587f60faSYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h>
199587f60faSYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi"
20083f62c87SYann Gautier#include "stm32mp157c-security.dtsi"
201587f60faSYann Gautier
202587f60faSYann Gautier/ {
203587f60faSYann Gautier	aliases {
204587f60faSYann Gautier		gpio0 = &gpioa;
205587f60faSYann Gautier		gpio1 = &gpiob;
206587f60faSYann Gautier		gpio2 = &gpioc;
207587f60faSYann Gautier		gpio3 = &gpiod;
208587f60faSYann Gautier		gpio4 = &gpioe;
209587f60faSYann Gautier		gpio5 = &gpiof;
210587f60faSYann Gautier		gpio6 = &gpiog;
211587f60faSYann Gautier		gpio7 = &gpioh;
212587f60faSYann Gautier		gpio8 = &gpioi;
213587f60faSYann Gautier		gpio9 = &gpioj;
214587f60faSYann Gautier		gpio10 = &gpiok;
215587f60faSYann Gautier		gpio25 = &gpioz;
216587f60faSYann Gautier		i2c3 = &i2c4;
217587f60faSYann Gautier	};
218587f60faSYann Gautier};
219587f60faSYann Gautier
220587f60faSYann Gautier/* CLOCK init */
221587f60faSYann Gautier&rcc {
222c948f771SYann Gautier	secure-status = "disabled";
223587f60faSYann Gautier	st,clksrc = <
224587f60faSYann Gautier		CLK_MPU_PLL1P
225587f60faSYann Gautier		CLK_AXI_PLL2P
226b053a22eSYann Gautier		CLK_MCU_PLL3P
227587f60faSYann Gautier		CLK_PLL12_HSE
228587f60faSYann Gautier		CLK_PLL3_HSE
229587f60faSYann Gautier		CLK_PLL4_HSE
230587f60faSYann Gautier		CLK_RTC_LSE
231587f60faSYann Gautier		CLK_MCO1_DISABLED
232587f60faSYann Gautier		CLK_MCO2_DISABLED
233587f60faSYann Gautier	>;
234587f60faSYann Gautier
235587f60faSYann Gautier	st,clkdiv = <
236587f60faSYann Gautier		1 /*MPU*/
237587f60faSYann Gautier		0 /*AXI*/
238b053a22eSYann Gautier		0 /*MCU*/
239587f60faSYann Gautier		1 /*APB1*/
240587f60faSYann Gautier		1 /*APB2*/
241587f60faSYann Gautier		1 /*APB3*/
242587f60faSYann Gautier		1 /*APB4*/
243587f60faSYann Gautier		2 /*APB5*/
244587f60faSYann Gautier		23 /*RTC*/
245587f60faSYann Gautier		0 /*MCO1*/
246587f60faSYann Gautier		0 /*MCO2*/
247587f60faSYann Gautier	>;
248587f60faSYann Gautier
249587f60faSYann Gautier	st,pkcs = <
250587f60faSYann Gautier		CLK_CKPER_HSE
251587f60faSYann Gautier		CLK_FMC_ACLK
252587f60faSYann Gautier		CLK_QSPI_ACLK
253587f60faSYann Gautier		CLK_ETH_DISABLED
254c948f771SYann Gautier		CLK_SDMMC12_PLL4P
255587f60faSYann Gautier		CLK_DSI_DSIPLL
256587f60faSYann Gautier		CLK_STGEN_HSE
257587f60faSYann Gautier		CLK_USBPHY_HSE
258587f60faSYann Gautier		CLK_SPI2S1_PLL3Q
259587f60faSYann Gautier		CLK_SPI2S23_PLL3Q
260587f60faSYann Gautier		CLK_SPI45_HSI
261587f60faSYann Gautier		CLK_SPI6_HSI
262587f60faSYann Gautier		CLK_I2C46_HSI
263c948f771SYann Gautier		CLK_SDMMC3_PLL4P
264587f60faSYann Gautier		CLK_USBO_USBPHY
265587f60faSYann Gautier		CLK_ADC_CKPER
266587f60faSYann Gautier		CLK_CEC_LSE
267587f60faSYann Gautier		CLK_I2C12_HSI
268587f60faSYann Gautier		CLK_I2C35_HSI
269587f60faSYann Gautier		CLK_UART1_HSI
270587f60faSYann Gautier		CLK_UART24_HSI
271587f60faSYann Gautier		CLK_UART35_HSI
272587f60faSYann Gautier		CLK_UART6_HSI
273587f60faSYann Gautier		CLK_UART78_HSI
274c948f771SYann Gautier		CLK_SPDIF_PLL4P
275587f60faSYann Gautier		CLK_FDCAN_PLL4Q
276587f60faSYann Gautier		CLK_SAI1_PLL3Q
277587f60faSYann Gautier		CLK_SAI2_PLL3Q
278587f60faSYann Gautier		CLK_SAI3_PLL3Q
279587f60faSYann Gautier		CLK_SAI4_PLL3Q
280c948f771SYann Gautier		CLK_RNG1_LSI
281c948f771SYann Gautier		CLK_RNG2_LSI
282587f60faSYann Gautier		CLK_LPTIM1_PCLK1
283587f60faSYann Gautier		CLK_LPTIM23_PCLK3
284c948f771SYann Gautier		CLK_LPTIM45_LSE
285587f60faSYann Gautier	>;
286587f60faSYann Gautier
287587f60faSYann Gautier	/* VCO = 1300.0 MHz => P = 650 (CPU) */
288587f60faSYann Gautier	pll1: st,pll@0 {
289587f60faSYann Gautier		cfg = < 2 80 0 0 0 PQR(1,0,0) >;
290587f60faSYann Gautier		frac = < 0x800 >;
291587f60faSYann Gautier	};
292587f60faSYann Gautier
293587f60faSYann Gautier	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */
294587f60faSYann Gautier	pll2: st,pll@1 {
295587f60faSYann Gautier		cfg = < 2 65 1 0 0 PQR(1,1,1) >;
296587f60faSYann Gautier		frac = < 0x1400 >;
297587f60faSYann Gautier	};
298587f60faSYann Gautier
299c948f771SYann Gautier	/* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */
300587f60faSYann Gautier	pll3: st,pll@2 {
301c948f771SYann Gautier		cfg = < 1 33 1 16 36 PQR(1,1,1) >;
302c948f771SYann Gautier		frac = < 0x1a04 >;
303587f60faSYann Gautier	};
304587f60faSYann Gautier
305c948f771SYann Gautier	/* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */
306587f60faSYann Gautier	pll4: st,pll@3 {
307c948f771SYann Gautier		cfg = < 3 98 5 7 7 PQR(1,1,1) >;
308587f60faSYann Gautier	};
309587f60faSYann Gautier};
310587f60faSYann Gautier
311*f237822fSYann Gautier&bsec {
312*f237822fSYann Gautier	board_id: board_id@ec {
313*f237822fSYann Gautier		reg = <0xec 0x4>;
314*f237822fSYann Gautier		status = "okay";
315*f237822fSYann Gautier		secure-status = "okay";
316*f237822fSYann Gautier	};
317*f237822fSYann Gautier};
318