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<dc { 150*1dd44972SChristophe Parant pinctrl-names = "default", "sleep"; 151*1dd44972SChristophe Parant pinctrl-0 = <<dc_pins_f>; 152*1dd44972SChristophe Parant pinctrl-1 = <<dc_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