Merge tag 'u-boot-imx-20200825' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[platform/kernel/u-boot.git] / arch / arm / dts / stm32f469-disco.dts
1 // SPDX-License-Identifier: GPL-2.0+ OR X11
2 /*
3  * Copyright 2016 - Lee Jones <lee.jones@linaro.org>
4  *
5  */
6
7 /dts-v1/;
8 #include "stm32f469.dtsi"
9 #include "stm32f469-pinctrl.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12
13 / {
14         model = "STMicroelectronics STM32F469i-DISCO board";
15         compatible = "st,stm32f469i-disco", "st,stm32f469";
16
17         chosen {
18                 bootargs = "root=/dev/ram";
19                 stdout-path = "serial0:115200n8";
20         };
21
22         memory {
23                 device_type = "memory";
24                 reg = <0x00000000 0x1000000>;
25         };
26
27         aliases {
28                 serial0 = &usart3;
29         };
30
31         mmc_vcard: mmc_vcard {
32                 compatible = "regulator-fixed";
33                 regulator-name = "mmc_vcard";
34                 regulator-min-microvolt = <3300000>;
35                 regulator-max-microvolt = <3300000>;
36         };
37
38         soc {
39                 dma-ranges = <0xc0000000 0x0 0x10000000>;
40         };
41
42         leds {
43                 compatible = "gpio-leds";
44                 green {
45                         gpios = <&gpiog 6 GPIO_ACTIVE_LOW>;
46                         linux,default-trigger = "heartbeat";
47                 };
48                 orange {
49                         gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
50                 };
51                 red {
52                         gpios = <&gpiod 5 GPIO_ACTIVE_LOW>;
53                 };
54                 blue {
55                         gpios = <&gpiok 3 GPIO_ACTIVE_LOW>;
56                 };
57         };
58
59         gpio_keys {
60                 compatible = "gpio-keys";
61                 #address-cells = <1>;
62                 #size-cells = <0>;
63                 autorepeat;
64                 button@0 {
65                         label = "User";
66                         linux,code = <KEY_WAKEUP>;
67                         gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
68                 };
69         };
70
71         /* This turns on vbus for otg for host mode (dwc2) */
72         vcc5v_otg: vcc5v-otg-regulator {
73                 compatible = "regulator-fixed";
74                 enable-active-high;
75                 gpio = <&gpiob 2 GPIO_ACTIVE_HIGH>;
76                 regulator-name = "vcc5_host1";
77                 regulator-always-on;
78         };
79 };
80
81 &rcc {
82         compatible = "st,stm32f469-rcc", "st,stm32f42xx-rcc", "st,stm32-rcc";
83 };
84
85 &clk_hse {
86         clock-frequency = <8000000>;
87 };
88
89 &dsi {
90         #address-cells = <1>;
91         #size-cells = <0>;
92         status = "okay";
93
94         ports {
95                 #address-cells = <1>;
96                 #size-cells = <0>;
97
98                 port@0 {
99                         reg = <0>;
100                         dsi_in: endpoint {
101                                 remote-endpoint = <&ltdc_out_dsi>;
102                         };
103                 };
104
105                 port@1 {
106                         reg = <1>;
107                         dsi_out: endpoint {
108                                 remote-endpoint = <&dsi_panel_in>;
109                         };
110                 };
111         };
112
113         panel-dsi@0 {
114                 compatible = "orisetech,otm8009a";
115                 reg = <0>; /* dsi virtual channel (0..3) */
116                 reset-gpios = <&gpioh 7 GPIO_ACTIVE_LOW>;
117                 status = "okay";
118
119                 port {
120                         dsi_panel_in: endpoint {
121                                 remote-endpoint = <&dsi_out>;
122                         };
123                 };
124         };
125 };
126
127 &ltdc {
128         dma-ranges;
129         status = "okay";
130
131         port {
132                 ltdc_out_dsi: endpoint@0 {
133                         remote-endpoint = <&dsi_in>;
134                 };
135         };
136 };
137
138 &rtc {
139         status = "okay";
140 };
141
142 &timers1 {
143         status = "okay";
144
145         pwm {
146                 pinctrl-0 = <&pwm1_pins>;
147                 pinctrl-names = "default";
148                 status = "okay";
149         };
150
151         timer@0 {
152                 status = "okay";
153         };
154 };
155
156 &timers3 {
157         status = "okay";
158
159         pwm {
160                 pinctrl-0 = <&pwm3_pins>;
161                 pinctrl-names = "default";
162                 status = "okay";
163         };
164
165         timer@2 {
166                 status = "okay";
167         };
168 };
169
170 &sdio {
171         status = "okay";
172         vmmc-supply = <&mmc_vcard>;
173         cd-gpios = <&gpiog 2 GPIO_ACTIVE_LOW>;
174         broken-cd;
175         pinctrl-names = "default", "opendrain";
176         pinctrl-0 = <&sdio_pins>;
177         pinctrl-1 = <&sdio_pins_od>;
178         bus-width = <4>;
179 };
180
181 &usart3 {
182         pinctrl-0 = <&usart3_pins_a>;
183         pinctrl-names = "default";
184         status = "okay";
185 };
186
187 &usbotg_fs {
188         dr_mode = "host";
189         pinctrl-0 = <&usbotg_fs_pins_a>;
190         pinctrl-names = "default";
191         status = "okay";
192 };