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