blob: bd41ae3c142b2421c2c5e21cd38d1af09dae2ca7 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Patrice Chotard328125e2018-01-18 13:39:33 +01002/*
3 * Copyright (C) 2015, STMicroelectronics - All Rights Reserved
4 * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com> for STMicroelectronics.
Patrice Chotard328125e2018-01-18 13:39:33 +01005 */
6
7/dts-v1/;
8#include "stm32f429.dtsi"
9#include "stm32f429-pinctrl.dtsi"
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/gpio/gpio.h>
12
13/ {
14 model = "STMicroelectronics STM32429i-EVAL board";
15 compatible = "st,stm32429i-eval", "st,stm32f429";
16
17 chosen {
18 bootargs = "root=/dev/ram";
19 stdout-path = "serial0:115200n8";
20 };
21
22 memory {
Patrick Delaunayc5c90692019-11-06 16:16:32 +010023 device_type = "memory";
Patrice Chotard328125e2018-01-18 13:39:33 +010024 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";
Patrick Delaunayc5c90692019-11-06 16:16:32 +010076 #address-cells = <1>;
Patrice Chotard328125e2018-01-18 13:39:33 +010077 #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>;
Patrice Chotard9e739022018-07-25 17:49:10 +0200227 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
Patrice Chotard328125e2018-01-18 13:39:33 +0100228 pinctrl-names = "default", "opendrain";
229 pinctrl-0 = <&sdio_pins>;
230 pinctrl-1 = <&sdio_pins_od>;
231 bus-width = <4>;
Patrick Delaunayc5c90692019-11-06 16:16:32 +0100232 max-frequency = <12500000>;
Patrice Chotard328125e2018-01-18 13:39:33 +0100233};
234
235&timers1 {
236 status = "okay";
237
238 pwm {
239 pinctrl-0 = <&pwm1_pins>;
240 pinctrl-names = "default";
241 status = "okay";
242 };
243
244 timer@0 {
245 status = "okay";
246 };
247};
248
249&timers3 {
250 status = "okay";
251
252 pwm {
253 pinctrl-0 = <&pwm3_pins>;
254 pinctrl-names = "default";
255 status = "okay";
256 };
257
258 timer@2 {
259 status = "okay";
260 };
261};
262
263&usart1 {
264 pinctrl-0 = <&usart1_pins_a>;
265 pinctrl-names = "default";
266 status = "okay";
267};
268
269&usbotg_hs {
270 dr_mode = "host";
271 phys = <&usbotg_hs_phy>;
272 phy-names = "usb2-phy";
273 pinctrl-0 = <&usbotg_hs_pins_a>;
274 pinctrl-names = "default";
275 status = "okay";
276};