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 = <<dc_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<dc { 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