1// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2/* 3 * Copyright (C) STMicroelectronics 2023 - All Rights Reserved 4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/regulator/st,stm32mp25-regulator.h> 11#include "stm32mp257.dtsi" 12#include "stm32mp25xf.dtsi" 13#include "stm32mp25-pinctrl.dtsi" 14#include "stm32mp25xxai-pinctrl.dtsi" 15 16/ { 17 model = "STMicroelectronics STM32MP257F-EV1 Evaluation Board"; 18 compatible = "st,stm32mp257f-ev1", "st,stm32mp257"; 19 20 aliases { 21 ethernet0 = ðernet2; 22 ethernet1 = ðernet1; 23 serial0 = &usart2; 24 serial1 = &usart6; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 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 pad_clk: pad-clk { 39 #clock-cells = <0>; 40 compatible = "fixed-clock"; 41 clock-frequency = <100000000>; 42 }; 43 }; 44 45 imx335_2v9: regulator-2v9 { 46 compatible = "regulator-fixed"; 47 regulator-name = "imx335-avdd"; 48 regulator-min-microvolt = <2900000>; 49 regulator-max-microvolt = <2900000>; 50 regulator-always-on; 51 }; 52 53 imx335_1v8: regulator-1v8 { 54 compatible = "regulator-fixed"; 55 regulator-name = "imx335-ovdd"; 56 regulator-min-microvolt = <1800000>; 57 regulator-max-microvolt = <1800000>; 58 regulator-always-on; 59 }; 60 61 imx335_1v2: regulator-1v2 { 62 compatible = "regulator-fixed"; 63 regulator-name = "imx335-dvdd"; 64 regulator-min-microvolt = <1200000>; 65 regulator-max-microvolt = <1200000>; 66 regulator-always-on; 67 }; 68 69 memory@80000000 { 70 device_type = "memory"; 71 reg = <0x0 0x80000000 0x1 0x0>; 72 }; 73 74 panel_lvds: display { 75 compatible = "edt,etml0700z9ndha", "panel-lvds"; 76 enable-gpios = <&gpiog 15 GPIO_ACTIVE_HIGH>; 77 backlight = <&panel_lvds_backlight>; 78 power-supply = <&scmi_v3v3>; 79 width-mm = <156>; 80 height-mm = <92>; 81 data-mapping = "vesa-24"; 82 status = "okay"; 83 84 panel-timing { 85 clock-frequency = <54000000>; 86 hactive = <1024>; 87 vactive = <600>; 88 hfront-porch = <150>; 89 hback-porch = <150>; 90 hsync-len = <21>; 91 vfront-porch = <24>; 92 vback-porch = <24>; 93 vsync-len = <21>; 94 }; 95 96 port { 97 lvds_panel_in: endpoint { 98 remote-endpoint = <&lvds_out0>; 99 }; 100 }; 101 }; 102 103 panel_lvds_backlight: backlight { 104 compatible = "gpio-backlight"; 105 gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>; 106 default-on; 107 status = "okay"; 108 }; 109 110 reserved-memory { 111 #address-cells = <2>; 112 #size-cells = <2>; 113 ranges; 114 115 fw@80000000 { 116 compatible = "shared-dma-pool"; 117 reg = <0x0 0x80000000 0x0 0x4000000>; 118 no-map; 119 }; 120 121 mm_ospi1: mm-ospi@60000000 { 122 reg = <0x0 0x60000000 0x0 0x10000000>; 123 no-map; 124 }; 125 }; 126}; 127 128&arm_wdt { 129 timeout-sec = <32>; 130 status = "okay"; 131}; 132 133&combophy { 134 clocks = <&rcc CK_BUS_USB3PCIEPHY>, <&rcc CK_KER_USB3PCIEPHY>, <&pad_clk>; 135 clock-names = "apb", "ker", "pad"; 136 status = "okay"; 137}; 138 139&csi { 140 vdd-supply = <&scmi_vddcore>; 141 vdda18-supply = <&scmi_v1v8>; 142 status = "okay"; 143 ports { 144 #address-cells = <1>; 145 #size-cells = <0>; 146 port@0 { 147 reg = <0>; 148 csi_sink: endpoint { 149 remote-endpoint = <&imx335_ep>; 150 data-lanes = <1 2>; 151 bus-type = <4>; 152 }; 153 }; 154 port@1 { 155 reg = <1>; 156 csi_source: endpoint { 157 remote-endpoint = <&dcmipp_0>; 158 }; 159 }; 160 }; 161}; 162 163&dcmipp { 164 status = "okay"; 165 port { 166 dcmipp_0: endpoint { 167 remote-endpoint = <&csi_source>; 168 bus-type = <4>; 169 }; 170 }; 171}; 172 173ðernet1 { 174 pinctrl-0 = <ð1_rgmii_pins_a ð1_mdio_pins_a>; 175 pinctrl-1 = <ð1_rgmii_sleep_pins_a ð1_mdio_sleep_pins_a>; 176 pinctrl-names = "default", "sleep"; 177 phy-handle = <&phy1_eth1>; 178 phy-mode = "rgmii-id"; 179 st,ext-phyclk; 180 status = "okay"; 181 182 mdio { 183 #address-cells = <1>; 184 #size-cells = <0>; 185 compatible = "snps,dwmac-mdio"; 186 phy1_eth1: ethernet-phy@4 { 187 compatible = "ethernet-phy-id001c.c916"; 188 reg = <4>; 189 reset-gpios = <&gpioj 9 GPIO_ACTIVE_LOW>; 190 reset-assert-us = <10000>; 191 reset-deassert-us = <80000>; 192 }; 193 }; 194}; 195 196ðernet2 { 197 pinctrl-names = "default", "sleep"; 198 pinctrl-0 = <ð2_rgmii_pins_a>; 199 pinctrl-1 = <ð2_rgmii_sleep_pins_a>; 200 max-speed = <1000>; 201 phy-handle = <&phy0_eth2>; 202 phy-mode = "rgmii-id"; 203 status = "okay"; 204 205 mdio { 206 #address-cells = <1>; 207 #size-cells = <0>; 208 compatible = "snps,dwmac-mdio"; 209 phy0_eth2: ethernet-phy@1 { 210 compatible = "ethernet-phy-id001c.c916"; 211 reg = <1>; 212 reset-assert-us = <10000>; 213 reset-deassert-us = <300>; 214 reset-gpios = <&gpiog 6 GPIO_ACTIVE_LOW>; 215 }; 216 }; 217}; 218 219&i2c2 { 220 pinctrl-names = "default", "sleep"; 221 pinctrl-0 = <&i2c2_pins_a>; 222 pinctrl-1 = <&i2c2_sleep_pins_a>; 223 i2c-scl-rising-time-ns = <100>; 224 i2c-scl-falling-time-ns = <13>; 225 clock-frequency = <400000>; 226 status = "okay"; 227 228 imx335: camera@1a { 229 compatible = "sony,imx335"; 230 reg = <0x1a>; 231 clocks = <&clk_ext_camera>; 232 avdd-supply = <&imx335_2v9>; 233 ovdd-supply = <&imx335_1v8>; 234 dvdd-supply = <&imx335_1v2>; 235 reset-gpios = <&gpioi 7 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>; 236 237 port { 238 imx335_ep: endpoint { 239 remote-endpoint = <&csi_sink>; 240 clock-lanes = <0>; 241 data-lanes = <1 2>; 242 link-frequencies = /bits/ 64 <594000000>; 243 }; 244 }; 245 }; 246 247 ili2511: ili2511@41 { 248 compatible = "ilitek,ili251x"; 249 reg = <0x41>; 250 interrupt-parent = <&gpioi>; 251 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 252 reset-gpios = <&gpiog 14 GPIO_ACTIVE_LOW>; 253 status = "okay"; 254 }; 255}; 256 257&i2c8 { 258 pinctrl-names = "default", "sleep"; 259 pinctrl-0 = <&i2c8_pins_a>; 260 pinctrl-1 = <&i2c8_sleep_pins_a>; 261 i2c-scl-rising-time-ns = <57>; 262 i2c-scl-falling-time-ns = <7>; 263 clock-frequency = <400000>; 264 status = "disabled"; 265}; 266 267&ommanager { 268 memory-region = <&mm_ospi1>; 269 memory-region-names = "ospi1"; 270 pinctrl-0 = <&ospi_port1_clk_pins_a 271 &ospi_port1_io03_pins_a 272 &ospi_port1_cs0_pins_a>; 273 pinctrl-1 = <&ospi_port1_clk_sleep_pins_a 274 &ospi_port1_io03_sleep_pins_a 275 &ospi_port1_cs0_sleep_pins_a>; 276 pinctrl-names = "default", "sleep"; 277 status = "okay"; 278 279 spi@0 { 280 #address-cells = <1>; 281 #size-cells = <0>; 282 memory-region = <&mm_ospi1>; 283 status = "okay"; 284 285 flash0: flash@0 { 286 compatible = "jedec,spi-nor"; 287 reg = <0>; 288 spi-rx-bus-width = <4>; 289 spi-tx-bus-width = <4>; 290 spi-max-frequency = <50000000>; 291 }; 292 }; 293}; 294 295/* use LPTIMER with tick broadcast for suspend mode */ 296&lptimer3 { 297 status = "okay"; 298 timer { 299 status = "okay"; 300 }; 301}; 302 303<dc { 304 status = "okay"; 305 port { 306 ltdc_ep0_out: endpoint { 307 remote-endpoint = <&lvds_in>; 308 }; 309 }; 310}; 311 312&lvds { 313 status = "okay"; 314 ports { 315 #address-cells = <1>; 316 #size-cells = <0>; 317 318 port@0 { 319 reg = <0>; 320 lvds_in: endpoint { 321 remote-endpoint = <<dc_ep0_out>; 322 }; 323 }; 324 325 port@1 { 326 reg = <1>; 327 lvds_out0: endpoint { 328 remote-endpoint = <&lvds_panel_in>; 329 }; 330 }; 331 }; 332}; 333 334&pcie_ep { 335 pinctrl-names = "default", "init"; 336 pinctrl-0 = <&pcie_pins_a>; 337 pinctrl-1 = <&pcie_init_pins_a>; 338 reset-gpios = <&gpioj 8 GPIO_ACTIVE_LOW>; 339 status = "disabled"; 340}; 341 342&pcie_rc { 343 pinctrl-names = "default", "init", "sleep"; 344 pinctrl-0 = <&pcie_pins_a>; 345 pinctrl-1 = <&pcie_init_pins_a>; 346 pinctrl-2 = <&pcie_sleep_pins_a>; 347 status = "okay"; 348 349 pcie@0,0 { 350 reset-gpios = <&gpioj 8 GPIO_ACTIVE_LOW>; 351 wake-gpios = <&gpioh 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 352 }; 353}; 354 355&rtc { 356 status = "okay"; 357}; 358 359&scmi_regu { 360 scmi_vddio1: regulator@0 { 361 regulator-min-microvolt = <1800000>; 362 regulator-max-microvolt = <3300000>; 363 }; 364 scmi_vddcore: regulator@11 { 365 reg = <VOLTD_SCMI_STPMIC2_BUCK2>; 366 regulator-name = "vddcore"; 367 }; 368 scmi_v1v8: regulator@14 { 369 reg = <VOLTD_SCMI_STPMIC2_BUCK5>; 370 regulator-name = "v1v8"; 371 }; 372 scmi_v3v3: regulator@16 { 373 reg = <VOLTD_SCMI_STPMIC2_BUCK7>; 374 regulator-name = "v3v3"; 375 }; 376 scmi_vdd_emmc: regulator@18 { 377 reg = <VOLTD_SCMI_STPMIC2_LDO2>; 378 regulator-name = "vdd_emmc"; 379 }; 380 scmi_vdd3v3_usb: regulator@20 { 381 reg = <VOLTD_SCMI_STPMIC2_LDO4>; 382 regulator-name = "vdd3v3_usb"; 383 }; 384 scmi_vdd_sdcard: regulator@23 { 385 reg = <VOLTD_SCMI_STPMIC2_LDO7>; 386 regulator-name = "vdd_sdcard"; 387 }; 388}; 389 390&sdmmc1 { 391 pinctrl-names = "default", "opendrain", "sleep"; 392 pinctrl-0 = <&sdmmc1_b4_pins_a>; 393 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 394 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 395 cd-gpios = <&gpiod 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 396 disable-wp; 397 st,neg-edge; 398 bus-width = <4>; 399 vmmc-supply = <&scmi_vdd_sdcard>; 400 vqmmc-supply = <&scmi_vddio1>; 401 status = "okay"; 402}; 403 404&spi3 { 405 pinctrl-names = "default", "sleep"; 406 pinctrl-0 = <&spi3_pins_a>; 407 pinctrl-1 = <&spi3_sleep_pins_a>; 408 status = "disabled"; 409}; 410 411&spi8 { 412 pinctrl-names = "default", "sleep"; 413 pinctrl-0 = <&spi8_pins_a>; 414 pinctrl-1 = <&spi8_sleep_pins_a>; 415 status = "disabled"; 416}; 417 418&timers3 { 419 status = "disabled"; 420 counter { 421 status = "okay"; 422 }; 423 pwm { 424 pinctrl-0 = <&pwm3_pins_a>; 425 pinctrl-1 = <&pwm3_sleep_pins_a>; 426 pinctrl-names = "default", "sleep"; 427 status = "okay"; 428 }; 429 timer@2 { 430 status = "okay"; 431 }; 432}; 433 434&timers8 { 435 status = "disabled"; 436 counter { 437 status = "okay"; 438 }; 439 pwm { 440 pinctrl-0 = <&pwm8_pins_a>; 441 pinctrl-1 = <&pwm8_sleep_pins_a>; 442 pinctrl-names = "default", "sleep"; 443 status = "okay"; 444 }; 445 timer@7 { 446 status = "okay"; 447 }; 448}; 449 450&timers10 { 451 status = "disabled"; 452 counter { 453 pinctrl-0 = <&tim10_counter_pins_a>; 454 pinctrl-1 = <&tim10_counter_sleep_pins_a>; 455 pinctrl-names = "default", "sleep"; 456 status = "okay"; 457 }; 458}; 459 460&timers12 { 461 status = "disabled"; 462 counter { 463 status = "okay"; 464 }; 465 pwm { 466 pinctrl-0 = <&pwm12_pins_a>; 467 pinctrl-1 = <&pwm12_sleep_pins_a>; 468 pinctrl-names = "default", "sleep"; 469 status = "okay"; 470 }; 471 timer@11 { 472 status = "okay"; 473 }; 474}; 475 476&usart2 { 477 pinctrl-names = "default", "idle", "sleep"; 478 pinctrl-0 = <&usart2_pins_a>; 479 pinctrl-1 = <&usart2_idle_pins_a>; 480 pinctrl-2 = <&usart2_sleep_pins_a>; 481 /delete-property/dmas; 482 /delete-property/dma-names; 483 status = "okay"; 484}; 485 486&usart6 { 487 pinctrl-names = "default", "idle", "sleep"; 488 pinctrl-0 = <&usart6_pins_a>; 489 pinctrl-1 = <&usart6_idle_pins_a>; 490 pinctrl-2 = <&usart6_sleep_pins_a>; 491 uart-has-rtscts; 492 status = "disabled"; 493}; 494