blob: 1eec95118891da31f0bcd2fa8a9020da9278c9d7 [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 {
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";
Patrice Chotard328125e2018-01-18 13:39:33 +010075 #size-cells = <0>;
76 autorepeat;
77 button@0 {
78 label = "Wake up";
79 linux,code = <KEY_WAKEUP>;
80 gpios = <&gpioa 0 0>;
81 };
82 button@1 {
83 label = "Tamper";
84 linux,code = <KEY_RESTART>;
85 gpios = <&gpioc 13 0>;
86 };
87 };
88
89 usbotg_hs_phy: usbphy {
90 #phy-cells = <0>;
91 compatible = "usb-nop-xceiv";
92 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
93 clock-names = "main_clk";
94 };
95
96 panel_rgb: panel-rgb {
97 compatible = "ampire,am-480272h3tmqw-t01h";
98 status = "okay";
99 port {
100 panel_in_rgb: endpoint {
101 remote-endpoint = <&ltdc_out_rgb>;
102 };
103 };
104 };
105
106 mmc_vcard: mmc_vcard {
107 compatible = "regulator-fixed";
108 regulator-name = "mmc_vcard";
109 regulator-min-microvolt = <3300000>;
110 regulator-max-microvolt = <3300000>;
111 };
112};
113
114&adc {
115 pinctrl-names = "default";
116 pinctrl-0 = <&adc3_in8_pin>;
117 vref-supply = <&reg_vref>;
118 status = "okay";
119 adc3: adc@200 {
120 st,adc-channels = <8>;
121 status = "okay";
122 };
123};
124
125&clk_hse {
126 clock-frequency = <25000000>;
127};
128
129&crc {
130 status = "okay";
131};
132
133&dcmi {
134 status = "okay";
135
136 port {
137 dcmi_0: endpoint {
138 remote-endpoint = <&ov2640_0>;
139 bus-width = <8>;
140 hsync-active = <0>;
141 vsync-active = <0>;
142 pclk-sample = <1>;
143 };
144 };
145};
146
147&i2c1 {
148 pinctrl-0 = <&i2c1_pins>;
149 pinctrl-names = "default";
150 status = "okay";
151
152 ov2640: camera@30 {
153 compatible = "ovti,ov2640";
154 reg = <0x30>;
155 resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
156 pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
157 clocks = <&clk_ext_camera>;
158 clock-names = "xvclk";
159 status = "okay";
160
161 port {
162 ov2640_0: endpoint {
163 remote-endpoint = <&dcmi_0>;
164 };
165 };
166 };
167
168 stmpe1600: stmpe1600@42 {
169 compatible = "st,stmpe1600";
170 reg = <0x42>;
171 interrupts = <8 3>;
172 interrupt-parent = <&gpioi>;
173 interrupt-controller;
174 wakeup-source;
175
176 stmpegpio: stmpe_gpio {
177 compatible = "st,stmpe-gpio";
178 gpio-controller;
179 #gpio-cells = <2>;
180 };
181 };
182};
183
184&iwdg {
185 status = "okay";
186 timeout-sec = <32>;
187};
188
189&ltdc {
190 status = "okay";
191 pinctrl-0 = <&ltdc_pins>;
192 pinctrl-names = "default";
193 dma-ranges;
194
195 port {
196 ltdc_out_rgb: endpoint {
197 remote-endpoint = <&panel_in_rgb>;
198 };
199 };
200};
201
202&mac {
203 status = "okay";
204 pinctrl-0 = <&ethernet_mii>;
205 pinctrl-names = "default";
206 phy-mode = "mii";
207 phy-handle = <&phy1>;
208 mdio0 {
209 #address-cells = <1>;
210 #size-cells = <0>;
211 compatible = "snps,dwmac-mdio";
212 phy1: ethernet-phy@1 {
213 reg = <1>;
214 };
215 };
216};
217
218&rtc {
219 status = "okay";
220};
221
222&sdio {
223 status = "okay";
224 vmmc-supply = <&mmc_vcard>;
Patrice Chotard9e739022018-07-25 17:49:10 +0200225 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
Patrice Chotard328125e2018-01-18 13:39:33 +0100226 pinctrl-names = "default", "opendrain";
227 pinctrl-0 = <&sdio_pins>;
228 pinctrl-1 = <&sdio_pins_od>;
229 bus-width = <4>;
Patrice Chotard90f903b2018-02-08 17:25:19 +0100230 max-frequency = <14000000>;
Patrice Chotard328125e2018-01-18 13:39:33 +0100231};
232
233&timers1 {
234 status = "okay";
235
236 pwm {
237 pinctrl-0 = <&pwm1_pins>;
238 pinctrl-names = "default";
239 status = "okay";
240 };
241
242 timer@0 {
243 status = "okay";
244 };
245};
246
247&timers3 {
248 status = "okay";
249
250 pwm {
251 pinctrl-0 = <&pwm3_pins>;
252 pinctrl-names = "default";
253 status = "okay";
254 };
255
256 timer@2 {
257 status = "okay";
258 };
259};
260
261&usart1 {
262 pinctrl-0 = <&usart1_pins_a>;
263 pinctrl-names = "default";
264 status = "okay";
265};
266
267&usbotg_hs {
268 dr_mode = "host";
269 phys = <&usbotg_hs_phy>;
270 phy-names = "usb2-phy";
271 pinctrl-0 = <&usbotg_hs_pins_a>;
272 pinctrl-names = "default";
273 status = "okay";
274};