1*fadfd41aSAmelie Delaunay// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 2*fadfd41aSAmelie Delaunay/* 3*fadfd41aSAmelie Delaunay * Copyright (C) STMicroelectronics 2025 - All Rights Reserved 4*fadfd41aSAmelie Delaunay * Author: Amelie Delaunay <amelie.delaunay@foss.st.com> for STMicroelectronics. 5*fadfd41aSAmelie Delaunay */ 6*fadfd41aSAmelie Delaunay 7*fadfd41aSAmelie Delaunay/dts-v1/; 8*fadfd41aSAmelie Delaunay 9*fadfd41aSAmelie Delaunay#include "stm32mp157.dtsi" 10*fadfd41aSAmelie Delaunay#include "stm32mp15xf.dtsi" 11*fadfd41aSAmelie Delaunay#include "stm32mp15-pinctrl.dtsi" 12*fadfd41aSAmelie Delaunay#include "stm32mp15xxac-pinctrl.dtsi" 13*fadfd41aSAmelie Delaunay#include "stm32mp15xx-dkx.dtsi" 14*fadfd41aSAmelie Delaunay#include "stm32mp157f-dk2-scmi.dtsi" 15*fadfd41aSAmelie Delaunay 16*fadfd41aSAmelie Delaunay/ { 17*fadfd41aSAmelie Delaunay model = "STMicroelectronics STM32MP157F-DK2 Discovery Board"; 18*fadfd41aSAmelie Delaunay compatible = "st,stm32mp157f-dk2", "st,stm32mp157"; 19*fadfd41aSAmelie Delaunay 20*fadfd41aSAmelie Delaunay aliases { 21*fadfd41aSAmelie Delaunay ethernet0 = ðernet0; 22*fadfd41aSAmelie Delaunay serial3 = &usart2; 23*fadfd41aSAmelie Delaunay }; 24*fadfd41aSAmelie Delaunay 25*fadfd41aSAmelie Delaunay chosen { 26*fadfd41aSAmelie Delaunay stdout-path = "serial0:115200n8"; 27*fadfd41aSAmelie Delaunay }; 28*fadfd41aSAmelie Delaunay 29*fadfd41aSAmelie Delaunay wifi_pwrseq: wifi-pwrseq { 30*fadfd41aSAmelie Delaunay compatible = "mmc-pwrseq-simple"; 31*fadfd41aSAmelie Delaunay reset-gpios = <&gpioh 4 GPIO_ACTIVE_LOW>; 32*fadfd41aSAmelie Delaunay }; 33*fadfd41aSAmelie Delaunay}; 34*fadfd41aSAmelie Delaunay 35*fadfd41aSAmelie Delaunay&arm_wdt { 36*fadfd41aSAmelie Delaunay timeout-sec = <32>; 37*fadfd41aSAmelie Delaunay status = "okay"; 38*fadfd41aSAmelie Delaunay}; 39*fadfd41aSAmelie Delaunay 40*fadfd41aSAmelie Delaunay&cryp1 { 41*fadfd41aSAmelie Delaunay status = "okay"; 42*fadfd41aSAmelie Delaunay}; 43*fadfd41aSAmelie Delaunay 44*fadfd41aSAmelie Delaunay&dsi { 45*fadfd41aSAmelie Delaunay #address-cells = <1>; 46*fadfd41aSAmelie Delaunay #size-cells = <0>; 47*fadfd41aSAmelie Delaunay status = "okay"; 48*fadfd41aSAmelie Delaunay 49*fadfd41aSAmelie Delaunay panel@0 { 50*fadfd41aSAmelie Delaunay compatible = "orisetech,otm8009a"; 51*fadfd41aSAmelie Delaunay reg = <0>; 52*fadfd41aSAmelie Delaunay reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>; 53*fadfd41aSAmelie Delaunay power-supply = <&scmi_v3v3>; 54*fadfd41aSAmelie Delaunay status = "okay"; 55*fadfd41aSAmelie Delaunay 56*fadfd41aSAmelie Delaunay port { 57*fadfd41aSAmelie Delaunay panel_in: endpoint { 58*fadfd41aSAmelie Delaunay remote-endpoint = <&dsi_out>; 59*fadfd41aSAmelie Delaunay }; 60*fadfd41aSAmelie Delaunay }; 61*fadfd41aSAmelie Delaunay }; 62*fadfd41aSAmelie Delaunay}; 63*fadfd41aSAmelie Delaunay 64*fadfd41aSAmelie Delaunay&dsi_in { 65*fadfd41aSAmelie Delaunay remote-endpoint = <<dc_ep1_out>; 66*fadfd41aSAmelie Delaunay}; 67*fadfd41aSAmelie Delaunay 68*fadfd41aSAmelie Delaunay&dsi_out { 69*fadfd41aSAmelie Delaunay remote-endpoint = <&panel_in>; 70*fadfd41aSAmelie Delaunay}; 71*fadfd41aSAmelie Delaunay 72*fadfd41aSAmelie Delaunay&i2c1 { 73*fadfd41aSAmelie Delaunay touchscreen@38 { 74*fadfd41aSAmelie Delaunay compatible = "focaltech,ft6236"; 75*fadfd41aSAmelie Delaunay reg = <0x38>; 76*fadfd41aSAmelie Delaunay interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 77*fadfd41aSAmelie Delaunay interrupt-parent = <&gpiof>; 78*fadfd41aSAmelie Delaunay touchscreen-size-x = <480>; 79*fadfd41aSAmelie Delaunay touchscreen-size-y = <800>; 80*fadfd41aSAmelie Delaunay status = "okay"; 81*fadfd41aSAmelie Delaunay }; 82*fadfd41aSAmelie Delaunay}; 83*fadfd41aSAmelie Delaunay 84*fadfd41aSAmelie Delaunay/* I2C4 is managed by OP-TEE */ 85*fadfd41aSAmelie Delaunay&i2c4 { 86*fadfd41aSAmelie Delaunay status = "disabled"; 87*fadfd41aSAmelie Delaunay 88*fadfd41aSAmelie Delaunay /* i2c4 subnodes, which won't be managed by Linux */ 89*fadfd41aSAmelie Delaunay typec@28 { 90*fadfd41aSAmelie Delaunay status = "disabled"; 91*fadfd41aSAmelie Delaunay connector { 92*fadfd41aSAmelie Delaunay status = "disabled"; 93*fadfd41aSAmelie Delaunay }; 94*fadfd41aSAmelie Delaunay }; 95*fadfd41aSAmelie Delaunay 96*fadfd41aSAmelie Delaunay stpmic@33 { 97*fadfd41aSAmelie Delaunay status = "disabled"; 98*fadfd41aSAmelie Delaunay }; 99*fadfd41aSAmelie Delaunay}; 100*fadfd41aSAmelie Delaunay 101*fadfd41aSAmelie Delaunay<dc { 102*fadfd41aSAmelie Delaunay status = "okay"; 103*fadfd41aSAmelie Delaunay 104*fadfd41aSAmelie Delaunay port { 105*fadfd41aSAmelie Delaunay #address-cells = <1>; 106*fadfd41aSAmelie Delaunay #size-cells = <0>; 107*fadfd41aSAmelie Delaunay 108*fadfd41aSAmelie Delaunay ltdc_ep1_out: endpoint@1 { 109*fadfd41aSAmelie Delaunay reg = <1>; 110*fadfd41aSAmelie Delaunay remote-endpoint = <&dsi_in>; 111*fadfd41aSAmelie Delaunay }; 112*fadfd41aSAmelie Delaunay }; 113*fadfd41aSAmelie Delaunay}; 114*fadfd41aSAmelie Delaunay 115*fadfd41aSAmelie Delaunay&rtc { 116*fadfd41aSAmelie Delaunay pinctrl-names = "default"; 117*fadfd41aSAmelie Delaunay pinctrl-0 = <&rtc_rsvd_pins_a>; 118*fadfd41aSAmelie Delaunay 119*fadfd41aSAmelie Delaunay rtc_lsco_pins_a: rtc-lsco-0 { 120*fadfd41aSAmelie Delaunay pins = "out2_rmp"; 121*fadfd41aSAmelie Delaunay function = "lsco"; 122*fadfd41aSAmelie Delaunay }; 123*fadfd41aSAmelie Delaunay}; 124*fadfd41aSAmelie Delaunay 125*fadfd41aSAmelie Delaunay/* Wifi */ 126*fadfd41aSAmelie Delaunay&sdmmc2 { 127*fadfd41aSAmelie Delaunay pinctrl-names = "default", "opendrain", "sleep"; 128*fadfd41aSAmelie Delaunay pinctrl-0 = <&sdmmc2_b4_pins_a>; 129*fadfd41aSAmelie Delaunay pinctrl-1 = <&sdmmc2_b4_od_pins_a>; 130*fadfd41aSAmelie Delaunay pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>; 131*fadfd41aSAmelie Delaunay non-removable; 132*fadfd41aSAmelie Delaunay cap-sdio-irq; 133*fadfd41aSAmelie Delaunay st,neg-edge; 134*fadfd41aSAmelie Delaunay bus-width = <4>; 135*fadfd41aSAmelie Delaunay vmmc-supply = <&scmi_v3v3>; 136*fadfd41aSAmelie Delaunay mmc-pwrseq = <&wifi_pwrseq>; 137*fadfd41aSAmelie Delaunay #address-cells = <1>; 138*fadfd41aSAmelie Delaunay #size-cells = <0>; 139*fadfd41aSAmelie Delaunay status = "okay"; 140*fadfd41aSAmelie Delaunay 141*fadfd41aSAmelie Delaunay brcmf: wifi@1 { 142*fadfd41aSAmelie Delaunay reg = <1>; 143*fadfd41aSAmelie Delaunay compatible = "brcm,bcm4329-fmac"; 144*fadfd41aSAmelie Delaunay pinctrl-names = "default"; 145*fadfd41aSAmelie Delaunay pinctrl-0 = <&rtc_lsco_pins_a>; 146*fadfd41aSAmelie Delaunay }; 147*fadfd41aSAmelie Delaunay}; 148*fadfd41aSAmelie Delaunay 149*fadfd41aSAmelie Delaunay/* Bluetooth */ 150*fadfd41aSAmelie Delaunay&usart2 { 151*fadfd41aSAmelie Delaunay pinctrl-names = "default", "sleep", "idle"; 152*fadfd41aSAmelie Delaunay pinctrl-0 = <&usart2_pins_c>; 153*fadfd41aSAmelie Delaunay pinctrl-1 = <&usart2_sleep_pins_c>; 154*fadfd41aSAmelie Delaunay pinctrl-2 = <&usart2_idle_pins_c>; 155*fadfd41aSAmelie Delaunay uart-has-rtscts; 156*fadfd41aSAmelie Delaunay status = "okay"; 157*fadfd41aSAmelie Delaunay 158*fadfd41aSAmelie Delaunay bluetooth { 159*fadfd41aSAmelie Delaunay shutdown-gpios = <&gpioz 6 GPIO_ACTIVE_HIGH>; 160*fadfd41aSAmelie Delaunay compatible = "brcm,bcm43438-bt"; 161*fadfd41aSAmelie Delaunay max-speed = <3000000>; 162*fadfd41aSAmelie Delaunay vbat-supply = <&scmi_v3v3>; 163*fadfd41aSAmelie Delaunay vddio-supply = <&scmi_v3v3>; 164*fadfd41aSAmelie Delaunay }; 165*fadfd41aSAmelie Delaunay}; 166*fadfd41aSAmelie Delaunay 167*fadfd41aSAmelie Delaunay/* Since I2C4 is disabled, STUSB1600 is also disabled so there is no Type-C support */ 168*fadfd41aSAmelie Delaunay&usbotg_hs { 169*fadfd41aSAmelie Delaunay dr_mode = "peripheral"; 170*fadfd41aSAmelie Delaunay role-switch-default-mode = "peripheral"; 171*fadfd41aSAmelie Delaunay /* 172*fadfd41aSAmelie Delaunay * Forcing dr_mode = "peripheral"/"role-switch-default-mode = "peripheral"; 173*fadfd41aSAmelie Delaunay * will cause the pull-up on D+/D- to be raised as soon as the OTG is configured at runtime, 174*fadfd41aSAmelie Delaunay * regardless of the presence of VBUS. Notice that on self-powered devices like 175*fadfd41aSAmelie Delaunay * stm32mp157f-dk2, this isn't compliant with the USB standard. That's why usbotg_hs is kept 176*fadfd41aSAmelie Delaunay * disabled here. 177*fadfd41aSAmelie Delaunay */ 178*fadfd41aSAmelie Delaunay status = "disabled"; 179*fadfd41aSAmelie Delaunay}; 180