ARM: dts: synquacer: Add device trees for DeveloperBox
[platform/kernel/u-boot.git] / arch / arm / dts / stm32h750i-art-pi.dts
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 };