Linux Audio

Check our new training course

Loading...
v4.17
 1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
 2/*
 3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
 4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
 5 */
 6/dts-v1/;
 7
 8#include "stm32mp157c.dtsi"
 9#include "stm32mp157-pinctrl.dtsi"
 
 
 
 
10
11/ {
12	model = "STMicroelectronics STM32MP157C eval daughter";
13	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
14
15	chosen {
16		stdout-path = "serial0:115200n8";
17	};
18
19	memory {
 
20		reg = <0xC0000000 0x40000000>;
21	};
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23	aliases {
24		serial0 = &uart4;
25	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26};
27
28&uart4 {
 
 
29	pinctrl-names = "default";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30	pinctrl-0 = <&uart4_pins_a>;
 
 
 
 
31	status = "okay";
 
 
 
 
 
 
 
 
 
 
 
 
32};
v6.2
  1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
  2/*
  3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
  4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
  5 */
  6/dts-v1/;
  7
  8#include "stm32mp157.dtsi"
  9#include "stm32mp15xc.dtsi"
 10#include "stm32mp15-pinctrl.dtsi"
 11#include "stm32mp15xxaa-pinctrl.dtsi"
 12#include <dt-bindings/gpio/gpio.h>
 13#include <dt-bindings/mfd/st,stpmic1.h>
 14
 15/ {
 16	model = "STMicroelectronics STM32MP157C eval daughter";
 17	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
 18
 19	chosen {
 20		stdout-path = "serial0:115200n8";
 21	};
 22
 23	memory@c0000000 {
 24		device_type = "memory";
 25		reg = <0xC0000000 0x40000000>;
 26	};
 27
 28	reserved-memory {
 29		#address-cells = <1>;
 30		#size-cells = <1>;
 31		ranges;
 32
 33		mcuram2: mcuram2@10000000 {
 34			compatible = "shared-dma-pool";
 35			reg = <0x10000000 0x40000>;
 36			no-map;
 37		};
 38
 39		vdev0vring0: vdev0vring0@10040000 {
 40			compatible = "shared-dma-pool";
 41			reg = <0x10040000 0x1000>;
 42			no-map;
 43		};
 44
 45		vdev0vring1: vdev0vring1@10041000 {
 46			compatible = "shared-dma-pool";
 47			reg = <0x10041000 0x1000>;
 48			no-map;
 49		};
 50
 51		vdev0buffer: vdev0buffer@10042000 {
 52			compatible = "shared-dma-pool";
 53			reg = <0x10042000 0x4000>;
 54			no-map;
 55		};
 56
 57		mcuram: mcuram@30000000 {
 58			compatible = "shared-dma-pool";
 59			reg = <0x30000000 0x40000>;
 60			no-map;
 61		};
 62
 63		retram: retram@38000000 {
 64			compatible = "shared-dma-pool";
 65			reg = <0x38000000 0x10000>;
 66			no-map;
 67		};
 68
 69		gpu_reserved: gpu@e8000000 {
 70			reg = <0xe8000000 0x8000000>;
 71			no-map;
 72		};
 73	};
 74
 75	aliases {
 76		serial0 = &uart4;
 77	};
 78
 79	sd_switch: regulator-sd_switch {
 80		compatible = "regulator-gpio";
 81		regulator-name = "sd_switch";
 82		regulator-min-microvolt = <1800000>;
 83		regulator-max-microvolt = <2900000>;
 84		regulator-type = "voltage";
 85		regulator-always-on;
 86
 87		gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
 88		gpios-states = <0>;
 89		states = <1800000 0x1>,
 90			 <2900000 0x0>;
 91	};
 92
 93	vin: vin {
 94		compatible = "regulator-fixed";
 95		regulator-name = "vin";
 96		regulator-min-microvolt = <5000000>;
 97		regulator-max-microvolt = <5000000>;
 98		regulator-always-on;
 99	};
100};
101
102&adc {
103	/* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */
104	pinctrl-0 = <&adc1_in6_pins_a>;
105	pinctrl-names = "default";
106	vdd-supply = <&vdd>;
107	vdda-supply = <&vdda>;
108	vref-supply = <&vdda>;
109	status = "disabled";
110	adc1: adc@0 {
111		st,adc-channels = <0 1 6>;
112		/* 16.5 ck_cycles sampling time */
113		st,min-sample-time-nsecs = <400>;
114		status = "okay";
115	};
116};
117
118&crc1 {
119	status = "okay";
120};
121
122&cryp1 {
123	status = "okay";
124};
125
126&dac {
127	pinctrl-names = "default";
128	pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
129	vref-supply = <&vdda>;
130	status = "disabled";
131	dac1: dac@1 {
132		status = "okay";
133	};
134	dac2: dac@2 {
135		status = "okay";
136	};
137};
138
139&dts {
140	status = "okay";
141};
142
143&gpu {
144	contiguous-area = <&gpu_reserved>;
145};
146
147&hash1 {
148	status = "okay";
149};
150
151&i2c4 {
152	pinctrl-names = "default", "sleep";
153	pinctrl-0 = <&i2c4_pins_a>;
154	pinctrl-1 = <&i2c4_sleep_pins_a>;
155	i2c-scl-rising-time-ns = <185>;
156	i2c-scl-falling-time-ns = <20>;
157	clock-frequency = <400000>;
158	status = "okay";
159	/* spare dmas for other usage */
160	/delete-property/dmas;
161	/delete-property/dma-names;
162
163	pmic: stpmic@33 {
164		compatible = "st,stpmic1";
165		reg = <0x33>;
166		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
167		interrupt-controller;
168		#interrupt-cells = <2>;
169		status = "okay";
170
171		regulators {
172			compatible = "st,stpmic1-regulators";
173			buck1-supply = <&vin>;
174			buck2-supply = <&vin>;
175			buck3-supply = <&vin>;
176			buck4-supply = <&vin>;
177			ldo1-supply = <&v3v3>;
178			ldo2-supply = <&v3v3>;
179			ldo3-supply = <&vdd_ddr>;
180			ldo4-supply = <&vin>;
181			ldo5-supply = <&v3v3>;
182			ldo6-supply = <&v3v3>;
183			vref_ddr-supply = <&vin>;
184			boost-supply = <&vin>;
185			pwr_sw1-supply = <&bst_out>;
186			pwr_sw2-supply = <&bst_out>;
187
188			vddcore: buck1 {
189				regulator-name = "vddcore";
190				regulator-min-microvolt = <1200000>;
191				regulator-max-microvolt = <1350000>;
192				regulator-always-on;
193				regulator-initial-mode = <0>;
194				regulator-over-current-protection;
195			};
196
197			vdd_ddr: buck2 {
198				regulator-name = "vdd_ddr";
199				regulator-min-microvolt = <1350000>;
200				regulator-max-microvolt = <1350000>;
201				regulator-always-on;
202				regulator-initial-mode = <0>;
203				regulator-over-current-protection;
204			};
205
206			vdd: buck3 {
207				regulator-name = "vdd";
208				regulator-min-microvolt = <3300000>;
209				regulator-max-microvolt = <3300000>;
210				regulator-always-on;
211				st,mask-reset;
212				regulator-initial-mode = <0>;
213				regulator-over-current-protection;
214			};
215
216			v3v3: buck4 {
217				regulator-name = "v3v3";
218				regulator-min-microvolt = <3300000>;
219				regulator-max-microvolt = <3300000>;
220				regulator-always-on;
221				regulator-over-current-protection;
222				regulator-initial-mode = <0>;
223			};
224
225			vdda: ldo1 {
226				regulator-name = "vdda";
227				regulator-min-microvolt = <2900000>;
228				regulator-max-microvolt = <2900000>;
229				interrupts = <IT_CURLIM_LDO1 0>;
230			};
231
232			v2v8: ldo2 {
233				regulator-name = "v2v8";
234				regulator-min-microvolt = <2800000>;
235				regulator-max-microvolt = <2800000>;
236				interrupts = <IT_CURLIM_LDO2 0>;
237			};
238
239			vtt_ddr: ldo3 {
240				regulator-name = "vtt_ddr";
241				regulator-min-microvolt = <500000>;
242				regulator-max-microvolt = <750000>;
243				regulator-always-on;
244				regulator-over-current-protection;
245			};
246
247			vdd_usb: ldo4 {
248				regulator-name = "vdd_usb";
249				interrupts = <IT_CURLIM_LDO4 0>;
250			};
251
252			vdd_sd: ldo5 {
253				regulator-name = "vdd_sd";
254				regulator-min-microvolt = <2900000>;
255				regulator-max-microvolt = <2900000>;
256				interrupts = <IT_CURLIM_LDO5 0>;
257				regulator-boot-on;
258			};
259
260			v1v8: ldo6 {
261				regulator-name = "v1v8";
262				regulator-min-microvolt = <1800000>;
263				regulator-max-microvolt = <1800000>;
264				interrupts = <IT_CURLIM_LDO6 0>;
265			};
266
267			vref_ddr: vref_ddr {
268				regulator-name = "vref_ddr";
269				regulator-always-on;
270			};
271
272			bst_out: boost {
273				regulator-name = "bst_out";
274				interrupts = <IT_OCP_BOOST 0>;
275			};
276
277			vbus_otg: pwr_sw1 {
278				regulator-name = "vbus_otg";
279				interrupts = <IT_OCP_OTG 0>;
280			 };
281
282			 vbus_sw: pwr_sw2 {
283				regulator-name = "vbus_sw";
284				interrupts = <IT_OCP_SWOUT 0>;
285				regulator-active-discharge = <1>;
286			 };
287		};
288
289		onkey {
290			compatible = "st,stpmic1-onkey";
291			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
292			interrupt-names = "onkey-falling", "onkey-rising";
293			power-off-time-sec = <10>;
294			status = "okay";
295		};
296
297		watchdog {
298			compatible = "st,stpmic1-wdt";
299			status = "disabled";
300		};
301	};
302};
303
304&ipcc {
305	status = "okay";
306};
307
308&iwdg2 {
309	timeout-sec = <32>;
310	status = "okay";
311};
312
313&m4_rproc {
314	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
315			<&vdev0vring1>, <&vdev0buffer>;
316	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
317	mbox-names = "vq0", "vq1", "shutdown", "detach";
318	interrupt-parent = <&exti>;
319	interrupts = <68 1>;
320	status = "okay";
321};
322
323&pwr_regulators {
324	vdd-supply = <&vdd>;
325	vdd_3v3_usbfs-supply = <&vdd_usb>;
326};
327
328&rng1 {
329	status = "okay";
330};
331
332&rtc {
333	status = "okay";
334};
335
336&sdmmc1 {
337	pinctrl-names = "default", "opendrain", "sleep";
338	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
339	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
340	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
341	cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
342	disable-wp;
343	st,sig-dir;
344	st,neg-edge;
345	st,use-ckin;
346	bus-width = <4>;
347	vmmc-supply = <&vdd_sd>;
348	vqmmc-supply = <&sd_switch>;
349	sd-uhs-sdr12;
350	sd-uhs-sdr25;
351	sd-uhs-sdr50;
352	sd-uhs-ddr50;
353	status = "okay";
354};
355
356&sdmmc2 {
357	pinctrl-names = "default", "opendrain", "sleep";
358	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
359	pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
360	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
361	non-removable;
362	no-sd;
363	no-sdio;
364	st,neg-edge;
365	bus-width = <8>;
366	vmmc-supply = <&v3v3>;
367	vqmmc-supply = <&vdd>;
368	mmc-ddr-3_3v;
369	status = "okay";
370};
371
372&timers6 {
373	status = "okay";
374	/* spare dmas for other usage */
375	/delete-property/dmas;
376	/delete-property/dma-names;
377	timer@5 {
378		status = "okay";
379	};
380};
381
382&uart4 {
383	pinctrl-names = "default", "sleep", "idle";
384	pinctrl-0 = <&uart4_pins_a>;
385	pinctrl-1 = <&uart4_sleep_pins_a>;
386	pinctrl-2 = <&uart4_idle_pins_a>;
387	/delete-property/dmas;
388	/delete-property/dma-names;
389	status = "okay";
390};
391
392&usbotg_hs {
393	vbus-supply = <&vbus_otg>;
394};
395
396&usbphyc_port0 {
397	phy-supply = <&vdd_usb>;
398};
399
400&usbphyc_port1 {
401	phy-supply = <&vdd_usb>;
402};