blob: c9acabf0f530a3f8bdb8ad7e24c9bd8bfadc83f3 [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 Chotard9f603e22022-09-23 13:20:33 +020022 memory@0 {
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
Patrice Chotard9f603e22022-09-23 13:20:33 +020066 gpio-keys {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010067 compatible = "gpio-keys";
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010068 autorepeat;
Patrice Chotard9f603e22022-09-23 13:20:33 +020069 button-0 {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010070 label = "User";
71 linux,code = <KEY_WAKEUP>;
72 gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
73 };
74 };
75
Patrice Chotard003b4c12017-12-12 09:49:42 +010076 /* This turns on vbus for otg for host mode (dwc2) */
77 vcc5v_otg: vcc5v-otg-regulator {
78 compatible = "regulator-fixed";
79 enable-active-high;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010080 gpio = <&gpiob 2 GPIO_ACTIVE_HIGH>;
Patrice Chotard003b4c12017-12-12 09:49:42 +010081 regulator-name = "vcc5_host1";
82 regulator-always-on;
83 };
84};
85
86&rcc {
87 compatible = "st,stm32f469-rcc", "st,stm32f42xx-rcc", "st,stm32-rcc";
88};
89
90&clk_hse {
91 clock-frequency = <8000000>;
92};
93
Patrice Chotard9f603e22022-09-23 13:20:33 +020094&dma2d {
95 status = "okay";
96};
97
Patrice Chotard71dfd5f2019-02-18 22:54:35 +010098&dsi {
99 #address-cells = <1>;
100 #size-cells = <0>;
101 status = "okay";
102
103 ports {
104 #address-cells = <1>;
105 #size-cells = <0>;
106
107 port@0 {
108 reg = <0>;
109 dsi_in: endpoint {
110 remote-endpoint = <&ltdc_out_dsi>;
111 };
112 };
113
114 port@1 {
115 reg = <1>;
116 dsi_out: endpoint {
117 remote-endpoint = <&dsi_panel_in>;
118 };
119 };
120 };
121
Dario Binacchi95d19002023-12-11 23:05:51 +0100122 panel@0 {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100123 compatible = "orisetech,otm8009a";
124 reg = <0>; /* dsi virtual channel (0..3) */
125 reset-gpios = <&gpioh 7 GPIO_ACTIVE_LOW>;
Patrice Chotard61c88ac2020-11-06 08:11:58 +0100126 power-supply = <&vdd_dsi>;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100127 status = "okay";
128
129 port {
130 dsi_panel_in: endpoint {
131 remote-endpoint = <&dsi_out>;
132 };
133 };
134 };
135};
136
137&ltdc {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100138 status = "okay";
139
140 port {
Dario Binacchi95d19002023-12-11 23:05:51 +0100141 ltdc_out_dsi: endpoint {
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100142 remote-endpoint = <&dsi_in>;
143 };
144 };
145};
146
Patrice Chotard003b4c12017-12-12 09:49:42 +0100147&rtc {
148 status = "okay";
149};
150
151&timers1 {
152 status = "okay";
153
154 pwm {
155 pinctrl-0 = <&pwm1_pins>;
156 pinctrl-names = "default";
157 status = "okay";
158 };
159
160 timer@0 {
161 status = "okay";
162 };
163};
164
165&timers3 {
166 status = "okay";
167
168 pwm {
169 pinctrl-0 = <&pwm3_pins>;
170 pinctrl-names = "default";
171 status = "okay";
172 };
173
174 timer@2 {
175 status = "okay";
176 };
177};
178
Patrice Chotard45be0882017-12-12 09:49:45 +0100179&sdio {
180 status = "okay";
181 vmmc-supply = <&mmc_vcard>;
Patrice Chotard71dfd5f2019-02-18 22:54:35 +0100182 cd-gpios = <&gpiog 2 GPIO_ACTIVE_LOW>;
183 broken-cd;
Patrice Chotard45be0882017-12-12 09:49:45 +0100184 pinctrl-names = "default", "opendrain";
185 pinctrl-0 = <&sdio_pins>;
186 pinctrl-1 = <&sdio_pins_od>;
187 bus-width = <4>;
188};
189
Patrice Chotard9f603e22022-09-23 13:20:33 +0200190&timers5 {
191 /* Override timer5 to act as clockevent */
192 compatible = "st,stm32-timer";
193 interrupts = <50>;
194 status = "okay";
195 /delete-property/#address-cells;
196 /delete-property/#size-cells;
197 /delete-property/clock-names;
198 /delete-node/pwm;
199 /delete-node/timer@4;
200};
201
Patrice Chotard003b4c12017-12-12 09:49:42 +0100202&usart3 {
203 pinctrl-0 = <&usart3_pins_a>;
204 pinctrl-names = "default";
205 status = "okay";
206};
207
208&usbotg_fs {
209 dr_mode = "host";
210 pinctrl-0 = <&usbotg_fs_pins_a>;
211 pinctrl-names = "default";
212 status = "okay";
213};