xref: /linux/arch/arm64/boot/dts/st/stm32mp257f-dk.dts (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*113ff0e0SAlexandre Torgue// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
2*113ff0e0SAlexandre Torgue/*
3*113ff0e0SAlexandre Torgue * Copyright (C) STMicroelectronics 2025 - All Rights Reserved
4*113ff0e0SAlexandre Torgue * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
5*113ff0e0SAlexandre Torgue */
6*113ff0e0SAlexandre Torgue
7*113ff0e0SAlexandre Torgue/dts-v1/;
8*113ff0e0SAlexandre Torgue
9*113ff0e0SAlexandre Torgue#include <dt-bindings/gpio/gpio.h>
10*113ff0e0SAlexandre Torgue#include <dt-bindings/input/input.h>
11*113ff0e0SAlexandre Torgue#include <dt-bindings/leds/common.h>
12*113ff0e0SAlexandre Torgue#include "stm32mp257.dtsi"
13*113ff0e0SAlexandre Torgue#include "stm32mp25xf.dtsi"
14*113ff0e0SAlexandre Torgue#include "stm32mp25-pinctrl.dtsi"
15*113ff0e0SAlexandre Torgue#include "stm32mp25xxak-pinctrl.dtsi"
16*113ff0e0SAlexandre Torgue
17*113ff0e0SAlexandre Torgue/ {
18*113ff0e0SAlexandre Torgue	model = "STMicroelectronics STM32MP257F-DK Discovery Board";
19*113ff0e0SAlexandre Torgue	compatible = "st,stm32mp257f-dk", "st,stm32mp257";
20*113ff0e0SAlexandre Torgue
21*113ff0e0SAlexandre Torgue	aliases {
22*113ff0e0SAlexandre Torgue		serial0 = &usart2;
23*113ff0e0SAlexandre Torgue	};
24*113ff0e0SAlexandre Torgue
25*113ff0e0SAlexandre Torgue	chosen {
26*113ff0e0SAlexandre Torgue		stdout-path = "serial0:115200n8";
27*113ff0e0SAlexandre Torgue	};
28*113ff0e0SAlexandre Torgue
29*113ff0e0SAlexandre Torgue	gpio-keys {
30*113ff0e0SAlexandre Torgue		compatible = "gpio-keys";
31*113ff0e0SAlexandre Torgue
32*113ff0e0SAlexandre Torgue		button-user-1 {
33*113ff0e0SAlexandre Torgue			label = "User-1";
34*113ff0e0SAlexandre Torgue			linux,code = <BTN_1>;
35*113ff0e0SAlexandre Torgue			gpios = <&gpioc 5 GPIO_ACTIVE_HIGH>;
36*113ff0e0SAlexandre Torgue		};
37*113ff0e0SAlexandre Torgue
38*113ff0e0SAlexandre Torgue		button-user-2 {
39*113ff0e0SAlexandre Torgue			label = "User-2";
40*113ff0e0SAlexandre Torgue			linux,code = <BTN_2>;
41*113ff0e0SAlexandre Torgue			gpios = <&gpioc 11 GPIO_ACTIVE_HIGH>;
42*113ff0e0SAlexandre Torgue		};
43*113ff0e0SAlexandre Torgue	};
44*113ff0e0SAlexandre Torgue
45*113ff0e0SAlexandre Torgue	gpio-leds {
46*113ff0e0SAlexandre Torgue		compatible = "gpio-leds";
47*113ff0e0SAlexandre Torgue
48*113ff0e0SAlexandre Torgue		led-blue {
49*113ff0e0SAlexandre Torgue			function = LED_FUNCTION_HEARTBEAT;
50*113ff0e0SAlexandre Torgue			color = <LED_COLOR_ID_BLUE>;
51*113ff0e0SAlexandre Torgue			gpios = <&gpioh 7 GPIO_ACTIVE_HIGH>;
52*113ff0e0SAlexandre Torgue			linux,default-trigger = "heartbeat";
53*113ff0e0SAlexandre Torgue			default-state = "off";
54*113ff0e0SAlexandre Torgue		};
55*113ff0e0SAlexandre Torgue	};
56*113ff0e0SAlexandre Torgue
57*113ff0e0SAlexandre Torgue	memory@80000000 {
58*113ff0e0SAlexandre Torgue		device_type = "memory";
59*113ff0e0SAlexandre Torgue		reg = <0x0 0x80000000 0x1 0x0>;
60*113ff0e0SAlexandre Torgue	};
61*113ff0e0SAlexandre Torgue
62*113ff0e0SAlexandre Torgue	reserved-memory {
63*113ff0e0SAlexandre Torgue		#address-cells = <2>;
64*113ff0e0SAlexandre Torgue		#size-cells = <2>;
65*113ff0e0SAlexandre Torgue		ranges;
66*113ff0e0SAlexandre Torgue
67*113ff0e0SAlexandre Torgue		fw@80000000 {
68*113ff0e0SAlexandre Torgue			compatible = "shared-dma-pool";
69*113ff0e0SAlexandre Torgue			reg = <0x0 0x80000000 0x0 0x4000000>;
70*113ff0e0SAlexandre Torgue			no-map;
71*113ff0e0SAlexandre Torgue		};
72*113ff0e0SAlexandre Torgue	};
73*113ff0e0SAlexandre Torgue};
74*113ff0e0SAlexandre Torgue
75*113ff0e0SAlexandre Torgue&arm_wdt {
76*113ff0e0SAlexandre Torgue	timeout-sec = <32>;
77*113ff0e0SAlexandre Torgue	status = "okay";
78*113ff0e0SAlexandre Torgue};
79*113ff0e0SAlexandre Torgue
80*113ff0e0SAlexandre Torgue&scmi_regu {
81*113ff0e0SAlexandre Torgue	scmi_vddio1: regulator@0 {
82*113ff0e0SAlexandre Torgue		regulator-min-microvolt = <1800000>;
83*113ff0e0SAlexandre Torgue		regulator-max-microvolt = <3300000>;
84*113ff0e0SAlexandre Torgue	};
85*113ff0e0SAlexandre Torgue	scmi_vdd_sdcard: regulator@23 {
86*113ff0e0SAlexandre Torgue		reg = <VOLTD_SCMI_STPMIC2_LDO7>;
87*113ff0e0SAlexandre Torgue		regulator-name = "vdd_sdcard";
88*113ff0e0SAlexandre Torgue	};
89*113ff0e0SAlexandre Torgue};
90*113ff0e0SAlexandre Torgue
91*113ff0e0SAlexandre Torgue&sdmmc1 {
92*113ff0e0SAlexandre Torgue	pinctrl-names = "default", "opendrain", "sleep";
93*113ff0e0SAlexandre Torgue	pinctrl-0 = <&sdmmc1_b4_pins_a>;
94*113ff0e0SAlexandre Torgue	pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
95*113ff0e0SAlexandre Torgue	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
96*113ff0e0SAlexandre Torgue	cd-gpios = <&gpiod 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
97*113ff0e0SAlexandre Torgue	disable-wp;
98*113ff0e0SAlexandre Torgue	st,neg-edge;
99*113ff0e0SAlexandre Torgue	bus-width = <4>;
100*113ff0e0SAlexandre Torgue	vmmc-supply = <&scmi_vdd_sdcard>;
101*113ff0e0SAlexandre Torgue	vqmmc-supply = <&scmi_vddio1>;
102*113ff0e0SAlexandre Torgue	status = "okay";
103*113ff0e0SAlexandre Torgue};
104*113ff0e0SAlexandre Torgue
105*113ff0e0SAlexandre Torgue&usart2 {
106*113ff0e0SAlexandre Torgue	pinctrl-names = "default", "idle", "sleep";
107*113ff0e0SAlexandre Torgue	pinctrl-0 = <&usart2_pins_a>;
108*113ff0e0SAlexandre Torgue	pinctrl-1 = <&usart2_idle_pins_a>;
109*113ff0e0SAlexandre Torgue	pinctrl-2 = <&usart2_sleep_pins_a>;
110*113ff0e0SAlexandre Torgue	/delete-property/dmas;
111*113ff0e0SAlexandre Torgue	/delete-property/dma-names;
112*113ff0e0SAlexandre Torgue	status = "okay";
113*113ff0e0SAlexandre Torgue};
114