blob: 23d87ee27a1ae622a1076b701a03c7ed6518a7d5 [file] [log] [blame]
Patrick Delaunaye07a86b2019-11-06 16:16:32 +01001// SPDX-License-Identifier: GPL-2.0+ OR X11
Patrice Chotard003b4c12017-12-12 09:49:42 +01002/*
3 * Copyright 2016 - Lee Jones <lee.jones@linaro.org>
4 *
Patrice Chotard003b4c12017-12-12 09:49:42 +01005 */
6
7/dts-v1/;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +01008#include "stm32f469.dtsi"
Patrice Chotard003b4c12017-12-12 09:49:42 +01009#include "stm32f469-pinctrl.dtsi"
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010010#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
Patrice Chotard003b4c12017-12-12 09:49:42 +010012
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
Patrice Chotard61c88ac2020-11-06 08:11:58 +010022 memory@00000000 {
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010023 device_type = "memory";
Patrice Chotard003b4c12017-12-12 09:49:42 +010024 reg = <0x00000000 0x1000000>;
25 };
26
27 aliases {
28 serial0 = &usart3;
29 };
30
Patrice Chotard45be0882017-12-12 09:49:45 +010031 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
Patrice Chotard61c88ac2020-11-06 08:11:58 +010038 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
Patrice Chotard003b4c12017-12-12 09:49:42 +010045 soc {
46 dma-ranges = <0xc0000000 0x0 0x10000000>;
47 };
48
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010049 leds {
50 compatible = "gpio-leds";
Patrice Chotard61c88ac2020-11-06 08:11:58 +010051 led-green {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010052 gpios = <&gpiog 6 GPIO_ACTIVE_LOW>;
53 linux,default-trigger = "heartbeat";
54 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010055 led-orange {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010056 gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
57 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010058 led-red {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010059 gpios = <&gpiod 5 GPIO_ACTIVE_LOW>;
60 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010061 led-blue {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010062 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
Patrice Chotard003b4c12017-12-12 09:49:42 +010078 /* This turns on vbus for otg for host mode (dwc2) */
79 vcc5v_otg: vcc5v-otg-regulator {
80 compatible = "regulator-fixed";
81 enable-active-high;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010082 gpio = <&gpiob 2 GPIO_ACTIVE_HIGH>;
Patrice Chotard003b4c12017-12-12 09:49:42 +010083 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
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010096&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>;
Patrice Chotard61c88ac2020-11-06 08:11:58 +0100124 power-supply = <&vdd_dsi>;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100125 status = "okay";
126
127 port {
128 dsi_panel_in: endpoint {
129 remote-endpoint = <&dsi_out>;
130 };
131 };
132 };
133};
134
135&ltdc {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100136 status = "okay";
137
138 port {
139 ltdc_out_dsi: endpoint@0 {
140 remote-endpoint = <&dsi_in>;
141 };
142 };
143};
144
Patrice Chotard003b4c12017-12-12 09:49:42 +0100145&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
Patrice Chotard45be0882017-12-12 09:49:45 +0100177&sdio {
178 status = "okay";
179 vmmc-supply = <&mmc_vcard>;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100180 cd-gpios = <&gpiog 2 GPIO_ACTIVE_LOW>;
181 broken-cd;
Patrice Chotard45be0882017-12-12 09:49:45 +0100182 pinctrl-names = "default", "opendrain";
183 pinctrl-0 = <&sdio_pins>;
184 pinctrl-1 = <&sdio_pins_od>;
185 bus-width = <4>;
186};
187
Patrice Chotard003b4c12017-12-12 09:49:42 +0100188&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};