Merge tag 'u-boot-atmel-fixes-2021.01-b' of https://gitlab.denx.de/u-boot/custodians...
[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@00000000 {
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         vdd_dsi: vdd-dsi {
39                 compatible = "regulator-fixed";
40                 regulator-name = "vdd_dsi";
41                 regulator-min-microvolt = <3300000>;
42                 regulator-max-microvolt = <3300000>;
43         };
44
45         soc {
46                 dma-ranges = <0xc0000000 0x0 0x10000000>;
47         };
48
49         leds {
50                 compatible = "gpio-leds";
51                 led-green {
52                         gpios = <&gpiog 6 GPIO_ACTIVE_LOW>;
53                         linux,default-trigger = "heartbeat";
54                 };
55                 led-orange {
56                         gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
57                 };
58                 led-red {
59                         gpios = <&gpiod 5 GPIO_ACTIVE_LOW>;
60                 };
61                 led-blue {
62                         gpios = <&gpiok 3 GPIO_ACTIVE_LOW>;
63                 };
64         };
65
66         gpio_keys {
67                 compatible = "gpio-keys";
68                 #address-cells = <1>;
69                 #size-cells = <0>;
70                 autorepeat;
71                 button@0 {
72                         label = "User";
73                         linux,code = <KEY_WAKEUP>;
74                         gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
75                 };
76         };
77
78         /* This turns on vbus for otg for host mode (dwc2) */
79         vcc5v_otg: vcc5v-otg-regulator {
80                 compatible = "regulator-fixed";
81                 enable-active-high;
82                 gpio = <&gpiob 2 GPIO_ACTIVE_HIGH>;
83                 regulator-name = "vcc5_host1";
84                 regulator-always-on;
85         };
86 };
87
88 &rcc {
89         compatible = "st,stm32f469-rcc", "st,stm32f42xx-rcc", "st,stm32-rcc";
90 };
91
92 &clk_hse {
93         clock-frequency = <8000000>;
94 };
95
96 &dsi {
97         #address-cells = <1>;
98         #size-cells = <0>;
99         status = "okay";
100
101         ports {
102                 #address-cells = <1>;
103                 #size-cells = <0>;
104
105                 port@0 {
106                         reg = <0>;
107                         dsi_in: endpoint {
108                                 remote-endpoint = <&ltdc_out_dsi>;
109                         };
110                 };
111
112                 port@1 {
113                         reg = <1>;
114                         dsi_out: endpoint {
115                                 remote-endpoint = <&dsi_panel_in>;
116                         };
117                 };
118         };
119
120         panel-dsi@0 {
121                 compatible = "orisetech,otm8009a";
122                 reg = <0>; /* dsi virtual channel (0..3) */
123                 reset-gpios = <&gpioh 7 GPIO_ACTIVE_LOW>;
124                 power-supply = <&vdd_dsi>;
125                 status = "okay";
126
127                 port {
128                         dsi_panel_in: endpoint {
129                                 remote-endpoint = <&dsi_out>;
130                         };
131                 };
132         };
133 };
134
135 &ltdc {
136         status = "okay";
137
138         port {
139                 ltdc_out_dsi: endpoint@0 {
140                         remote-endpoint = <&dsi_in>;
141                 };
142         };
143 };
144
145 &rtc {
146         status = "okay";
147 };
148
149 &timers1 {
150         status = "okay";
151
152         pwm {
153                 pinctrl-0 = <&pwm1_pins>;
154                 pinctrl-names = "default";
155                 status = "okay";
156         };
157
158         timer@0 {
159                 status = "okay";
160         };
161 };
162
163 &timers3 {
164         status = "okay";
165
166         pwm {
167                 pinctrl-0 = <&pwm3_pins>;
168                 pinctrl-names = "default";
169                 status = "okay";
170         };
171
172         timer@2 {
173                 status = "okay";
174         };
175 };
176
177 &sdio {
178         status = "okay";
179         vmmc-supply = <&mmc_vcard>;
180         cd-gpios = <&gpiog 2 GPIO_ACTIVE_LOW>;
181         broken-cd;
182         pinctrl-names = "default", "opendrain";
183         pinctrl-0 = <&sdio_pins>;
184         pinctrl-1 = <&sdio_pins_od>;
185         bus-width = <4>;
186 };
187
188 &usart3 {
189         pinctrl-0 = <&usart3_pins_a>;
190         pinctrl-names = "default";
191         status = "okay";
192 };
193
194 &usbotg_fs {
195         dr_mode = "host";
196         pinctrl-0 = <&usbotg_fs_pins_a>;
197         pinctrl-names = "default";
198         status = "okay";
199 };