blob: c16594b7e43371182c1bd40187806ae0b841f736 [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 {
23 reg = <0x00000000 0x2000000>;
24 };
25
26 aliases {
27 serial0 = &usart1;
28 };
29
30 clocks {
31 clk_ext_camera: clk-ext-camera {
32 #clock-cells = <0>;
33 compatible = "fixed-clock";
34 clock-frequency = <24000000>;
35 };
36 };
37
38 soc {
39 dma-ranges = <0xc0000000 0x0 0x10000000>;
40 };
41
42 regulators {
43 compatible = "simple-bus";
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 reg_vref: regulator@0 {
48 compatible = "regulator-fixed";
49 reg = <0>;
50 regulator-name = "vref";
51 regulator-min-microvolt = <3300000>;
52 regulator-max-microvolt = <3300000>;
53 };
54 };
55
56 leds {
57 compatible = "gpio-leds";
58 green {
59 gpios = <&gpiog 6 1>;
60 linux,default-trigger = "heartbeat";
61 };
62 orange {
63 gpios = <&gpiog 7 1>;
64 };
65 red {
66 gpios = <&gpiog 10 1>;
67 };
68 blue {
69 gpios = <&gpiog 12 1>;
70 };
71 };
72
73 gpio_keys {
74 compatible = "gpio-keys";
75 #address-cells = <1>;
76 #size-cells = <0>;
77 autorepeat;
78 button@0 {
79 label = "Wake up";
80 linux,code = <KEY_WAKEUP>;
81 gpios = <&gpioa 0 0>;
82 };
83 button@1 {
84 label = "Tamper";
85 linux,code = <KEY_RESTART>;
86 gpios = <&gpioc 13 0>;
87 };
88 };
89
90 usbotg_hs_phy: usbphy {
91 #phy-cells = <0>;
92 compatible = "usb-nop-xceiv";
93 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
94 clock-names = "main_clk";
95 };
96
97 panel_rgb: panel-rgb {
98 compatible = "ampire,am-480272h3tmqw-t01h";
99 status = "okay";
100 port {
101 panel_in_rgb: endpoint {
102 remote-endpoint = <&ltdc_out_rgb>;
103 };
104 };
105 };
106
107 mmc_vcard: mmc_vcard {
108 compatible = "regulator-fixed";
109 regulator-name = "mmc_vcard";
110 regulator-min-microvolt = <3300000>;
111 regulator-max-microvolt = <3300000>;
112 };
113};
114
115&adc {
116 pinctrl-names = "default";
117 pinctrl-0 = <&adc3_in8_pin>;
118 vref-supply = <&reg_vref>;
119 status = "okay";
120 adc3: adc@200 {
121 st,adc-channels = <8>;
122 status = "okay";
123 };
124};
125
126&clk_hse {
127 clock-frequency = <25000000>;
128};
129
130&crc {
131 status = "okay";
132};
133
134&dcmi {
135 status = "okay";
136
137 port {
138 dcmi_0: endpoint {
139 remote-endpoint = <&ov2640_0>;
140 bus-width = <8>;
141 hsync-active = <0>;
142 vsync-active = <0>;
143 pclk-sample = <1>;
144 };
145 };
146};
147
148&i2c1 {
149 pinctrl-0 = <&i2c1_pins>;
150 pinctrl-names = "default";
151 status = "okay";
152
153 ov2640: camera@30 {
154 compatible = "ovti,ov2640";
155 reg = <0x30>;
156 resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
157 pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
158 clocks = <&clk_ext_camera>;
159 clock-names = "xvclk";
160 status = "okay";
161
162 port {
163 ov2640_0: endpoint {
164 remote-endpoint = <&dcmi_0>;
165 };
166 };
167 };
168
169 stmpe1600: stmpe1600@42 {
170 compatible = "st,stmpe1600";
171 reg = <0x42>;
172 interrupts = <8 3>;
173 interrupt-parent = <&gpioi>;
174 interrupt-controller;
175 wakeup-source;
176
177 stmpegpio: stmpe_gpio {
178 compatible = "st,stmpe-gpio";
179 gpio-controller;
180 #gpio-cells = <2>;
181 };
182 };
183};
184
185&iwdg {
186 status = "okay";
187 timeout-sec = <32>;
188};
189
190&ltdc {
191 status = "okay";
192 pinctrl-0 = <&ltdc_pins>;
193 pinctrl-names = "default";
194 dma-ranges;
195
196 port {
197 ltdc_out_rgb: endpoint {
198 remote-endpoint = <&panel_in_rgb>;
199 };
200 };
201};
202
203&mac {
204 status = "okay";
205 pinctrl-0 = <&ethernet_mii>;
206 pinctrl-names = "default";
207 phy-mode = "mii";
208 phy-handle = <&phy1>;
209 mdio0 {
210 #address-cells = <1>;
211 #size-cells = <0>;
212 compatible = "snps,dwmac-mdio";
213 phy1: ethernet-phy@1 {
214 reg = <1>;
215 };
216 };
217};
218
219&rtc {
220 status = "okay";
221};
222
223&sdio {
224 status = "okay";
225 vmmc-supply = <&mmc_vcard>;
226 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_HIGH>;
227 cd-inverted;
228 pinctrl-names = "default", "opendrain";
229 pinctrl-0 = <&sdio_pins>;
230 pinctrl-1 = <&sdio_pins_od>;
231 bus-width = <4>;
Patrice Chotarddd1e3e72018-02-08 17:25:19 +0100232 max-frequency = <14000000>;
Patrice Chotardc7ea4b02018-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};