xref: /rk3399_ARM-atf/fdts/stm32mp257d-ultra-fly-sbc.dts (revision db7770ed3488a12713bd363df6cfd78855e3a501)
1// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
2/*
3 * Copyright (C) 2025, Ultratronik GmbH
4 * Copyright (C) STMicroelectronics 2025 - All Rights Reserved
5 * Author: Boerge Struempfel <boerge.struempfel@gmail.com> for Ultratronik GmbH.
6 */
7
8/dts-v1/;
9
10#include <dt-bindings/clock/stm32mp25-clksrc.h>
11#include "stm32mp257.dtsi"
12#include "stm32mp257d-ultra-fly-sbc-ca35tdcid-rcc.dtsi"
13#include "stm32mp25-lpddr4-2x16Gbits-32bits-1200MHz.dtsi"
14#include "stm32mp25-pinctrl.dtsi"
15#include "stm32mp25xxak-pinctrl.dtsi"
16
17/ {
18	model = "Ultratronik Ultra Fly SBC based on STM32MP257D";
19	compatible = "st,stm32mp257d-ultra-fly-sbc", "st,stm32mp257";
20
21	aliases {
22		serial0 = &usart1;
23	};
24
25	chosen {
26		stdout-path = "serial0:115200n8";
27	};
28
29	memory@80000000 {
30		device_type = "memory";
31		reg = <0x0 0x80000000 0x1 0x00000000>;
32	};
33};
34
35&ddr {
36	vdd1-supply = <&vdd1_ddr>;
37	vdd2-supply = <&vdd2_ddr>;
38	vddq-supply = <&vdd2_ddr>;
39};
40
41&i2c7 {
42	pinctrl-names = "default";
43	pinctrl-0 = <&i2c7_pins_a>;
44	i2c-scl-rising-time-ns = <185>;
45	i2c-scl-falling-time-ns = <20>;
46	clock-frequency = <400000>;
47	status = "okay";
48	#address-cells = <1>;
49	#size-cells = <0>;
50
51	pmic2: stpmic@33 {
52		compatible = "st,stpmic2";
53		reg = <0x33>;
54		status = "okay";
55
56		regulators {
57			compatible = "st,stpmic2-regulators";
58
59			vddcpu: buck1 {
60				regulator-name = "vddcpu";
61				regulator-min-microvolt = <800000>;
62				regulator-max-microvolt = <910000>;
63				regulator-always-on;
64			};
65			vddcore: buck2 {
66				regulator-name = "vddcore";
67				regulator-min-microvolt = <820000>;
68				regulator-max-microvolt = <820000>;
69				regulator-always-on;
70			};
71			vddgpu: buck3 {
72				regulator-name = "vddgpu";
73				regulator-min-microvolt = <800000>;
74				regulator-max-microvolt = <900000>;
75				regulator-always-on;
76			};
77			vddio_pmic: buck4 {
78				regulator-name = "vddio_pmic";
79				regulator-min-microvolt = <3300000>;
80				regulator-max-microvolt = <3300000>;
81				regulator-always-on;
82			};
83			v1v8: buck5 {
84				regulator-name = "v1v8";
85				regulator-min-microvolt = <1800000>;
86				regulator-max-microvolt = <1800000>;
87				regulator-always-on;
88			};
89			vdd2_ddr: buck6 {
90				regulator-name = "vdd2_ddr";
91				regulator-min-microvolt = <1100000>;
92				regulator-max-microvolt = <1100000>;
93			};
94			v3v3: buck7 {
95				regulator-name = "v3v3";
96				regulator-min-microvolt = <3300000>;
97				regulator-max-microvolt = <3300000>;
98				regulator-always-on;
99			};
100			vdda1v8_aon: ldo1 {
101				regulator-name = "vdda1v8_aon";
102				regulator-min-microvolt = <1800000>;
103				regulator-max-microvolt = <1800000>;
104				regulator-always-on;
105			};
106			vdd_emmc: ldo2 {
107				regulator-name = "vdd_emmc";
108				regulator-min-microvolt = <3300000>;
109				regulator-max-microvolt = <3300000>;
110				regulator-always-on;
111			};
112			vdd1_ddr: ldo3 {
113				regulator-name = "vdd1_ddr";
114				regulator-min-microvolt = <1800000>;
115				regulator-max-microvolt = <1800000>;
116				regulator-enable-ramp-delay = <1000>;
117			};
118			vdd3v3_usb: ldo4 {
119				regulator-name = "vdd3v3_usb";
120				regulator-min-microvolt = <3300000>;
121				regulator-max-microvolt = <3300000>;
122				regulator-always-on;
123			};
124			vdd_sdcard: ldo7 {
125				regulator-name = "vdd_sdcard";
126				regulator-min-microvolt = <3300000>;
127				regulator-max-microvolt = <3300000>;
128				regulator-always-on;
129			};
130			vddio_sdcard: ldo8 {
131				regulator-name = "vddio_sdcard";
132				st,regulator-bypass-microvolt = <3300000>;
133				regulator-min-microvolt = <1800000>;
134				regulator-max-microvolt = <3300000>;
135				regulator-always-on;
136			};
137		};
138	};
139};
140
141&pwr {
142	vddio1: vddio1 {
143		vddio1-supply = <&vddio_sdcard>;
144	};
145	vddio2: vddio2 {
146		vddio2-supply = <&v1v8>;
147	};
148	vddio3: vddio3 {
149		vddio3-supply = <&vddio_pmic>;
150	};
151	vddio4: vddio4 {
152		vddio4-supply = <&vddio_pmic>;
153	};
154	vddio: vddio {
155		vdd-supply = <&vddio_pmic>;
156	};
157};
158
159&sdmmc1 {
160	pinctrl-names = "default";
161	pinctrl-0 = <&sdmmc1_b4_pins_a>;
162	st,neg-edge;
163	bus-width = <4>;
164	vmmc-supply = <&vdd_sdcard>;
165	vqmmc-supply = <&vddio1>;
166	status = "okay";
167};
168
169&sdmmc2 {
170	pinctrl-names = "default";
171	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
172	non-removable;
173	no-sd;
174	no-sdio;
175	st,neg-edge;
176	bus-width = <8>;
177	vmmc-supply = <&vdd_emmc>;
178	vqmmc-supply = <&vddio2>;
179	status = "okay";
180};
181
182&usart1 {
183	pinctrl-names = "default";
184	pinctrl-0 = <&usart1_pins_a>;
185	status = "okay";
186};
187
188&pinctrl {
189	usart1_pins_a: usart1-0 {
190		pins1 {
191			pinmux = <STM32_PINMUX('A', 3, AF6)>; /* USART1_TX */
192			bias-disable;
193			drive-push-pull;
194			slew-rate = <0>;
195		};
196		pins2 {
197			pinmux = <STM32_PINMUX('G', 15, AF6)>; /* USART1_RX */
198			bias-disable;
199		};
200	};
201};
202