1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) 2020 Manivannan Sadhasivam 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring/dts-v1/; 7*724ba675SRob Herring 8*724ba675SRob Herring#include "stm32mp157.dtsi" 9*724ba675SRob Herring#include "stm32mp15-pinctrl.dtsi" 10*724ba675SRob Herring#include "stm32mp15xxac-pinctrl.dtsi" 11*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 12*724ba675SRob Herring#include <dt-bindings/mfd/st,stpmic1.h> 13*724ba675SRob Herring 14*724ba675SRob Herring/ { 15*724ba675SRob Herring aliases { 16*724ba675SRob Herring mmc0 = &sdmmc1; 17*724ba675SRob Herring serial0 = &uart4; 18*724ba675SRob Herring serial1 = &uart7; 19*724ba675SRob Herring serial2 = &usart2; 20*724ba675SRob Herring spi0 = &spi4; 21*724ba675SRob Herring }; 22*724ba675SRob Herring 23*724ba675SRob Herring chosen { 24*724ba675SRob Herring stdout-path = "serial1:115200n8"; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring memory@c0000000 { 28*724ba675SRob Herring device_type = "memory"; 29*724ba675SRob Herring reg = <0xc0000000 0x10000000>; 30*724ba675SRob Herring }; 31*724ba675SRob Herring 32*724ba675SRob Herring led { 33*724ba675SRob Herring compatible = "gpio-leds"; 34*724ba675SRob Herring 35*724ba675SRob Herring led1 { 36*724ba675SRob Herring label = "green:user1"; 37*724ba675SRob Herring gpios = <&gpioa 13 GPIO_ACTIVE_HIGH>; 38*724ba675SRob Herring linux,default-trigger = "heartbeat"; 39*724ba675SRob Herring default-state = "off"; 40*724ba675SRob Herring }; 41*724ba675SRob Herring 42*724ba675SRob Herring led2 { 43*724ba675SRob Herring label = "green:user2"; 44*724ba675SRob Herring gpios = <&gpioh 3 GPIO_ACTIVE_HIGH>; 45*724ba675SRob Herring linux,default-trigger = "mmc0"; 46*724ba675SRob Herring default-state = "off"; 47*724ba675SRob Herring }; 48*724ba675SRob Herring 49*724ba675SRob Herring led3 { 50*724ba675SRob Herring label = "green:user3"; 51*724ba675SRob Herring gpios = <&gpioh 2 GPIO_ACTIVE_HIGH>; 52*724ba675SRob Herring linux,default-trigger = "mmc1"; 53*724ba675SRob Herring default-state = "off"; 54*724ba675SRob Herring }; 55*724ba675SRob Herring 56*724ba675SRob Herring led4 { 57*724ba675SRob Herring label = "green:user4"; 58*724ba675SRob Herring gpios = <&gpiof 12 GPIO_ACTIVE_HIGH>; 59*724ba675SRob Herring linux,default-trigger = "none"; 60*724ba675SRob Herring default-state = "off"; 61*724ba675SRob Herring panic-indicator; 62*724ba675SRob Herring }; 63*724ba675SRob Herring }; 64*724ba675SRob Herring 65*724ba675SRob Herring sd_switch: regulator-sd_switch { 66*724ba675SRob Herring compatible = "regulator-gpio"; 67*724ba675SRob Herring regulator-name = "sd_switch"; 68*724ba675SRob Herring regulator-min-microvolt = <1800000>; 69*724ba675SRob Herring regulator-max-microvolt = <2900000>; 70*724ba675SRob Herring regulator-type = "voltage"; 71*724ba675SRob Herring regulator-always-on; 72*724ba675SRob Herring 73*724ba675SRob Herring gpios = <&gpioa 8 GPIO_ACTIVE_HIGH>; 74*724ba675SRob Herring gpios-states = <0>; 75*724ba675SRob Herring states = <1800000 0x1>, 76*724ba675SRob Herring <2900000 0x0>; 77*724ba675SRob Herring }; 78*724ba675SRob Herring}; 79*724ba675SRob Herring 80*724ba675SRob Herring/* Only headless mode is supported */ 81*724ba675SRob Herring&gpu { 82*724ba675SRob Herring status = "disabled"; 83*724ba675SRob Herring}; 84*724ba675SRob Herring 85*724ba675SRob Herring/* LS-I2C0 */ 86*724ba675SRob Herring&i2c2 { 87*724ba675SRob Herring pinctrl-names = "default"; 88*724ba675SRob Herring pinctrl-0 = <&i2c2_pins_a>; 89*724ba675SRob Herring i2c-scl-rising-time-ns = <1000>; 90*724ba675SRob Herring i2c-scl-falling-time-ns = <300>; 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring /delete-property/dmas; 93*724ba675SRob Herring /delete-property/dma-names; 94*724ba675SRob Herring}; 95*724ba675SRob Herring 96*724ba675SRob Herring&i2c4 { 97*724ba675SRob Herring pinctrl-names = "default"; 98*724ba675SRob Herring pinctrl-0 = <&i2c4_pins_a>; 99*724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 100*724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 101*724ba675SRob Herring status = "okay"; 102*724ba675SRob Herring /delete-property/dmas; 103*724ba675SRob Herring /delete-property/dma-names; 104*724ba675SRob Herring 105*724ba675SRob Herring pmic: stpmic@33 { 106*724ba675SRob Herring compatible = "st,stpmic1"; 107*724ba675SRob Herring reg = <0x33>; 108*724ba675SRob Herring interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 109*724ba675SRob Herring interrupt-controller; 110*724ba675SRob Herring #interrupt-cells = <2>; 111*724ba675SRob Herring status = "okay"; 112*724ba675SRob Herring 113*724ba675SRob Herring regulators { 114*724ba675SRob Herring compatible = "st,stpmic1-regulators"; 115*724ba675SRob Herring 116*724ba675SRob Herring ldo1-supply = <&v3v3>; 117*724ba675SRob Herring ldo2-supply = <&v3v3>; 118*724ba675SRob Herring ldo3-supply = <&vdd_ddr>; 119*724ba675SRob Herring ldo5-supply = <&v3v3>; 120*724ba675SRob Herring ldo6-supply = <&v3v3>; 121*724ba675SRob Herring pwr_sw1-supply = <&bst_out>; 122*724ba675SRob Herring pwr_sw2-supply = <&bst_out>; 123*724ba675SRob Herring 124*724ba675SRob Herring vddcore: buck1 { 125*724ba675SRob Herring regulator-name = "vddcore"; 126*724ba675SRob Herring regulator-min-microvolt = <1200000>; 127*724ba675SRob Herring regulator-max-microvolt = <1350000>; 128*724ba675SRob Herring regulator-always-on; 129*724ba675SRob Herring regulator-initial-mode = <0>; 130*724ba675SRob Herring regulator-over-current-protection; 131*724ba675SRob Herring }; 132*724ba675SRob Herring 133*724ba675SRob Herring vdd_ddr: buck2 { 134*724ba675SRob Herring regulator-name = "vdd_ddr"; 135*724ba675SRob Herring regulator-min-microvolt = <1500000>; 136*724ba675SRob Herring regulator-max-microvolt = <1500000>; 137*724ba675SRob Herring regulator-always-on; 138*724ba675SRob Herring regulator-initial-mode = <0>; 139*724ba675SRob Herring regulator-over-current-protection; 140*724ba675SRob Herring }; 141*724ba675SRob Herring 142*724ba675SRob Herring vdd: buck3 { 143*724ba675SRob Herring regulator-name = "vdd"; 144*724ba675SRob Herring regulator-min-microvolt = <1800000>; 145*724ba675SRob Herring regulator-max-microvolt = <1800000>; 146*724ba675SRob Herring regulator-always-on; 147*724ba675SRob Herring st,mask-reset; 148*724ba675SRob Herring regulator-initial-mode = <0>; 149*724ba675SRob Herring regulator-over-current-protection; 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring v3v3: buck4 { 153*724ba675SRob Herring regulator-name = "v3v3"; 154*724ba675SRob Herring regulator-min-microvolt = <3300000>; 155*724ba675SRob Herring regulator-max-microvolt = <3300000>; 156*724ba675SRob Herring regulator-always-on; 157*724ba675SRob Herring regulator-over-current-protection; 158*724ba675SRob Herring regulator-initial-mode = <0>; 159*724ba675SRob Herring }; 160*724ba675SRob Herring 161*724ba675SRob Herring vdda: ldo1 { 162*724ba675SRob Herring regulator-name = "vdda"; 163*724ba675SRob Herring regulator-min-microvolt = <1800000>; 164*724ba675SRob Herring regulator-max-microvolt = <1800000>; 165*724ba675SRob Herring regulator-always-on; 166*724ba675SRob Herring interrupts = <IT_CURLIM_LDO1 0>; 167*724ba675SRob Herring }; 168*724ba675SRob Herring 169*724ba675SRob Herring v2v9: ldo2 { 170*724ba675SRob Herring regulator-name = "v2v9"; 171*724ba675SRob Herring regulator-min-microvolt = <2900000>; 172*724ba675SRob Herring regulator-max-microvolt = <2900000>; 173*724ba675SRob Herring regulator-always-on; 174*724ba675SRob Herring interrupts = <IT_CURLIM_LDO2 0>; 175*724ba675SRob Herring }; 176*724ba675SRob Herring 177*724ba675SRob Herring vtt_ddr: ldo3 { 178*724ba675SRob Herring regulator-name = "vtt_ddr"; 179*724ba675SRob Herring regulator-min-microvolt = <500000>; 180*724ba675SRob Herring regulator-max-microvolt = <750000>; 181*724ba675SRob Herring regulator-always-on; 182*724ba675SRob Herring regulator-over-current-protection; 183*724ba675SRob Herring }; 184*724ba675SRob Herring 185*724ba675SRob Herring vdd_usb: ldo4 { 186*724ba675SRob Herring regulator-name = "vdd_usb"; 187*724ba675SRob Herring interrupts = <IT_CURLIM_LDO4 0>; 188*724ba675SRob Herring }; 189*724ba675SRob Herring 190*724ba675SRob Herring vdd_sd: ldo5 { 191*724ba675SRob Herring regulator-name = "vdd_sd"; 192*724ba675SRob Herring regulator-min-microvolt = <2900000>; 193*724ba675SRob Herring regulator-max-microvolt = <2900000>; 194*724ba675SRob Herring interrupts = <IT_CURLIM_LDO5 0>; 195*724ba675SRob Herring regulator-boot-on; 196*724ba675SRob Herring }; 197*724ba675SRob Herring 198*724ba675SRob Herring v1v8: ldo6 { 199*724ba675SRob Herring regulator-name = "v1v8"; 200*724ba675SRob Herring regulator-min-microvolt = <1800000>; 201*724ba675SRob Herring regulator-max-microvolt = <1800000>; 202*724ba675SRob Herring regulator-always-on; 203*724ba675SRob Herring interrupts = <IT_CURLIM_LDO6 0>; 204*724ba675SRob Herring }; 205*724ba675SRob Herring 206*724ba675SRob Herring vref_ddr: vref_ddr { 207*724ba675SRob Herring regulator-name = "vref_ddr"; 208*724ba675SRob Herring regulator-always-on; 209*724ba675SRob Herring }; 210*724ba675SRob Herring 211*724ba675SRob Herring bst_out: boost { 212*724ba675SRob Herring regulator-name = "bst_out"; 213*724ba675SRob Herring interrupts = <IT_OCP_BOOST 0>; 214*724ba675SRob Herring }; 215*724ba675SRob Herring 216*724ba675SRob Herring vbus_otg: pwr_sw1 { 217*724ba675SRob Herring regulator-name = "vbus_otg"; 218*724ba675SRob Herring interrupts = <IT_OCP_OTG 0>; 219*724ba675SRob Herring regulator-active-discharge = <1>; 220*724ba675SRob Herring }; 221*724ba675SRob Herring 222*724ba675SRob Herring vbus_sw: pwr_sw2 { 223*724ba675SRob Herring regulator-name = "vbus_sw"; 224*724ba675SRob Herring interrupts = <IT_OCP_SWOUT 0>; 225*724ba675SRob Herring regulator-active-discharge = <1>; 226*724ba675SRob Herring }; 227*724ba675SRob Herring }; 228*724ba675SRob Herring 229*724ba675SRob Herring onkey { 230*724ba675SRob Herring compatible = "st,stpmic1-onkey"; 231*724ba675SRob Herring interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>; 232*724ba675SRob Herring interrupt-names = "onkey-falling", "onkey-rising"; 233*724ba675SRob Herring status = "okay"; 234*724ba675SRob Herring }; 235*724ba675SRob Herring 236*724ba675SRob Herring watchdog { 237*724ba675SRob Herring compatible = "st,stpmic1-wdt"; 238*724ba675SRob Herring status = "disabled"; 239*724ba675SRob Herring }; 240*724ba675SRob Herring }; 241*724ba675SRob Herring}; 242*724ba675SRob Herring 243*724ba675SRob Herring&iwdg2 { 244*724ba675SRob Herring timeout-sec = <32>; 245*724ba675SRob Herring status = "okay"; 246*724ba675SRob Herring}; 247*724ba675SRob Herring 248*724ba675SRob Herring&pwr_regulators { 249*724ba675SRob Herring vdd-supply = <&vdd>; 250*724ba675SRob Herring vdd_3v3_usbfs-supply = <&vdd_usb>; 251*724ba675SRob Herring}; 252*724ba675SRob Herring 253*724ba675SRob Herring&rng1 { 254*724ba675SRob Herring status = "okay"; 255*724ba675SRob Herring}; 256*724ba675SRob Herring 257*724ba675SRob Herring&rtc { 258*724ba675SRob Herring status = "okay"; 259*724ba675SRob Herring}; 260*724ba675SRob Herring 261*724ba675SRob Herring&sdmmc1 { 262*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 263*724ba675SRob Herring pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>; 264*724ba675SRob Herring pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>; 265*724ba675SRob Herring pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>; 266*724ba675SRob Herring broken-cd; 267*724ba675SRob Herring disable-wp; 268*724ba675SRob Herring st,sig-dir; 269*724ba675SRob Herring st,neg-edge; 270*724ba675SRob Herring st,use-ckin; 271*724ba675SRob Herring bus-width = <4>; 272*724ba675SRob Herring vmmc-supply = <&vdd_sd>; 273*724ba675SRob Herring vqmmc-supply = <&sd_switch>; 274*724ba675SRob Herring status = "okay"; 275*724ba675SRob Herring}; 276*724ba675SRob Herring 277*724ba675SRob Herring/* LS-SPI0 */ 278*724ba675SRob Herring&spi4 { 279*724ba675SRob Herring pinctrl-names = "default"; 280*724ba675SRob Herring pinctrl-0 = <&spi4_pins_a>; 281*724ba675SRob Herring cs-gpios = <&gpioe 11 GPIO_ACTIVE_HIGH>; 282*724ba675SRob Herring status = "okay"; 283*724ba675SRob Herring}; 284*724ba675SRob Herring 285*724ba675SRob Herring/* BG96 */ 286*724ba675SRob Herring&usart2 { 287*724ba675SRob Herring pinctrl-names = "default", "sleep"; 288*724ba675SRob Herring pinctrl-0 = <&usart2_pins_b>; 289*724ba675SRob Herring pinctrl-1 = <&usart2_sleep_pins_b>; 290*724ba675SRob Herring uart-has-rtscts; 291*724ba675SRob Herring /delete-property/dmas; 292*724ba675SRob Herring /delete-property/dma-names; 293*724ba675SRob Herring status = "okay"; 294*724ba675SRob Herring}; 295*724ba675SRob Herring 296*724ba675SRob Herring/* LS-UART0 */ 297*724ba675SRob Herring&uart4 { 298*724ba675SRob Herring pinctrl-names = "default"; 299*724ba675SRob Herring pinctrl-0 = <&uart4_pins_c>; 300*724ba675SRob Herring uart-has-rtscts; 301*724ba675SRob Herring /delete-property/dmas; 302*724ba675SRob Herring /delete-property/dma-names; 303*724ba675SRob Herring status = "okay"; 304*724ba675SRob Herring}; 305*724ba675SRob Herring 306*724ba675SRob Herring/* Debug console */ 307*724ba675SRob Herring&uart7 { 308*724ba675SRob Herring pinctrl-names = "default"; 309*724ba675SRob Herring pinctrl-0 = <&uart7_pins_b>; 310*724ba675SRob Herring /delete-property/dmas; 311*724ba675SRob Herring /delete-property/dma-names; 312*724ba675SRob Herring status = "okay"; 313*724ba675SRob Herring}; 314*724ba675SRob Herring 315*724ba675SRob Herring&usbh_ehci { 316*724ba675SRob Herring phys = <&usbphyc_port0>; 317*724ba675SRob Herring phy-names = "usb"; 318*724ba675SRob Herring status = "okay"; 319*724ba675SRob Herring}; 320*724ba675SRob Herring 321*724ba675SRob Herring&usbotg_hs { 322*724ba675SRob Herring dr_mode = "peripheral"; 323*724ba675SRob Herring pinctrl-0 = <&usbotg_hs_pins_a>; 324*724ba675SRob Herring pinctrl-names = "default"; 325*724ba675SRob Herring phy-names = "usb2-phy"; 326*724ba675SRob Herring phys = <&usbphyc_port1 0>; 327*724ba675SRob Herring vbus-supply = <&vbus_otg>; 328*724ba675SRob Herring status = "okay"; 329*724ba675SRob Herring}; 330*724ba675SRob Herring 331*724ba675SRob Herring&usbphyc { 332*724ba675SRob Herring status = "okay"; 333*724ba675SRob Herring}; 334*724ba675SRob Herring 335*724ba675SRob Herring&usbphyc_port0 { 336*724ba675SRob Herring phy-supply = <&vdd_usb>; 337*724ba675SRob Herring}; 338*724ba675SRob Herring 339*724ba675SRob Herring&usbphyc_port1 { 340*724ba675SRob Herring phy-supply = <&vdd_usb>; 341*724ba675SRob Herring}; 342