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@00000000 { 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 vdd_dsi: vdd-dsi { 39 compatible = "regulator-fixed"; 40 regulator-name = "vdd_dsi"; 41 regulator-min-microvolt = <3300000>; 42 regulator-max-microvolt = <3300000>; 43 }; 44 45 soc { 46 dma-ranges = <0xc0000000 0x0 0x10000000>; 47 }; 48 49 leds { 50 compatible = "gpio-leds"; 51 led-green { 52 gpios = <&gpiog 6 GPIO_ACTIVE_LOW>; 53 linux,default-trigger = "heartbeat"; 54 }; 55 led-orange { 56 gpios = <&gpiod 4 GPIO_ACTIVE_LOW>; 57 }; 58 led-red { 59 gpios = <&gpiod 5 GPIO_ACTIVE_LOW>; 60 }; 61 led-blue { 62 gpios = <&gpiok 3 GPIO_ACTIVE_LOW>; 63 }; 64 }; 65 66 gpio_keys { 67 compatible = "gpio-keys"; 68 #address-cells = <1>; 69 #size-cells = <0>; 70 autorepeat; 71 button@0 { 72 label = "User"; 73 linux,code = <KEY_WAKEUP>; 74 gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>; 75 }; 76 }; 77 78 /* This turns on vbus for otg for host mode (dwc2) */ 79 vcc5v_otg: vcc5v-otg-regulator { 80 compatible = "regulator-fixed"; 81 enable-active-high; 82 gpio = <&gpiob 2 GPIO_ACTIVE_HIGH>; 83 regulator-name = "vcc5_host1"; 84 regulator-always-on; 85 }; 86}; 87 88&rcc { 89 compatible = "st,stm32f469-rcc", "st,stm32f42xx-rcc", "st,stm32-rcc"; 90}; 91 92&clk_hse { 93 clock-frequency = <8000000>; 94}; 95 96&dsi { 97 #address-cells = <1>; 98 #size-cells = <0>; 99 status = "okay"; 100 101 ports { 102 #address-cells = <1>; 103 #size-cells = <0>; 104 105 port@0 { 106 reg = <0>; 107 dsi_in: endpoint { 108 remote-endpoint = <<dc_out_dsi>; 109 }; 110 }; 111 112 port@1 { 113 reg = <1>; 114 dsi_out: endpoint { 115 remote-endpoint = <&dsi_panel_in>; 116 }; 117 }; 118 }; 119 120 panel-dsi@0 { 121 compatible = "orisetech,otm8009a"; 122 reg = <0>; /* dsi virtual channel (0..3) */ 123 reset-gpios = <&gpioh 7 GPIO_ACTIVE_LOW>; 124 power-supply = <&vdd_dsi>; 125 status = "okay"; 126 127 port { 128 dsi_panel_in: endpoint { 129 remote-endpoint = <&dsi_out>; 130 }; 131 }; 132 }; 133}; 134 135<dc { 136 status = "okay"; 137 138 port { 139 ltdc_out_dsi: endpoint@0 { 140 remote-endpoint = <&dsi_in>; 141 }; 142 }; 143}; 144 145&rtc { 146 status = "okay"; 147}; 148 149&timers1 { 150 status = "okay"; 151 152 pwm { 153 pinctrl-0 = <&pwm1_pins>; 154 pinctrl-names = "default"; 155 status = "okay"; 156 }; 157 158 timer@0 { 159 status = "okay"; 160 }; 161}; 162 163&timers3 { 164 status = "okay"; 165 166 pwm { 167 pinctrl-0 = <&pwm3_pins>; 168 pinctrl-names = "default"; 169 status = "okay"; 170 }; 171 172 timer@2 { 173 status = "okay"; 174 }; 175}; 176 177&sdio { 178 status = "okay"; 179 vmmc-supply = <&mmc_vcard>; 180 cd-gpios = <&gpiog 2 GPIO_ACTIVE_LOW>; 181 broken-cd; 182 pinctrl-names = "default", "opendrain"; 183 pinctrl-0 = <&sdio_pins>; 184 pinctrl-1 = <&sdio_pins_od>; 185 bus-width = <4>; 186}; 187 188&usart3 { 189 pinctrl-0 = <&usart3_pins_a>; 190 pinctrl-names = "default"; 191 status = "okay"; 192}; 193 194&usbotg_fs { 195 dr_mode = "host"; 196 pinctrl-0 = <&usbotg_fs_pins_a>; 197 pinctrl-names = "default"; 198 status = "okay"; 199}; 200