xref: /linux/scripts/dtc/include-prefixes/arm/st/stm32mp15xx-phyboard-sargas.dtsi (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
10c212fb9SChristophe Parant// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
20c212fb9SChristophe Parant/*
30c212fb9SChristophe Parant * Copyright (C) 2022-2023 Steffen Trumtrar <kernel@pengutronix.de>
40c212fb9SChristophe Parant * Copyright (C) Phytec GmbH 2019-2020 - All Rights Reserved
50c212fb9SChristophe Parant * Author: Dom VOVARD <dom.vovard@linrt.com>.
60c212fb9SChristophe Parant */
70c212fb9SChristophe Parant
80c212fb9SChristophe Parant#include <dt-bindings/interrupt-controller/arm-gic.h>
90c212fb9SChristophe Parant#include <dt-bindings/interrupt-controller/irq.h>
100c212fb9SChristophe Parant#include <dt-bindings/leds/common.h>
110c212fb9SChristophe Parant#include <dt-bindings/leds/leds-pca9532.h>
120c212fb9SChristophe Parant
130c212fb9SChristophe Parant/ {
14d07f9c56SChristophe Parant	aliases {
15d07f9c56SChristophe Parant		mmc0 = &sdmmc1;
16d07f9c56SChristophe Parant		mmc1 = &sdmmc2;
17d07f9c56SChristophe Parant		mmc2 = &sdmmc3;
18d07f9c56SChristophe Parant		serial0 = &uart4;
19d07f9c56SChristophe Parant		serial1 = &usart3;
20d07f9c56SChristophe Parant		serial2 = &usart1;
21d07f9c56SChristophe Parant	};
22d07f9c56SChristophe Parant
230c212fb9SChristophe Parant	chosen {
240c212fb9SChristophe Parant		stdout-path = "serial0:115200n8";
250c212fb9SChristophe Parant	};
260c212fb9SChristophe Parant
270c212fb9SChristophe Parant	gpio-keys {
280c212fb9SChristophe Parant		compatible = "gpio-keys";
290c212fb9SChristophe Parant
300c212fb9SChristophe Parant		key-home {
310c212fb9SChristophe Parant			label = "Home";
320c212fb9SChristophe Parant			gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
330c212fb9SChristophe Parant			linux,code = <KEY_HOME>;
340c212fb9SChristophe Parant		};
350c212fb9SChristophe Parant
360c212fb9SChristophe Parant		key-enter {
370c212fb9SChristophe Parant			label = "Enter";
380c212fb9SChristophe Parant			gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
390c212fb9SChristophe Parant			linux,code = <KEY_ENTER>;
400c212fb9SChristophe Parant		};
410c212fb9SChristophe Parant	};
420c212fb9SChristophe Parant
430c212fb9SChristophe Parant	sound {
440c212fb9SChristophe Parant		compatible = "audio-graph-card";
450c212fb9SChristophe Parant		label = "STM32MP1-PHYCORE";
460c212fb9SChristophe Parant		routing =
470c212fb9SChristophe Parant			"Playback", "MCLK", /* Set a route between "MCLK" and "playback" widgets */
480c212fb9SChristophe Parant			"Capture", "MCLK";
490c212fb9SChristophe Parant		dais = <&sai2b_port>,
500c212fb9SChristophe Parant		       <&sai2a_port>;
510c212fb9SChristophe Parant	};
520c212fb9SChristophe Parant};
530c212fb9SChristophe Parant
54*1dd44972SChristophe Parant&dcmi {
55*1dd44972SChristophe Parant	pinctrl-names = "default", "sleep";
56*1dd44972SChristophe Parant	pinctrl-0 = <&dcmi_pins_d>;
57*1dd44972SChristophe Parant	pinctrl-1 = <&dcmi_sleep_pins_d>;
58*1dd44972SChristophe Parant};
59*1dd44972SChristophe Parant
600c212fb9SChristophe Parant&i2c1 {
610c212fb9SChristophe Parant	pinctrl-names = "default", "sleep";
620c212fb9SChristophe Parant	pinctrl-0 = <&i2c1_pins_b>;
630c212fb9SChristophe Parant	pinctrl-1 = <&i2c1_sleep_pins_b>;
640c212fb9SChristophe Parant	i2c-scl-rising-time-ns = <100>;
650c212fb9SChristophe Parant	i2c-scl-falling-time-ns = <7>;
660c212fb9SChristophe Parant	status = "okay";
670c212fb9SChristophe Parant
680c212fb9SChristophe Parant	codec@18 {
690c212fb9SChristophe Parant		compatible = "ti,tlv320aic3007";
700c212fb9SChristophe Parant		reg = <0x18>;
710c212fb9SChristophe Parant		#sound-dai-cells = <0>;
720c212fb9SChristophe Parant
730c212fb9SChristophe Parant		ai3x-micbias-vg = <2>;
740c212fb9SChristophe Parant
750c212fb9SChristophe Parant		AVDD-supply = <&v3v3>;
760c212fb9SChristophe Parant		IOVDD-supply = <&v3v3>;
770c212fb9SChristophe Parant		DRVDD-supply = <&v3v3>;
780c212fb9SChristophe Parant		DVDD-supply = <&v1v8_audio>;
790c212fb9SChristophe Parant
800c212fb9SChristophe Parant		clocks = <&sai2b>;
810c212fb9SChristophe Parant
820c212fb9SChristophe Parant		port {
830c212fb9SChristophe Parant			#address-cells = <1>;
840c212fb9SChristophe Parant			#size-cells = <0>;
850c212fb9SChristophe Parant
860c212fb9SChristophe Parant			tlv320_tx_endpoint: endpoint@0 {
870c212fb9SChristophe Parant				reg = <0>;
880c212fb9SChristophe Parant				remote-endpoint = <&sai2b_endpoint>;
890c212fb9SChristophe Parant				frame-master;
900c212fb9SChristophe Parant				bitclock-master;
910c212fb9SChristophe Parant			};
920c212fb9SChristophe Parant
930c212fb9SChristophe Parant			tlv320_rx_endpoint: endpoint@1 {
940c212fb9SChristophe Parant				reg = <1>;
950c212fb9SChristophe Parant				remote-endpoint = <&sai2a_endpoint>;
960c212fb9SChristophe Parant				frame-master;
970c212fb9SChristophe Parant				bitclock-master;
980c212fb9SChristophe Parant			};
990c212fb9SChristophe Parant		};
1000c212fb9SChristophe Parant	};
1010c212fb9SChristophe Parant
1020c212fb9SChristophe Parant	touch@44 {
1030c212fb9SChristophe Parant		compatible = "st,stmpe811";
1040c212fb9SChristophe Parant		reg = <0x44>;
1050c212fb9SChristophe Parant		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
1060c212fb9SChristophe Parant		interrupt-parent = <&gpioi>;
1070c212fb9SChristophe Parant		vio-supply = <&v3v3>;
1080c212fb9SChristophe Parant		vcc-supply = <&v3v3>;
1090c212fb9SChristophe Parant		st,sample-time = <4>;
1100c212fb9SChristophe Parant		st,mod-12b = <1>;
1110c212fb9SChristophe Parant		st,ref-sel = <0>;
1120c212fb9SChristophe Parant		st,adc-freq = <1>;
1130c212fb9SChristophe Parant
1140c212fb9SChristophe Parant		touchscreen {
1150c212fb9SChristophe Parant			compatible = "st,stmpe-ts";
1160c212fb9SChristophe Parant			st,ave-ctrl = <1>;
1170c212fb9SChristophe Parant			st,touch-det-delay = <2>;
1180c212fb9SChristophe Parant			st,settling = <2>;
1190c212fb9SChristophe Parant			st,fraction-z = <7>;
1200c212fb9SChristophe Parant			st,i-drive = <1>;
1210c212fb9SChristophe Parant		};
1220c212fb9SChristophe Parant	};
1230c212fb9SChristophe Parant
1240c212fb9SChristophe Parant	leds@62 {
1250c212fb9SChristophe Parant		compatible = "nxp,pca9533";
1260c212fb9SChristophe Parant		reg = <0x62>;
1270c212fb9SChristophe Parant
1280c212fb9SChristophe Parant		led-0 {
1290c212fb9SChristophe Parant			color = <LED_COLOR_ID_RED>;
1300c212fb9SChristophe Parant			function = LED_FUNCTION_POWER;
1310c212fb9SChristophe Parant			type = <PCA9532_TYPE_LED>;
1320c212fb9SChristophe Parant		};
1330c212fb9SChristophe Parant
1340c212fb9SChristophe Parant		led-1 {
1350c212fb9SChristophe Parant			color = <LED_COLOR_ID_GREEN>;
1360c212fb9SChristophe Parant			function = LED_FUNCTION_POWER;
1370c212fb9SChristophe Parant			type = <PCA9532_TYPE_LED>;
1380c212fb9SChristophe Parant		};
1390c212fb9SChristophe Parant
1400c212fb9SChristophe Parant		led-2 {
1410c212fb9SChristophe Parant			color = <LED_COLOR_ID_BLUE>;
1420c212fb9SChristophe Parant			function = LED_FUNCTION_HEARTBEAT;
1430c212fb9SChristophe Parant			type = <PCA9532_TYPE_LED>;
1440c212fb9SChristophe Parant			linux,default-trigger = "heartbeat";
1450c212fb9SChristophe Parant		};
1460c212fb9SChristophe Parant	};
1470c212fb9SChristophe Parant};
1480c212fb9SChristophe Parant
149*1dd44972SChristophe Parant&ltdc {
150*1dd44972SChristophe Parant	pinctrl-names = "default", "sleep";
151*1dd44972SChristophe Parant	pinctrl-0 = <&ltdc_pins_f>;
152*1dd44972SChristophe Parant	pinctrl-1 = <&ltdc_sleep_pins_f>;
153*1dd44972SChristophe Parant};
154*1dd44972SChristophe Parant
1550c212fb9SChristophe Parant&m_can2 {
1560c212fb9SChristophe Parant	pinctrl-names = "default", "sleep";
1570c212fb9SChristophe Parant	pinctrl-0 = <&m_can2_pins_a>;
1580c212fb9SChristophe Parant	pinctrl-1 = <&m_can2_sleep_pins_a>;
1590c212fb9SChristophe Parant	status = "okay";
1600c212fb9SChristophe Parant};
1610c212fb9SChristophe Parant
1620c212fb9SChristophe Parant&sai2 {
1630c212fb9SChristophe Parant	clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
1640c212fb9SChristophe Parant	clock-names = "pclk", "x8k", "x11k";
1650c212fb9SChristophe Parant	pinctrl-names = "default", "sleep";
16635c59caeSChristophe Parant	pinctrl-0 = <&sai2a_pins_d>, <&sai2b_pins_d>;
16735c59caeSChristophe Parant	pinctrl-1 = <&sai2a_sleep_pins_d>, <&sai2b_sleep_pins_d>;
1680c212fb9SChristophe Parant	status = "okay";
1690c212fb9SChristophe Parant};
1700c212fb9SChristophe Parant
1710c212fb9SChristophe Parant&sai2a {
1720c212fb9SChristophe Parant	dma-names = "rx";
1730c212fb9SChristophe Parant	clocks = <&rcc SAI2_K>, <&sai2b>;
1740c212fb9SChristophe Parant	clock-names = "sai_ck", "MCLK";
1750c212fb9SChristophe Parant	#clock-cells = <0>;
176c586a772SChristophe Parant	st,sync = <&sai2b 2>;
1770c212fb9SChristophe Parant
1780c212fb9SChristophe Parant	sai2a_port: port {
1790c212fb9SChristophe Parant		sai2a_endpoint: endpoint {
1800c212fb9SChristophe Parant			remote-endpoint = <&tlv320_rx_endpoint>;
1810c212fb9SChristophe Parant			mclk-fs = <256>;
1820c212fb9SChristophe Parant			dai-tdm-slot-num = <2>;
1830c212fb9SChristophe Parant			dai-tdm-slot-width = <16>;
1840c212fb9SChristophe Parant		};
1850c212fb9SChristophe Parant	};
1860c212fb9SChristophe Parant};
1870c212fb9SChristophe Parant
1880c212fb9SChristophe Parant&sai2b {
1890c212fb9SChristophe Parant	dma-names = "tx";
1900c212fb9SChristophe Parant	#clock-cells = <0>;
1910c212fb9SChristophe Parant
1920c212fb9SChristophe Parant	sai2b_port: port {
1930c212fb9SChristophe Parant		sai2b_endpoint: endpoint {
1940c212fb9SChristophe Parant			remote-endpoint = <&tlv320_tx_endpoint>;
1950c212fb9SChristophe Parant			mclk-fs = <256>;
1960c212fb9SChristophe Parant			dai-tdm-slot-num = <2>;
1970c212fb9SChristophe Parant			dai-tdm-slot-width = <16>;
1980c212fb9SChristophe Parant		};
1990c212fb9SChristophe Parant	};
2000c212fb9SChristophe Parant};
2010c212fb9SChristophe Parant
2020c212fb9SChristophe Parant&sdmmc1 {
2030c212fb9SChristophe Parant	pinctrl-names = "default", "opendrain", "sleep";
2040c212fb9SChristophe Parant	pinctrl-0 = <&sdmmc1_b4_pins_b>;
2050c212fb9SChristophe Parant	pinctrl-1 = <&sdmmc1_b4_od_pins_b>;
2060c212fb9SChristophe Parant	pinctrl-2 = <&sdmmc1_b4_sleep_pins_b>;
2070c212fb9SChristophe Parant	cd-gpios = <&gpiof 3 GPIO_ACTIVE_LOW>;
2080c212fb9SChristophe Parant	disable-wp;
2090c212fb9SChristophe Parant	bus-width = <4>;
2100c212fb9SChristophe Parant	vmmc-supply = <&v3v3>;
211c586a772SChristophe Parant	st,neg-edge;
2120c212fb9SChristophe Parant	status = "okay";
2130c212fb9SChristophe Parant};
2140c212fb9SChristophe Parant
2150c212fb9SChristophe Parant&spi1 {
2160c212fb9SChristophe Parant	pinctrl-names = "default", "sleep";
2170c212fb9SChristophe Parant	pinctrl-0 = <&spi1_pins_a>;
2180c212fb9SChristophe Parant	pinctrl-1 = <&spi1_sleep_pins_a>;
2190c212fb9SChristophe Parant	cs-gpios = <&gpioz 3 0>;
2200c212fb9SChristophe Parant	status = "okay";
2210c212fb9SChristophe Parant};
2220c212fb9SChristophe Parant
223*1dd44972SChristophe Parant&timers5 {
224*1dd44972SChristophe Parant	/* spare dmas for other usage */
225*1dd44972SChristophe Parant	/delete-property/dmas;
226*1dd44972SChristophe Parant	/delete-property/dma-names;
227*1dd44972SChristophe Parant	pwm5: pwm {
228*1dd44972SChristophe Parant		pinctrl-names = "default", "sleep";
229*1dd44972SChristophe Parant		pinctrl-0 = <&pwm5_pins_c>;
230*1dd44972SChristophe Parant		pinctrl-1 = <&pwm5_sleep_pins_c>;
231*1dd44972SChristophe Parant	};
232*1dd44972SChristophe Parant};
233*1dd44972SChristophe Parant
2340c212fb9SChristophe Parant&uart4 {
2350c212fb9SChristophe Parant	pinctrl-names = "default", "sleep", "idle";
23635c59caeSChristophe Parant	pinctrl-0 = <&uart4_pins_f>;
23735c59caeSChristophe Parant	pinctrl-1 = <&uart4_sleep_pins_f>;
23835c59caeSChristophe Parant	pinctrl-2 = <&uart4_idle_pins_f>;
2390c212fb9SChristophe Parant	/delete-property/dmas;
2400c212fb9SChristophe Parant	/delete-property/dma-names;
2410c212fb9SChristophe Parant	status = "okay";
2420c212fb9SChristophe Parant};
2430c212fb9SChristophe Parant
2440c212fb9SChristophe Parant&usart1 {
2450c212fb9SChristophe Parant	pinctrl-names = "default", "sleep", "idle";
2460c212fb9SChristophe Parant	pinctrl-0 = <&usart1_pins_b &usart1_pins_a>;
2470c212fb9SChristophe Parant	pinctrl-1 = <&usart1_sleep_pins_b &usart1_sleep_pins_a>;
2480c212fb9SChristophe Parant	pinctrl-2 = <&usart1_idle_pins_b &usart1_idle_pins_a>;
2490c212fb9SChristophe Parant	uart-has-rtscts;
2500c212fb9SChristophe Parant	status = "okay";
2510c212fb9SChristophe Parant};
2520c212fb9SChristophe Parant
2530c212fb9SChristophe Parant&usart3 {
2540c212fb9SChristophe Parant	pinctrl-names = "default", "sleep", "idle";
2550c212fb9SChristophe Parant	pinctrl-0 = <&usart3_pins_a>;
2560c212fb9SChristophe Parant	pinctrl-1 = <&usart3_sleep_pins_a>;
2570c212fb9SChristophe Parant	pinctrl-2 = <&usart3_idle_pins_a>;
2580c212fb9SChristophe Parant	status = "okay";
2590c212fb9SChristophe Parant};
2600c212fb9SChristophe Parant
2610c212fb9SChristophe Parant&usbh_ehci {
2620c212fb9SChristophe Parant	status = "okay";
2630c212fb9SChristophe Parant};
2640c212fb9SChristophe Parant
2650c212fb9SChristophe Parant&usbh_ohci {
2660c212fb9SChristophe Parant	status = "okay";
2670c212fb9SChristophe Parant};
2680c212fb9SChristophe Parant
2690c212fb9SChristophe Parant&usbotg_hs {
2700c212fb9SChristophe Parant	phys = <&usbphyc_port1 0>;
2710c212fb9SChristophe Parant	phy-names = "usb2-phy";
2720c212fb9SChristophe Parant	status = "okay";
2730c212fb9SChristophe Parant};
2740c212fb9SChristophe Parant
2750c212fb9SChristophe Parant&usbphyc {
2760c212fb9SChristophe Parant	status = "okay";
2770c212fb9SChristophe Parant};
2780c212fb9SChristophe Parant
2790c212fb9SChristophe Parant&usbphyc_port0 {
2800c212fb9SChristophe Parant	phy-supply = <&vdd_usb>;
2810c212fb9SChristophe Parant};
2820c212fb9SChristophe Parant
2830c212fb9SChristophe Parant&usbphyc_port1 {
2840c212fb9SChristophe Parant	phy-supply = <&vdd_usb>;
2850c212fb9SChristophe Parant};
286