ARM: dts: at91: sama5d2_icp: fix i2c eeprom compatible
[platform/kernel/u-boot.git] / arch / arm / dts / stm32429i-eval.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2015, STMicroelectronics - All Rights Reserved
4  * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com> for STMicroelectronics.
5  */
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                 device_type = "memory";
24                 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
43         vdda: regulator-vdda {
44                 compatible = "regulator-fixed";
45                 regulator-name = "vdda";
46                 regulator-min-microvolt = <3300000>;
47                 regulator-max-microvolt = <3300000>;
48         };
49
50         vref: regulator-vref {
51                 compatible = "regulator-fixed";
52                 regulator-name = "vref";
53                 regulator-min-microvolt = <3300000>;
54                 regulator-max-microvolt = <3300000>;
55         };
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";
76                 #address-cells = <1>;
77                 #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>;
119         vdda-supply = <&vdda>;
120         vref-supply = <&vref>;
121         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>;
228         cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>;
229         pinctrl-names = "default", "opendrain";
230         pinctrl-0 = <&sdio_pins>;
231         pinctrl-1 = <&sdio_pins_od>;
232         bus-width = <4>;
233         max-frequency = <12500000>;
234 };
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 };