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