Loading...
Note: File does not exist in v4.6.
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) 2020 Marcin Sloniewski <marcin.sloniewski@gmail.com>.
4 */
5
6/dts-v1/;
7
8#include "stm32mp157.dtsi"
9#include "stm32mp15xc.dtsi"
10#include "stm32mp15-pinctrl.dtsi"
11#include "stm32mp15xxac-pinctrl.dtsi"
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/leds/common.h>
14#include <dt-bindings/mfd/st,stpmic1.h>
15
16/ {
17 model = "Seeed Studio Odyssey-STM32MP157C SOM";
18 compatible = "seeed,stm32mp157c-odyssey-som", "st,stm32mp157";
19
20 memory@c0000000 {
21 device_type = "memory";
22 reg = <0xc0000000 0x20000000>;
23 };
24
25 reserved-memory {
26 #address-cells = <1>;
27 #size-cells = <1>;
28 ranges;
29
30 mcuram2: mcuram2@10000000 {
31 compatible = "shared-dma-pool";
32 reg = <0x10000000 0x40000>;
33 no-map;
34 };
35
36 vdev0vring0: vdev0vring0@10040000 {
37 compatible = "shared-dma-pool";
38 reg = <0x10040000 0x1000>;
39 no-map;
40 };
41
42 vdev0vring1: vdev0vring1@10041000 {
43 compatible = "shared-dma-pool";
44 reg = <0x10041000 0x1000>;
45 no-map;
46 };
47
48 vdev0buffer: vdev0buffer@10042000 {
49 compatible = "shared-dma-pool";
50 reg = <0x10042000 0x4000>;
51 no-map;
52 };
53
54 mcuram: mcuram@30000000 {
55 compatible = "shared-dma-pool";
56 reg = <0x30000000 0x40000>;
57 no-map;
58 };
59
60 retram: retram@38000000 {
61 compatible = "shared-dma-pool";
62 reg = <0x38000000 0x10000>;
63 no-map;
64 };
65
66 gpu_reserved: gpu@d4000000 {
67 reg = <0xd4000000 0x4000000>;
68 no-map;
69 };
70 };
71
72 led {
73 compatible = "gpio-leds";
74 led-blue {
75 color = <LED_COLOR_ID_BLUE>;
76 function = LED_FUNCTION_HEARTBEAT;
77 gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
78 linux,default-trigger = "heartbeat";
79 };
80 };
81};
82
83&gpu {
84 contiguous-area = <&gpu_reserved>;
85 status = "okay";
86};
87
88&i2c2 {
89 pinctrl-names = "default";
90 pinctrl-0 = <&i2c2_pins_a>;
91 i2c-scl-rising-time-ns = <185>;
92 i2c-scl-falling-time-ns = <20>;
93 status = "okay";
94 /* spare dmas for other usage */
95 /delete-property/dmas;
96 /delete-property/dma-names;
97
98 pmic: stpmic@33 {
99 compatible = "st,stpmic1";
100 reg = <0x33>;
101 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
102 interrupt-controller;
103 #interrupt-cells = <2>;
104
105 regulators {
106 compatible = "st,stpmic1-regulators";
107 ldo1-supply = <&v3v3>;
108 ldo3-supply = <&vdd_ddr>;
109 ldo6-supply = <&v3v3>;
110 pwr_sw1-supply = <&bst_out>;
111 pwr_sw2-supply = <&bst_out>;
112
113 vddcore: buck1 {
114 regulator-name = "vddcore";
115 regulator-min-microvolt = <800000>;
116 regulator-max-microvolt = <1350000>;
117 regulator-always-on;
118 regulator-initial-mode = <0>;
119 regulator-over-current-protection;
120 };
121
122 vdd_ddr: buck2 {
123 regulator-name = "vdd_ddr";
124 regulator-min-microvolt = <1350000>;
125 regulator-max-microvolt = <1350000>;
126 regulator-always-on;
127 regulator-initial-mode = <0>;
128 regulator-over-current-protection;
129 };
130
131 vdd: buck3 {
132 regulator-name = "vdd";
133 regulator-min-microvolt = <3300000>;
134 regulator-max-microvolt = <3300000>;
135 regulator-always-on;
136 st,mask-reset;
137 regulator-initial-mode = <0>;
138 regulator-over-current-protection;
139 };
140
141 v3v3: buck4 {
142 regulator-name = "v3v3";
143 regulator-min-microvolt = <3300000>;
144 regulator-max-microvolt = <3300000>;
145 regulator-always-on;
146 regulator-over-current-protection;
147 regulator-initial-mode = <0>;
148 };
149
150 v1v8_audio: ldo1 {
151 regulator-name = "v1v8_audio";
152 regulator-min-microvolt = <1800000>;
153 regulator-max-microvolt = <1800000>;
154 regulator-always-on;
155 interrupts = <IT_CURLIM_LDO1 0>;
156 };
157
158 v3v3_hdmi: ldo2 {
159 regulator-name = "v3v3_hdmi";
160 regulator-min-microvolt = <3300000>;
161 regulator-max-microvolt = <3300000>;
162 regulator-always-on;
163 interrupts = <IT_CURLIM_LDO2 0>;
164 };
165
166 vtt_ddr: ldo3 {
167 regulator-name = "vtt_ddr";
168 regulator-min-microvolt = <500000>;
169 regulator-max-microvolt = <750000>;
170 regulator-always-on;
171 regulator-over-current-protection;
172 };
173
174 vdd_usb: ldo4 {
175 regulator-name = "vdd_usb";
176 interrupts = <IT_CURLIM_LDO4 0>;
177 };
178
179 vdda: ldo5 {
180 regulator-name = "vdda";
181 regulator-min-microvolt = <2900000>;
182 regulator-max-microvolt = <2900000>;
183 interrupts = <IT_CURLIM_LDO5 0>;
184 regulator-boot-on;
185 };
186
187 v1v2_hdmi: ldo6 {
188 regulator-name = "v1v2_hdmi";
189 regulator-min-microvolt = <1200000>;
190 regulator-max-microvolt = <1200000>;
191 regulator-always-on;
192 interrupts = <IT_CURLIM_LDO6 0>;
193 };
194
195 vref_ddr: vref_ddr {
196 regulator-name = "vref_ddr";
197 regulator-always-on;
198 };
199
200 bst_out: boost {
201 regulator-name = "bst_out";
202 interrupts = <IT_OCP_BOOST 0>;
203 };
204
205 vbus_otg: pwr_sw1 {
206 regulator-name = "vbus_otg";
207 interrupts = <IT_OCP_OTG 0>;
208 };
209
210 vbus_sw: pwr_sw2 {
211 regulator-name = "vbus_sw";
212 interrupts = <IT_OCP_SWOUT 0>;
213 regulator-active-discharge = <1>;
214 };
215 };
216
217 onkey {
218 compatible = "st,stpmic1-onkey";
219 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
220 interrupt-names = "onkey-falling", "onkey-rising";
221 power-off-time-sec = <10>;
222 };
223
224 watchdog {
225 compatible = "st,stpmic1-wdt";
226 status = "disabled";
227 };
228 };
229};
230
231&ipcc {
232 status = "okay";
233};
234
235&iwdg2 {
236 timeout-sec = <32>;
237 status = "okay";
238};
239
240&m4_rproc {
241 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
242 <&vdev0vring1>, <&vdev0buffer>;
243 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
244 mbox-names = "vq0", "vq1", "shutdown";
245 interrupt-parent = <&exti>;
246 interrupts = <68 1>;
247 status = "okay";
248};
249
250&rng1 {
251 status = "okay";
252};
253
254&rtc {
255 status = "okay";
256};
257
258&sdmmc2 {
259 pinctrl-names = "default", "opendrain", "sleep";
260 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>;
261 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>;
262 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>;
263 non-removable;
264 no-sd;
265 no-sdio;
266 st,neg-edge;
267 bus-width = <8>;
268 vmmc-supply = <&v3v3>;
269 vqmmc-supply = <&vdd>;
270 mmc-ddr-3_3v;
271 status = "okay";
272};
273