xref: /rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts (revision 587f60fac591a26a23d2dbe948de5f0eb2fab15d)
1*587f60faSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2*587f60faSYann Gautier/*
3*587f60faSYann Gautier * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4*587f60faSYann Gautier * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5*587f60faSYann Gautier */
6*587f60faSYann Gautier
7*587f60faSYann Gautier/dts-v1/;
8*587f60faSYann Gautier
9*587f60faSYann Gautier#include "stm32mp157c.dtsi"
10*587f60faSYann Gautier#include "stm32mp157caa-pinctrl.dtsi"
11*587f60faSYann Gautier
12*587f60faSYann Gautier/ {
13*587f60faSYann Gautier	model = "STMicroelectronics STM32MP157C-ED1 pmic eval daughter";
14*587f60faSYann Gautier	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
15*587f60faSYann Gautier
16*587f60faSYann Gautier	chosen {
17*587f60faSYann Gautier		bootargs = "earlyprintk console=ttyS3,115200 root=/dev/ram";
18*587f60faSYann Gautier		stdout-path = "serial3:115200n8";
19*587f60faSYann Gautier	};
20*587f60faSYann Gautier};
21*587f60faSYann Gautier
22*587f60faSYann Gautier&i2c4 {
23*587f60faSYann Gautier	pinctrl-names = "default";
24*587f60faSYann Gautier	pinctrl-0 = <&i2c4_pins_a>;
25*587f60faSYann Gautier	i2c-scl-rising-time-ns = <185>;
26*587f60faSYann Gautier	i2c-scl-falling-time-ns = <20>;
27*587f60faSYann Gautier	status = "okay";
28*587f60faSYann Gautier
29*587f60faSYann Gautier	pmic: stpmu1@33 {
30*587f60faSYann Gautier		compatible = "st,stpmu1";
31*587f60faSYann Gautier		reg = <0x33>;
32*587f60faSYann Gautier		status = "okay";
33*587f60faSYann Gautier
34*587f60faSYann Gautier		st,main_control_register = <0x04>;
35*587f60faSYann Gautier		st,vin_control_register = <0xc0>;
36*587f60faSYann Gautier		st,usb_control_register = <0x30>;
37*587f60faSYann Gautier
38*587f60faSYann Gautier		regulators {
39*587f60faSYann Gautier			compatible = "st,stpmu1-regulators";
40*587f60faSYann Gautier
41*587f60faSYann Gautier			v3v3: buck4 {
42*587f60faSYann Gautier				regulator-name = "v3v3";
43*587f60faSYann Gautier				regulator-min-microvolt = <3300000>;
44*587f60faSYann Gautier				regulator-max-microvolt = <3300000>;
45*587f60faSYann Gautier				regulator-boot-on;
46*587f60faSYann Gautier				regulator-over-current-protection;
47*587f60faSYann Gautier				regulator-initial-mode = <8>;
48*587f60faSYann Gautier
49*587f60faSYann Gautier				regulator-state-standby {
50*587f60faSYann Gautier					regulator-suspend-microvolt = <3300000>;
51*587f60faSYann Gautier					regulator-unchanged-in-suspend;
52*587f60faSYann Gautier					regulator-mode = <8>;
53*587f60faSYann Gautier				};
54*587f60faSYann Gautier				regulator-state-mem {
55*587f60faSYann Gautier					regulator-off-in-suspend;
56*587f60faSYann Gautier				};
57*587f60faSYann Gautier				regulator-state-disk {
58*587f60faSYann Gautier					regulator-off-in-suspend;
59*587f60faSYann Gautier				};
60*587f60faSYann Gautier			};
61*587f60faSYann Gautier
62*587f60faSYann Gautier			vdd_sd: ldo5 {
63*587f60faSYann Gautier				regulator-name = "vdd_sd";
64*587f60faSYann Gautier				regulator-min-microvolt = <2900000>;
65*587f60faSYann Gautier				regulator-max-microvolt = <2900000>;
66*587f60faSYann Gautier				regulator-boot-on;
67*587f60faSYann Gautier
68*587f60faSYann Gautier				regulator-state-standby {
69*587f60faSYann Gautier					regulator-suspend-microvolt = <2900000>;
70*587f60faSYann Gautier					regulator-unchanged-in-suspend;
71*587f60faSYann Gautier				};
72*587f60faSYann Gautier				regulator-state-mem {
73*587f60faSYann Gautier					regulator-off-in-suspend;
74*587f60faSYann Gautier				};
75*587f60faSYann Gautier				regulator-state-disk {
76*587f60faSYann Gautier					regulator-off-in-suspend;
77*587f60faSYann Gautier				};
78*587f60faSYann Gautier			};
79*587f60faSYann Gautier		};
80*587f60faSYann Gautier	};
81*587f60faSYann Gautier};
82*587f60faSYann Gautier
83*587f60faSYann Gautier&iwdg2 {
84*587f60faSYann Gautier	instance = <2>;
85*587f60faSYann Gautier	timeout-sec = <32>;
86*587f60faSYann Gautier	status = "okay";
87*587f60faSYann Gautier};
88*587f60faSYann Gautier
89*587f60faSYann Gautier&rng1 {
90*587f60faSYann Gautier	status = "okay";
91*587f60faSYann Gautier};
92*587f60faSYann Gautier
93*587f60faSYann Gautier&sdmmc1 {
94*587f60faSYann Gautier	pinctrl-names = "default";
95*587f60faSYann Gautier	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
96*587f60faSYann Gautier	broken-cd;
97*587f60faSYann Gautier	st,dirpol;
98*587f60faSYann Gautier	st,negedge;
99*587f60faSYann Gautier	st,pin-ckin;
100*587f60faSYann Gautier	bus-width = <4>;
101*587f60faSYann Gautier	sd-uhs-sdr12;
102*587f60faSYann Gautier	sd-uhs-sdr25;
103*587f60faSYann Gautier	sd-uhs-sdr50;
104*587f60faSYann Gautier	sd-uhs-ddr50;
105*587f60faSYann Gautier	sd-uhs-sdr104;
106*587f60faSYann Gautier	status = "okay";
107*587f60faSYann Gautier};
108*587f60faSYann Gautier
109*587f60faSYann Gautier&sdmmc2 {
110*587f60faSYann Gautier	pinctrl-names = "default";
111*587f60faSYann Gautier	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
112*587f60faSYann Gautier	non-removable;
113*587f60faSYann Gautier	no-sd;
114*587f60faSYann Gautier	no-sdio;
115*587f60faSYann Gautier	st,dirpol;
116*587f60faSYann Gautier	st,negedge;
117*587f60faSYann Gautier	bus-width = <8>;
118*587f60faSYann Gautier	status = "okay";
119*587f60faSYann Gautier};
120*587f60faSYann Gautier
121*587f60faSYann Gautier&uart4 {
122*587f60faSYann Gautier	pinctrl-names = "default";
123*587f60faSYann Gautier	pinctrl-0 = <&uart4_pins_a>;
124*587f60faSYann Gautier	resets = <&rcc UART4_R>;
125*587f60faSYann Gautier	status = "okay";
126*587f60faSYann Gautier};
127*587f60faSYann Gautier
128*587f60faSYann Gautier/* ATF Specific */
129*587f60faSYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h>
130*587f60faSYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi"
131*587f60faSYann Gautier
132*587f60faSYann Gautier/ {
133*587f60faSYann Gautier	aliases {
134*587f60faSYann Gautier		gpio0 = &gpioa;
135*587f60faSYann Gautier		gpio1 = &gpiob;
136*587f60faSYann Gautier		gpio2 = &gpioc;
137*587f60faSYann Gautier		gpio3 = &gpiod;
138*587f60faSYann Gautier		gpio4 = &gpioe;
139*587f60faSYann Gautier		gpio5 = &gpiof;
140*587f60faSYann Gautier		gpio6 = &gpiog;
141*587f60faSYann Gautier		gpio7 = &gpioh;
142*587f60faSYann Gautier		gpio8 = &gpioi;
143*587f60faSYann Gautier		gpio9 = &gpioj;
144*587f60faSYann Gautier		gpio10 = &gpiok;
145*587f60faSYann Gautier		gpio25 = &gpioz;
146*587f60faSYann Gautier		i2c3 = &i2c4;
147*587f60faSYann Gautier	};
148*587f60faSYann Gautier
149*587f60faSYann Gautier	soc {
150*587f60faSYann Gautier		stgen: stgen@5C008000 {
151*587f60faSYann Gautier			compatible = "st,stm32-stgen";
152*587f60faSYann Gautier			reg = <0x5C008000 0x1000>;
153*587f60faSYann Gautier			status = "okay";
154*587f60faSYann Gautier		};
155*587f60faSYann Gautier	};
156*587f60faSYann Gautier};
157*587f60faSYann Gautier
158*587f60faSYann Gautier/* CLOCK init */
159*587f60faSYann Gautier&rcc {
160*587f60faSYann Gautier	st,clksrc = <
161*587f60faSYann Gautier		CLK_MPU_PLL1P
162*587f60faSYann Gautier		CLK_AXI_PLL2P
163*587f60faSYann Gautier		CLK_PLL12_HSE
164*587f60faSYann Gautier		CLK_PLL3_HSE
165*587f60faSYann Gautier		CLK_PLL4_HSE
166*587f60faSYann Gautier		CLK_RTC_LSE
167*587f60faSYann Gautier		CLK_MCO1_DISABLED
168*587f60faSYann Gautier		CLK_MCO2_DISABLED
169*587f60faSYann Gautier	>;
170*587f60faSYann Gautier
171*587f60faSYann Gautier	st,clkdiv = <
172*587f60faSYann Gautier		1 /*MPU*/
173*587f60faSYann Gautier		0 /*AXI*/
174*587f60faSYann Gautier		1 /*APB1*/
175*587f60faSYann Gautier		1 /*APB2*/
176*587f60faSYann Gautier		1 /*APB3*/
177*587f60faSYann Gautier		1 /*APB4*/
178*587f60faSYann Gautier		2 /*APB5*/
179*587f60faSYann Gautier		23 /*RTC*/
180*587f60faSYann Gautier		0 /*MCO1*/
181*587f60faSYann Gautier		0 /*MCO2*/
182*587f60faSYann Gautier	>;
183*587f60faSYann Gautier
184*587f60faSYann Gautier	st,pkcs = <
185*587f60faSYann Gautier		CLK_CKPER_HSE
186*587f60faSYann Gautier		CLK_FMC_ACLK
187*587f60faSYann Gautier		CLK_QSPI_ACLK
188*587f60faSYann Gautier		CLK_ETH_DISABLED
189*587f60faSYann Gautier		CLK_SDMMC12_PLL3R
190*587f60faSYann Gautier		CLK_DSI_DSIPLL
191*587f60faSYann Gautier		CLK_STGEN_HSE
192*587f60faSYann Gautier		CLK_USBPHY_HSE
193*587f60faSYann Gautier		CLK_SPI2S1_PLL3Q
194*587f60faSYann Gautier		CLK_SPI2S23_PLL3Q
195*587f60faSYann Gautier		CLK_SPI45_HSI
196*587f60faSYann Gautier		CLK_SPI6_HSI
197*587f60faSYann Gautier		CLK_I2C46_HSI
198*587f60faSYann Gautier		CLK_SDMMC3_PLL3R
199*587f60faSYann Gautier		CLK_USBO_USBPHY
200*587f60faSYann Gautier		CLK_ADC_CKPER
201*587f60faSYann Gautier		CLK_CEC_LSE
202*587f60faSYann Gautier		CLK_I2C12_HSI
203*587f60faSYann Gautier		CLK_I2C35_HSI
204*587f60faSYann Gautier		CLK_UART1_HSI
205*587f60faSYann Gautier		CLK_UART24_HSI
206*587f60faSYann Gautier		CLK_UART35_HSI
207*587f60faSYann Gautier		CLK_UART6_HSI
208*587f60faSYann Gautier		CLK_UART78_HSI
209*587f60faSYann Gautier		CLK_SPDIF_PLL3Q
210*587f60faSYann Gautier		CLK_FDCAN_PLL4Q
211*587f60faSYann Gautier		CLK_SAI1_PLL3Q
212*587f60faSYann Gautier		CLK_SAI2_PLL3Q
213*587f60faSYann Gautier		CLK_SAI3_PLL3Q
214*587f60faSYann Gautier		CLK_SAI4_PLL3Q
215*587f60faSYann Gautier		CLK_RNG1_CSI
216*587f60faSYann Gautier		CLK_RNG2_CSI
217*587f60faSYann Gautier		CLK_LPTIM1_PCLK1
218*587f60faSYann Gautier		CLK_LPTIM23_PCLK3
219*587f60faSYann Gautier		CLK_LPTIM45_PCLK3
220*587f60faSYann Gautier	>;
221*587f60faSYann Gautier
222*587f60faSYann Gautier	/* VCO = 1300.0 MHz => P = 650 (CPU) */
223*587f60faSYann Gautier	pll1: st,pll@0 {
224*587f60faSYann Gautier		cfg = < 2 80 0 0 0 PQR(1,0,0) >;
225*587f60faSYann Gautier		frac = < 0x800 >;
226*587f60faSYann Gautier	};
227*587f60faSYann Gautier
228*587f60faSYann Gautier	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */
229*587f60faSYann Gautier	pll2: st,pll@1 {
230*587f60faSYann Gautier		cfg = < 2 65 1 0 0 PQR(1,1,1) >;
231*587f60faSYann Gautier		frac = < 0x1400 >;
232*587f60faSYann Gautier	};
233*587f60faSYann Gautier
234*587f60faSYann Gautier	/* VCO = 786.4 MHz => P = 197, Q = 49, R = 98 */
235*587f60faSYann Gautier	pll3: st,pll@2 {
236*587f60faSYann Gautier		cfg = < 2 97 3 15 7 PQR(1,1,1) >;
237*587f60faSYann Gautier		frac = < 0x9ba >;
238*587f60faSYann Gautier	};
239*587f60faSYann Gautier
240*587f60faSYann Gautier	/* VCO = 508.0 MHz => P = 56, Q = 56, R = 56 */
241*587f60faSYann Gautier	pll4: st,pll@3 {
242*587f60faSYann Gautier		cfg = < 5 126 8 8 8 PQR(1,1,1) >;
243*587f60faSYann Gautier	};
244*587f60faSYann Gautier};
245*587f60faSYann Gautier
246*587f60faSYann Gautier/delete-node/ &clk_csi;
247