1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
3 * Copyright (C) Linaro Ltd 2019 - All Rights Reserved
4 * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
9 #include "stm32mp157c.dtsi"
10 #include "stm32mp157xac-pinctrl.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/mfd/st,stpmic1.h>
15 model = "Arrow Electronics STM32MP157A Avenger96 board";
16 compatible = "arrow,stm32mp157a-avenger96", "st,stm32mp157";
20 ethernet0 = ðernet0;
28 stdout-path = "serial0:115200n8";
32 device_type = "memory";
33 reg = <0xc0000000 0x40000000>;
37 compatible = "gpio-leds";
39 label = "green:user1";
40 gpios = <&gpioz 7 GPIO_ACTIVE_HIGH>;
41 linux,default-trigger = "heartbeat";
42 default-state = "off";
46 label = "green:user2";
47 gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
48 linux,default-trigger = "mmc0";
49 default-state = "off";
53 label = "green:user3";
54 gpios = <&gpiog 0 GPIO_ACTIVE_HIGH>;
55 linux,default-trigger = "mmc1";
56 default-state = "off";
60 label = "green:user3";
61 gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
62 linux,default-trigger = "none";
63 default-state = "off";
68 label = "yellow:wifi";
69 gpios = <&gpioz 3 GPIO_ACTIVE_HIGH>;
70 linux,default-trigger = "phy0tx";
71 default-state = "off";
76 gpios = <&gpioz 6 GPIO_ACTIVE_HIGH>;
77 linux,default-trigger = "bluetooth-power";
78 default-state = "off";
82 sd_switch: regulator-sd_switch {
83 compatible = "regulator-gpio";
84 regulator-name = "sd_switch";
85 regulator-min-microvolt = <1800000>;
86 regulator-max-microvolt = <2900000>;
87 regulator-type = "voltage";
90 gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
92 states = <1800000 0x1>,
96 /* Enpirion EP3A8LQI U2 on the DHCOR */
97 vdd_io: regulator-buck-io {
98 compatible = "regulator-fixed";
99 regulator-name = "buck-io";
100 regulator-min-microvolt = <1800000>;
101 regulator-max-microvolt = <1800000>;
110 pinctrl-0 = <ðernet0_rgmii_pins_b>;
111 pinctrl-1 = <ðernet0_rgmii_pins_sleep_b>;
112 pinctrl-names = "default", "sleep";
115 phy-handle = <&phy0>;
116 phy-reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
119 #address-cells = <1>;
121 compatible = "snps,dwmac-mdio";
122 phy0: ethernet-phy@7 {
129 pinctrl-names = "default";
130 pinctrl-0 = <&i2c1_pins_b>;
131 i2c-scl-rising-time-ns = <185>;
132 i2c-scl-falling-time-ns = <20>;
134 /delete-property/dmas;
135 /delete-property/dma-names;
139 pinctrl-names = "default";
140 pinctrl-0 = <&i2c2_pins_b1 &i2c2_pins_b2>;
141 i2c-scl-rising-time-ns = <185>;
142 i2c-scl-falling-time-ns = <20>;
144 /delete-property/dmas;
145 /delete-property/dma-names;
149 pinctrl-names = "default";
150 pinctrl-0 = <&i2c4_pins_a>;
151 i2c-scl-rising-time-ns = <185>;
152 i2c-scl-falling-time-ns = <20>;
154 /delete-property/dmas;
155 /delete-property/dma-names;
158 compatible = "st,stpmic1";
160 interrupts-extended = <&exti 55 IRQ_TYPE_EDGE_FALLING>;
161 interrupt-controller;
162 #interrupt-cells = <2>;
165 st,main-control-register = <0x04>;
166 st,vin-control-register = <0xc0>;
167 st,usb-control-register = <0x30>;
170 compatible = "st,stpmic1-regulators";
172 ldo1-supply = <&v3v3>;
173 ldo2-supply = <&v3v3>;
174 ldo3-supply = <&vdd_ddr>;
175 ldo5-supply = <&v3v3>;
176 ldo6-supply = <&v3v3>;
177 pwr_sw1-supply = <&bst_out>;
178 pwr_sw2-supply = <&bst_out>;
181 regulator-name = "vddcore";
182 regulator-min-microvolt = <800000>;
183 regulator-max-microvolt = <1350000>;
185 regulator-initial-mode = <0>;
186 regulator-over-current-protection;
190 regulator-name = "vdd_ddr";
191 regulator-min-microvolt = <1350000>;
192 regulator-max-microvolt = <1350000>;
194 regulator-initial-mode = <0>;
195 regulator-over-current-protection;
199 regulator-name = "vdd";
200 regulator-min-microvolt = <2900000>;
201 regulator-max-microvolt = <2900000>;
204 regulator-initial-mode = <0>;
205 regulator-over-current-protection;
209 regulator-name = "v3v3";
210 regulator-min-microvolt = <3300000>;
211 regulator-max-microvolt = <3300000>;
213 regulator-over-current-protection;
214 regulator-initial-mode = <0>;
218 regulator-name = "vdda";
219 regulator-min-microvolt = <2900000>;
220 regulator-max-microvolt = <2900000>;
221 interrupts = <IT_CURLIM_LDO1 0>;
222 interrupt-parent = <&pmic>;
226 regulator-name = "v2v8";
227 regulator-min-microvolt = <2800000>;
228 regulator-max-microvolt = <2800000>;
229 interrupts = <IT_CURLIM_LDO2 0>;
230 interrupt-parent = <&pmic>;
234 regulator-name = "vtt_ddr";
235 regulator-min-microvolt = <500000>;
236 regulator-max-microvolt = <750000>;
238 regulator-over-current-protection;
242 regulator-name = "vdd_usb";
243 regulator-min-microvolt = <3300000>;
244 regulator-max-microvolt = <3300000>;
245 interrupts = <IT_CURLIM_LDO4 0>;
246 interrupt-parent = <&pmic>;
250 regulator-name = "vdd_sd";
251 regulator-min-microvolt = <2900000>;
252 regulator-max-microvolt = <2900000>;
253 interrupts = <IT_CURLIM_LDO5 0>;
254 interrupt-parent = <&pmic>;
259 regulator-name = "v1v8";
260 regulator-min-microvolt = <1800000>;
261 regulator-max-microvolt = <1800000>;
262 interrupts = <IT_CURLIM_LDO6 0>;
263 interrupt-parent = <&pmic>;
264 regulator-enable-ramp-delay = <300000>;
268 regulator-name = "vref_ddr";
270 regulator-over-current-protection;
274 regulator-name = "bst_out";
275 interrupts = <IT_OCP_BOOST 0>;
276 interrupt-parent = <&pmic>;
280 regulator-name = "vbus_otg";
281 interrupts = <IT_OCP_OTG 0>;
282 interrupt-parent = <&pmic>;
283 regulator-active-discharge = <1>;
287 regulator-name = "vbus_sw";
288 interrupts = <IT_OCP_SWOUT 0>;
289 interrupt-parent = <&pmic>;
290 regulator-active-discharge = <1>;
295 compatible = "st,stpmic1-onkey";
296 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
297 interrupt-names = "onkey-falling", "onkey-rising";
302 compatible = "st,stpmic1-wdt";
308 compatible = "atmel,24c02";
320 vdd-supply = <&vdd_io>;
321 vdd_3v3_usbfs-supply = <&vdd_usb>;
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 0x200000>;
329 #address-cells = <1>;
333 flash0: spi-flash@0 {
334 compatible = "jedec,spi-nor";
336 spi-rx-bus-width = <4>;
337 spi-max-frequency = <108000000>;
338 #address-cells = <1>;
352 pinctrl-names = "default", "opendrain", "sleep";
353 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>;
354 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>;
355 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>;
356 cd-gpios = <&gpioi 8 GPIO_ACTIVE_LOW>;
363 vmmc-supply = <&vdd_sd>;
364 vqmmc-supply = <&sd_switch>;
369 pinctrl-names = "default";
370 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>;
376 vmmc-supply = <&v3v3>;
382 pinctrl-names = "default";
383 pinctrl-0 = <&spi2_pins_a>;
388 /* On Low speed expansion header */
390 pinctrl-names = "default";
391 pinctrl-0 = <&uart4_pins_b>;
396 /* On Low speed expansion header */
398 pinctrl-names = "default";
399 pinctrl-0 = <&uart7_pins_a>;
404 phys = <&usbphyc_port0>;
410 dr_mode = "peripheral";
411 phys = <&usbphyc_port1 0>;
412 phy-names = "usb2-phy";
421 phy-supply = <&vdd_usb>;
425 phy-supply = <&vdd_usb>;