The board includes an STM32H747XI SoC with the following resources:
 - 2 Mbytes Flash
 - 1 Mbyte SRAM
 - LCD-TFT controller
 - MIPI-DSI interface
 - FD-CAN
 - USB 2.0 high-speed/full-speed
 - Ethernet MAC
 - camera interface

Detailed information can be found at:
https://www.st.com/en/evaluation-tools/stm32h747i-disco.html

Signed-off-by: Dario Binacchi <dario.binac...@amarulasolutions.com>
Link: 
https://lore.kernel.org/r/20250427074404.3278732-9-dario.binac...@amarulasolutions.com
Signed-off-by: Alexandre Torgue <alexandre.tor...@foss.st.com>

[ backport upstream commit: 49ba8fc6eab63165639ffbb9f976222d39739cab ]

---

 dts/upstream/src/arm/st/stm32h747i-disco.dts | 136 +++++++++++++++++++
 1 file changed, 136 insertions(+)
 create mode 100644 dts/upstream/src/arm/st/stm32h747i-disco.dts

diff --git a/dts/upstream/src/arm/st/stm32h747i-disco.dts 
b/dts/upstream/src/arm/st/stm32h747i-disco.dts
new file mode 100644
index 000000000000..99f0255dae8e
--- /dev/null
+++ b/dts/upstream/src/arm/st/stm32h747i-disco.dts
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2025 Amarula Solutions, Dario Binacchi 
<dario.binac...@amarulasolutions.com>
+ */
+
+/dts-v1/;
+#include "stm32h743.dtsi"
+#include "stm32h7-pinctrl.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       model = "STMicroelectronics STM32H747i-Discovery board";
+       compatible = "st,stm32h747i-disco", "st,stm32h747";
+
+       chosen {
+               bootargs = "root=/dev/ram";
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory@d0000000 {
+               device_type = "memory";
+               reg = <0xd0000000 0x2000000>;
+       };
+
+       aliases {
+               serial0 = &usart1;
+               serial1 = &uart8;
+       };
+
+       v3v3: regulator-v3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "v3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               led-green {
+                       gpios = <&gpioi 12 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "heartbeat";
+               };
+               led-orange {
+                       gpios = <&gpioi 13 GPIO_ACTIVE_LOW>;
+               };
+               led-red {
+                       gpios = <&gpioi 14 GPIO_ACTIVE_LOW>;
+               };
+               led-blue {
+                       gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               autorepeat;
+               button-0 {
+                       label = "User";
+                       linux,code = <KEY_WAKEUP>;
+                       gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>;
+               };
+               button-1 {
+                       label = "JoySel";
+                       linux,code = <KEY_ENTER>;
+                       gpios = <&gpiok 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+               };
+               button-2 {
+                       label = "JoyDown";
+                       linux,code = <KEY_DOWN>;
+                       gpios = <&gpiok 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+               };
+               button-3 {
+                       label = "JoyUp";
+                       linux,code = <KEY_UP>;
+                       gpios = <&gpiok 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+               };
+               button-4 {
+                       label = "JoyLeft";
+                       linux,code = <KEY_LEFT>;
+                       gpios = <&gpiok 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+               };
+               button-5 {
+                       label = "JoyRight";
+                       linux,code = <KEY_RIGHT>;
+                       gpios = <&gpiok 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+               };
+       };
+};
+
+&clk_hse {
+       clock-frequency = <25000000>;
+};
+
+&mac {
+       status = "disabled";
+       pinctrl-0 = <&ethernet_rmii>;
+       pinctrl-names = "default";
+       phy-mode = "rmii";
+       phy-handle = <&phy0>;
+
+       mdio0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "snps,dwmac-mdio";
+               phy0: ethernet-phy@0 {
+                       reg = <0>;
+               };
+       };
+};
+
+&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 = <&gpioi 8 GPIO_ACTIVE_LOW>;
+       broken-cd;
+       st,neg-edge;
+       bus-width = <4>;
+       vmmc-supply = <&v3v3>;
+       status = "okay";
+};
+
+&usart1 {
+       pinctrl-0 = <&usart1_pins_b>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&uart8 {
+       pinctrl-0 = <&uart8_pins_a>;
+       pinctrl-names = "default";
+       status = "okay";
+};
-- 
2.43.0

Reply via email to