blob: 2aaa38b75a5bb64b03c9512827cd30e66ccd8d10 [file] [log] [blame]
Boerge Struempfela4e31cf2025-04-01 11:30:30 +02001// 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};