1// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * Copyright 2021 - Dillon Min <dillon.minfei@gmail.com>
4 *
5 */
6
7/dts-v1/;
8#include "stm32h750.dtsi"
9#include "stm32h7-pinctrl.dtsi"
10#include <dt-bindings/interrupt-controller/irq.h>
11#include <dt-bindings/gpio/gpio.h>
12
13/ {
14	model = "RT-Thread STM32H750i-ART-PI board";
15	compatible = "st,stm32h750i-art-pi", "st,stm32h750";
16
17	chosen {
18		bootargs = "root=/dev/ram";
19		stdout-path = "serial0:2000000n8";
20	};
21
22	memory@c0000000 {
23		device_type = "memory";
24		reg = <0xc0000000 0x2000000>;
25	};
26
27	reserved-memory {
28		#address-cells = <1>;
29		#size-cells = <1>;
30		ranges;
31
32		linux,cma {
33			compatible = "shared-dma-pool";
34			no-map;
35			size = <0x100000>;
36			linux,dma-default;
37		};
38	};
39
40	aliases {
41		serial0 = &uart4;
42		serial1 = &usart3;
43	};
44
45	leds {
46		compatible = "gpio-leds";
47		led-red {
48			gpios = <&gpioi 8 0>;
49		};
50		led-green {
51			gpios = <&gpioc 15 0>;
52			linux,default-trigger = "heartbeat";
53		};
54	};
55
56	v3v3: regulator-v3v3 {
57		compatible = "regulator-fixed";
58		regulator-name = "v3v3";
59		regulator-min-microvolt = <3300000>;
60		regulator-max-microvolt = <3300000>;
61		regulator-always-on;
62	};
63
64	wlan_pwr: regulator-wlan {
65		compatible = "regulator-fixed";
66
67		regulator-name = "wl-reg";
68		regulator-min-microvolt = <3300000>;
69		regulator-max-microvolt = <3300000>;
70
71		gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>;
72		enable-active-high;
73	};
74};
75
76&clk_hse {
77	clock-frequency = <25000000>;
78};
79
80&dma1 {
81	status = "okay";
82};
83
84&dma2 {
85	status = "okay";
86};
87
88&mac {
89	status = "disabled";
90	pinctrl-0	= <&ethernet_rmii>;
91	pinctrl-names	= "default";
92	phy-mode	= "rmii";
93	phy-handle	= <&phy0>;
94
95	mdio0 {
96		#address-cells = <1>;
97		#size-cells = <0>;
98		compatible = "snps,dwmac-mdio";
99		phy0: ethernet-phy@0 {
100			reg = <0>;
101		};
102	};
103};
104
105&sdmmc1 {
106	pinctrl-names = "default", "opendrain", "sleep";
107	pinctrl-0 = <&sdmmc1_b4_pins_a>;
108	pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
109	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
110	broken-cd;
111	st,neg-edge;
112	bus-width = <4>;
113	vmmc-supply = <&v3v3>;
114	status = "okay";
115};
116
117&sdmmc2 {
118	pinctrl-names = "default", "opendrain", "sleep";
119	pinctrl-0 = <&sdmmc2_b4_pins_a>;
120	pinctrl-1 = <&sdmmc2_b4_od_pins_a>;
121	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
122	broken-cd;
123	non-removable;
124	st,neg-edge;
125	bus-width = <4>;
126	vmmc-supply = <&wlan_pwr>;
127	status = "okay";
128
129	#address-cells = <1>;
130	#size-cells = <0>;
131	brcmf: bcrmf@1 {
132		reg = <1>;
133		compatible = "brcm,bcm4329-fmac";
134	};
135};
136
137&spi1 {
138	status = "okay";
139	pinctrl-0 = <&spi1_pins>;
140	pinctrl-names = "default";
141	cs-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
142	dmas = <&dmamux1 37 0x400 0x05>,
143	       <&dmamux1 38 0x400 0x05>;
144	dma-names = "rx", "tx";
145
146	flash@0 {
147		#address-cells = <1>;
148		#size-cells = <1>;
149		compatible = "winbond,w25q128", "jedec,spi-nor";
150		reg = <0>;
151		spi-max-frequency = <80000000>;
152
153		partition@0 {
154			label = "root filesystem";
155			reg = <0 0x1000000>;
156		};
157	};
158};
159
160&usart2 {
161	pinctrl-0 = <&usart2_pins>;
162	pinctrl-names = "default";
163	status = "disabled";
164};
165
166&usart3 {
167	pinctrl-names = "default";
168	pinctrl-0 = <&usart3_pins>;
169	dmas = <&dmamux1 45 0x400 0x05>,
170	       <&dmamux1 46 0x400 0x05>;
171	dma-names = "rx", "tx";
172	st,hw-flow-ctrl;
173	status = "okay";
174
175	bluetooth {
176		compatible = "brcm,bcm43438-bt";
177		host-wakeup-gpios = <&gpioc 0 GPIO_ACTIVE_HIGH>;
178		device-wakeup-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>;
179		shutdown-gpios = <&gpioi 11 GPIO_ACTIVE_HIGH>;
180		max-speed = <115200>;
181	};
182};
183
184&uart4 {
185	pinctrl-0 = <&uart4_pins>;
186	pinctrl-names = "default";
187	status = "okay";
188};
189