1*724ba675SRob Herring/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */ 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) 2020 STMicroelectronics - All Rights Reserved 4*724ba675SRob Herring * Copyright (C) 2020 Ahmad Fatoum, Pengutronix 5*724ba675SRob Herring */ 6*724ba675SRob Herring 7*724ba675SRob Herring/dts-v1/; 8*724ba675SRob Herring 9*724ba675SRob Herring#include "stm32mp157.dtsi" 10*724ba675SRob Herring#include "stm32mp15xx-osd32.dtsi" 11*724ba675SRob Herring#include "stm32mp15xxac-pinctrl.dtsi" 12*724ba675SRob Herring 13*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 14*724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 15*724ba675SRob Herring 16*724ba675SRob Herring/ { 17*724ba675SRob Herring model = "Linux Automation MC-1 board"; 18*724ba675SRob Herring compatible = "lxa,stm32mp157c-mc1", "oct,stm32mp15xx-osd32", "st,stm32mp157"; 19*724ba675SRob Herring 20*724ba675SRob Herring aliases { 21*724ba675SRob Herring ethernet0 = ðernet0; 22*724ba675SRob Herring mmc0 = &sdmmc1; 23*724ba675SRob Herring mmc1 = &sdmmc2; 24*724ba675SRob Herring serial0 = &uart4; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring backlight: backlight { 28*724ba675SRob Herring compatible = "pwm-backlight"; 29*724ba675SRob Herring pwms = <&backlight_pwm 1 100000 PWM_POLARITY_INVERTED>; 30*724ba675SRob Herring brightness-levels = <0 31 63 95 127 159 191 223 255>; 31*724ba675SRob Herring default-brightness-level = <7>; 32*724ba675SRob Herring power-supply = <®_5v2>; /* 3V3_BACKLIGHT */ 33*724ba675SRob Herring }; 34*724ba675SRob Herring 35*724ba675SRob Herring chosen { 36*724ba675SRob Herring stdout-path = &uart4; 37*724ba675SRob Herring }; 38*724ba675SRob Herring 39*724ba675SRob Herring led-controller-0 { 40*724ba675SRob Herring compatible = "gpio-leds"; 41*724ba675SRob Herring 42*724ba675SRob Herring led-0 { 43*724ba675SRob Herring label = "mc1:green:act"; 44*724ba675SRob Herring gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 45*724ba675SRob Herring linux,default-trigger = "heartbeat"; 46*724ba675SRob Herring }; 47*724ba675SRob Herring }; 48*724ba675SRob Herring 49*724ba675SRob Herring led-controller-1 { 50*724ba675SRob Herring compatible = "pwm-leds"; 51*724ba675SRob Herring 52*724ba675SRob Herring /* led-1 to led-3 are part of a single RGB led */ 53*724ba675SRob Herring led-1 { 54*724ba675SRob Herring label = "mc1:red:rgb"; 55*724ba675SRob Herring pwms = <&leds_pwm 1 1000000 0>; 56*724ba675SRob Herring max-brightness = <255>; 57*724ba675SRob Herring active-low; 58*724ba675SRob Herring }; 59*724ba675SRob Herring 60*724ba675SRob Herring led-2 { 61*724ba675SRob Herring label = "mc1:green:rgb"; 62*724ba675SRob Herring pwms = <&leds_pwm 2 1000000 0>; 63*724ba675SRob Herring max-brightness = <255>; 64*724ba675SRob Herring active-low; 65*724ba675SRob Herring }; 66*724ba675SRob Herring 67*724ba675SRob Herring led-3 { 68*724ba675SRob Herring label = "mc1:blue:rgb"; 69*724ba675SRob Herring pwms = <&leds_pwm 3 1000000 0>; 70*724ba675SRob Herring max-brightness = <255>; 71*724ba675SRob Herring active-low; 72*724ba675SRob Herring }; 73*724ba675SRob Herring }; 74*724ba675SRob Herring 75*724ba675SRob Herring panel: panel { 76*724ba675SRob Herring compatible = "edt,etm0700g0edh6"; 77*724ba675SRob Herring backlight = <&backlight>; 78*724ba675SRob Herring enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>; 79*724ba675SRob Herring power-supply = <®_3v3>; 80*724ba675SRob Herring 81*724ba675SRob Herring port { 82*724ba675SRob Herring panel_input: endpoint { 83*724ba675SRob Herring remote-endpoint = <<dc_ep0_out>; 84*724ba675SRob Herring }; 85*724ba675SRob Herring }; 86*724ba675SRob Herring }; 87*724ba675SRob Herring 88*724ba675SRob Herring reg_3v3: regulator_3v3 { 89*724ba675SRob Herring compatible = "regulator-fixed"; 90*724ba675SRob Herring regulator-name = "3V3"; 91*724ba675SRob Herring regulator-min-microvolt = <3300000>; 92*724ba675SRob Herring regulator-max-microvolt = <3300000>; 93*724ba675SRob Herring regulator-always-on; 94*724ba675SRob Herring vin-supply = <&v3v3>; 95*724ba675SRob Herring }; 96*724ba675SRob Herring 97*724ba675SRob Herring /* supplied by either debug board or PoE */ 98*724ba675SRob Herring reg_5v2: regulator_5v2 { 99*724ba675SRob Herring compatible = "regulator-fixed"; 100*724ba675SRob Herring regulator-name = "5V2"; 101*724ba675SRob Herring regulator-min-microvolt = <5200000>; 102*724ba675SRob Herring regulator-max-microvolt = <5200000>; 103*724ba675SRob Herring regulator-always-on; 104*724ba675SRob Herring }; 105*724ba675SRob Herring}; 106*724ba675SRob Herring 107*724ba675SRob Herringðernet0 { 108*724ba675SRob Herring pinctrl-names = "default", "sleep"; 109*724ba675SRob Herring pinctrl-0 = <ðernet0_rgmii_pins_b>; 110*724ba675SRob Herring pinctrl-1 = <ðernet0_rgmii_sleep_pins_b>; 111*724ba675SRob Herring phy-mode = "rgmii-id"; 112*724ba675SRob Herring phy-handle = <ðphy>; 113*724ba675SRob Herring status = "okay"; 114*724ba675SRob Herring 115*724ba675SRob Herring mdio { 116*724ba675SRob Herring compatible = "snps,dwmac-mdio"; 117*724ba675SRob Herring #address-cells = <1>; 118*724ba675SRob Herring #size-cells = <0>; 119*724ba675SRob Herring 120*724ba675SRob Herring ethphy: ethernet-phy@3 { /* KSZ9031RN */ 121*724ba675SRob Herring reg = <3>; 122*724ba675SRob Herring reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ 123*724ba675SRob Herring interrupt-parent = <&gpioa>; 124*724ba675SRob Herring interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */ 125*724ba675SRob Herring reset-assert-us = <10000>; 126*724ba675SRob Herring reset-deassert-us = <300>; 127*724ba675SRob Herring micrel,force-master; 128*724ba675SRob Herring }; 129*724ba675SRob Herring }; 130*724ba675SRob Herring}; 131*724ba675SRob Herring 132*724ba675SRob Herring&gpioz { 133*724ba675SRob Herring gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "", 134*724ba675SRob Herring "HWID4", "HWID5"; 135*724ba675SRob Herring}; 136*724ba675SRob Herring 137*724ba675SRob Herring&i2c5 { 138*724ba675SRob Herring pinctrl-names = "default", "sleep"; 139*724ba675SRob Herring pinctrl-0 = <&i2c5_pins_b>; 140*724ba675SRob Herring pinctrl-1 = <&i2c5_sleep_pins_b>; 141*724ba675SRob Herring clock-frequency = <400000>; 142*724ba675SRob Herring status = "okay"; 143*724ba675SRob Herring 144*724ba675SRob Herring touchscreen@38 { 145*724ba675SRob Herring compatible = "edt,edt-ft5x06"; 146*724ba675SRob Herring interrupt-parent = <&gpiod>; 147*724ba675SRob Herring interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */ 148*724ba675SRob Herring vcc-supply = <®_3v3>; 149*724ba675SRob Herring reg = <0x38>; 150*724ba675SRob Herring reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */ 151*724ba675SRob Herring touchscreen-size-x = <1792>; 152*724ba675SRob Herring touchscreen-size-y = <1024>; 153*724ba675SRob Herring wakeup-source; 154*724ba675SRob Herring }; 155*724ba675SRob Herring}; 156*724ba675SRob Herring 157*724ba675SRob Herring<dc { 158*724ba675SRob Herring pinctrl-names = "default", "sleep"; 159*724ba675SRob Herring pinctrl-0 = <<dc_pins_c>; 160*724ba675SRob Herring pinctrl-1 = <<dc_sleep_pins_c>; 161*724ba675SRob Herring status = "okay"; 162*724ba675SRob Herring 163*724ba675SRob Herring port { 164*724ba675SRob Herring ltdc_ep0_out: endpoint { 165*724ba675SRob Herring remote-endpoint = <&panel_input>; 166*724ba675SRob Herring }; 167*724ba675SRob Herring }; 168*724ba675SRob Herring}; 169*724ba675SRob Herring 170*724ba675SRob Herring&pmic { 171*724ba675SRob Herring regulators { 172*724ba675SRob Herring buck4-supply = <®_5v2>; /* VIN */ 173*724ba675SRob Herring ldo2-supply = <®_5v2>; /* PMIC_LDO25IN */ 174*724ba675SRob Herring ldo5-supply = <®_5v2>; /* PMIC_LDO25IN */ 175*724ba675SRob Herring boost-supply = <®_5v2>; /* PMIC_BSTIN */ 176*724ba675SRob Herring pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */ 177*724ba675SRob Herring }; 178*724ba675SRob Herring}; 179*724ba675SRob Herring 180*724ba675SRob Herring&sdmmc1 { 181*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 182*724ba675SRob Herring pinctrl-0 = <&sdmmc1_b4_pins_a>; 183*724ba675SRob Herring pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 184*724ba675SRob Herring pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 185*724ba675SRob Herring bus-width = <4>; 186*724ba675SRob Herring cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; 187*724ba675SRob Herring disable-wp; 188*724ba675SRob Herring no-1-8-v; 189*724ba675SRob Herring st,neg-edge; 190*724ba675SRob Herring vmmc-supply = <®_3v3>; 191*724ba675SRob Herring status = "okay"; 192*724ba675SRob Herring}; 193*724ba675SRob Herring 194*724ba675SRob Herring&sdmmc1_b4_pins_a { 195*724ba675SRob Herring /* 196*724ba675SRob Herring * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to 197*724ba675SRob Herring * work, thus enable internal pull-ups. 198*724ba675SRob Herring */ 199*724ba675SRob Herring pins1 { 200*724ba675SRob Herring /delete-property/ bias-disable; 201*724ba675SRob Herring bias-pull-up; 202*724ba675SRob Herring }; 203*724ba675SRob Herring pins2 { 204*724ba675SRob Herring /delete-property/ bias-disable; 205*724ba675SRob Herring bias-pull-up; 206*724ba675SRob Herring }; 207*724ba675SRob Herring}; 208*724ba675SRob Herring 209*724ba675SRob Herring&sdmmc2 { 210*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 211*724ba675SRob Herring pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; 212*724ba675SRob Herring pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; 213*724ba675SRob Herring pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; 214*724ba675SRob Herring bus-width = <8>; 215*724ba675SRob Herring mmc-ddr-3_3v; 216*724ba675SRob Herring no-1-8-v; 217*724ba675SRob Herring no-sd; 218*724ba675SRob Herring no-sdio; 219*724ba675SRob Herring non-removable; 220*724ba675SRob Herring st,neg-edge; 221*724ba675SRob Herring vmmc-supply = <®_3v3>; 222*724ba675SRob Herring status = "okay"; 223*724ba675SRob Herring}; 224*724ba675SRob Herring 225*724ba675SRob Herring&timers3 { 226*724ba675SRob Herring status = "okay"; 227*724ba675SRob Herring 228*724ba675SRob Herring backlight_pwm: pwm { 229*724ba675SRob Herring pinctrl-names = "default", "sleep"; 230*724ba675SRob Herring pinctrl-0 = <&pwm3_pins_b>; 231*724ba675SRob Herring pinctrl-1 = <&pwm3_sleep_pins_b>; 232*724ba675SRob Herring status = "okay"; 233*724ba675SRob Herring }; 234*724ba675SRob Herring}; 235*724ba675SRob Herring 236*724ba675SRob Herring&timers5 { 237*724ba675SRob Herring status = "okay"; 238*724ba675SRob Herring 239*724ba675SRob Herring leds_pwm: pwm { 240*724ba675SRob Herring pinctrl-names = "default", "sleep"; 241*724ba675SRob Herring pinctrl-0 = <&pwm5_pins_b>; 242*724ba675SRob Herring pinctrl-1 = <&pwm5_sleep_pins_b>; 243*724ba675SRob Herring status = "okay"; 244*724ba675SRob Herring }; 245*724ba675SRob Herring}; 246*724ba675SRob Herring 247*724ba675SRob Herring&uart4 { 248*724ba675SRob Herring pinctrl-names = "default"; 249*724ba675SRob Herring pinctrl-0 = <&uart4_pins_a>; 250*724ba675SRob Herring /delete-property/dmas; 251*724ba675SRob Herring /delete-property/dma-names; 252*724ba675SRob Herring status = "okay"; 253*724ba675SRob Herring}; 254