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 serial0 = &usart2; 23 serial1 = &usart6; 24 }; 25 26 chosen { 27 stdout-path = "serial0:115200n8"; 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 pad_clk: pad-clk { 38 #clock-cells = <0>; 39 compatible = "fixed-clock"; 40 clock-frequency = <100000000>; 41 }; 42 }; 43 44 imx335_2v9: regulator-2v9 { 45 compatible = "regulator-fixed"; 46 regulator-name = "imx335-avdd"; 47 regulator-min-microvolt = <2900000>; 48 regulator-max-microvolt = <2900000>; 49 regulator-always-on; 50 }; 51 52 imx335_1v8: regulator-1v8 { 53 compatible = "regulator-fixed"; 54 regulator-name = "imx335-ovdd"; 55 regulator-min-microvolt = <1800000>; 56 regulator-max-microvolt = <1800000>; 57 regulator-always-on; 58 }; 59 60 imx335_1v2: regulator-1v2 { 61 compatible = "regulator-fixed"; 62 regulator-name = "imx335-dvdd"; 63 regulator-min-microvolt = <1200000>; 64 regulator-max-microvolt = <1200000>; 65 regulator-always-on; 66 }; 67 68 memory@80000000 { 69 device_type = "memory"; 70 reg = <0x0 0x80000000 0x1 0x0>; 71 }; 72 73 reserved-memory { 74 #address-cells = <2>; 75 #size-cells = <2>; 76 ranges; 77 78 fw@80000000 { 79 compatible = "shared-dma-pool"; 80 reg = <0x0 0x80000000 0x0 0x4000000>; 81 no-map; 82 }; 83 84 mm_ospi1: mm-ospi@60000000 { 85 reg = <0x0 0x60000000 0x0 0x10000000>; 86 no-map; 87 }; 88 }; 89}; 90 91&arm_wdt { 92 timeout-sec = <32>; 93 status = "okay"; 94}; 95 96&combophy { 97 clocks = <&rcc CK_BUS_USB3PCIEPHY>, <&rcc CK_KER_USB3PCIEPHY>, <&pad_clk>; 98 clock-names = "apb", "ker", "pad"; 99 status = "okay"; 100}; 101 102&csi { 103 vdd-supply = <&scmi_vddcore>; 104 vdda18-supply = <&scmi_v1v8>; 105 status = "okay"; 106 ports { 107 #address-cells = <1>; 108 #size-cells = <0>; 109 port@0 { 110 reg = <0>; 111 csi_sink: endpoint { 112 remote-endpoint = <&imx335_ep>; 113 data-lanes = <1 2>; 114 bus-type = <4>; 115 }; 116 }; 117 port@1 { 118 reg = <1>; 119 csi_source: endpoint { 120 remote-endpoint = <&dcmipp_0>; 121 }; 122 }; 123 }; 124}; 125 126&dcmipp { 127 status = "okay"; 128 port { 129 dcmipp_0: endpoint { 130 remote-endpoint = <&csi_source>; 131 bus-type = <4>; 132 }; 133 }; 134}; 135 136ðernet2 { 137 pinctrl-names = "default", "sleep"; 138 pinctrl-0 = <ð2_rgmii_pins_a>; 139 pinctrl-1 = <ð2_rgmii_sleep_pins_a>; 140 max-speed = <1000>; 141 phy-handle = <&phy0_eth2>; 142 phy-mode = "rgmii-id"; 143 status = "okay"; 144 145 mdio { 146 #address-cells = <1>; 147 #size-cells = <0>; 148 compatible = "snps,dwmac-mdio"; 149 phy0_eth2: ethernet-phy@1 { 150 compatible = "ethernet-phy-id001c.c916"; 151 reg = <1>; 152 reset-assert-us = <10000>; 153 reset-deassert-us = <300>; 154 reset-gpios = <&gpiog 6 GPIO_ACTIVE_LOW>; 155 }; 156 }; 157}; 158 159&i2c2 { 160 pinctrl-names = "default", "sleep"; 161 pinctrl-0 = <&i2c2_pins_a>; 162 pinctrl-1 = <&i2c2_sleep_pins_a>; 163 i2c-scl-rising-time-ns = <100>; 164 i2c-scl-falling-time-ns = <13>; 165 clock-frequency = <400000>; 166 status = "okay"; 167 168 imx335: camera@1a { 169 compatible = "sony,imx335"; 170 reg = <0x1a>; 171 clocks = <&clk_ext_camera>; 172 avdd-supply = <&imx335_2v9>; 173 ovdd-supply = <&imx335_1v8>; 174 dvdd-supply = <&imx335_1v2>; 175 reset-gpios = <&gpioi 7 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>; 176 177 port { 178 imx335_ep: endpoint { 179 remote-endpoint = <&csi_sink>; 180 clock-lanes = <0>; 181 data-lanes = <1 2>; 182 link-frequencies = /bits/ 64 <594000000>; 183 }; 184 }; 185 }; 186}; 187 188&i2c8 { 189 pinctrl-names = "default", "sleep"; 190 pinctrl-0 = <&i2c8_pins_a>; 191 pinctrl-1 = <&i2c8_sleep_pins_a>; 192 i2c-scl-rising-time-ns = <57>; 193 i2c-scl-falling-time-ns = <7>; 194 clock-frequency = <400000>; 195 status = "disabled"; 196}; 197 198&ommanager { 199 memory-region = <&mm_ospi1>; 200 pinctrl-0 = <&ospi_port1_clk_pins_a 201 &ospi_port1_io03_pins_a 202 &ospi_port1_cs0_pins_a>; 203 pinctrl-1 = <&ospi_port1_clk_sleep_pins_a 204 &ospi_port1_io03_sleep_pins_a 205 &ospi_port1_cs0_sleep_pins_a>; 206 pinctrl-names = "default", "sleep"; 207 status = "okay"; 208 209 spi@0 { 210 #address-cells = <1>; 211 #size-cells = <0>; 212 memory-region = <&mm_ospi1>; 213 status = "okay"; 214 215 flash0: flash@0 { 216 compatible = "jedec,spi-nor"; 217 reg = <0>; 218 spi-rx-bus-width = <4>; 219 spi-tx-bus-width = <4>; 220 spi-max-frequency = <50000000>; 221 }; 222 }; 223}; 224 225/* use LPTIMER with tick broadcast for suspend mode */ 226&lptimer3 { 227 status = "okay"; 228 timer { 229 status = "okay"; 230 }; 231}; 232 233&rtc { 234 status = "okay"; 235}; 236 237&scmi_regu { 238 scmi_vddio1: regulator@0 { 239 regulator-min-microvolt = <1800000>; 240 regulator-max-microvolt = <3300000>; 241 }; 242 scmi_vddcore: regulator@11 { 243 reg = <VOLTD_SCMI_STPMIC2_BUCK2>; 244 regulator-name = "vddcore"; 245 }; 246 scmi_v1v8: regulator@14 { 247 reg = <VOLTD_SCMI_STPMIC2_BUCK5>; 248 regulator-name = "v1v8"; 249 }; 250 scmi_v3v3: regulator@16 { 251 reg = <VOLTD_SCMI_STPMIC2_BUCK7>; 252 regulator-name = "v3v3"; 253 }; 254 scmi_vdd_emmc: regulator@18 { 255 reg = <VOLTD_SCMI_STPMIC2_LDO2>; 256 regulator-name = "vdd_emmc"; 257 }; 258 scmi_vdd3v3_usb: regulator@20 { 259 reg = <VOLTD_SCMI_STPMIC2_LDO4>; 260 regulator-name = "vdd3v3_usb"; 261 }; 262 scmi_vdd_sdcard: regulator@23 { 263 reg = <VOLTD_SCMI_STPMIC2_LDO7>; 264 regulator-name = "vdd_sdcard"; 265 }; 266}; 267 268&sdmmc1 { 269 pinctrl-names = "default", "opendrain", "sleep"; 270 pinctrl-0 = <&sdmmc1_b4_pins_a>; 271 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 272 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 273 cd-gpios = <&gpiod 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 274 disable-wp; 275 st,neg-edge; 276 bus-width = <4>; 277 vmmc-supply = <&scmi_vdd_sdcard>; 278 vqmmc-supply = <&scmi_vddio1>; 279 status = "okay"; 280}; 281 282&spi3 { 283 pinctrl-names = "default", "sleep"; 284 pinctrl-0 = <&spi3_pins_a>; 285 pinctrl-1 = <&spi3_sleep_pins_a>; 286 status = "disabled"; 287}; 288 289&spi8 { 290 pinctrl-names = "default", "sleep"; 291 pinctrl-0 = <&spi8_pins_a>; 292 pinctrl-1 = <&spi8_sleep_pins_a>; 293 status = "disabled"; 294}; 295 296&usart2 { 297 pinctrl-names = "default", "idle", "sleep"; 298 pinctrl-0 = <&usart2_pins_a>; 299 pinctrl-1 = <&usart2_idle_pins_a>; 300 pinctrl-2 = <&usart2_sleep_pins_a>; 301 /delete-property/dmas; 302 /delete-property/dma-names; 303 status = "okay"; 304}; 305 306&usart6 { 307 pinctrl-names = "default", "idle", "sleep"; 308 pinctrl-0 = <&usart6_pins_a>; 309 pinctrl-1 = <&usart6_idle_pins_a>; 310 pinctrl-2 = <&usart6_sleep_pins_a>; 311 uart-has-rtscts; 312 status = "disabled"; 313}; 314