blob: 9940cf18730e55c7319f19d8520475e722b3e6a8 [file] [log] [blame]
Patrick Delaunaye07a86b2019-11-06 16:16:32 +01001// SPDX-License-Identifier: GPL-2.0+ OR X11
Patrice Chotardd0d64512018-02-16 13:27:03 +01002/*
Patrice Chotardfe63d3c2019-02-19 16:49:05 +01003 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
Patrice Chotardd0d64512018-02-16 13:27:03 +01004 *
Patrice Chotardd0d64512018-02-16 13:27:03 +01005 */
6
7/dts-v1/;
8#include "stm32f746.dtsi"
Patrice Chotardfe63d3c2019-02-19 16:49:05 +01009#include "stm32f746-pinctrl.dtsi"
10#include <dt-bindings/input/input.h>
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010011#include <dt-bindings/interrupt-controller/irq.h>
Patrice Chotardd0d64512018-02-16 13:27:03 +010012
13/ {
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010014 model = "STMicroelectronics STM32746g-EVAL board";
15 compatible = "st,stm32746g-eval", "st,stm32f746";
Patrice Chotardd0d64512018-02-16 13:27:03 +010016
17 chosen {
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010018 bootargs = "root=/dev/ram";
Patrice Chotardd0d64512018-02-16 13:27:03 +010019 stdout-path = "serial0:115200n8";
20 };
21
Patrice Chotard61c88ac2020-11-06 08:11:58 +010022 memory@c0000000 {
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010023 device_type = "memory";
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010024 reg = <0xc0000000 0x2000000>;
Patrice Chotardd0d64512018-02-16 13:27:03 +010025 };
26
27 aliases {
28 serial0 = &usart1;
Patrice Chotardd0d64512018-02-16 13:27:03 +010029 };
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010030
31 leds {
32 compatible = "gpio-leds";
Patrice Chotard61c88ac2020-11-06 08:11:58 +010033 led-green {
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010034 gpios = <&gpiof 10 1>;
35 linux,default-trigger = "heartbeat";
36 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010037 led-orange {
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010038 gpios = <&stmfx_pinctrl 17 1>;
39 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010040 led-red {
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010041 gpios = <&gpiob 7 1>;
42 };
Patrice Chotard61c88ac2020-11-06 08:11:58 +010043 led-blue {
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010044 gpios = <&stmfx_pinctrl 19 1>;
45 };
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010046 };
47
48 gpio_keys {
49 compatible = "gpio-keys";
50 #address-cells = <1>;
51 #size-cells = <0>;
52 autorepeat;
53 button@0 {
54 label = "Wake up";
55 linux,code = <KEY_WAKEUP>;
56 gpios = <&gpioc 13 0>;
57 };
58 };
59
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010060 joystick {
61 compatible = "gpio-keys";
Patrick Delaunaye07a86b2019-11-06 16:16:32 +010062 pinctrl-0 = <&joystick_pins>;
63 pinctrl-names = "default";
64 button-0 {
65 label = "JoySel";
66 linux,code = <KEY_ENTER>;
67 interrupt-parent = <&stmfx_pinctrl>;
68 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
69 };
70 button-1 {
71 label = "JoyDown";
72 linux,code = <KEY_DOWN>;
73 interrupt-parent = <&stmfx_pinctrl>;
74 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
75 };
76 button-2 {
77 label = "JoyLeft";
78 linux,code = <KEY_LEFT>;
79 interrupt-parent = <&stmfx_pinctrl>;
80 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
81 };
82 button-3 {
83 label = "JoyRight";
84 linux,code = <KEY_RIGHT>;
85 interrupt-parent = <&stmfx_pinctrl>;
86 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
87 };
88 button-4 {
89 label = "JoyUp";
90 linux,code = <KEY_UP>;
91 interrupt-parent = <&stmfx_pinctrl>;
92 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
93 };
94 };
95
Patrice Chotardfe63d3c2019-02-19 16:49:05 +010096 usbotg_hs_phy: usb-phy {
97 #phy-cells = <0>;
98 compatible = "usb-nop-xceiv";
99 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>;
100 clock-names = "main_clk";
101 };
102
103 mmc_vcard: mmc_vcard {
104 compatible = "regulator-fixed";
105 regulator-name = "mmc_vcard";
106 regulator-min-microvolt = <3300000>;
107 regulator-max-microvolt = <3300000>;
108 };
Patrice Chotardd0d64512018-02-16 13:27:03 +0100109};
110
111&clk_hse {
112 clock-frequency = <25000000>;
113};
114
Patrice Chotardfe63d3c2019-02-19 16:49:05 +0100115&crc {
116 status = "okay";
117};
118
119&i2c1 {
120 pinctrl-0 = <&i2c1_pins_b>;
121 pinctrl-names = "default";
122 i2c-scl-rising-time-ns = <185>;
123 i2c-scl-falling-time-ns = <20>;
124 status = "okay";
Patrick Delaunaye07a86b2019-11-06 16:16:32 +0100125
126 stmfx: stmfx@42 {
127 compatible = "st,stmfx-0300";
128 reg = <0x42>;
129 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
130 interrupt-parent = <&gpioi>;
131
Patrice Chotard61c88ac2020-11-06 08:11:58 +0100132 stmfx_pinctrl: pinctrl {
Patrick Delaunaye07a86b2019-11-06 16:16:32 +0100133 compatible = "st,stmfx-0300-pinctrl";
134 gpio-controller;
135 #gpio-cells = <2>;
136 interrupt-controller;
137 #interrupt-cells = <2>;
138 gpio-ranges = <&stmfx_pinctrl 0 0 24>;
139
140 joystick_pins: joystick {
141 pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
142 drive-push-pull;
143 bias-pull-up;
144 };
145 };
146 };
Patrice Chotardfe63d3c2019-02-19 16:49:05 +0100147};
148
149&rtc {
150 status = "okay";
151};
152
153&sdio1 {
154 status = "okay";
155 vmmc-supply = <&mmc_vcard>;
156 broken-cd;
157 pinctrl-names = "default", "opendrain";
158 pinctrl-0 = <&sdio_pins_a>;
159 pinctrl-1 = <&sdio_pins_od_a>;
160 bus-width = <4>;
Patrice Chotardd0d64512018-02-16 13:27:03 +0100161};
162
163&usart1 {
164 pinctrl-0 = <&usart1_pins_a>;
165 pinctrl-names = "default";
166 status = "okay";
167};
168
Patrice Chotardfe63d3c2019-02-19 16:49:05 +0100169&usbotg_hs {
170 dr_mode = "otg";
171 phys = <&usbotg_hs_phy>;
172 phy-names = "usb2-phy";
173 pinctrl-0 = <&usbotg_hs_pins_a>;
174 pinctrl-names = "default";
Patrice Chotardd0d64512018-02-16 13:27:03 +0100175 status = "okay";
Patrice Chotardd0d64512018-02-16 13:27:03 +0100176};