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