]> git.sur5r.net Git - u-boot/blob - arch/arm/dts/stm32429i-eval.dts
4bf53a717d9290015f20e97d639e1f9a39ee6653
[u-boot] / arch / arm / dts / stm32429i-eval.dts
1 /*
2  * Copyright (C) 2015, STMicroelectronics - All Rights Reserved
3  * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com> for STMicroelectronics.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 /dts-v1/;
9 #include "stm32f429.dtsi"
10 #include "stm32f429-pinctrl.dtsi"
11 #include <dt-bindings/input/input.h>
12 #include <dt-bindings/gpio/gpio.h>
13
14 / {
15         model = "STMicroelectronics STM32429i-EVAL board";
16         compatible = "st,stm32429i-eval", "st,stm32f429";
17
18         chosen {
19                 bootargs = "root=/dev/ram";
20                 stdout-path = "serial0:115200n8";
21         };
22
23         memory {
24                 reg = <0x00000000 0x2000000>;
25         };
26
27         aliases {
28                 serial0 = &usart1;
29         };
30
31         clocks {
32                 clk_ext_camera: clk-ext-camera {
33                         #clock-cells = <0>;
34                         compatible = "fixed-clock";
35                         clock-frequency = <24000000>;
36                 };
37         };
38
39         soc {
40                 dma-ranges = <0xc0000000 0x0 0x10000000>;
41         };
42
43         regulators {
44                 compatible = "simple-bus";
45                 #address-cells = <1>;
46                 #size-cells = <0>;
47
48                 reg_vref: regulator@0 {
49                         compatible = "regulator-fixed";
50                         reg = <0>;
51                         regulator-name = "vref";
52                         regulator-min-microvolt = <3300000>;
53                         regulator-max-microvolt = <3300000>;
54                 };
55         };
56
57         leds {
58                 compatible = "gpio-leds";
59                 green {
60                         gpios = <&gpiog 6 1>;
61                         linux,default-trigger = "heartbeat";
62                 };
63                 orange {
64                         gpios = <&gpiog 7 1>;
65                 };
66                 red {
67                         gpios = <&gpiog 10 1>;
68                 };
69                 blue {
70                         gpios = <&gpiog 12 1>;
71                 };
72         };
73
74         gpio_keys {
75                 compatible = "gpio-keys";
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78                 autorepeat;
79                 button@0 {
80                         label = "Wake up";
81                         linux,code = <KEY_WAKEUP>;
82                         gpios = <&gpioa 0 0>;
83                 };
84                 button@1 {
85                         label = "Tamper";
86                         linux,code = <KEY_RESTART>;
87                         gpios = <&gpioc 13 0>;
88                 };
89         };
90
91         usbotg_hs_phy: usbphy {
92                 #phy-cells = <0>;
93                 compatible = "usb-nop-xceiv";
94                 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
95                 clock-names = "main_clk";
96         };
97
98         panel_rgb: panel-rgb {
99                 compatible = "ampire,am-480272h3tmqw-t01h";
100                 status = "okay";
101                 port {
102                         panel_in_rgb: endpoint {
103                                 remote-endpoint = <&ltdc_out_rgb>;
104                         };
105                 };
106         };
107
108         mmc_vcard: mmc_vcard {
109                 compatible = "regulator-fixed";
110                 regulator-name = "mmc_vcard";
111                 regulator-min-microvolt = <3300000>;
112                 regulator-max-microvolt = <3300000>;
113         };
114 };
115
116 &adc {
117         pinctrl-names = "default";
118         pinctrl-0 = <&adc3_in8_pin>;
119         vref-supply = <&reg_vref>;
120         status = "okay";
121         adc3: adc@200 {
122                 st,adc-channels = <8>;
123                 status = "okay";
124         };
125 };
126
127 &clk_hse {
128         clock-frequency = <25000000>;
129 };
130
131 &crc {
132         status = "okay";
133 };
134
135 &dcmi {
136         status = "okay";
137
138         port {
139                 dcmi_0: endpoint {
140                         remote-endpoint = <&ov2640_0>;
141                         bus-width = <8>;
142                         hsync-active = <0>;
143                         vsync-active = <0>;
144                         pclk-sample = <1>;
145                 };
146         };
147 };
148
149 &i2c1 {
150         pinctrl-0 = <&i2c1_pins>;
151         pinctrl-names = "default";
152         status = "okay";
153
154         ov2640: camera@30 {
155                 compatible = "ovti,ov2640";
156                 reg = <0x30>;
157                 resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
158                 pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
159                 clocks = <&clk_ext_camera>;
160                 clock-names = "xvclk";
161                 status = "okay";
162
163                 port {
164                         ov2640_0: endpoint {
165                                 remote-endpoint = <&dcmi_0>;
166                         };
167                 };
168         };
169
170         stmpe1600: stmpe1600@42 {
171                 compatible = "st,stmpe1600";
172                 reg = <0x42>;
173                 interrupts = <8 3>;
174                 interrupt-parent = <&gpioi>;
175                 interrupt-controller;
176                 wakeup-source;
177
178                 stmpegpio: stmpe_gpio {
179                         compatible = "st,stmpe-gpio";
180                         gpio-controller;
181                         #gpio-cells = <2>;
182                 };
183         };
184 };
185
186 &iwdg {
187         status = "okay";
188         timeout-sec = <32>;
189 };
190
191 &ltdc {
192         status = "okay";
193         pinctrl-0 = <&ltdc_pins>;
194         pinctrl-names = "default";
195         dma-ranges;
196
197         port {
198                 ltdc_out_rgb: endpoint {
199                         remote-endpoint = <&panel_in_rgb>;
200                 };
201         };
202 };
203
204 &mac {
205         status = "okay";
206         pinctrl-0       = <&ethernet_mii>;
207         pinctrl-names   = "default";
208         phy-mode        = "mii";
209         phy-handle      = <&phy1>;
210         mdio0 {
211                 #address-cells = <1>;
212                 #size-cells = <0>;
213                 compatible = "snps,dwmac-mdio";
214                 phy1: ethernet-phy@1 {
215                         reg = <1>;
216                 };
217         };
218 };
219
220 &rtc {
221         status = "okay";
222 };
223
224 &sdio {
225         status = "okay";
226         vmmc-supply = <&mmc_vcard>;
227         cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_HIGH>;
228         cd-inverted;
229         pinctrl-names = "default", "opendrain";
230         pinctrl-0 = <&sdio_pins>;
231         pinctrl-1 = <&sdio_pins_od>;
232         bus-width = <4>;
233         max-frequency = <14000000>;
234 };
235
236 &timers1 {
237         status = "okay";
238
239         pwm {
240                 pinctrl-0 = <&pwm1_pins>;
241                 pinctrl-names = "default";
242                 status = "okay";
243         };
244
245         timer@0 {
246                 status = "okay";
247         };
248 };
249
250 &timers3 {
251         status = "okay";
252
253         pwm {
254                 pinctrl-0 = <&pwm3_pins>;
255                 pinctrl-names = "default";
256                 status = "okay";
257         };
258
259         timer@2 {
260                 status = "okay";
261         };
262 };
263
264 &usart1 {
265         pinctrl-0 = <&usart1_pins_a>;
266         pinctrl-names = "default";
267         status = "okay";
268 };
269
270 &usbotg_hs {
271         dr_mode = "host";
272         phys = <&usbotg_hs_phy>;
273         phy-names = "usb2-phy";
274         pinctrl-0 = <&usbotg_hs_pins_a>;
275         pinctrl-names = "default";
276         status = "okay";
277 };