xref: /openbmc/u-boot/arch/arm/dts/stm32429i-eval.dts (revision 2deaf5cc63b228d30771894da6b4a6e3f3749483)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2c7ea4b0eSPatrice Chotard/*
3c7ea4b0eSPatrice Chotard * Copyright (C) 2015, STMicroelectronics - All Rights Reserved
4c7ea4b0eSPatrice Chotard * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com> for STMicroelectronics.
5c7ea4b0eSPatrice Chotard */
6c7ea4b0eSPatrice Chotard
7c7ea4b0eSPatrice Chotard/dts-v1/;
8c7ea4b0eSPatrice Chotard#include "stm32f429.dtsi"
9c7ea4b0eSPatrice Chotard#include "stm32f429-pinctrl.dtsi"
10c7ea4b0eSPatrice Chotard#include <dt-bindings/input/input.h>
11c7ea4b0eSPatrice Chotard#include <dt-bindings/gpio/gpio.h>
12c7ea4b0eSPatrice Chotard
13c7ea4b0eSPatrice Chotard/ {
14c7ea4b0eSPatrice Chotard	model = "STMicroelectronics STM32429i-EVAL board";
15c7ea4b0eSPatrice Chotard	compatible = "st,stm32429i-eval", "st,stm32f429";
16c7ea4b0eSPatrice Chotard
17c7ea4b0eSPatrice Chotard	chosen {
18c7ea4b0eSPatrice Chotard		bootargs = "root=/dev/ram";
19c7ea4b0eSPatrice Chotard		stdout-path = "serial0:115200n8";
20c7ea4b0eSPatrice Chotard	};
21c7ea4b0eSPatrice Chotard
22c7ea4b0eSPatrice Chotard	memory {
23c7ea4b0eSPatrice Chotard		reg = <0x00000000 0x2000000>;
24c7ea4b0eSPatrice Chotard	};
25c7ea4b0eSPatrice Chotard
26c7ea4b0eSPatrice Chotard	aliases {
27c7ea4b0eSPatrice Chotard		serial0 = &usart1;
28c7ea4b0eSPatrice Chotard	};
29c7ea4b0eSPatrice Chotard
30c7ea4b0eSPatrice Chotard	clocks {
31c7ea4b0eSPatrice Chotard		clk_ext_camera: clk-ext-camera {
32c7ea4b0eSPatrice Chotard			#clock-cells = <0>;
33c7ea4b0eSPatrice Chotard			compatible = "fixed-clock";
34c7ea4b0eSPatrice Chotard			clock-frequency = <24000000>;
35c7ea4b0eSPatrice Chotard		};
36c7ea4b0eSPatrice Chotard	};
37c7ea4b0eSPatrice Chotard
38c7ea4b0eSPatrice Chotard	soc {
39c7ea4b0eSPatrice Chotard		dma-ranges = <0xc0000000 0x0 0x10000000>;
40c7ea4b0eSPatrice Chotard	};
41c7ea4b0eSPatrice Chotard
42c7ea4b0eSPatrice Chotard	regulators {
43c7ea4b0eSPatrice Chotard		compatible = "simple-bus";
44c7ea4b0eSPatrice Chotard		#address-cells = <1>;
45c7ea4b0eSPatrice Chotard		#size-cells = <0>;
46c7ea4b0eSPatrice Chotard
47c7ea4b0eSPatrice Chotard		reg_vref: regulator@0 {
48c7ea4b0eSPatrice Chotard			compatible = "regulator-fixed";
49c7ea4b0eSPatrice Chotard			reg = <0>;
50c7ea4b0eSPatrice Chotard			regulator-name = "vref";
51c7ea4b0eSPatrice Chotard			regulator-min-microvolt = <3300000>;
52c7ea4b0eSPatrice Chotard			regulator-max-microvolt = <3300000>;
53c7ea4b0eSPatrice Chotard		};
54c7ea4b0eSPatrice Chotard	};
55c7ea4b0eSPatrice Chotard
56c7ea4b0eSPatrice Chotard	leds {
57c7ea4b0eSPatrice Chotard		compatible = "gpio-leds";
58c7ea4b0eSPatrice Chotard		green {
59c7ea4b0eSPatrice Chotard			gpios = <&gpiog 6 1>;
60c7ea4b0eSPatrice Chotard			linux,default-trigger = "heartbeat";
61c7ea4b0eSPatrice Chotard		};
62c7ea4b0eSPatrice Chotard		orange {
63c7ea4b0eSPatrice Chotard			gpios = <&gpiog 7 1>;
64c7ea4b0eSPatrice Chotard		};
65c7ea4b0eSPatrice Chotard		red {
66c7ea4b0eSPatrice Chotard			gpios = <&gpiog 10 1>;
67c7ea4b0eSPatrice Chotard		};
68c7ea4b0eSPatrice Chotard		blue {
69c7ea4b0eSPatrice Chotard			gpios = <&gpiog 12 1>;
70c7ea4b0eSPatrice Chotard		};
71c7ea4b0eSPatrice Chotard	};
72c7ea4b0eSPatrice Chotard
73c7ea4b0eSPatrice Chotard	gpio_keys {
74c7ea4b0eSPatrice Chotard		compatible = "gpio-keys";
75c7ea4b0eSPatrice Chotard		#size-cells = <0>;
76c7ea4b0eSPatrice Chotard		autorepeat;
77c7ea4b0eSPatrice Chotard		button@0 {
78c7ea4b0eSPatrice Chotard			label = "Wake up";
79c7ea4b0eSPatrice Chotard			linux,code = <KEY_WAKEUP>;
80c7ea4b0eSPatrice Chotard			gpios = <&gpioa 0 0>;
81c7ea4b0eSPatrice Chotard		};
82c7ea4b0eSPatrice Chotard		button@1 {
83c7ea4b0eSPatrice Chotard			label = "Tamper";
84c7ea4b0eSPatrice Chotard			linux,code = <KEY_RESTART>;
85c7ea4b0eSPatrice Chotard			gpios = <&gpioc 13 0>;
86c7ea4b0eSPatrice Chotard		};
87c7ea4b0eSPatrice Chotard	};
88c7ea4b0eSPatrice Chotard
89c7ea4b0eSPatrice Chotard	usbotg_hs_phy: usbphy {
90c7ea4b0eSPatrice Chotard		#phy-cells = <0>;
91c7ea4b0eSPatrice Chotard		compatible = "usb-nop-xceiv";
92c7ea4b0eSPatrice Chotard		clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
93c7ea4b0eSPatrice Chotard		clock-names = "main_clk";
94c7ea4b0eSPatrice Chotard	};
95c7ea4b0eSPatrice Chotard
96c7ea4b0eSPatrice Chotard	panel_rgb: panel-rgb {
97c7ea4b0eSPatrice Chotard		compatible = "ampire,am-480272h3tmqw-t01h";
98c7ea4b0eSPatrice Chotard		status = "okay";
99c7ea4b0eSPatrice Chotard		port {
100c7ea4b0eSPatrice Chotard			panel_in_rgb: endpoint {
101c7ea4b0eSPatrice Chotard				remote-endpoint = <&ltdc_out_rgb>;
102c7ea4b0eSPatrice Chotard			};
103c7ea4b0eSPatrice Chotard		};
104c7ea4b0eSPatrice Chotard	};
105c7ea4b0eSPatrice Chotard
106c7ea4b0eSPatrice Chotard	mmc_vcard: mmc_vcard {
107c7ea4b0eSPatrice Chotard		compatible = "regulator-fixed";
108c7ea4b0eSPatrice Chotard		regulator-name = "mmc_vcard";
109c7ea4b0eSPatrice Chotard		regulator-min-microvolt = <3300000>;
110c7ea4b0eSPatrice Chotard		regulator-max-microvolt = <3300000>;
111c7ea4b0eSPatrice Chotard	};
112c7ea4b0eSPatrice Chotard};
113c7ea4b0eSPatrice Chotard
114c7ea4b0eSPatrice Chotard&adc {
115c7ea4b0eSPatrice Chotard	pinctrl-names = "default";
116c7ea4b0eSPatrice Chotard	pinctrl-0 = <&adc3_in8_pin>;
117c7ea4b0eSPatrice Chotard	vref-supply = <&reg_vref>;
118c7ea4b0eSPatrice Chotard	status = "okay";
119c7ea4b0eSPatrice Chotard	adc3: adc@200 {
120c7ea4b0eSPatrice Chotard		st,adc-channels = <8>;
121c7ea4b0eSPatrice Chotard		status = "okay";
122c7ea4b0eSPatrice Chotard	};
123c7ea4b0eSPatrice Chotard};
124c7ea4b0eSPatrice Chotard
125c7ea4b0eSPatrice Chotard&clk_hse {
126c7ea4b0eSPatrice Chotard	clock-frequency = <25000000>;
127c7ea4b0eSPatrice Chotard};
128c7ea4b0eSPatrice Chotard
129c7ea4b0eSPatrice Chotard&crc {
130c7ea4b0eSPatrice Chotard	status = "okay";
131c7ea4b0eSPatrice Chotard};
132c7ea4b0eSPatrice Chotard
133c7ea4b0eSPatrice Chotard&dcmi {
134c7ea4b0eSPatrice Chotard	status = "okay";
135c7ea4b0eSPatrice Chotard
136c7ea4b0eSPatrice Chotard	port {
137c7ea4b0eSPatrice Chotard		dcmi_0: endpoint {
138c7ea4b0eSPatrice Chotard			remote-endpoint = <&ov2640_0>;
139c7ea4b0eSPatrice Chotard			bus-width = <8>;
140c7ea4b0eSPatrice Chotard			hsync-active = <0>;
141c7ea4b0eSPatrice Chotard			vsync-active = <0>;
142c7ea4b0eSPatrice Chotard			pclk-sample = <1>;
143c7ea4b0eSPatrice Chotard		};
144c7ea4b0eSPatrice Chotard	};
145c7ea4b0eSPatrice Chotard};
146c7ea4b0eSPatrice Chotard
147c7ea4b0eSPatrice Chotard&i2c1 {
148c7ea4b0eSPatrice Chotard	pinctrl-0 = <&i2c1_pins>;
149c7ea4b0eSPatrice Chotard	pinctrl-names = "default";
150c7ea4b0eSPatrice Chotard	status = "okay";
151c7ea4b0eSPatrice Chotard
152c7ea4b0eSPatrice Chotard	ov2640: camera@30 {
153c7ea4b0eSPatrice Chotard		compatible = "ovti,ov2640";
154c7ea4b0eSPatrice Chotard		reg = <0x30>;
155c7ea4b0eSPatrice Chotard		resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>;
156c7ea4b0eSPatrice Chotard		pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>;
157c7ea4b0eSPatrice Chotard		clocks = <&clk_ext_camera>;
158c7ea4b0eSPatrice Chotard		clock-names = "xvclk";
159c7ea4b0eSPatrice Chotard		status = "okay";
160c7ea4b0eSPatrice Chotard
161c7ea4b0eSPatrice Chotard		port {
162c7ea4b0eSPatrice Chotard			ov2640_0: endpoint {
163c7ea4b0eSPatrice Chotard				remote-endpoint = <&dcmi_0>;
164c7ea4b0eSPatrice Chotard			};
165c7ea4b0eSPatrice Chotard		};
166c7ea4b0eSPatrice Chotard	};
167c7ea4b0eSPatrice Chotard
168c7ea4b0eSPatrice Chotard	stmpe1600: stmpe1600@42 {
169c7ea4b0eSPatrice Chotard		compatible = "st,stmpe1600";
170c7ea4b0eSPatrice Chotard		reg = <0x42>;
171c7ea4b0eSPatrice Chotard		interrupts = <8 3>;
172c7ea4b0eSPatrice Chotard		interrupt-parent = <&gpioi>;
173c7ea4b0eSPatrice Chotard		interrupt-controller;
174c7ea4b0eSPatrice Chotard		wakeup-source;
175c7ea4b0eSPatrice Chotard
176c7ea4b0eSPatrice Chotard		stmpegpio: stmpe_gpio {
177c7ea4b0eSPatrice Chotard			compatible = "st,stmpe-gpio";
178c7ea4b0eSPatrice Chotard			gpio-controller;
179c7ea4b0eSPatrice Chotard			#gpio-cells = <2>;
180c7ea4b0eSPatrice Chotard		};
181c7ea4b0eSPatrice Chotard	};
182c7ea4b0eSPatrice Chotard};
183c7ea4b0eSPatrice Chotard
184c7ea4b0eSPatrice Chotard&iwdg {
185c7ea4b0eSPatrice Chotard	status = "okay";
186c7ea4b0eSPatrice Chotard	timeout-sec = <32>;
187c7ea4b0eSPatrice Chotard};
188c7ea4b0eSPatrice Chotard
189c7ea4b0eSPatrice Chotard&ltdc {
190c7ea4b0eSPatrice Chotard	status = "okay";
191c7ea4b0eSPatrice Chotard	pinctrl-0 = <&ltdc_pins>;
192c7ea4b0eSPatrice Chotard	pinctrl-names = "default";
193c7ea4b0eSPatrice Chotard	dma-ranges;
194c7ea4b0eSPatrice Chotard
195c7ea4b0eSPatrice Chotard	port {
196c7ea4b0eSPatrice Chotard		ltdc_out_rgb: endpoint {
197c7ea4b0eSPatrice Chotard			remote-endpoint = <&panel_in_rgb>;
198c7ea4b0eSPatrice Chotard		};
199c7ea4b0eSPatrice Chotard	};
200c7ea4b0eSPatrice Chotard};
201c7ea4b0eSPatrice Chotard
202c7ea4b0eSPatrice Chotard&mac {
203c7ea4b0eSPatrice Chotard	status = "okay";
204c7ea4b0eSPatrice Chotard	pinctrl-0	= <&ethernet_mii>;
205c7ea4b0eSPatrice Chotard	pinctrl-names	= "default";
206c7ea4b0eSPatrice Chotard	phy-mode	= "mii";
207c7ea4b0eSPatrice Chotard	phy-handle	= <&phy1>;
208c7ea4b0eSPatrice Chotard	mdio0 {
209c7ea4b0eSPatrice Chotard		#address-cells = <1>;
210c7ea4b0eSPatrice Chotard		#size-cells = <0>;
211c7ea4b0eSPatrice Chotard		compatible = "snps,dwmac-mdio";
212c7ea4b0eSPatrice Chotard		phy1: ethernet-phy@1 {
213c7ea4b0eSPatrice Chotard			reg = <1>;
214c7ea4b0eSPatrice Chotard		};
215c7ea4b0eSPatrice Chotard	};
216c7ea4b0eSPatrice Chotard};
217c7ea4b0eSPatrice Chotard
218c7ea4b0eSPatrice Chotard&rtc {
219c7ea4b0eSPatrice Chotard	status = "okay";
220c7ea4b0eSPatrice Chotard};
221c7ea4b0eSPatrice Chotard
222c7ea4b0eSPatrice Chotard&sdio {
223c7ea4b0eSPatrice Chotard	status = "okay";
224c7ea4b0eSPatrice Chotard	vmmc-supply = <&mmc_vcard>;
225*11c1b558SPatrice Chotard	cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
226c7ea4b0eSPatrice Chotard	pinctrl-names = "default", "opendrain";
227c7ea4b0eSPatrice Chotard	pinctrl-0 = <&sdio_pins>;
228c7ea4b0eSPatrice Chotard	pinctrl-1 = <&sdio_pins_od>;
229c7ea4b0eSPatrice Chotard	bus-width = <4>;
230dd1e3e79SPatrice Chotard	max-frequency = <14000000>;
231c7ea4b0eSPatrice Chotard};
232c7ea4b0eSPatrice Chotard
233c7ea4b0eSPatrice Chotard&timers1 {
234c7ea4b0eSPatrice Chotard	status = "okay";
235c7ea4b0eSPatrice Chotard
236c7ea4b0eSPatrice Chotard	pwm {
237c7ea4b0eSPatrice Chotard		pinctrl-0 = <&pwm1_pins>;
238c7ea4b0eSPatrice Chotard		pinctrl-names = "default";
239c7ea4b0eSPatrice Chotard		status = "okay";
240c7ea4b0eSPatrice Chotard	};
241c7ea4b0eSPatrice Chotard
242c7ea4b0eSPatrice Chotard	timer@0 {
243c7ea4b0eSPatrice Chotard		status = "okay";
244c7ea4b0eSPatrice Chotard	};
245c7ea4b0eSPatrice Chotard};
246c7ea4b0eSPatrice Chotard
247c7ea4b0eSPatrice Chotard&timers3 {
248c7ea4b0eSPatrice Chotard	status = "okay";
249c7ea4b0eSPatrice Chotard
250c7ea4b0eSPatrice Chotard	pwm {
251c7ea4b0eSPatrice Chotard		pinctrl-0 = <&pwm3_pins>;
252c7ea4b0eSPatrice Chotard		pinctrl-names = "default";
253c7ea4b0eSPatrice Chotard		status = "okay";
254c7ea4b0eSPatrice Chotard	};
255c7ea4b0eSPatrice Chotard
256c7ea4b0eSPatrice Chotard	timer@2 {
257c7ea4b0eSPatrice Chotard		status = "okay";
258c7ea4b0eSPatrice Chotard	};
259c7ea4b0eSPatrice Chotard};
260c7ea4b0eSPatrice Chotard
261c7ea4b0eSPatrice Chotard&usart1 {
262c7ea4b0eSPatrice Chotard	pinctrl-0 = <&usart1_pins_a>;
263c7ea4b0eSPatrice Chotard	pinctrl-names = "default";
264c7ea4b0eSPatrice Chotard	status = "okay";
265c7ea4b0eSPatrice Chotard};
266c7ea4b0eSPatrice Chotard
267c7ea4b0eSPatrice Chotard&usbotg_hs {
268c7ea4b0eSPatrice Chotard	dr_mode = "host";
269c7ea4b0eSPatrice Chotard	phys = <&usbotg_hs_phy>;
270c7ea4b0eSPatrice Chotard	phy-names = "usb2-phy";
271c7ea4b0eSPatrice Chotard	pinctrl-0 = <&usbotg_hs_pins_a>;
272c7ea4b0eSPatrice Chotard	pinctrl-names = "default";
273c7ea4b0eSPatrice Chotard	status = "okay";
274c7ea4b0eSPatrice Chotard};
275