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