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