blob: 592b182c1aa550c02093558335bcb81632376319 [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
Patrice Chotard61c88ac2020-11-06 08:11:58 +010022 memory@00000000 {
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
Patrice Chotard61c88ac2020-11-06 08:11:58 +010057 vdd_panel: vdd-panel {
58 compatible = "regulator-fixed";
59 regulator-name = "vdd_panel";
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62 };
63
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010064 leds {
65 compatible = "gpio-leds";
Patrice Chotard61c88ac2020-11-06 08:11:58 +010066 led-green {
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010067 gpios = <&gpiog 6 1>;
68 linux,default-trigger = "heartbeat";
69 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010070 led-orange {
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010071 gpios = <&gpiog 7 1>;
72 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010073 led-red {
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010074 gpios = <&gpiog 10 1>;
75 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010076 led-blue {
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010077 gpios = <&gpiog 12 1>;
78 };
79 };
80
81 gpio_keys {
82 compatible = "gpio-keys";
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010083 #address-cells = <1>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +010084 #size-cells = <0>;
85 autorepeat;
86 button@0 {
87 label = "Wake up";
88 linux,code = <KEY_WAKEUP>;
89 gpios = <&gpioa 0 0>;
90 };
91 button@1 {
92 label = "Tamper";
93 linux,code = <KEY_RESTART>;
94 gpios = <&gpioc 13 0>;
95 };
96 };
97
98 usbotg_hs_phy: usbphy {
99 #phy-cells = <0>;
100 compatible = "usb-nop-xceiv";
101 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
102 clock-names = "main_clk";
103 };
104
105 panel_rgb: panel-rgb {
106 compatible = "ampire,am-480272h3tmqw-t01h";
Patrice Chotard61c88ac2020-11-06 08:11:58 +0100107 power-supply = <&vdd_panel>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100108 status = "okay";
109 port {
110 panel_in_rgb: endpoint {
111 remote-endpoint = <&ltdc_out_rgb>;
112 };
113 };
114 };
115
116 mmc_vcard: mmc_vcard {
117 compatible = "regulator-fixed";
118 regulator-name = "mmc_vcard";
119 regulator-min-microvolt = <3300000>;
120 regulator-max-microvolt = <3300000>;
121 };
122};
123
124&adc {
125 pinctrl-names = "default";
126 pinctrl-0 = <&adc3_in8_pin>;
Patrick Delaunay62d620c2019-11-06 16:16:33 +0100127 vdda-supply = <&vdda>;
128 vref-supply = <&vref>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100129 status = "okay";
130 adc3: adc@200 {
131 st,adc-channels = <8>;
132 status = "okay";
133 };
134};
135
136&clk_hse {
137 clock-frequency = <25000000>;
138};
139
140&crc {
141 status = "okay";
142};
143
144&dcmi {
145 status = "okay";
146
147 port {
148 dcmi_0: endpoint {
149 remote-endpoint = <&ov2640_0>;
150 bus-width = <8>;
151 hsync-active = <0>;
152 vsync-active = <0>;
153 pclk-sample = <1>;
154 };
155 };
156};
157
158&i2c1 {
159 pinctrl-0 = <&i2c1_pins>;
160 pinctrl-names = "default";
161 status = "okay";
162
163 ov2640: camera@30 {
164 compatible = "ovti,ov2640";
165 reg = <0x30>;
166 resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
167 pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
168 clocks = <&clk_ext_camera>;
169 clock-names = "xvclk";
170 status = "okay";
171
172 port {
173 ov2640_0: endpoint {
174 remote-endpoint = <&dcmi_0>;
175 };
176 };
177 };
178
179 stmpe1600: stmpe1600@42 {
180 compatible = "st,stmpe1600";
181 reg = <0x42>;
182 interrupts = <8 3>;
183 interrupt-parent = <&gpioi>;
184 interrupt-controller;
185 wakeup-source;
186
187 stmpegpio: stmpe_gpio {
188 compatible = "st,stmpe-gpio";
189 gpio-controller;
190 #gpio-cells = <2>;
191 };
192 };
193};
194
195&iwdg {
196 status = "okay";
197 timeout-sec = <32>;
198};
199
200&ltdc {
201 status = "okay";
Patrice Chotard61c88ac2020-11-06 08:11:58 +0100202 pinctrl-0 = <&ltdc_pins_a>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100203 pinctrl-names = "default";
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100204
205 port {
206 ltdc_out_rgb: endpoint {
207 remote-endpoint = <&panel_in_rgb>;
208 };
209 };
210};
211
212&mac {
213 status = "okay";
214 pinctrl-0 = <&ethernet_mii>;
215 pinctrl-names = "default";
216 phy-mode = "mii";
217 phy-handle = <&phy1>;
218 mdio0 {
219 #address-cells = <1>;
220 #size-cells = <0>;
221 compatible = "snps,dwmac-mdio";
222 phy1: ethernet-phy@1 {
223 reg = <1>;
224 };
225 };
226};
227
228&rtc {
229 status = "okay";
230};
231
232&sdio {
233 status = "okay";
234 vmmc-supply = <&mmc_vcard>;
Patrice Chotard11c1b552018-07-25 17:49:10 +0200235 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100236 pinctrl-names = "default", "opendrain";
237 pinctrl-0 = <&sdio_pins>;
238 pinctrl-1 = <&sdio_pins_od>;
239 bus-width = <4>;
Patrick Delaunaye07a86b2019-11-06 16:16:32 +0100240 max-frequency = <12500000>;
Patrice Chotardc7ea4b02018-01-18 13:39:33 +0100241};
242
243&timers1 {
244 status = "okay";
245
246 pwm {
247 pinctrl-0 = <&pwm1_pins>;
248 pinctrl-names = "default";
249 status = "okay";
250 };
251
252 timer@0 {
253 status = "okay";
254 };
255};
256
257&timers3 {
258 status = "okay";
259
260 pwm {
261 pinctrl-0 = <&pwm3_pins>;
262 pinctrl-names = "default";
263 status = "okay";
264 };
265
266 timer@2 {
267 status = "okay";
268 };
269};
270
271&usart1 {
272 pinctrl-0 = <&usart1_pins_a>;
273 pinctrl-names = "default";
274 status = "okay";
275};
276
277&usbotg_hs {
278 dr_mode = "host";
279 phys = <&usbotg_hs_phy>;
280 phy-names = "usb2-phy";
281 pinctrl-0 = <&usbotg_hs_pins_a>;
282 pinctrl-names = "default";
283 status = "okay";
284};