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