| // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) |
| /* |
| * Copyright (C) STMicroelectronics 2025 - All Rights Reserved |
| * Author: Amelie Delaunay <amelie.delaunay@foss.st.com> for STMicroelectronics. |
| */ |
| |
| /dts-v1/; |
| |
| #include "stm32mp157.dtsi" |
| #include "stm32mp15xf.dtsi" |
| #include "stm32mp15-pinctrl.dtsi" |
| #include "stm32mp15xxac-pinctrl.dtsi" |
| #include "stm32mp15xx-dkx.dtsi" |
| #include "stm32mp157f-dk2-scmi.dtsi" |
| |
| / { |
| model = "STMicroelectronics STM32MP157F-DK2 Discovery Board"; |
| compatible = "st,stm32mp157f-dk2", "st,stm32mp157"; |
| |
| aliases { |
| ethernet0 = ðernet0; |
| serial3 = &usart2; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| wifi_pwrseq: wifi-pwrseq { |
| compatible = "mmc-pwrseq-simple"; |
| reset-gpios = <&gpioh 4 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| &arm_wdt { |
| timeout-sec = <32>; |
| status = "okay"; |
| }; |
| |
| &cryp1 { |
| status = "okay"; |
| }; |
| |
| &dsi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| |
| panel@0 { |
| compatible = "orisetech,otm8009a"; |
| reg = <0>; |
| reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>; |
| power-supply = <&scmi_v3v3>; |
| |
| port { |
| panel_in: endpoint { |
| remote-endpoint = <&dsi_out>; |
| }; |
| }; |
| }; |
| }; |
| |
| &dsi_in { |
| remote-endpoint = <<dc_ep1_out>; |
| }; |
| |
| &dsi_out { |
| remote-endpoint = <&panel_in>; |
| }; |
| |
| &i2c1 { |
| touchscreen@38 { |
| compatible = "focaltech,ft6236"; |
| reg = <0x38>; |
| interrupts = <2 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-parent = <&gpiof>; |
| touchscreen-size-x = <480>; |
| touchscreen-size-y = <800>; |
| }; |
| }; |
| |
| /* I2C4 is managed by OP-TEE */ |
| &i2c4 { |
| status = "disabled"; |
| |
| /* i2c4 subnodes, which won't be managed by Linux */ |
| typec@28 { |
| status = "disabled"; |
| connector { |
| status = "disabled"; |
| }; |
| }; |
| |
| stpmic@33 { |
| status = "disabled"; |
| }; |
| }; |
| |
| <dc { |
| status = "okay"; |
| |
| port { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| ltdc_ep1_out: endpoint@1 { |
| reg = <1>; |
| remote-endpoint = <&dsi_in>; |
| }; |
| }; |
| }; |
| |
| &rtc { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&rtc_rsvd_pins_a>; |
| |
| rtc_lsco_pins_a: rtc-lsco-0 { |
| pins = "out2_rmp"; |
| function = "lsco"; |
| }; |
| }; |
| |
| /* Wifi */ |
| &sdmmc2 { |
| pinctrl-names = "default", "opendrain", "sleep"; |
| pinctrl-0 = <&sdmmc2_b4_pins_a>; |
| pinctrl-1 = <&sdmmc2_b4_od_pins_a>; |
| pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>; |
| non-removable; |
| cap-sdio-irq; |
| st,neg-edge; |
| bus-width = <4>; |
| vmmc-supply = <&scmi_v3v3>; |
| mmc-pwrseq = <&wifi_pwrseq>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| |
| brcmf: wifi@1 { |
| reg = <1>; |
| compatible = "brcm,bcm4329-fmac"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&rtc_lsco_pins_a>; |
| }; |
| }; |
| |
| /* Bluetooth */ |
| &usart2 { |
| pinctrl-names = "default", "sleep", "idle"; |
| pinctrl-0 = <&usart2_pins_c>; |
| pinctrl-1 = <&usart2_sleep_pins_c>; |
| pinctrl-2 = <&usart2_idle_pins_c>; |
| uart-has-rtscts; |
| status = "okay"; |
| |
| bluetooth { |
| shutdown-gpios = <&gpioz 6 GPIO_ACTIVE_HIGH>; |
| compatible = "brcm,bcm43438-bt"; |
| max-speed = <3000000>; |
| vbat-supply = <&scmi_v3v3>; |
| vddio-supply = <&scmi_v3v3>; |
| }; |
| }; |
| |
| /* Since I2C4 is disabled, STUSB1600 is also disabled so there is no Type-C support */ |
| &usbotg_hs { |
| dr_mode = "peripheral"; |
| role-switch-default-mode = "peripheral"; |
| /* |
| * Forcing dr_mode = "peripheral"/"role-switch-default-mode = "peripheral"; |
| * will cause the pull-up on D+/D- to be raised as soon as the OTG is configured at runtime, |
| * regardless of the presence of VBUS. Notice that on self-powered devices like |
| * stm32mp157f-dk2, this isn't compliant with the USB standard. That's why usbotg_hs is kept |
| * disabled here. |
| */ |
| status = "disabled"; |
| }; |