1// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * Copyright 2017 - Vikas MANOCHA <vikas.manocha@st.com>
4 *
5 */
6
7/dts-v1/;
8#include "stm32f746.dtsi"
9#include "stm32f769-pinctrl.dtsi"
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/gpio/gpio.h>
12
13/ {
14	model = "STMicroelectronics STM32F769-DISCO board";
15	compatible = "st,stm32f769-disco", "st,stm32f769";
16
17	chosen {
18		bootargs = "root=/dev/ram";
19		stdout-path = "serial0:115200n8";
20	};
21
22	memory@c0000000 {
23		device_type = "memory";
24		reg = <0xC0000000 0x1000000>;
25	};
26
27	aliases {
28		serial0 = &usart1;
29	};
30
31	leds {
32		compatible = "gpio-leds";
33		led-green {
34			gpios = <&gpioj 5 GPIO_ACTIVE_HIGH>;
35			linux,default-trigger = "heartbeat";
36		};
37		led-red {
38			gpios = <&gpioj 13 GPIO_ACTIVE_HIGH>;
39		};
40	};
41
42	gpio_keys {
43		compatible = "gpio-keys";
44		#address-cells = <1>;
45		#size-cells = <0>;
46		autorepeat;
47		button@0 {
48			label = "User";
49			linux,code = <KEY_HOME>;
50			gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
51		};
52	};
53
54	usbotg_hs_phy: usb-phy {
55		#phy-cells = <0>;
56		compatible = "usb-nop-xceiv";
57		clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>;
58		clock-names = "main_clk";
59	};
60
61	mmc_vcard: mmc_vcard {
62		compatible = "regulator-fixed";
63		regulator-name = "mmc_vcard";
64		regulator-min-microvolt = <3300000>;
65		regulator-max-microvolt = <3300000>;
66	};
67};
68
69&rcc {
70	compatible = "st,stm32f769-rcc", "st,stm32f746-rcc", "st,stm32-rcc";
71};
72
73&cec {
74	pinctrl-0 = <&cec_pins_a>;
75	pinctrl-names = "default";
76	status = "okay";
77};
78
79&clk_hse {
80	clock-frequency = <25000000>;
81};
82
83&i2c1 {
84	pinctrl-0 = <&i2c1_pins_b>;
85	pinctrl-names = "default";
86	i2c-scl-rising-time-ns = <185>;
87	i2c-scl-falling-time-ns = <20>;
88	status = "okay";
89};
90
91&rtc {
92	status = "okay";
93};
94
95&sdio2 {
96	status = "okay";
97	vmmc-supply = <&mmc_vcard>;
98	cd-gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
99	broken-cd;
100	pinctrl-names = "default", "opendrain";
101	pinctrl-0 = <&sdio_pins_b>;
102	pinctrl-1 = <&sdio_pins_od_b>;
103	bus-width = <4>;
104};
105
106&usart1 {
107	pinctrl-0 = <&usart1_pins_a>;
108	pinctrl-names = "default";
109	status = "okay";
110};
111
112&usbotg_hs {
113	dr_mode = "otg";
114	phys = <&usbotg_hs_phy>;
115	phy-names = "usb2-phy";
116	pinctrl-0 = <&usbotg_hs_pins_a>;
117	pinctrl-names = "default";
118	status = "okay";
119};
120