xref: /rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts (revision c948f77136c42a92d0bb660543a3600c36dcf7f1)
1587f60faSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2587f60faSYann Gautier/*
3587f60faSYann Gautier * Copyright (C) STMicroelectronics 2017 - 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/ {
12*c948f771SYann Gautier	model = "STMicroelectronics STM32MP157C eval daughter";
13587f60faSYann Gautier	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
14587f60faSYann Gautier
15587f60faSYann Gautier	chosen {
16*c948f771SYann Gautier		stdout-path = "serial0:115200n8";
17587f60faSYann Gautier	};
18*c948f771SYann Gautier
19*c948f771SYann Gautier	aliases {
20*c948f771SYann Gautier		serial0 = &uart4;
21*c948f771SYann Gautier	};
22*c948f771SYann Gautier};
23*c948f771SYann Gautier
24*c948f771SYann Gautier&clk_hse {
25*c948f771SYann 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>;
38*c948f771SYann Gautier		interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
39*c948f771SYann Gautier		interrupt-controller;
40*c948f771SYann Gautier		#interrupt-cells = <2>;
41587f60faSYann Gautier		status = "okay";
42587f60faSYann Gautier
43*c948f771SYann Gautier		st,main-control-register = <0x04>;
44*c948f771SYann Gautier		st,vin-control-register = <0xc0>;
45*c948f771SYann Gautier		st,usb-control-register = <0x30>;
46587f60faSYann Gautier
47587f60faSYann Gautier		regulators {
4823684d0eSYann Gautier			compatible = "st,stpmic1-regulators";
49587f60faSYann Gautier
50*c948f771SYann Gautier			ldo1-supply = <&v3v3>;
51*c948f771SYann Gautier			ldo2-supply = <&v3v3>;
52*c948f771SYann Gautier			ldo3-supply = <&vdd_ddr>;
53*c948f771SYann Gautier			ldo5-supply = <&v3v3>;
54*c948f771SYann Gautier			ldo6-supply = <&v3v3>;
55*c948f771SYann Gautier
56*c948f771SYann Gautier			vddcore: buck1 {
57*c948f771SYann Gautier				regulator-name = "vddcore";
58*c948f771SYann Gautier				regulator-min-microvolt = <800000>;
59*c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
60*c948f771SYann Gautier				regulator-always-on;
61*c948f771SYann Gautier				regulator-initial-mode = <0>;
62*c948f771SYann Gautier				regulator-over-current-protection;
63*c948f771SYann Gautier			};
64*c948f771SYann Gautier
65*c948f771SYann Gautier			vdd_ddr: buck2 {
66*c948f771SYann Gautier				regulator-name = "vdd_ddr";
67*c948f771SYann Gautier				regulator-min-microvolt = <1350000>;
68*c948f771SYann Gautier				regulator-max-microvolt = <1350000>;
69*c948f771SYann Gautier				regulator-always-on;
70*c948f771SYann Gautier				regulator-initial-mode = <0>;
71*c948f771SYann Gautier				regulator-over-current-protection;
72*c948f771SYann Gautier			};
73*c948f771SYann Gautier
74*c948f771SYann Gautier			vdd: buck3 {
75*c948f771SYann Gautier				regulator-name = "vdd";
76*c948f771SYann Gautier				regulator-min-microvolt = <3300000>;
77*c948f771SYann Gautier				regulator-max-microvolt = <3300000>;
78*c948f771SYann Gautier				regulator-always-on;
79*c948f771SYann Gautier				st,mask-reset;
80*c948f771SYann Gautier				regulator-initial-mode = <0>;
81*c948f771SYann Gautier				regulator-over-current-protection;
82*c948f771SYann Gautier			};
83*c948f771SYann Gautier
84587f60faSYann Gautier			v3v3: buck4 {
85587f60faSYann Gautier				regulator-name = "v3v3";
86587f60faSYann Gautier				regulator-min-microvolt = <3300000>;
87587f60faSYann Gautier				regulator-max-microvolt = <3300000>;
88*c948f771SYann Gautier				regulator-always-on;
89587f60faSYann Gautier				regulator-over-current-protection;
90*c948f771SYann Gautier				regulator-initial-mode = <0>;
91*c948f771SYann Gautier			};
92587f60faSYann Gautier
93*c948f771SYann Gautier			vdda: ldo1 {
94*c948f771SYann Gautier				regulator-name = "vdda";
95*c948f771SYann Gautier				regulator-min-microvolt = <2900000>;
96*c948f771SYann Gautier				regulator-max-microvolt = <2900000>;
97587f60faSYann Gautier			};
98*c948f771SYann Gautier
99*c948f771SYann Gautier			v2v8: ldo2 {
100*c948f771SYann Gautier				regulator-name = "v2v8";
101*c948f771SYann Gautier				regulator-min-microvolt = <2800000>;
102*c948f771SYann Gautier				regulator-max-microvolt = <2800000>;
103587f60faSYann Gautier			};
104*c948f771SYann Gautier
105*c948f771SYann Gautier			vtt_ddr: ldo3 {
106*c948f771SYann Gautier				regulator-name = "vtt_ddr";
107*c948f771SYann Gautier				regulator-min-microvolt = <500000>;
108*c948f771SYann Gautier				regulator-max-microvolt = <750000>;
109*c948f771SYann Gautier				regulator-always-on;
110*c948f771SYann Gautier				regulator-over-current-protection;
111587f60faSYann Gautier			};
112*c948f771SYann Gautier
113*c948f771SYann Gautier			vdd_usb: ldo4 {
114*c948f771SYann Gautier				regulator-name = "vdd_usb";
115*c948f771SYann Gautier				regulator-min-microvolt = <3300000>;
116*c948f771SYann 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;
124*c948f771SYann Gautier			};
125587f60faSYann Gautier
126*c948f771SYann Gautier			v1v8: ldo6 {
127*c948f771SYann Gautier				regulator-name = "v1v8";
128*c948f771SYann Gautier				regulator-min-microvolt = <1800000>;
129*c948f771SYann Gautier				regulator-max-microvolt = <1800000>;
130587f60faSYann Gautier			};
131*c948f771SYann Gautier
132*c948f771SYann Gautier			vref_ddr: vref_ddr {
133*c948f771SYann Gautier				regulator-name = "vref_ddr";
134*c948f771SYann Gautier				regulator-always-on;
135*c948f771SYann 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
146587f60faSYann Gautier&rng1 {
147587f60faSYann Gautier	status = "okay";
148587f60faSYann Gautier};
149587f60faSYann Gautier
150*c948f771SYann Gautier&rtc {
151*c948f771SYann Gautier	status = "okay";
152*c948f771SYann Gautier};
153*c948f771SYann Gautier
154587f60faSYann Gautier&sdmmc1 {
155587f60faSYann Gautier	pinctrl-names = "default";
156587f60faSYann Gautier	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
157587f60faSYann Gautier	broken-cd;
158*c948f771SYann Gautier	st,sig-dir;
159*c948f771SYann Gautier	st,neg-edge;
160*c948f771SYann Gautier	st,use-ckin;
161587f60faSYann Gautier	bus-width = <4>;
162*c948f771SYann Gautier	vmmc-supply = <&vdd_sd>;
163587f60faSYann Gautier	sd-uhs-sdr12;
164587f60faSYann Gautier	sd-uhs-sdr25;
165587f60faSYann Gautier	sd-uhs-sdr50;
166587f60faSYann Gautier	sd-uhs-ddr50;
167587f60faSYann Gautier	sd-uhs-sdr104;
168587f60faSYann Gautier	status = "okay";
169587f60faSYann Gautier};
170587f60faSYann Gautier
171587f60faSYann Gautier&sdmmc2 {
172587f60faSYann Gautier	pinctrl-names = "default";
173587f60faSYann Gautier	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
174587f60faSYann Gautier	non-removable;
175587f60faSYann Gautier	no-sd;
176587f60faSYann Gautier	no-sdio;
177*c948f771SYann Gautier	st,neg-edge;
178587f60faSYann Gautier	bus-width = <8>;
179*c948f771SYann Gautier	vmmc-supply = <&v3v3>;
180*c948f771SYann Gautier	vqmmc-supply = <&v3v3>;
181*c948f771SYann Gautier	mmc-ddr-3_3v;
182587f60faSYann Gautier	status = "okay";
183587f60faSYann Gautier};
184587f60faSYann Gautier
185587f60faSYann Gautier&uart4 {
186587f60faSYann Gautier	pinctrl-names = "default";
187587f60faSYann Gautier	pinctrl-0 = <&uart4_pins_a>;
188587f60faSYann Gautier	status = "okay";
189587f60faSYann Gautier};
190587f60faSYann Gautier
191587f60faSYann Gautier/* ATF Specific */
192587f60faSYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h>
193587f60faSYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi"
194587f60faSYann Gautier
195587f60faSYann Gautier/ {
196587f60faSYann Gautier	aliases {
197587f60faSYann Gautier		gpio0 = &gpioa;
198587f60faSYann Gautier		gpio1 = &gpiob;
199587f60faSYann Gautier		gpio2 = &gpioc;
200587f60faSYann Gautier		gpio3 = &gpiod;
201587f60faSYann Gautier		gpio4 = &gpioe;
202587f60faSYann Gautier		gpio5 = &gpiof;
203587f60faSYann Gautier		gpio6 = &gpiog;
204587f60faSYann Gautier		gpio7 = &gpioh;
205587f60faSYann Gautier		gpio8 = &gpioi;
206587f60faSYann Gautier		gpio9 = &gpioj;
207587f60faSYann Gautier		gpio10 = &gpiok;
208587f60faSYann Gautier		gpio25 = &gpioz;
209587f60faSYann Gautier		i2c3 = &i2c4;
210587f60faSYann Gautier	};
211587f60faSYann Gautier
212587f60faSYann Gautier	soc {
213587f60faSYann Gautier		stgen: stgen@5C008000 {
214587f60faSYann Gautier			compatible = "st,stm32-stgen";
215587f60faSYann Gautier			reg = <0x5C008000 0x1000>;
216587f60faSYann Gautier			status = "okay";
217587f60faSYann Gautier		};
218587f60faSYann Gautier	};
219587f60faSYann Gautier};
220587f60faSYann Gautier
221587f60faSYann Gautier/* CLOCK init */
222587f60faSYann Gautier&rcc {
223*c948f771SYann Gautier	secure-status = "disabled";
224587f60faSYann Gautier	st,clksrc = <
225587f60faSYann Gautier		CLK_MPU_PLL1P
226587f60faSYann Gautier		CLK_AXI_PLL2P
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*/
238587f60faSYann Gautier		1 /*APB1*/
239587f60faSYann Gautier		1 /*APB2*/
240587f60faSYann Gautier		1 /*APB3*/
241587f60faSYann Gautier		1 /*APB4*/
242587f60faSYann Gautier		2 /*APB5*/
243587f60faSYann Gautier		23 /*RTC*/
244587f60faSYann Gautier		0 /*MCO1*/
245587f60faSYann Gautier		0 /*MCO2*/
246587f60faSYann Gautier	>;
247587f60faSYann Gautier
248587f60faSYann Gautier	st,pkcs = <
249587f60faSYann Gautier		CLK_CKPER_HSE
250587f60faSYann Gautier		CLK_FMC_ACLK
251587f60faSYann Gautier		CLK_QSPI_ACLK
252587f60faSYann Gautier		CLK_ETH_DISABLED
253*c948f771SYann Gautier		CLK_SDMMC12_PLL4P
254587f60faSYann Gautier		CLK_DSI_DSIPLL
255587f60faSYann Gautier		CLK_STGEN_HSE
256587f60faSYann Gautier		CLK_USBPHY_HSE
257587f60faSYann Gautier		CLK_SPI2S1_PLL3Q
258587f60faSYann Gautier		CLK_SPI2S23_PLL3Q
259587f60faSYann Gautier		CLK_SPI45_HSI
260587f60faSYann Gautier		CLK_SPI6_HSI
261587f60faSYann Gautier		CLK_I2C46_HSI
262*c948f771SYann Gautier		CLK_SDMMC3_PLL4P
263587f60faSYann Gautier		CLK_USBO_USBPHY
264587f60faSYann Gautier		CLK_ADC_CKPER
265587f60faSYann Gautier		CLK_CEC_LSE
266587f60faSYann Gautier		CLK_I2C12_HSI
267587f60faSYann Gautier		CLK_I2C35_HSI
268587f60faSYann Gautier		CLK_UART1_HSI
269587f60faSYann Gautier		CLK_UART24_HSI
270587f60faSYann Gautier		CLK_UART35_HSI
271587f60faSYann Gautier		CLK_UART6_HSI
272587f60faSYann Gautier		CLK_UART78_HSI
273*c948f771SYann Gautier		CLK_SPDIF_PLL4P
274587f60faSYann Gautier		CLK_FDCAN_PLL4Q
275587f60faSYann Gautier		CLK_SAI1_PLL3Q
276587f60faSYann Gautier		CLK_SAI2_PLL3Q
277587f60faSYann Gautier		CLK_SAI3_PLL3Q
278587f60faSYann Gautier		CLK_SAI4_PLL3Q
279*c948f771SYann Gautier		CLK_RNG1_LSI
280*c948f771SYann Gautier		CLK_RNG2_LSI
281587f60faSYann Gautier		CLK_LPTIM1_PCLK1
282587f60faSYann Gautier		CLK_LPTIM23_PCLK3
283*c948f771SYann Gautier		CLK_LPTIM45_LSE
284587f60faSYann Gautier	>;
285587f60faSYann Gautier
286587f60faSYann Gautier	/* VCO = 1300.0 MHz => P = 650 (CPU) */
287587f60faSYann Gautier	pll1: st,pll@0 {
288587f60faSYann Gautier		cfg = < 2 80 0 0 0 PQR(1,0,0) >;
289587f60faSYann Gautier		frac = < 0x800 >;
290587f60faSYann Gautier	};
291587f60faSYann Gautier
292587f60faSYann Gautier	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */
293587f60faSYann Gautier	pll2: st,pll@1 {
294587f60faSYann Gautier		cfg = < 2 65 1 0 0 PQR(1,1,1) >;
295587f60faSYann Gautier		frac = < 0x1400 >;
296587f60faSYann Gautier	};
297587f60faSYann Gautier
298*c948f771SYann Gautier	/* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */
299587f60faSYann Gautier	pll3: st,pll@2 {
300*c948f771SYann Gautier		cfg = < 1 33 1 16 36 PQR(1,1,1) >;
301*c948f771SYann Gautier		frac = < 0x1a04 >;
302587f60faSYann Gautier	};
303587f60faSYann Gautier
304*c948f771SYann Gautier	/* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */
305587f60faSYann Gautier	pll4: st,pll@3 {
306*c948f771SYann Gautier		cfg = < 3 98 5 7 7 PQR(1,1,1) >;
307587f60faSYann Gautier	};
308587f60faSYann Gautier};
309587f60faSYann Gautier
310587f60faSYann Gautier/delete-node/ &clk_csi;
311