// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) /* * Copyright (C) STMicroelectronics 2025 - All Rights Reserved * Author: Alexandre Torgue for STMicroelectronics. */ /dts-v1/; #include #include #include #include "stm32mp257.dtsi" #include "stm32mp25xf.dtsi" #include "stm32mp25-pinctrl.dtsi" #include "stm32mp25xxak-pinctrl.dtsi" / { model = "STMicroelectronics STM32MP257F-DK Discovery Board"; compatible = "st,stm32mp257f-dk", "st,stm32mp257"; aliases { ethernet0 = ðernet1; serial0 = &usart2; }; chosen { stdout-path = "serial0:115200n8"; }; gpio-keys { compatible = "gpio-keys"; button-user-1 { label = "User-1"; linux,code = ; gpios = <&gpioc 5 GPIO_ACTIVE_HIGH>; }; button-user-2 { label = "User-2"; linux,code = ; gpios = <&gpioc 11 GPIO_ACTIVE_HIGH>; }; }; gpio-leds { compatible = "gpio-leds"; led_blue: led-blue { function = LED_FUNCTION_HEARTBEAT; color = ; gpios = <&gpioh 7 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "off"; }; led-green { color = ; gpios = <&gpioh 5 GPIO_ACTIVE_HIGH>; }; led-orange { color = ; gpios = <&gpioh 6 GPIO_ACTIVE_HIGH>; }; }; lpddr_channel: sdram-channel-0 { #address-cells = <1>; #size-cells = <0>; compatible = "jedec,lpddr4-channel"; io-width = <32>; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x1 0x0>; }; options { u-boot { compatible = "u-boot,config"; boot-led = <&led_blue>; }; }; panel_lvds: display { compatible = "edt,etml0700z9ndha", "panel-lvds"; enable-gpios = <&gpioi 4 GPIO_ACTIVE_HIGH>; backlight = <&panel_lvds_backlight>; power-supply = <&scmi_v3v3>; width-mm = <156>; height-mm = <92>; data-mapping = "vesa-24"; status = "okay"; panel-timing { clock-frequency = <54000000>; hactive = <1024>; vactive = <600>; hfront-porch = <150>; hback-porch = <150>; hsync-len = <21>; vfront-porch = <24>; vback-porch = <24>; vsync-len = <21>; }; port { lvds_panel_in: endpoint { remote-endpoint = <&lvds_out0>; }; }; }; panel_lvds_backlight: backlight { compatible = "gpio-backlight"; gpios = <&gpioi 4 GPIO_ACTIVE_HIGH>; default-on; status = "okay"; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; fw@80000000 { compatible = "shared-dma-pool"; reg = <0x0 0x80000000 0x0 0x4000000>; no-map; }; }; }; &arm_wdt { timeout-sec = <32>; status = "okay"; }; ðernet1 { pinctrl-0 = <ð1_rgmii_pins_b>; pinctrl-1 = <ð1_rgmii_sleep_pins_b>; pinctrl-names = "default", "sleep"; phy-handle = <&phy1_eth1>; phy-mode = "rgmii-id"; status = "okay"; mdio { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy1_eth1: ethernet-phy@1 { compatible = "ethernet-phy-id001c.c916"; reg = <1>; reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>; reset-assert-us = <10000>; reset-deassert-us = <80000>; }; }; }; &i2c2 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c2_pins_b>; pinctrl-1 = <&i2c2_sleep_pins_b>; i2c-scl-rising-time-ns = <108>; i2c-scl-falling-time-ns = <12>; clock-frequency = <400000>; status = "okay"; /* spare dmas for other usage */ /delete-property/dmas; /delete-property/dma-names; ili2511: ili2511@41 { compatible = "ilitek,ili251x"; reg = <0x41>; interrupt-parent = <&gpioi>; interrupts = <6 IRQ_TYPE_EDGE_FALLING>; reset-gpios = <&gpioi 0 GPIO_ACTIVE_LOW>; status = "okay"; }; }; &i2c8 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c8_pins_a>; pinctrl-1 = <&i2c8_sleep_pins_a>; i2c-scl-rising-time-ns = <185>; i2c-scl-falling-time-ns = <20>; clock-frequency = <100000>; status = "disabled"; /* spare dmas for other usage */ /delete-property/dmas; /delete-property/dma-names; }; <dc { status = "okay"; port { ltdc_ep0_out: endpoint { remote-endpoint = <&lvds_in>; }; }; }; &lvds { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; lvds_in: endpoint { remote-endpoint = <<dc_ep0_out>; }; }; port@1 { reg = <1>; lvds_out0: endpoint { remote-endpoint = <&lvds_panel_in>; }; }; }; }; &scmi_regu { scmi_vddio1: regulator@0 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; }; scmi_vddcore: regulator@11 { reg = ; regulator-name = "vddcore"; }; scmi_v1v8: regulator@14 { reg = ; regulator-name = "v1v8"; }; scmi_v3v3: regulator@16 { reg = ; regulator-name = "v3v3"; }; scmi_vdd_emmc: regulator@18 { reg = ; regulator-name = "vdd_emmc"; }; scmi_vdd3v3_usb: regulator@20 { reg = ; regulator-name = "vdd3v3_usb"; }; scmi_v5v_hdmi: regulator@21 { reg = ; regulator-name = "v5v_hdmi"; }; scmi_v5v_vconn: regulator@22 { reg = ; regulator-name = "v5v_vconn"; }; scmi_vdd_sdcard: regulator@23 { reg = ; regulator-name = "vdd_sdcard"; }; }; &sdmmc1 { pinctrl-names = "default", "opendrain", "sleep"; pinctrl-0 = <&sdmmc1_b4_pins_a>; pinctrl-1 = <&sdmmc1_b4_od_pins_a>; pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; cd-gpios = <&gpiod 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; disable-wp; st,neg-edge; bus-width = <4>; vmmc-supply = <&scmi_vdd_sdcard>; vqmmc-supply = <&scmi_vddio1>; status = "okay"; }; &usart2 { pinctrl-names = "default", "idle", "sleep"; pinctrl-0 = <&usart2_pins_a>; pinctrl-1 = <&usart2_idle_pins_a>; pinctrl-2 = <&usart2_sleep_pins_a>; /delete-property/dmas; /delete-property/dma-names; status = "okay"; };