xref: /freebsd-src/sys/contrib/device-tree/src/arm/st/stm32mp135f-dk.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) STMicroelectronics 2021 - All Rights Reserved
4f126890aSEmmanuel Vadot * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/dts-v1/;
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
11f126890aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
12aa1a8ff2SEmmanuel Vadot#include <dt-bindings/regulator/st,stm32mp13-regulator.h>
13f126890aSEmmanuel Vadot#include "stm32mp135.dtsi"
14f126890aSEmmanuel Vadot#include "stm32mp13xf.dtsi"
15f126890aSEmmanuel Vadot#include "stm32mp13-pinctrl.dtsi"
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot/ {
18f126890aSEmmanuel Vadot	model = "STMicroelectronics STM32MP135F-DK Discovery Board";
19f126890aSEmmanuel Vadot	compatible = "st,stm32mp135f-dk", "st,stm32mp135";
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot	aliases {
22*0e8011faSEmmanuel Vadot		ethernet0 = &ethernet1;
23f126890aSEmmanuel Vadot		serial0 = &uart4;
24f126890aSEmmanuel Vadot		serial1 = &usart1;
25f126890aSEmmanuel Vadot		serial2 = &uart8;
26f126890aSEmmanuel Vadot		serial3 = &usart2;
27f126890aSEmmanuel Vadot	};
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot	chosen {
30f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
31f126890aSEmmanuel Vadot	};
32f126890aSEmmanuel Vadot
33*0e8011faSEmmanuel Vadot	clocks {
34*0e8011faSEmmanuel Vadot		clk_ext_camera: clk-ext-camera {
35*0e8011faSEmmanuel Vadot			#clock-cells = <0>;
36*0e8011faSEmmanuel Vadot			compatible = "fixed-clock";
37*0e8011faSEmmanuel Vadot			clock-frequency = <24000000>;
38*0e8011faSEmmanuel Vadot		};
39*0e8011faSEmmanuel Vadot
40*0e8011faSEmmanuel Vadot		clk_mco1: clk-mco1 {
41*0e8011faSEmmanuel Vadot			#clock-cells = <0>;
42*0e8011faSEmmanuel Vadot			compatible = "fixed-clock";
43*0e8011faSEmmanuel Vadot			clock-frequency = <24000000>;
44*0e8011faSEmmanuel Vadot		};
45*0e8011faSEmmanuel Vadot	};
46*0e8011faSEmmanuel Vadot
47f126890aSEmmanuel Vadot	memory@c0000000 {
48f126890aSEmmanuel Vadot		device_type = "memory";
49f126890aSEmmanuel Vadot		reg = <0xc0000000 0x20000000>;
50f126890aSEmmanuel Vadot	};
51f126890aSEmmanuel Vadot
52f126890aSEmmanuel Vadot	reserved-memory {
53f126890aSEmmanuel Vadot		#address-cells = <1>;
54f126890aSEmmanuel Vadot		#size-cells = <1>;
55f126890aSEmmanuel Vadot		ranges;
56f126890aSEmmanuel Vadot
57f126890aSEmmanuel Vadot		optee@dd000000 {
58f126890aSEmmanuel Vadot			reg = <0xdd000000 0x3000000>;
59f126890aSEmmanuel Vadot			no-map;
60f126890aSEmmanuel Vadot		};
61f126890aSEmmanuel Vadot	};
62f126890aSEmmanuel Vadot
63f126890aSEmmanuel Vadot	gpio-keys {
64f126890aSEmmanuel Vadot		compatible = "gpio-keys";
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot		button-user {
67f126890aSEmmanuel Vadot			label = "User-PA13";
68f126890aSEmmanuel Vadot			linux,code = <BTN_1>;
69f126890aSEmmanuel Vadot			gpios = <&gpioa 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
70f126890aSEmmanuel Vadot		};
71f126890aSEmmanuel Vadot	};
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadot	leds {
74f126890aSEmmanuel Vadot		compatible = "gpio-leds";
75f126890aSEmmanuel Vadot
76f126890aSEmmanuel Vadot		led-blue {
77f126890aSEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
78f126890aSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
79f126890aSEmmanuel Vadot			gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
80f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
81f126890aSEmmanuel Vadot			default-state = "off";
82f126890aSEmmanuel Vadot		};
83f126890aSEmmanuel Vadot	};
847d0873ebSEmmanuel Vadot
857d0873ebSEmmanuel Vadot	panel_backlight: panel-backlight {
867d0873ebSEmmanuel Vadot		compatible = "gpio-backlight";
877d0873ebSEmmanuel Vadot		gpios = <&gpioe 12 GPIO_ACTIVE_HIGH>;
887d0873ebSEmmanuel Vadot		default-on;
897d0873ebSEmmanuel Vadot		status = "okay";
907d0873ebSEmmanuel Vadot	};
917d0873ebSEmmanuel Vadot
927d0873ebSEmmanuel Vadot	panel_rgb: panel-rgb {
937d0873ebSEmmanuel Vadot		compatible = "rocktech,rk043fn48h";
947d0873ebSEmmanuel Vadot		enable-gpios = <&gpioi 7 GPIO_ACTIVE_HIGH>;
957d0873ebSEmmanuel Vadot		backlight = <&panel_backlight>;
967d0873ebSEmmanuel Vadot		power-supply = <&scmi_v3v3_sw>;
977d0873ebSEmmanuel Vadot		status = "okay";
987d0873ebSEmmanuel Vadot
997d0873ebSEmmanuel Vadot		width-mm = <105>;
1007d0873ebSEmmanuel Vadot		height-mm = <67>;
1017d0873ebSEmmanuel Vadot
1027d0873ebSEmmanuel Vadot		panel-timing {
1037d0873ebSEmmanuel Vadot			clock-frequency = <10000000>;
1047d0873ebSEmmanuel Vadot			hactive = <480>;
1057d0873ebSEmmanuel Vadot			hback-porch = <43>;
1067d0873ebSEmmanuel Vadot			hfront-porch = <10>;
1077d0873ebSEmmanuel Vadot			hsync-len = <1>;
1087d0873ebSEmmanuel Vadot			hsync-active = <0>;
1097d0873ebSEmmanuel Vadot			vactive = <272>;
1107d0873ebSEmmanuel Vadot			vback-porch = <26>;
1117d0873ebSEmmanuel Vadot			vfront-porch = <4>;
1127d0873ebSEmmanuel Vadot			vsync-len = <10>;
1137d0873ebSEmmanuel Vadot			vsync-active = <0>;
1147d0873ebSEmmanuel Vadot			de-active = <1>;
1157d0873ebSEmmanuel Vadot			pixelclk-active = <1>;
1167d0873ebSEmmanuel Vadot		};
1177d0873ebSEmmanuel Vadot
1187d0873ebSEmmanuel Vadot		port {
1197d0873ebSEmmanuel Vadot			panel_in_rgb: endpoint {
1207d0873ebSEmmanuel Vadot				remote-endpoint = <&ltdc_out_rgb>;
1217d0873ebSEmmanuel Vadot			};
1227d0873ebSEmmanuel Vadot		};
1237d0873ebSEmmanuel Vadot	};
124f126890aSEmmanuel Vadot};
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot&adc_1 {
127f126890aSEmmanuel Vadot	pinctrl-names = "default";
128f126890aSEmmanuel Vadot	pinctrl-0 = <&adc1_usb_cc_pins_a>;
129aa1a8ff2SEmmanuel Vadot	vdda-supply = <&scmi_vdd_adc>;
130aa1a8ff2SEmmanuel Vadot	vref-supply = <&scmi_vdd_adc>;
131f126890aSEmmanuel Vadot	status = "okay";
132f126890aSEmmanuel Vadot	adc1: adc@0 {
133f126890aSEmmanuel Vadot		status = "okay";
134f126890aSEmmanuel Vadot		/*
135f126890aSEmmanuel Vadot		 * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in6 & in12.
136f126890aSEmmanuel Vadot		 * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C:
137f126890aSEmmanuel Vadot		 * 5 * (5.1 + 47kOhms) * 5pF => 1.3us.
138f126890aSEmmanuel Vadot		 * Use arbitrary margin here (e.g. 5us).
139f126890aSEmmanuel Vadot		 */
140f126890aSEmmanuel Vadot		channel@6 {
141f126890aSEmmanuel Vadot			reg = <6>;
142f126890aSEmmanuel Vadot			st,min-sample-time-ns = <5000>;
143f126890aSEmmanuel Vadot		};
144f126890aSEmmanuel Vadot		channel@12 {
145f126890aSEmmanuel Vadot			reg = <12>;
146f126890aSEmmanuel Vadot			st,min-sample-time-ns = <5000>;
147f126890aSEmmanuel Vadot		};
148f126890aSEmmanuel Vadot	};
149f126890aSEmmanuel Vadot};
150f126890aSEmmanuel Vadot
15101950c46SEmmanuel Vadot&crc1 {
15201950c46SEmmanuel Vadot	status = "okay";
15301950c46SEmmanuel Vadot};
15401950c46SEmmanuel Vadot
15501950c46SEmmanuel Vadot&cryp {
15601950c46SEmmanuel Vadot	status = "okay";
15701950c46SEmmanuel Vadot};
15801950c46SEmmanuel Vadot
159*0e8011faSEmmanuel Vadot&dcmipp {
160*0e8011faSEmmanuel Vadot	pinctrl-names = "default", "sleep";
161*0e8011faSEmmanuel Vadot	pinctrl-0 = <&dcmipp_pins_a>;
162*0e8011faSEmmanuel Vadot	pinctrl-1 = <&dcmipp_sleep_pins_a>;
163*0e8011faSEmmanuel Vadot	status = "okay";
164*0e8011faSEmmanuel Vadot
165*0e8011faSEmmanuel Vadot	port {
166*0e8011faSEmmanuel Vadot		dcmipp_0: endpoint {
167*0e8011faSEmmanuel Vadot			remote-endpoint = <&mipid02_2>;
168*0e8011faSEmmanuel Vadot			bus-width = <8>;
169*0e8011faSEmmanuel Vadot			hsync-active = <0>;
170*0e8011faSEmmanuel Vadot			vsync-active = <0>;
171*0e8011faSEmmanuel Vadot			pclk-sample = <0>;
172*0e8011faSEmmanuel Vadot		};
173*0e8011faSEmmanuel Vadot	};
174*0e8011faSEmmanuel Vadot};
175*0e8011faSEmmanuel Vadot
176*0e8011faSEmmanuel Vadot&ethernet1 {
177*0e8011faSEmmanuel Vadot	status = "okay";
178*0e8011faSEmmanuel Vadot	pinctrl-0 = <&eth1_rmii_pins_a>;
179*0e8011faSEmmanuel Vadot	pinctrl-1 = <&eth1_rmii_sleep_pins_a>;
180*0e8011faSEmmanuel Vadot	pinctrl-names = "default", "sleep";
181*0e8011faSEmmanuel Vadot	phy-mode = "rmii";
182*0e8011faSEmmanuel Vadot	phy-handle = <&phy0_eth1>;
183*0e8011faSEmmanuel Vadot
184*0e8011faSEmmanuel Vadot	mdio {
185*0e8011faSEmmanuel Vadot		#address-cells = <1>;
186*0e8011faSEmmanuel Vadot		#size-cells = <0>;
187*0e8011faSEmmanuel Vadot		compatible = "snps,dwmac-mdio";
188*0e8011faSEmmanuel Vadot
189*0e8011faSEmmanuel Vadot		phy0_eth1: ethernet-phy@0 {
190*0e8011faSEmmanuel Vadot			compatible = "ethernet-phy-id0007.c131";
191*0e8011faSEmmanuel Vadot			reg = <0>;
192*0e8011faSEmmanuel Vadot			reset-gpios = <&mcp23017 9 GPIO_ACTIVE_LOW>;
193*0e8011faSEmmanuel Vadot			wakeup-source;
194*0e8011faSEmmanuel Vadot		};
195*0e8011faSEmmanuel Vadot	};
196*0e8011faSEmmanuel Vadot};
197*0e8011faSEmmanuel Vadot
198f126890aSEmmanuel Vadot&i2c1 {
199f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
200f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c1_pins_a>;
201f126890aSEmmanuel Vadot	pinctrl-1 = <&i2c1_sleep_pins_a>;
202f126890aSEmmanuel Vadot	i2c-scl-rising-time-ns = <96>;
203f126890aSEmmanuel Vadot	i2c-scl-falling-time-ns = <3>;
204f126890aSEmmanuel Vadot	clock-frequency = <1000000>;
205f126890aSEmmanuel Vadot	status = "okay";
206f126890aSEmmanuel Vadot	/* spare dmas for other usage */
207f126890aSEmmanuel Vadot	/delete-property/dmas;
208f126890aSEmmanuel Vadot	/delete-property/dma-names;
209f126890aSEmmanuel Vadot
210f126890aSEmmanuel Vadot	mcp23017: pinctrl@21 {
211f126890aSEmmanuel Vadot		compatible = "microchip,mcp23017";
212f126890aSEmmanuel Vadot		reg = <0x21>;
213f126890aSEmmanuel Vadot		gpio-controller;
214f126890aSEmmanuel Vadot		#gpio-cells = <2>;
215f126890aSEmmanuel Vadot		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
216f126890aSEmmanuel Vadot		interrupt-parent = <&gpiog>;
217f126890aSEmmanuel Vadot		pinctrl-names = "default";
218f126890aSEmmanuel Vadot		pinctrl-0 = <&mcp23017_pins_a>;
219f126890aSEmmanuel Vadot		interrupt-controller;
220f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
221f126890aSEmmanuel Vadot		microchip,irq-mirror;
222f126890aSEmmanuel Vadot	};
223f126890aSEmmanuel Vadot
224f126890aSEmmanuel Vadot	typec@53 {
225f126890aSEmmanuel Vadot		compatible = "st,stm32g0-typec";
226f126890aSEmmanuel Vadot		reg = <0x53>;
227f126890aSEmmanuel Vadot		/* Alert pin on PI2 */
228f126890aSEmmanuel Vadot		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
229f126890aSEmmanuel Vadot		interrupt-parent = <&gpioi>;
230f126890aSEmmanuel Vadot		/* Internal pull-up on PI2 */
231f126890aSEmmanuel Vadot		pinctrl-names = "default";
232f126890aSEmmanuel Vadot		pinctrl-0 = <&stm32g0_intn_pins_a>;
233f126890aSEmmanuel Vadot		firmware-name = "stm32g0-ucsi.mp135f-dk.fw";
234f126890aSEmmanuel Vadot		connector {
235f126890aSEmmanuel Vadot			compatible = "usb-c-connector";
236f126890aSEmmanuel Vadot			label = "USB-C";
237f126890aSEmmanuel Vadot
238f126890aSEmmanuel Vadot			port {
239f126890aSEmmanuel Vadot				con_usb_c_g0_ep: endpoint {
240f126890aSEmmanuel Vadot					remote-endpoint = <&usbotg_hs_ep>;
241f126890aSEmmanuel Vadot				};
242f126890aSEmmanuel Vadot			};
243f126890aSEmmanuel Vadot		};
244f126890aSEmmanuel Vadot	};
245f126890aSEmmanuel Vadot};
246f126890aSEmmanuel Vadot
247f126890aSEmmanuel Vadot&i2c5 {
248f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
249f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c5_pins_a>;
250f126890aSEmmanuel Vadot	pinctrl-1 = <&i2c5_sleep_pins_a>;
251f126890aSEmmanuel Vadot	i2c-scl-rising-time-ns = <170>;
252f126890aSEmmanuel Vadot	i2c-scl-falling-time-ns = <5>;
253f126890aSEmmanuel Vadot	clock-frequency = <400000>;
254f126890aSEmmanuel Vadot	status = "okay";
255f126890aSEmmanuel Vadot	/* spare dmas for other usage */
256f126890aSEmmanuel Vadot	/delete-property/dmas;
257f126890aSEmmanuel Vadot	/delete-property/dma-names;
258*0e8011faSEmmanuel Vadot
259*0e8011faSEmmanuel Vadot	stmipi: csi2rx@14 {
260*0e8011faSEmmanuel Vadot		compatible = "st,st-mipid02";
261*0e8011faSEmmanuel Vadot		reg = <0x14>;
262*0e8011faSEmmanuel Vadot		clocks = <&clk_mco1>;
263*0e8011faSEmmanuel Vadot		clock-names = "xclk";
264*0e8011faSEmmanuel Vadot		VDDE-supply = <&scmi_v1v8_periph>;
265*0e8011faSEmmanuel Vadot		VDDIN-supply = <&scmi_v1v8_periph>;
266*0e8011faSEmmanuel Vadot		reset-gpios = <&mcp23017 2 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
267*0e8011faSEmmanuel Vadot		status = "okay";
268*0e8011faSEmmanuel Vadot
269*0e8011faSEmmanuel Vadot		ports {
270*0e8011faSEmmanuel Vadot			#address-cells = <1>;
271*0e8011faSEmmanuel Vadot			#size-cells = <0>;
272*0e8011faSEmmanuel Vadot			port@0 {
273*0e8011faSEmmanuel Vadot				reg = <0>;
274*0e8011faSEmmanuel Vadot
275*0e8011faSEmmanuel Vadot				mipid02_0: endpoint {
276*0e8011faSEmmanuel Vadot					data-lanes = <1 2>;
277*0e8011faSEmmanuel Vadot					lane-polarities = <0 0 0>;
278*0e8011faSEmmanuel Vadot					remote-endpoint = <&gc2145_ep>;
279*0e8011faSEmmanuel Vadot				};
280*0e8011faSEmmanuel Vadot			};
281*0e8011faSEmmanuel Vadot			port@2 {
282*0e8011faSEmmanuel Vadot				reg = <2>;
283*0e8011faSEmmanuel Vadot
284*0e8011faSEmmanuel Vadot				mipid02_2: endpoint {
285*0e8011faSEmmanuel Vadot					bus-width = <8>;
286*0e8011faSEmmanuel Vadot					hsync-active = <0>;
287*0e8011faSEmmanuel Vadot					vsync-active = <0>;
288*0e8011faSEmmanuel Vadot					pclk-sample = <0>;
289*0e8011faSEmmanuel Vadot					remote-endpoint = <&dcmipp_0>;
290*0e8011faSEmmanuel Vadot				};
291*0e8011faSEmmanuel Vadot			};
292*0e8011faSEmmanuel Vadot		};
293*0e8011faSEmmanuel Vadot	};
294*0e8011faSEmmanuel Vadot
295*0e8011faSEmmanuel Vadot	gc2145: camera@3c {
296*0e8011faSEmmanuel Vadot		compatible = "galaxycore,gc2145";
297*0e8011faSEmmanuel Vadot		reg = <0x3c>;
298*0e8011faSEmmanuel Vadot		clocks = <&clk_ext_camera>;
299*0e8011faSEmmanuel Vadot		iovdd-supply = <&scmi_v3v3_sw>;
300*0e8011faSEmmanuel Vadot		avdd-supply = <&scmi_v3v3_sw>;
301*0e8011faSEmmanuel Vadot		dvdd-supply = <&scmi_v3v3_sw>;
302*0e8011faSEmmanuel Vadot		powerdown-gpios = <&mcp23017 3 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
303*0e8011faSEmmanuel Vadot		reset-gpios = <&mcp23017 4 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
304*0e8011faSEmmanuel Vadot		status = "okay";
305*0e8011faSEmmanuel Vadot
306*0e8011faSEmmanuel Vadot		port {
307*0e8011faSEmmanuel Vadot			gc2145_ep: endpoint {
308*0e8011faSEmmanuel Vadot				remote-endpoint = <&mipid02_0>;
309*0e8011faSEmmanuel Vadot				data-lanes = <1 2>;
310*0e8011faSEmmanuel Vadot				link-frequencies = /bits/ 64 <120000000 192000000 240000000>;
311*0e8011faSEmmanuel Vadot			};
312*0e8011faSEmmanuel Vadot		};
313*0e8011faSEmmanuel Vadot	};
314*0e8011faSEmmanuel Vadot
315*0e8011faSEmmanuel Vadot	goodix: goodix-ts@5d {
316*0e8011faSEmmanuel Vadot		compatible = "goodix,gt911";
317*0e8011faSEmmanuel Vadot		reg = <0x5d>;
318*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
319*0e8011faSEmmanuel Vadot		pinctrl-0 = <&goodix_pins_a>;
320*0e8011faSEmmanuel Vadot		interrupt-parent = <&gpiof>;
321*0e8011faSEmmanuel Vadot		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
322*0e8011faSEmmanuel Vadot		AVDD28-supply = <&scmi_v3v3_sw>;
323*0e8011faSEmmanuel Vadot		VDDIO-supply = <&scmi_v3v3_sw>;
324*0e8011faSEmmanuel Vadot		touchscreen-size-x = <480>;
325*0e8011faSEmmanuel Vadot		touchscreen-size-y = <272>;
326*0e8011faSEmmanuel Vadot		status = "okay" ;
327*0e8011faSEmmanuel Vadot	};
328f126890aSEmmanuel Vadot};
329f126890aSEmmanuel Vadot
330f126890aSEmmanuel Vadot&iwdg2 {
331f126890aSEmmanuel Vadot	timeout-sec = <32>;
332f126890aSEmmanuel Vadot	status = "okay";
333f126890aSEmmanuel Vadot};
334f126890aSEmmanuel Vadot
3357d0873ebSEmmanuel Vadot&ltdc {
3367d0873ebSEmmanuel Vadot	pinctrl-names = "default", "sleep";
3377d0873ebSEmmanuel Vadot	pinctrl-0 = <&ltdc_pins_a>;
3387d0873ebSEmmanuel Vadot	pinctrl-1 = <&ltdc_sleep_pins_a>;
3397d0873ebSEmmanuel Vadot	status = "okay";
3407d0873ebSEmmanuel Vadot
3417d0873ebSEmmanuel Vadot	port {
3427d0873ebSEmmanuel Vadot		ltdc_out_rgb: endpoint {
3437d0873ebSEmmanuel Vadot			remote-endpoint = <&panel_in_rgb>;
3447d0873ebSEmmanuel Vadot		};
3457d0873ebSEmmanuel Vadot	};
3467d0873ebSEmmanuel Vadot};
3477d0873ebSEmmanuel Vadot
348f126890aSEmmanuel Vadot&rtc {
349f126890aSEmmanuel Vadot	status = "okay";
350f126890aSEmmanuel Vadot};
351f126890aSEmmanuel Vadot
352aa1a8ff2SEmmanuel Vadot&scmi_regu {
353aa1a8ff2SEmmanuel Vadot	scmi_vdd_adc: regulator@10 {
354aa1a8ff2SEmmanuel Vadot		reg = <VOLTD_SCMI_STPMIC1_LDO1>;
355aa1a8ff2SEmmanuel Vadot		regulator-name = "vdd_adc";
356aa1a8ff2SEmmanuel Vadot	};
357aa1a8ff2SEmmanuel Vadot	scmi_vdd_usb: regulator@13 {
358aa1a8ff2SEmmanuel Vadot		reg = <VOLTD_SCMI_STPMIC1_LDO4>;
359aa1a8ff2SEmmanuel Vadot		regulator-name = "vdd_usb";
360aa1a8ff2SEmmanuel Vadot	};
361aa1a8ff2SEmmanuel Vadot	scmi_vdd_sd: regulator@14 {
362aa1a8ff2SEmmanuel Vadot		reg = <VOLTD_SCMI_STPMIC1_LDO5>;
363aa1a8ff2SEmmanuel Vadot		regulator-name = "vdd_sd";
364aa1a8ff2SEmmanuel Vadot	};
365aa1a8ff2SEmmanuel Vadot	scmi_v1v8_periph: regulator@15 {
366aa1a8ff2SEmmanuel Vadot		reg = <VOLTD_SCMI_STPMIC1_LDO6>;
367aa1a8ff2SEmmanuel Vadot		regulator-name = "v1v8_periph";
368aa1a8ff2SEmmanuel Vadot	};
369aa1a8ff2SEmmanuel Vadot	scmi_v3v3_sw: regulator@19 {
370aa1a8ff2SEmmanuel Vadot		reg = <VOLTD_SCMI_STPMIC1_PWR_SW2>;
371aa1a8ff2SEmmanuel Vadot		regulator-name = "v3v3_sw";
372aa1a8ff2SEmmanuel Vadot	};
373aa1a8ff2SEmmanuel Vadot};
374aa1a8ff2SEmmanuel Vadot
375f126890aSEmmanuel Vadot&sdmmc1 {
376f126890aSEmmanuel Vadot	pinctrl-names = "default", "opendrain", "sleep";
377f126890aSEmmanuel Vadot	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>;
378f126890aSEmmanuel Vadot	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_pins_a>;
379f126890aSEmmanuel Vadot	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
380f126890aSEmmanuel Vadot	cd-gpios = <&gpioh 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
381f126890aSEmmanuel Vadot	disable-wp;
382f126890aSEmmanuel Vadot	st,neg-edge;
383f126890aSEmmanuel Vadot	bus-width = <4>;
384aa1a8ff2SEmmanuel Vadot	vmmc-supply = <&scmi_vdd_sd>;
385f126890aSEmmanuel Vadot	status = "okay";
386f126890aSEmmanuel Vadot};
387f126890aSEmmanuel Vadot
388f126890aSEmmanuel Vadot&spi5 {
389f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
390f126890aSEmmanuel Vadot	pinctrl-0 = <&spi5_pins_a>;
391f126890aSEmmanuel Vadot	pinctrl-1 = <&spi5_sleep_pins_a>;
392f126890aSEmmanuel Vadot	status = "disabled";
393f126890aSEmmanuel Vadot};
394f126890aSEmmanuel Vadot
395f126890aSEmmanuel Vadot&timers3 {
396f126890aSEmmanuel Vadot	/delete-property/dmas;
397f126890aSEmmanuel Vadot	/delete-property/dma-names;
398f126890aSEmmanuel Vadot	status = "disabled";
399f126890aSEmmanuel Vadot	pwm {
400*0e8011faSEmmanuel Vadot		/* PWM output on pin 7 of the expansion connector (CN8.7) using TIM3_CH4 func */
401f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm3_pins_a>;
402f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm3_sleep_pins_a>;
403f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
404f126890aSEmmanuel Vadot		status = "okay";
405f126890aSEmmanuel Vadot	};
406f126890aSEmmanuel Vadot	timer@2 {
407f126890aSEmmanuel Vadot		status = "okay";
408f126890aSEmmanuel Vadot	};
409f126890aSEmmanuel Vadot};
410f126890aSEmmanuel Vadot
411f126890aSEmmanuel Vadot&timers4 {
412f126890aSEmmanuel Vadot	/delete-property/dmas;
413f126890aSEmmanuel Vadot	/delete-property/dma-names;
414f126890aSEmmanuel Vadot	status = "disabled";
415f126890aSEmmanuel Vadot	pwm {
416*0e8011faSEmmanuel Vadot		/* PWM output on pin 31 of the expansion connector (CN8.31) using TIM4_CH2 func */
417f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm4_pins_a>;
418f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm4_sleep_pins_a>;
419f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
420f126890aSEmmanuel Vadot		status = "okay";
421f126890aSEmmanuel Vadot	};
422f126890aSEmmanuel Vadot	timer@3 {
423f126890aSEmmanuel Vadot		status = "okay";
424f126890aSEmmanuel Vadot	};
425f126890aSEmmanuel Vadot};
426f126890aSEmmanuel Vadot
427f126890aSEmmanuel Vadot&timers8 {
428f126890aSEmmanuel Vadot	/delete-property/dmas;
429f126890aSEmmanuel Vadot	/delete-property/dma-names;
430f126890aSEmmanuel Vadot	status = "disabled";
431f126890aSEmmanuel Vadot	pwm {
432*0e8011faSEmmanuel Vadot		/* PWM output on pin 32 of the expansion connector (CN8.32) using TIM8_CH3 func */
433f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm8_pins_a>;
434f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm8_sleep_pins_a>;
435f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
436f126890aSEmmanuel Vadot		status = "okay";
437f126890aSEmmanuel Vadot	};
438f126890aSEmmanuel Vadot	timer@7 {
439f126890aSEmmanuel Vadot		status = "okay";
440f126890aSEmmanuel Vadot	};
441f126890aSEmmanuel Vadot};
442f126890aSEmmanuel Vadot
443f126890aSEmmanuel Vadot&timers14 {
444f126890aSEmmanuel Vadot	status = "disabled";
445f126890aSEmmanuel Vadot	pwm {
446*0e8011faSEmmanuel Vadot		/* PWM output on pin 33 of the expansion connector (CN8.33) using TIM14_CH1 func */
447f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm14_pins_a>;
448f126890aSEmmanuel Vadot		pinctrl-1 = <&pwm14_sleep_pins_a>;
449f126890aSEmmanuel Vadot		pinctrl-names = "default", "sleep";
450f126890aSEmmanuel Vadot		status = "okay";
451f126890aSEmmanuel Vadot	};
452f126890aSEmmanuel Vadot	timer@13 {
453f126890aSEmmanuel Vadot		status = "okay";
454f126890aSEmmanuel Vadot	};
455f126890aSEmmanuel Vadot};
456f126890aSEmmanuel Vadot
457f126890aSEmmanuel Vadot&uart4 {
458f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep", "idle";
459f126890aSEmmanuel Vadot	pinctrl-0 = <&uart4_pins_a>;
460f126890aSEmmanuel Vadot	pinctrl-1 = <&uart4_sleep_pins_a>;
461f126890aSEmmanuel Vadot	pinctrl-2 = <&uart4_idle_pins_a>;
462f126890aSEmmanuel Vadot	/delete-property/dmas;
463f126890aSEmmanuel Vadot	/delete-property/dma-names;
464f126890aSEmmanuel Vadot	status = "okay";
465f126890aSEmmanuel Vadot};
466f126890aSEmmanuel Vadot
467f126890aSEmmanuel Vadot&uart8 {
468f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep", "idle";
469f126890aSEmmanuel Vadot	pinctrl-0 = <&uart8_pins_a>;
470f126890aSEmmanuel Vadot	pinctrl-1 = <&uart8_sleep_pins_a>;
471f126890aSEmmanuel Vadot	pinctrl-2 = <&uart8_idle_pins_a>;
472f126890aSEmmanuel Vadot	/delete-property/dmas;
473f126890aSEmmanuel Vadot	/delete-property/dma-names;
474f126890aSEmmanuel Vadot	status = "disabled";
475f126890aSEmmanuel Vadot};
476f126890aSEmmanuel Vadot
477f126890aSEmmanuel Vadot&usart1 {
478f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep", "idle";
479f126890aSEmmanuel Vadot	pinctrl-0 = <&usart1_pins_a>;
480f126890aSEmmanuel Vadot	pinctrl-1 = <&usart1_sleep_pins_a>;
481f126890aSEmmanuel Vadot	pinctrl-2 = <&usart1_idle_pins_a>;
482f126890aSEmmanuel Vadot	uart-has-rtscts;
483f126890aSEmmanuel Vadot	status = "disabled";
484f126890aSEmmanuel Vadot};
485f126890aSEmmanuel Vadot
486f126890aSEmmanuel Vadot/* Bluetooth */
487f126890aSEmmanuel Vadot&usart2 {
488f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep", "idle";
489f126890aSEmmanuel Vadot	pinctrl-0 = <&usart2_pins_a>;
490f126890aSEmmanuel Vadot	pinctrl-1 = <&usart2_sleep_pins_a>;
491f126890aSEmmanuel Vadot	pinctrl-2 = <&usart2_idle_pins_a>;
492f126890aSEmmanuel Vadot	uart-has-rtscts;
493f126890aSEmmanuel Vadot	status = "okay";
494f126890aSEmmanuel Vadot};
495f126890aSEmmanuel Vadot
496f126890aSEmmanuel Vadot&usbh_ehci {
497f126890aSEmmanuel Vadot	phys = <&usbphyc_port0>;
498f126890aSEmmanuel Vadot	status = "okay";
499f126890aSEmmanuel Vadot	#address-cells = <1>;
500f126890aSEmmanuel Vadot	#size-cells = <0>;
501f126890aSEmmanuel Vadot	/* onboard HUB */
502f126890aSEmmanuel Vadot	hub@1 {
503f126890aSEmmanuel Vadot		compatible = "usb424,2514";
504f126890aSEmmanuel Vadot		reg = <1>;
505aa1a8ff2SEmmanuel Vadot		vdd-supply = <&scmi_v3v3_sw>;
506f126890aSEmmanuel Vadot	};
507f126890aSEmmanuel Vadot};
508f126890aSEmmanuel Vadot
509f126890aSEmmanuel Vadot&usbotg_hs {
510f126890aSEmmanuel Vadot	phys = <&usbphyc_port1 0>;
511f126890aSEmmanuel Vadot	phy-names = "usb2-phy";
512f126890aSEmmanuel Vadot	usb-role-switch;
513f126890aSEmmanuel Vadot	status = "okay";
514f126890aSEmmanuel Vadot	port {
515f126890aSEmmanuel Vadot		usbotg_hs_ep: endpoint {
516f126890aSEmmanuel Vadot			remote-endpoint = <&con_usb_c_g0_ep>;
517f126890aSEmmanuel Vadot		};
518f126890aSEmmanuel Vadot	};
519f126890aSEmmanuel Vadot};
520f126890aSEmmanuel Vadot
521f126890aSEmmanuel Vadot&usbphyc {
522f126890aSEmmanuel Vadot	status = "okay";
523f126890aSEmmanuel Vadot};
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot&usbphyc_port0 {
526aa1a8ff2SEmmanuel Vadot	phy-supply = <&scmi_vdd_usb>;
527f126890aSEmmanuel Vadot	st,current-boost-microamp = <1000>;
528f126890aSEmmanuel Vadot	st,decrease-hs-slew-rate;
529f126890aSEmmanuel Vadot	st,tune-hs-dc-level = <2>;
530f126890aSEmmanuel Vadot	st,enable-hs-rftime-reduction;
531f126890aSEmmanuel Vadot	st,trim-hs-current = <11>;
532f126890aSEmmanuel Vadot	st,trim-hs-impedance = <2>;
533f126890aSEmmanuel Vadot	st,tune-squelch-level = <1>;
534f126890aSEmmanuel Vadot	st,enable-hs-rx-gain-eq;
535f126890aSEmmanuel Vadot	st,no-hs-ftime-ctrl;
536f126890aSEmmanuel Vadot	st,no-lsfs-sc;
537f126890aSEmmanuel Vadot};
538f126890aSEmmanuel Vadot
539f126890aSEmmanuel Vadot&usbphyc_port1 {
540aa1a8ff2SEmmanuel Vadot	phy-supply = <&scmi_vdd_usb>;
541f126890aSEmmanuel Vadot	st,current-boost-microamp = <1000>;
542f126890aSEmmanuel Vadot	st,decrease-hs-slew-rate;
543f126890aSEmmanuel Vadot	st,tune-hs-dc-level = <2>;
544f126890aSEmmanuel Vadot	st,enable-hs-rftime-reduction;
545f126890aSEmmanuel Vadot	st,trim-hs-current = <11>;
546f126890aSEmmanuel Vadot	st,trim-hs-impedance = <2>;
547f126890aSEmmanuel Vadot	st,tune-squelch-level = <1>;
548f126890aSEmmanuel Vadot	st,enable-hs-rx-gain-eq;
549f126890aSEmmanuel Vadot	st,no-hs-ftime-ctrl;
550f126890aSEmmanuel Vadot	st,no-lsfs-sc;
551f126890aSEmmanuel Vadot};
552