1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (C) STMicroelectronics 2019 - All Rights Reserved 4 * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics. 5 */ 6 7/dts-v1/; 8 9#include "stm32mp157c.dtsi" 10#include "stm32mp157-pinctrl.dtsi" 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/mfd/st,stpmic1.h> 13 14/ { 15 model = "STMicroelectronics STM32MP157A-DK1 Discovery Board"; 16 compatible = "st,stm32mp157a-dk1", "st,stm32mp157"; 17 18 aliases { 19 ethernet0 = ðernet0; 20 serial0 = &uart4; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 memory@c0000000 { 28 reg = <0xc0000000 0x20000000>; 29 }; 30 31 led { 32 compatible = "gpio-leds"; 33 blue { 34 label = "heartbeat"; 35 gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; 36 linux,default-trigger = "heartbeat"; 37 default-state = "off"; 38 }; 39 }; 40}; 41 42&cec { 43 pinctrl-names = "default", "sleep"; 44 pinctrl-0 = <&cec_pins_b>; 45 pinctrl-1 = <&cec_pins_sleep_b>; 46 status = "okay"; 47}; 48 49ðernet0 { 50 status = "okay"; 51 pinctrl-0 = <ðernet0_rgmii_pins_a>; 52 pinctrl-1 = <ðernet0_rgmii_pins_sleep_a>; 53 pinctrl-names = "default", "sleep"; 54 phy-mode = "rgmii"; 55 max-speed = <1000>; 56 phy-handle = <&phy0>; 57 58 mdio0 { 59 #address-cells = <1>; 60 #size-cells = <0>; 61 compatible = "snps,dwmac-mdio"; 62 phy0: ethernet-phy@0 { 63 reg = <0>; 64 }; 65 }; 66}; 67 68 69&i2c4 { 70 pinctrl-names = "default"; 71 pinctrl-0 = <&i2c4_pins_a>; 72 i2c-scl-rising-time-ns = <185>; 73 i2c-scl-falling-time-ns = <20>; 74 status = "okay"; 75 /* spare dmas for other usage */ 76 /delete-property/dmas; 77 /delete-property/dma-names; 78 79 pmic: stpmic@33 { 80 compatible = "st,stpmic1"; 81 reg = <0x33>; 82 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 83 interrupt-controller; 84 #interrupt-cells = <2>; 85 status = "okay"; 86 87 regulators { 88 compatible = "st,stpmic1-regulators"; 89 ldo1-supply = <&v3v3>; 90 ldo3-supply = <&vdd_ddr>; 91 ldo6-supply = <&v3v3>; 92 pwr_sw1-supply = <&bst_out>; 93 pwr_sw2-supply = <&bst_out>; 94 95 vddcore: buck1 { 96 regulator-name = "vddcore"; 97 regulator-min-microvolt = <800000>; 98 regulator-max-microvolt = <1350000>; 99 regulator-always-on; 100 regulator-initial-mode = <0>; 101 regulator-over-current-protection; 102 }; 103 104 vdd_ddr: buck2 { 105 regulator-name = "vdd_ddr"; 106 regulator-min-microvolt = <1350000>; 107 regulator-max-microvolt = <1350000>; 108 regulator-always-on; 109 regulator-initial-mode = <0>; 110 regulator-over-current-protection; 111 }; 112 113 vdd: buck3 { 114 regulator-name = "vdd"; 115 regulator-min-microvolt = <3300000>; 116 regulator-max-microvolt = <3300000>; 117 regulator-always-on; 118 st,mask-reset; 119 regulator-initial-mode = <0>; 120 regulator-over-current-protection; 121 }; 122 123 v3v3: buck4 { 124 regulator-name = "v3v3"; 125 regulator-min-microvolt = <3300000>; 126 regulator-max-microvolt = <3300000>; 127 regulator-always-on; 128 regulator-over-current-protection; 129 regulator-initial-mode = <0>; 130 }; 131 132 v1v8_audio: ldo1 { 133 regulator-name = "v1v8_audio"; 134 regulator-min-microvolt = <1800000>; 135 regulator-max-microvolt = <1800000>; 136 regulator-always-on; 137 interrupts = <IT_CURLIM_LDO1 0>; 138 }; 139 140 v3v3_hdmi: ldo2 { 141 regulator-name = "v3v3_hdmi"; 142 regulator-min-microvolt = <3300000>; 143 regulator-max-microvolt = <3300000>; 144 regulator-always-on; 145 interrupts = <IT_CURLIM_LDO2 0>; 146 }; 147 148 vtt_ddr: ldo3 { 149 regulator-name = "vtt_ddr"; 150 regulator-min-microvolt = <500000>; 151 regulator-max-microvolt = <750000>; 152 regulator-always-on; 153 regulator-over-current-protection; 154 }; 155 156 vdd_usb: ldo4 { 157 regulator-name = "vdd_usb"; 158 regulator-min-microvolt = <3300000>; 159 regulator-max-microvolt = <3300000>; 160 interrupts = <IT_CURLIM_LDO4 0>; 161 }; 162 163 vdda: ldo5 { 164 regulator-name = "vdda"; 165 regulator-min-microvolt = <2900000>; 166 regulator-max-microvolt = <2900000>; 167 interrupts = <IT_CURLIM_LDO5 0>; 168 regulator-boot-on; 169 }; 170 171 v1v2_hdmi: ldo6 { 172 regulator-name = "v1v2_hdmi"; 173 regulator-min-microvolt = <1200000>; 174 regulator-max-microvolt = <1200000>; 175 regulator-always-on; 176 interrupts = <IT_CURLIM_LDO6 0>; 177 }; 178 179 vref_ddr: vref_ddr { 180 regulator-name = "vref_ddr"; 181 regulator-always-on; 182 regulator-over-current-protection; 183 }; 184 185 bst_out: boost { 186 regulator-name = "bst_out"; 187 interrupts = <IT_OCP_BOOST 0>; 188 }; 189 190 vbus_otg: pwr_sw1 { 191 regulator-name = "vbus_otg"; 192 interrupts = <IT_OCP_OTG 0>; 193 }; 194 195 vbus_sw: pwr_sw2 { 196 regulator-name = "vbus_sw"; 197 interrupts = <IT_OCP_SWOUT 0>; 198 regulator-active-discharge; 199 }; 200 }; 201 202 onkey { 203 compatible = "st,stpmic1-onkey"; 204 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 205 interrupt-names = "onkey-falling", "onkey-rising"; 206 power-off-time-sec = <10>; 207 status = "okay"; 208 }; 209 210 watchdog { 211 compatible = "st,stpmic1-wdt"; 212 status = "disabled"; 213 }; 214 }; 215}; 216 217&ipcc { 218 status = "okay"; 219}; 220 221&iwdg2 { 222 timeout-sec = <32>; 223 status = "okay"; 224}; 225 226&rng1 { 227 status = "okay"; 228}; 229 230&rtc { 231 status = "okay"; 232}; 233 234&sdmmc1 { 235 pinctrl-names = "default", "opendrain", "sleep"; 236 pinctrl-0 = <&sdmmc1_b4_pins_a>; 237 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 238 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 239 broken-cd; 240 st,neg-edge; 241 bus-width = <4>; 242 vmmc-supply = <&v3v3>; 243 status = "okay"; 244}; 245 246&uart4 { 247 pinctrl-names = "default"; 248 pinctrl-0 = <&uart4_pins_a>; 249 status = "okay"; 250}; 251 252&rcc { 253 status = "okay"; 254 secure-status = "disable"; 255}; 256