File Index
Files and directories
Sign in
FILE

stm32mp157c-odyssey-som.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm/boot/dts/st/stm32mp157c-odyssey-som.dtsi DEVICETREE
  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
 67	led {
 68		compatible = "gpio-leds";
 69		led-blue {
 70			color = <LED_COLOR_ID_BLUE>;
 71			function = LED_FUNCTION_HEARTBEAT;
 72			gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
 73			linux,default-trigger = "heartbeat";
 74		};
 75	};
 76};
 77
 78&i2c2 {
 79	pinctrl-names = "default";
 80	pinctrl-0 = <&i2c2_pins_a>;
 81	i2c-scl-rising-time-ns = <185>;
 82	i2c-scl-falling-time-ns = <20>;
 83	status = "okay";
 84	/* spare dmas for other usage */
 85	/delete-property/dmas;
 86	/delete-property/dma-names;
 87
 88	pmic: stpmic@33 {
 89		compatible = "st,stpmic1";
 90		reg = <0x33>;
 91		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
 92		interrupt-controller;
 93		#interrupt-cells = <2>;
 94
 95		regulators {
 96			compatible = "st,stpmic1-regulators";
 97			ldo1-supply = <&v3v3>;
 98			ldo3-supply = <&vdd_ddr>;
 99			ldo6-supply = <&v3v3>;
100			pwr_sw1-supply = <&bst_out>;
101			pwr_sw2-supply = <&bst_out>;
102
103			vddcore: buck1 {
104				regulator-name = "vddcore";
105				regulator-min-microvolt = <800000>;
106				regulator-max-microvolt = <1350000>;
107				regulator-always-on;
108				regulator-initial-mode = <0>;
109				regulator-over-current-protection;
110			};
111
112			vdd_ddr: buck2 {
113				regulator-name = "vdd_ddr";
114				regulator-min-microvolt = <1350000>;
115				regulator-max-microvolt = <1350000>;
116				regulator-always-on;
117				regulator-initial-mode = <0>;
118				regulator-over-current-protection;
119			};
120
121			vdd: buck3 {
122				regulator-name = "vdd";
123				regulator-min-microvolt = <3300000>;
124				regulator-max-microvolt = <3300000>;
125				regulator-always-on;
126				st,mask-reset;
127				regulator-initial-mode = <0>;
128				regulator-over-current-protection;
129			};
130
131			v3v3: buck4 {
132				regulator-name = "v3v3";
133				regulator-min-microvolt = <3300000>;
134				regulator-max-microvolt = <3300000>;
135				regulator-always-on;
136				regulator-over-current-protection;
137				regulator-initial-mode = <0>;
138			};
139
140			v1v8_audio: ldo1 {
141				regulator-name = "v1v8_audio";
142				regulator-min-microvolt = <1800000>;
143				regulator-max-microvolt = <1800000>;
144				regulator-always-on;
145				interrupts = <IT_CURLIM_LDO1 0>;
146			};
147
148			v3v3_hdmi: ldo2 {
149				regulator-name = "v3v3_hdmi";
150				regulator-min-microvolt = <3300000>;
151				regulator-max-microvolt = <3300000>;
152				regulator-always-on;
153				interrupts = <IT_CURLIM_LDO2 0>;
154			};
155
156			vtt_ddr: ldo3 {
157				regulator-name = "vtt_ddr";
158				regulator-min-microvolt = <500000>;
159				regulator-max-microvolt = <750000>;
160				regulator-always-on;
161				regulator-over-current-protection;
162			};
163
164			vdd_usb: ldo4 {
165				regulator-name = "vdd_usb";
166				interrupts = <IT_CURLIM_LDO4 0>;
167			};
168
169			vdda: ldo5 {
170				regulator-name = "vdda";
171				regulator-min-microvolt = <2900000>;
172				regulator-max-microvolt = <2900000>;
173				interrupts = <IT_CURLIM_LDO5 0>;
174				regulator-boot-on;
175			};
176
177			v1v2_hdmi: ldo6 {
178				regulator-name = "v1v2_hdmi";
179				regulator-min-microvolt = <1200000>;
180				regulator-max-microvolt = <1200000>;
181				regulator-always-on;
182				interrupts = <IT_CURLIM_LDO6 0>;
183			};
184
185			vref_ddr: vref_ddr {
186				regulator-name = "vref_ddr";
187				regulator-always-on;
188			};
189
190			 bst_out: boost {
191				regulator-name = "bst_out";
192				interrupts = <IT_OCP_BOOST 0>;
193			 };
194
195			vbus_otg: pwr_sw1 {
196				regulator-name = "vbus_otg";
197				interrupts = <IT_OCP_OTG 0>;
198			 };
199
200			 vbus_sw: pwr_sw2 {
201				regulator-name = "vbus_sw";
202				interrupts = <IT_OCP_SWOUT 0>;
203				regulator-active-discharge = <1>;
204			 };
205		};
206
207		onkey {
208			compatible = "st,stpmic1-onkey";
209			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
210			interrupt-names = "onkey-falling", "onkey-rising";
211			power-off-time-sec = <10>;
212		};
213
214		watchdog {
215			compatible = "st,stpmic1-wdt";
216			status = "disabled";
217		};
218	};
219};
220
221&ipcc {
222	status = "okay";
223};
224
225&iwdg2 {
226	timeout-sec = <32>;
227	status = "okay";
228};
229
230&m4_rproc {
231	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
232			<&vdev0vring1>, <&vdev0buffer>;
233	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
234	mbox-names = "vq0", "vq1", "shutdown", "detach";
235	interrupt-parent = <&exti>;
236	interrupts = <68 1>;
237	status = "okay";
238};
239
240&rng1 {
241	status = "okay";
242};
243
244&rtc {
245	status = "okay";
246};
247
248&sdmmc2 {
249	pinctrl-names = "default", "opendrain", "sleep";
250	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>;
251	pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>;
252	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>;
253	non-removable;
254	no-sd;
255	no-sdio;
256	st,neg-edge;
257	bus-width = <8>;
258	vmmc-supply = <&v3v3>;
259	vqmmc-supply = <&vdd>;
260	mmc-ddr-3_3v;
261	status = "okay";
262};
263
~/ Read-only file preview.