blob: c5afa0c1620fb0d31e533310ad6e7854841c34e5 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Patrice Chotardc7ea4b02018-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 Chotardc7ea4b02018-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 Delaunaye07a86b2019-11-06 16:16:32 +010023 device_type = "memory";
Patrice Chotardc7ea4b02018-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
Patrick Delaunay62d620c2019-11-06 16:16:33 +010043 vdda: regulator-vdda {
44 compatible = "regulator-fixed";
45 regulator-name = "vdda";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
48 };
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010049
Patrick Delaunay62d620c2019-11-06 16:16:33 +010050 vref: regulator-vref {
51 compatible = "regulator-fixed";
52 regulator-name = "vref";
53 regulator-min-microvolt = <3300000>;
54 regulator-max-microvolt = <3300000>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010055 };
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 Delaunaye07a86b2019-11-06 16:16:32 +010076 #address-cells = <1>;
Patrice Chotardc7ea4b02018-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>;
Patrick Delaunay62d620c2019-11-06 16:16:33 +0100119 vdda-supply = <&vdda>;
120 vref-supply = <&vref>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100121 status = "okay";
122 adc3: adc@200 {
123 st,adc-channels = <8>;
124 status = "okay";
125 };
126};
127
128&clk_hse {
129 clock-frequency = <25000000>;
130};
131
132&crc {
133 status = "okay";
134};
135
136&dcmi {
137 status = "okay";
138
139 port {
140 dcmi_0: endpoint {
141 remote-endpoint = <&ov2640_0>;
142 bus-width = <8>;
143 hsync-active = <0>;
144 vsync-active = <0>;
145 pclk-sample = <1>;
146 };
147 };
148};
149
150&i2c1 {
151 pinctrl-0 = <&i2c1_pins>;
152 pinctrl-names = "default";
153 status = "okay";
154
155 ov2640: camera@30 {
156 compatible = "ovti,ov2640";
157 reg = <0x30>;
158 resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
159 pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
160 clocks = <&clk_ext_camera>;
161 clock-names = "xvclk";
162 status = "okay";
163
164 port {
165 ov2640_0: endpoint {
166 remote-endpoint = <&dcmi_0>;
167 };
168 };
169 };
170
171 stmpe1600: stmpe1600@42 {
172 compatible = "st,stmpe1600";
173 reg = <0x42>;
174 interrupts = <8 3>;
175 interrupt-parent = <&gpioi>;
176 interrupt-controller;
177 wakeup-source;
178
179 stmpegpio: stmpe_gpio {
180 compatible = "st,stmpe-gpio";
181 gpio-controller;
182 #gpio-cells = <2>;
183 };
184 };
185};
186
187&iwdg {
188 status = "okay";
189 timeout-sec = <32>;
190};
191
192&ltdc {
193 status = "okay";
194 pinctrl-0 = <&ltdc_pins>;
195 pinctrl-names = "default";
196 dma-ranges;
197
198 port {
199 ltdc_out_rgb: endpoint {
200 remote-endpoint = <&panel_in_rgb>;
201 };
202 };
203};
204
205&mac {
206 status = "okay";
207 pinctrl-0 = <&ethernet_mii>;
208 pinctrl-names = "default";
209 phy-mode = "mii";
210 phy-handle = <&phy1>;
211 mdio0 {
212 #address-cells = <1>;
213 #size-cells = <0>;
214 compatible = "snps,dwmac-mdio";
215 phy1: ethernet-phy@1 {
216 reg = <1>;
217 };
218 };
219};
220
221&rtc {
222 status = "okay";
223};
224
225&sdio {
226 status = "okay";
227 vmmc-supply = <&mmc_vcard>;
Patrice Chotard11c1b552018-07-25 17:49:10 +0200228 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100229 pinctrl-names = "default", "opendrain";
230 pinctrl-0 = <&sdio_pins>;
231 pinctrl-1 = <&sdio_pins_od>;
232 bus-width = <4>;
Patrick Delaunaye07a86b2019-11-06 16:16:32 +0100233 max-frequency = <12500000>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100234};
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};