xref: /linux/arch/arm/boot/dts/st/stm32h747i-disco.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
4 */
5
6/dts-v1/;
7#include "stm32h743.dtsi"
8#include "stm32h7-pinctrl.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11
12/ {
13	model = "STMicroelectronics STM32H747i-Discovery board";
14	compatible = "st,stm32h747i-disco", "st,stm32h747";
15
16	chosen {
17		bootargs = "root=/dev/ram";
18		stdout-path = "serial0:115200n8";
19	};
20
21	memory@d0000000 {
22		device_type = "memory";
23		reg = <0xd0000000 0x2000000>;
24	};
25
26	aliases {
27		serial0 = &usart1;
28		serial1 = &uart8;
29	};
30
31	v3v3: regulator-v3v3 {
32		compatible = "regulator-fixed";
33		regulator-name = "v3v3";
34		regulator-min-microvolt = <3300000>;
35		regulator-max-microvolt = <3300000>;
36		regulator-always-on;
37	};
38
39	leds {
40		compatible = "gpio-leds";
41		led-green {
42			gpios = <&gpioi 12 GPIO_ACTIVE_LOW>;
43			linux,default-trigger = "heartbeat";
44		};
45		led-orange {
46			gpios = <&gpioi 13 GPIO_ACTIVE_LOW>;
47		};
48		led-red {
49			gpios = <&gpioi 14 GPIO_ACTIVE_LOW>;
50		};
51		led-blue {
52			gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
53		};
54	};
55
56	gpio-keys {
57		compatible = "gpio-keys";
58		autorepeat;
59		button-0 {
60			label = "User";
61			linux,code = <KEY_WAKEUP>;
62			gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>;
63		};
64		button-1 {
65			label = "JoySel";
66			linux,code = <KEY_ENTER>;
67			gpios = <&gpiok 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
68		};
69		button-2 {
70			label = "JoyDown";
71			linux,code = <KEY_DOWN>;
72			gpios = <&gpiok 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
73		};
74		button-3 {
75			label = "JoyUp";
76			linux,code = <KEY_UP>;
77			gpios = <&gpiok 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
78		};
79		button-4 {
80			label = "JoyLeft";
81			linux,code = <KEY_LEFT>;
82			gpios = <&gpiok 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
83		};
84		button-5 {
85			label = "JoyRight";
86			linux,code = <KEY_RIGHT>;
87			gpios = <&gpiok 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
88		};
89	};
90};
91
92&clk_hse {
93	clock-frequency = <25000000>;
94};
95
96&mac {
97	status = "disabled";
98	pinctrl-0 = <&ethernet_rmii>;
99	pinctrl-names = "default";
100	phy-mode = "rmii";
101	phy-handle = <&phy0>;
102
103	mdio0 {
104		#address-cells = <1>;
105		#size-cells = <0>;
106		compatible = "snps,dwmac-mdio";
107		phy0: ethernet-phy@0 {
108			reg = <0>;
109		};
110	};
111};
112
113&sdmmc1 {
114	pinctrl-names = "default", "opendrain", "sleep";
115	pinctrl-0 = <&sdmmc1_b4_pins_a>;
116	pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
117	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
118	cd-gpios = <&gpioi 8 GPIO_ACTIVE_LOW>;
119	broken-cd;
120	st,neg-edge;
121	bus-width = <4>;
122	vmmc-supply = <&v3v3>;
123	status = "okay";
124};
125
126&usart1 {
127	pinctrl-0 = <&usart1_pins_b>;
128	pinctrl-names = "default";
129	status = "okay";
130};
131
132&uart8 {
133	pinctrl-0 = <&uart8_pins_a>;
134	pinctrl-names = "default";
135	status = "okay";
136};
137