1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de> 4 */ 5 6#include "stm32mp15-pinctrl.dtsi" 7#include "stm32mp15xxaa-pinctrl.dtsi" 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/mfd/st,stpmic1.h> 10 11/ { 12 aliases { 13 ethernet0 = ðernet0; 14 }; 15 16 memory@c0000000 { 17 device_type = "memory"; 18 reg = <0xC0000000 0x40000000>; 19 }; 20 21 reserved-memory { 22 #address-cells = <1>; 23 #size-cells = <1>; 24 ranges; 25 26 mcuram2: mcuram2@10000000 { 27 compatible = "shared-dma-pool"; 28 reg = <0x10000000 0x40000>; 29 no-map; 30 }; 31 32 vdev0vring0: vdev0vring0@10040000 { 33 compatible = "shared-dma-pool"; 34 reg = <0x10040000 0x1000>; 35 no-map; 36 }; 37 38 vdev0vring1: vdev0vring1@10041000 { 39 compatible = "shared-dma-pool"; 40 reg = <0x10041000 0x1000>; 41 no-map; 42 }; 43 44 vdev0buffer: vdev0buffer@10042000 { 45 compatible = "shared-dma-pool"; 46 reg = <0x10042000 0x4000>; 47 no-map; 48 }; 49 50 mcuram: mcuram@30000000 { 51 compatible = "shared-dma-pool"; 52 reg = <0x30000000 0x40000>; 53 no-map; 54 }; 55 56 retram: retram@38000000 { 57 compatible = "shared-dma-pool"; 58 reg = <0x38000000 0x10000>; 59 no-map; 60 }; 61 }; 62 63 ethernet_vio: vioregulator { 64 compatible = "regulator-fixed"; 65 regulator-name = "vio"; 66 regulator-min-microvolt = <3300000>; 67 regulator-max-microvolt = <3300000>; 68 gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; 69 regulator-always-on; 70 regulator-boot-on; 71 vin-supply = <&vdd>; 72 }; 73}; 74 75&adc { 76 vdd-supply = <&vdd>; 77 vdda-supply = <&vdda>; 78 vref-supply = <&vdda>; 79 status = "okay"; 80 81 adc1: adc@0 { 82 st,min-sample-time-nsecs = <5000>; 83 st,adc-channels = <0>; 84 status = "okay"; 85 }; 86 87 adc2: adc@100 { 88 st,adc-channels = <1>; 89 st,min-sample-time-nsecs = <5000>; 90 status = "okay"; 91 }; 92}; 93 94&dac { 95 pinctrl-names = "default"; 96 pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; 97 vref-supply = <&vdda>; 98 status = "okay"; 99 100 dac1: dac@1 { 101 status = "okay"; 102 }; 103 dac2: dac@2 { 104 status = "okay"; 105 }; 106}; 107 108&dts { 109 status = "okay"; 110}; 111 112ðernet0 { 113 status = "okay"; 114 pinctrl-0 = <ðernet0_rmii_pins_a>; 115 pinctrl-1 = <ðernet0_rmii_sleep_pins_a>; 116 pinctrl-names = "default", "sleep"; 117 phy-mode = "rmii"; 118 max-speed = <100>; 119 phy-handle = <&phy0>; 120 st,eth-ref-clk-sel; 121 phy-reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; 122 123 mdio0 { 124 #address-cells = <1>; 125 #size-cells = <0>; 126 compatible = "snps,dwmac-mdio"; 127 128 phy0: ethernet-phy@1 { 129 reg = <1>; 130 }; 131 }; 132}; 133 134&i2c4 { 135 pinctrl-names = "default"; 136 pinctrl-0 = <&i2c4_pins_a>; 137 i2c-scl-rising-time-ns = <185>; 138 i2c-scl-falling-time-ns = <20>; 139 status = "okay"; 140 /* spare dmas for other usage */ 141 /delete-property/dmas; 142 /delete-property/dma-names; 143 144 rtc@32 { 145 compatible = "microcrystal,rv8803"; 146 reg = <0x32>; 147 }; 148 149 pmic: stpmic@33 { 150 compatible = "st,stpmic1"; 151 reg = <0x33>; 152 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 153 interrupt-controller; 154 #interrupt-cells = <2>; 155 status = "okay"; 156 157 regulators { 158 compatible = "st,stpmic1-regulators"; 159 ldo1-supply = <&v3v3>; 160 ldo2-supply = <&v3v3>; 161 ldo3-supply = <&vdd_ddr>; 162 ldo5-supply = <&v3v3>; 163 ldo6-supply = <&v3v3>; 164 pwr_sw1-supply = <&bst_out>; 165 pwr_sw2-supply = <&bst_out>; 166 167 vddcore: buck1 { 168 regulator-name = "vddcore"; 169 regulator-min-microvolt = <800000>; 170 regulator-max-microvolt = <1350000>; 171 regulator-always-on; 172 regulator-initial-mode = <0>; 173 regulator-over-current-protection; 174 }; 175 176 vdd_ddr: buck2 { 177 regulator-name = "vdd_ddr"; 178 regulator-min-microvolt = <1350000>; 179 regulator-max-microvolt = <1350000>; 180 regulator-always-on; 181 regulator-initial-mode = <0>; 182 regulator-over-current-protection; 183 }; 184 185 vdd: buck3 { 186 regulator-name = "vdd"; 187 regulator-min-microvolt = <3300000>; 188 regulator-max-microvolt = <3300000>; 189 regulator-always-on; 190 st,mask-reset; 191 regulator-initial-mode = <0>; 192 regulator-over-current-protection; 193 }; 194 195 v3v3: buck4 { 196 regulator-name = "v3v3"; 197 regulator-min-microvolt = <3300000>; 198 regulator-max-microvolt = <3300000>; 199 regulator-always-on; 200 regulator-over-current-protection; 201 regulator-initial-mode = <0>; 202 }; 203 204 vdda: ldo1 { 205 regulator-name = "vdda"; 206 regulator-always-on; 207 regulator-min-microvolt = <2900000>; 208 regulator-max-microvolt = <2900000>; 209 interrupts = <IT_CURLIM_LDO1 0>; 210 }; 211 212 v2v8: ldo2 { 213 regulator-name = "v2v8"; 214 regulator-min-microvolt = <2800000>; 215 regulator-max-microvolt = <2800000>; 216 interrupts = <IT_CURLIM_LDO2 0>; 217 }; 218 219 vtt_ddr: ldo3 { 220 regulator-name = "vtt_ddr"; 221 regulator-min-microvolt = <500000>; 222 regulator-max-microvolt = <750000>; 223 regulator-always-on; 224 regulator-over-current-protection; 225 }; 226 227 vdd_usb: ldo4 { 228 regulator-name = "vdd_usb"; 229 regulator-min-microvolt = <3300000>; 230 regulator-max-microvolt = <3300000>; 231 interrupts = <IT_CURLIM_LDO4 0>; 232 }; 233 234 vdd_sd: ldo5 { 235 regulator-name = "vdd_sd"; 236 regulator-min-microvolt = <2900000>; 237 regulator-max-microvolt = <2900000>; 238 interrupts = <IT_CURLIM_LDO5 0>; 239 regulator-boot-on; 240 }; 241 242 v1v8: ldo6 { 243 regulator-name = "v1v8"; 244 regulator-min-microvolt = <1800000>; 245 regulator-max-microvolt = <1800000>; 246 interrupts = <IT_CURLIM_LDO6 0>; 247 }; 248 249 vref_ddr: vref_ddr { 250 regulator-name = "vref_ddr"; 251 regulator-always-on; 252 regulator-over-current-protection; 253 }; 254 255 bst_out: boost { 256 regulator-name = "bst_out"; 257 interrupts = <IT_OCP_BOOST 0>; 258 }; 259 260 vbus_otg: pwr_sw1 { 261 regulator-name = "vbus_otg"; 262 interrupts = <IT_OCP_OTG 0>; 263 }; 264 265 vbus_sw: pwr_sw2 { 266 regulator-name = "vbus_sw"; 267 interrupts = <IT_OCP_SWOUT 0>; 268 regulator-active-discharge; 269 }; 270 }; 271 272 onkey { 273 compatible = "st,stpmic1-onkey"; 274 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 275 interrupt-names = "onkey-falling", "onkey-rising"; 276 power-off-time-sec = <10>; 277 status = "okay"; 278 }; 279 280 watchdog { 281 compatible = "st,stpmic1-wdt"; 282 status = "disabled"; 283 }; 284 }; 285 286 touchscreen@49 { 287 compatible = "ti,tsc2004"; 288 reg = <0x49>; 289 vio-supply = <&v3v3>; 290 interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>; 291 }; 292 293 eeprom@50 { 294 compatible = "atmel,24c02"; 295 reg = <0x50>; 296 pagesize = <16>; 297 }; 298}; 299 300&ipcc { 301 status = "okay"; 302}; 303 304&iwdg2 { 305 timeout-sec = <32>; 306 status = "okay"; 307}; 308 309&m4_rproc { 310 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 311 <&vdev0vring1>, <&vdev0buffer>; 312 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; 313 mbox-names = "vq0", "vq1", "shutdown"; 314 interrupt-parent = <&exti>; 315 interrupts = <68 1>; 316 status = "okay"; 317}; 318 319&pwr_regulators { 320 vdd-supply = <&vdd>; 321 vdd_3v3_usbfs-supply = <&vdd_usb>; 322}; 323 324&qspi { 325 pinctrl-names = "default", "sleep"; 326 pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>; 327 pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>; 328 reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 329 #address-cells = <1>; 330 #size-cells = <0>; 331 status = "okay"; 332 333 flash0: mx66l51235l@0 { 334 compatible = "jedec,spi-nor"; 335 reg = <0>; 336 spi-rx-bus-width = <4>; 337 spi-max-frequency = <108000000>; 338 #address-cells = <1>; 339 #size-cells = <1>; 340 }; 341}; 342 343&rng1 { 344 status = "okay"; 345}; 346 347&rtc { 348 status = "okay"; 349}; 350 351&sdmmc1 { 352 pinctrl-names = "default", "opendrain", "sleep"; 353 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 354 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; 355 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; 356 broken-cd; 357 st,sig-dir; 358 st,neg-edge; 359 st,use-ckin; 360 bus-width = <4>; 361 vmmc-supply = <&vdd_sd>; 362 status = "okay"; 363}; 364 365&sdmmc2 { 366 pinctrl-names = "default", "opendrain", "sleep"; 367 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 368 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; 369 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; 370 non-removable; 371 no-sd; 372 no-sdio; 373 st,neg-edge; 374 bus-width = <8>; 375 vmmc-supply = <&v3v3>; 376 vqmmc-supply = <&v3v3>; 377 mmc-ddr-3_3v; 378 status = "okay"; 379}; 380 381&sdmmc3 { 382 pinctrl-names = "default", "opendrain", "sleep"; 383 pinctrl-0 = <&sdmmc3_b4_pins_a>; 384 pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 385 pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 386 broken-cd; 387 st,neg-edge; 388 bus-width = <4>; 389 vmmc-supply = <&v3v3>; 390 vqmmc-supply = <&v3v3>; 391 mmc-ddr-3_3v; 392 status = "okay"; 393}; 394 395&uart4 { 396 pinctrl-names = "default"; 397 pinctrl-0 = <&uart4_pins_a>; 398 status = "okay"; 399}; 400