1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (C) 2015, STMicroelectronics - All Rights Reserved 4 * Author: Maxime Coquelin <mcoquelin.stm32@gmail.com> for STMicroelectronics. 5 */ 6 7/dts-v1/; 8#include "stm32f429.dtsi" 9#include "stm32f429-pinctrl.dtsi" 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/gpio/gpio.h> 12 13/ { 14 model = "STMicroelectronics STM32429i-EVAL board"; 15 compatible = "st,stm32429i-eval", "st,stm32f429"; 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 0x2000000>; 25 }; 26 27 aliases { 28 serial0 = &usart1; 29 }; 30 31 clocks { 32 clk_ext_camera: clk-ext-camera { 33 #clock-cells = <0>; 34 compatible = "fixed-clock"; 35 clock-frequency = <24000000>; 36 }; 37 }; 38 39 soc { 40 dma-ranges = <0xc0000000 0x0 0x10000000>; 41 }; 42 43 vdda: regulator-vdda { 44 compatible = "regulator-fixed"; 45 regulator-name = "vdda"; 46 regulator-min-microvolt = <3300000>; 47 regulator-max-microvolt = <3300000>; 48 }; 49 50 vref: regulator-vref { 51 compatible = "regulator-fixed"; 52 regulator-name = "vref"; 53 regulator-min-microvolt = <3300000>; 54 regulator-max-microvolt = <3300000>; 55 }; 56 57 vdd_panel: vdd-panel { 58 compatible = "regulator-fixed"; 59 regulator-name = "vdd_panel"; 60 regulator-min-microvolt = <3300000>; 61 regulator-max-microvolt = <3300000>; 62 }; 63 64 leds { 65 compatible = "gpio-leds"; 66 led-green { 67 gpios = <&gpiog 6 1>; 68 linux,default-trigger = "heartbeat"; 69 }; 70 led-orange { 71 gpios = <&gpiog 7 1>; 72 }; 73 led-red { 74 gpios = <&gpiog 10 1>; 75 }; 76 led-blue { 77 gpios = <&gpiog 12 1>; 78 }; 79 }; 80 81 gpio_keys { 82 compatible = "gpio-keys"; 83 #address-cells = <1>; 84 #size-cells = <0>; 85 autorepeat; 86 button@0 { 87 label = "Wake up"; 88 linux,code = <KEY_WAKEUP>; 89 gpios = <&gpioa 0 0>; 90 }; 91 button@1 { 92 label = "Tamper"; 93 linux,code = <KEY_RESTART>; 94 gpios = <&gpioc 13 0>; 95 }; 96 }; 97 98 usbotg_hs_phy: usbphy { 99 #phy-cells = <0>; 100 compatible = "usb-nop-xceiv"; 101 clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>; 102 clock-names = "main_clk"; 103 }; 104 105 panel_rgb: panel-rgb { 106 compatible = "ampire,am-480272h3tmqw-t01h"; 107 power-supply = <&vdd_panel>; 108 status = "okay"; 109 port { 110 panel_in_rgb: endpoint { 111 remote-endpoint = <<dc_out_rgb>; 112 }; 113 }; 114 }; 115 116 mmc_vcard: mmc_vcard { 117 compatible = "regulator-fixed"; 118 regulator-name = "mmc_vcard"; 119 regulator-min-microvolt = <3300000>; 120 regulator-max-microvolt = <3300000>; 121 }; 122}; 123 124&adc { 125 pinctrl-names = "default"; 126 pinctrl-0 = <&adc3_in8_pin>; 127 vdda-supply = <&vdda>; 128 vref-supply = <&vref>; 129 status = "okay"; 130 adc3: adc@200 { 131 st,adc-channels = <8>; 132 status = "okay"; 133 }; 134}; 135 136&clk_hse { 137 clock-frequency = <25000000>; 138}; 139 140&crc { 141 status = "okay"; 142}; 143 144&dcmi { 145 status = "okay"; 146 147 port { 148 dcmi_0: endpoint { 149 remote-endpoint = <&ov2640_0>; 150 bus-width = <8>; 151 hsync-active = <0>; 152 vsync-active = <0>; 153 pclk-sample = <1>; 154 }; 155 }; 156}; 157 158&i2c1 { 159 pinctrl-0 = <&i2c1_pins>; 160 pinctrl-names = "default"; 161 status = "okay"; 162 163 ov2640: camera@30 { 164 compatible = "ovti,ov2640"; 165 reg = <0x30>; 166 resetb-gpios = <&stmpegpio 2 GPIO_ACTIVE_HIGH>; 167 pwdn-gpios = <&stmpegpio 0 GPIO_ACTIVE_LOW>; 168 clocks = <&clk_ext_camera>; 169 clock-names = "xvclk"; 170 status = "okay"; 171 172 port { 173 ov2640_0: endpoint { 174 remote-endpoint = <&dcmi_0>; 175 }; 176 }; 177 }; 178 179 stmpe1600: stmpe1600@42 { 180 compatible = "st,stmpe1600"; 181 reg = <0x42>; 182 interrupts = <8 3>; 183 interrupt-parent = <&gpioi>; 184 interrupt-controller; 185 wakeup-source; 186 187 stmpegpio: stmpe_gpio { 188 compatible = "st,stmpe-gpio"; 189 gpio-controller; 190 #gpio-cells = <2>; 191 }; 192 }; 193}; 194 195&iwdg { 196 status = "okay"; 197 timeout-sec = <32>; 198}; 199 200<dc { 201 status = "okay"; 202 pinctrl-0 = <<dc_pins_a>; 203 pinctrl-names = "default"; 204 205 port { 206 ltdc_out_rgb: endpoint { 207 remote-endpoint = <&panel_in_rgb>; 208 }; 209 }; 210}; 211 212&mac { 213 status = "okay"; 214 pinctrl-0 = <ðernet_mii>; 215 pinctrl-names = "default"; 216 phy-mode = "mii"; 217 phy-handle = <&phy1>; 218 mdio0 { 219 #address-cells = <1>; 220 #size-cells = <0>; 221 compatible = "snps,dwmac-mdio"; 222 phy1: ethernet-phy@1 { 223 reg = <1>; 224 }; 225 }; 226}; 227 228&rtc { 229 status = "okay"; 230}; 231 232&sdio { 233 status = "okay"; 234 vmmc-supply = <&mmc_vcard>; 235 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_LOW>; 236 pinctrl-names = "default", "opendrain"; 237 pinctrl-0 = <&sdio_pins>; 238 pinctrl-1 = <&sdio_pins_od>; 239 bus-width = <4>; 240 max-frequency = <12500000>; 241}; 242 243&timers1 { 244 status = "okay"; 245 246 pwm { 247 pinctrl-0 = <&pwm1_pins>; 248 pinctrl-names = "default"; 249 status = "okay"; 250 }; 251 252 timer@0 { 253 status = "okay"; 254 }; 255}; 256 257&timers3 { 258 status = "okay"; 259 260 pwm { 261 pinctrl-0 = <&pwm3_pins>; 262 pinctrl-names = "default"; 263 status = "okay"; 264 }; 265 266 timer@2 { 267 status = "okay"; 268 }; 269}; 270 271&usart1 { 272 pinctrl-0 = <&usart1_pins_a>; 273 pinctrl-names = "default"; 274 status = "okay"; 275}; 276 277&usbotg_hs { 278 dr_mode = "host"; 279 phys = <&usbotg_hs_phy>; 280 phy-names = "usb2-phy"; 281 pinctrl-0 = <&usbotg_hs_pins_a>; 282 pinctrl-names = "default"; 283 status = "okay"; 284}; 285