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