• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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};
193