1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3 * Copyright (C) 2020 Marcin Sloniewski <marcin.sloniewski@gmail.com>
8 #include "stm32mp157.dtsi"
9 #include "stm32mp15xc.dtsi"
10 #include "stm32mp15-pinctrl.dtsi"
11 #include "stm32mp15xxac-pinctrl.dtsi"
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/mfd/st,stpmic1.h>
18 model = "Seeed Studio Odyssey-STM32MP157C SOM";
19 compatible = "seeed,odyssey-stm32mp157c-som", "st,stm32mp157";
22 device_type = "memory";
23 reg = <0xc0000000 0x20000000>;
31 mcuram2: mcuram2@10000000 {
32 compatible = "shared-dma-pool";
33 reg = <0x10000000 0x40000>;
37 vdev0vring0: vdev0vring0@10040000 {
38 compatible = "shared-dma-pool";
39 reg = <0x10040000 0x1000>;
43 vdev0vring1: vdev0vring1@10041000 {
44 compatible = "shared-dma-pool";
45 reg = <0x10041000 0x1000>;
49 vdev0buffer: vdev0buffer@10042000 {
50 compatible = "shared-dma-pool";
51 reg = <0x10042000 0x4000>;
55 mcuram: mcuram@30000000 {
56 compatible = "shared-dma-pool";
57 reg = <0x30000000 0x40000>;
61 retram: retram@38000000 {
62 compatible = "shared-dma-pool";
63 reg = <0x38000000 0x10000>;
67 gpu_reserved: gpu@d4000000 {
68 reg = <0xd4000000 0x4000000>;
73 reg = <0xde000000 0x02000000>;
79 compatible = "gpio-leds";
82 gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
83 linux,default-trigger = "heartbeat";
84 default-state = "off";
91 contiguous-area = <&gpu_reserved>;
96 pinctrl-names = "default", "sleep";
97 pinctrl-0 = <&i2c2_pins_a>;
98 pinctrl-1 = <&i2c2_sleep_pins_a>;
99 i2c-scl-rising-time-ns = <185>;
100 i2c-scl-falling-time-ns = <20>;
101 clock-frequency = <400000>;
103 /* spare dmas for other usage */
104 /delete-property/dmas;
105 /delete-property/dma-names;
108 compatible = "st,stpmic1";
110 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
111 interrupt-controller;
112 #interrupt-cells = <2>;
116 compatible = "st,stpmic1-regulators";
117 ldo1-supply = <&v3v3>;
118 ldo3-supply = <&vdd_ddr>;
119 ldo6-supply = <&v3v3>;
120 pwr_sw1-supply = <&bst_out>;
121 pwr_sw2-supply = <&bst_out>;
124 regulator-name = "vddcore";
125 regulator-min-microvolt = <1200000>;
126 regulator-max-microvolt = <1350000>;
128 regulator-initial-mode = <0>;
129 regulator-over-current-protection;
133 regulator-name = "vdd_ddr";
134 regulator-min-microvolt = <1350000>;
135 regulator-max-microvolt = <1350000>;
137 regulator-initial-mode = <0>;
138 regulator-over-current-protection;
142 regulator-name = "vdd";
143 regulator-min-microvolt = <3300000>;
144 regulator-max-microvolt = <3300000>;
147 regulator-initial-mode = <0>;
148 regulator-over-current-protection;
152 regulator-name = "v3v3";
153 regulator-min-microvolt = <3300000>;
154 regulator-max-microvolt = <3300000>;
156 regulator-over-current-protection;
157 regulator-initial-mode = <0>;
161 regulator-name = "v1v8_audio";
162 regulator-min-microvolt = <1800000>;
163 regulator-max-microvolt = <1800000>;
165 interrupts = <IT_CURLIM_LDO1 0>;
169 regulator-name = "v3v3_hdmi";
170 regulator-min-microvolt = <3300000>;
171 regulator-max-microvolt = <3300000>;
173 interrupts = <IT_CURLIM_LDO2 0>;
177 regulator-name = "vtt_ddr";
178 regulator-min-microvolt = <500000>;
179 regulator-max-microvolt = <750000>;
181 regulator-over-current-protection;
185 regulator-name = "vdd_usb";
186 interrupts = <IT_CURLIM_LDO4 0>;
190 regulator-name = "vdda";
191 regulator-min-microvolt = <2900000>;
192 regulator-max-microvolt = <2900000>;
193 interrupts = <IT_CURLIM_LDO5 0>;
198 regulator-name = "v1v2_hdmi";
199 regulator-min-microvolt = <1200000>;
200 regulator-max-microvolt = <1200000>;
202 interrupts = <IT_CURLIM_LDO6 0>;
206 regulator-name = "vref_ddr";
211 regulator-name = "bst_out";
212 interrupts = <IT_OCP_BOOST 0>;
216 regulator-name = "vbus_otg";
217 interrupts = <IT_OCP_OTG 0>;
221 regulator-name = "vbus_sw";
222 interrupts = <IT_OCP_SWOUT 0>;
223 regulator-active-discharge = <1>;
228 compatible = "st,stpmic1-onkey";
229 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
230 interrupt-names = "onkey-falling", "onkey-rising";
231 power-off-time-sec = <10>;
236 compatible = "st,stpmic1-wdt";
252 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
253 <&vdev0vring1>, <&vdev0buffer>;
254 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
255 mbox-names = "vq0", "vq1", "shutdown";
256 interrupt-parent = <&exti>;
262 pinctrl-names = "default", "opendrain", "sleep";
263 pinctrl-0 = <&sdmmc2_b4_pins_a>;
264 pinctrl-1 = <&sdmmc2_b4_od_pins_a>;
265 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
270 vmmc-supply = <&v3v3>;
275 /* spare dmas for other usage */
276 /delete-property/dmas;
277 /delete-property/dma-names;
280 pinctrl-0 = <&pwm1_pins_a>;
281 pinctrl-1 = <&pwm1_sleep_pins_a>;
282 pinctrl-names = "default", "sleep";
291 /delete-property/dmas;
292 /delete-property/dma-names;
295 pinctrl-0 = <&pwm3_pins_a>;
296 pinctrl-1 = <&pwm3_sleep_pins_a>;
297 pinctrl-names = "default", "sleep";
306 /delete-property/dmas;
307 /delete-property/dma-names;
310 pinctrl-0 = <&pwm4_pins_a &pwm4_pins_b>;
311 pinctrl-1 = <&pwm4_sleep_pins_a &pwm4_sleep_pins_b>;
312 pinctrl-names = "default", "sleep";
321 /delete-property/dmas;
322 /delete-property/dma-names;
325 pinctrl-0 = <&pwm5_pins_a>;
326 pinctrl-1 = <&pwm5_sleep_pins_a>;
327 pinctrl-names = "default", "sleep";
336 /delete-property/dmas;
337 /delete-property/dma-names;
345 /delete-property/dmas;
346 /delete-property/dma-names;
349 pinctrl-0 = <&pwm12_pins_a>;
350 pinctrl-1 = <&pwm12_sleep_pins_a>;
351 pinctrl-names = "default", "sleep";
360 regulator-min-microvolt = <2500000>;
361 regulator-max-microvolt = <2500000>;
362 vdda-supply = <&vdd>;