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};
v5.9
  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
 94&adc {
 95	/* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */
 96	pinctrl-0 = <&adc1_in6_pins_a>;
 97	pinctrl-names = "default";
 98	vdd-supply = <&vdd>;
 99	vdda-supply = <&vdda>;
100	vref-supply = <&vdda>;
101	status = "disabled";
102	adc1: adc@0 {
103		st,adc-channels = <0 1 6>;
104		/* 16.5 ck_cycles sampling time */
105		st,min-sample-time-nsecs = <400>;
106		status = "okay";
107	};
108};
109
110&dac {
111	pinctrl-names = "default";
112	pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
113	vref-supply = <&vdda>;
114	status = "disabled";
115	dac1: dac@1 {
116		status = "okay";
117	};
118	dac2: dac@2 {
119		status = "okay";
120	};
121};
122
123&dts {
124	status = "okay";
125};
126
127&gpu {
128	contiguous-area = <&gpu_reserved>;
129};
130
131&i2c4 {
132	pinctrl-names = "default", "sleep";
133	pinctrl-0 = <&i2c4_pins_a>;
134	pinctrl-1 = <&i2c4_sleep_pins_a>;
135	i2c-scl-rising-time-ns = <185>;
136	i2c-scl-falling-time-ns = <20>;
137	clock-frequency = <400000>;
138	status = "okay";
139	/* spare dmas for other usage */
140	/delete-property/dmas;
141	/delete-property/dma-names;
142
143	pmic: stpmic@33 {
144		compatible = "st,stpmic1";
145		reg = <0x33>;
146		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
147		interrupt-controller;
148		#interrupt-cells = <2>;
149		status = "okay";
150
151		regulators {
152			compatible = "st,stpmic1-regulators";
153			ldo1-supply = <&v3v3>;
154			ldo2-supply = <&v3v3>;
155			ldo3-supply = <&vdd_ddr>;
156			ldo5-supply = <&v3v3>;
157			ldo6-supply = <&v3v3>;
158			pwr_sw1-supply = <&bst_out>;
159			pwr_sw2-supply = <&bst_out>;
160
161			vddcore: buck1 {
162				regulator-name = "vddcore";
163				regulator-min-microvolt = <1200000>;
164				regulator-max-microvolt = <1350000>;
165				regulator-always-on;
166				regulator-initial-mode = <0>;
167				regulator-over-current-protection;
168			};
169
170			vdd_ddr: buck2 {
171				regulator-name = "vdd_ddr";
172				regulator-min-microvolt = <1350000>;
173				regulator-max-microvolt = <1350000>;
174				regulator-always-on;
175				regulator-initial-mode = <0>;
176				regulator-over-current-protection;
177			};
178
179			vdd: buck3 {
180				regulator-name = "vdd";
181				regulator-min-microvolt = <3300000>;
182				regulator-max-microvolt = <3300000>;
183				regulator-always-on;
184				st,mask-reset;
185				regulator-initial-mode = <0>;
186				regulator-over-current-protection;
187			};
188
189			v3v3: buck4 {
190				regulator-name = "v3v3";
191				regulator-min-microvolt = <3300000>;
192				regulator-max-microvolt = <3300000>;
193				regulator-always-on;
194				regulator-over-current-protection;
195				regulator-initial-mode = <0>;
196			};
197
198			vdda: ldo1 {
199				regulator-name = "vdda";
200				regulator-min-microvolt = <2900000>;
201				regulator-max-microvolt = <2900000>;
202				interrupts = <IT_CURLIM_LDO1 0>;
203			};
204
205			v2v8: ldo2 {
206				regulator-name = "v2v8";
207				regulator-min-microvolt = <2800000>;
208				regulator-max-microvolt = <2800000>;
209				interrupts = <IT_CURLIM_LDO2 0>;
210			};
211
212			vtt_ddr: ldo3 {
213				regulator-name = "vtt_ddr";
214				regulator-min-microvolt = <500000>;
215				regulator-max-microvolt = <750000>;
216				regulator-always-on;
217				regulator-over-current-protection;
218			};
219
220			vdd_usb: ldo4 {
221				regulator-name = "vdd_usb";
222				interrupts = <IT_CURLIM_LDO4 0>;
223			};
224
225			vdd_sd: ldo5 {
226				regulator-name = "vdd_sd";
227				regulator-min-microvolt = <2900000>;
228				regulator-max-microvolt = <2900000>;
229				interrupts = <IT_CURLIM_LDO5 0>;
230				regulator-boot-on;
231			};
232
233			v1v8: ldo6 {
234				regulator-name = "v1v8";
235				regulator-min-microvolt = <1800000>;
236				regulator-max-microvolt = <1800000>;
237				interrupts = <IT_CURLIM_LDO6 0>;
238			};
239
240			vref_ddr: vref_ddr {
241				regulator-name = "vref_ddr";
242				regulator-always-on;
243			};
244
245			bst_out: boost {
246				regulator-name = "bst_out";
247				interrupts = <IT_OCP_BOOST 0>;
248			};
249
250			vbus_otg: pwr_sw1 {
251				regulator-name = "vbus_otg";
252				interrupts = <IT_OCP_OTG 0>;
253			 };
254
255			 vbus_sw: pwr_sw2 {
256				regulator-name = "vbus_sw";
257				interrupts = <IT_OCP_SWOUT 0>;
258				regulator-active-discharge = <1>;
259			 };
260		};
261
262		onkey {
263			compatible = "st,stpmic1-onkey";
264			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
265			interrupt-names = "onkey-falling", "onkey-rising";
266			power-off-time-sec = <10>;
267			status = "okay";
268		};
269
270		watchdog {
271			compatible = "st,stpmic1-wdt";
272			status = "disabled";
273		};
274	};
275};
276
277&ipcc {
278	status = "okay";
279};
280
281&iwdg2 {
282	timeout-sec = <32>;
283	status = "okay";
284};
285
286&m4_rproc {
287	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
288			<&vdev0vring1>, <&vdev0buffer>;
289	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
290	mbox-names = "vq0", "vq1", "shutdown";
291	interrupt-parent = <&exti>;
292	interrupts = <68 1>;
293	status = "okay";
294};
295
296&pwr_regulators {
297	vdd-supply = <&vdd>;
298	vdd_3v3_usbfs-supply = <&vdd_usb>;
299};
300
301&rng1 {
302	status = "okay";
303};
304
305&rtc {
306	status = "okay";
307};
308
309&sdmmc1 {
310	pinctrl-names = "default", "opendrain", "sleep";
311	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
312	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
313	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
314	cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
315	disable-wp;
316	st,sig-dir;
317	st,neg-edge;
318	st,use-ckin;
319	bus-width = <4>;
320	vmmc-supply = <&vdd_sd>;
321	vqmmc-supply = <&sd_switch>;
322	sd-uhs-sdr12;
323	sd-uhs-sdr25;
324	sd-uhs-sdr50;
325	sd-uhs-ddr50;
326	status = "okay";
327};
328
329&sdmmc2 {
330	pinctrl-names = "default", "opendrain", "sleep";
331	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
332	pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
333	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
334	non-removable;
335	no-sd;
336	no-sdio;
337	st,neg-edge;
338	bus-width = <8>;
339	vmmc-supply = <&v3v3>;
340	vqmmc-supply = <&vdd>;
341	mmc-ddr-3_3v;
342	status = "okay";
343};
344
345&timers6 {
346	status = "okay";
347	/* spare dmas for other usage */
348	/delete-property/dmas;
349	/delete-property/dma-names;
350	timer@5 {
351		status = "okay";
352	};
353};
354
355&uart4 {
356	pinctrl-names = "default", "sleep", "idle";
357	pinctrl-0 = <&uart4_pins_a>;
358	pinctrl-1 = <&uart4_sleep_pins_a>;
359	pinctrl-2 = <&uart4_idle_pins_a>;
360	status = "okay";
361};
362
363&usbotg_hs {
364	vbus-supply = <&vbus_otg>;
365};
366
367&usbphyc_port0 {
368	phy-supply = <&vdd_usb>;
369	vdda1v1-supply = <&reg11>;
370	vdda1v8-supply = <&reg18>;
371};
372
373&usbphyc_port1 {
374	phy-supply = <&vdd_usb>;
375	vdda1v1-supply = <&reg11>;
376	vdda1v8-supply = <&reg18>;
377};