1// SPDX-License-Identifier: GPL-2.0+ OR X11 2/* 3 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com> 4 * 5 */ 6 7/dts-v1/; 8#include "stm32f746.dtsi" 9#include "stm32f746-pinctrl.dtsi" 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12 13/ { 14 model = "STMicroelectronics STM32746g-EVAL board"; 15 compatible = "st,stm32746g-eval", "st,stm32f746"; 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 0x2000000>; 25 }; 26 27 aliases { 28 serial0 = &usart1; 29 }; 30 31 leds { 32 compatible = "gpio-leds"; 33 led-green { 34 gpios = <&gpiof 10 1>; 35 linux,default-trigger = "heartbeat"; 36 }; 37 led-orange { 38 gpios = <&stmfx_pinctrl 17 1>; 39 }; 40 led-red { 41 gpios = <&gpiob 7 1>; 42 }; 43 led-blue { 44 gpios = <&stmfx_pinctrl 19 1>; 45 }; 46 }; 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 60 joystick { 61 compatible = "gpio-keys"; 62 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 96 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 }; 109}; 110 111&clk_hse { 112 clock-frequency = <25000000>; 113}; 114 115&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"; 125 126 stmfx: stmfx@42 { 127 compatible = "st,stmfx-0300"; 128 reg = <0x42>; 129 interrupts = <8 IRQ_TYPE_EDGE_RISING>; 130 interrupt-parent = <&gpioi>; 131 132 stmfx_pinctrl: pinctrl { 133 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 }; 147}; 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>; 161}; 162 163&usart1 { 164 pinctrl-0 = <&usart1_pins_a>; 165 pinctrl-names = "default"; 166 status = "okay"; 167}; 168 169&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"; 175 status = "okay"; 176}; 177