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", "oct,stm32mp15xx-osd32", "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-controller-0 { 40 compatible = "gpio-leds"; 41 42 led-0 { 43 label = "mc1:green:act"; 44 gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 45 linux,default-trigger = "heartbeat"; 46 }; 47 }; 48 49 led-controller-1 { 50 compatible = "pwm-leds"; 51 52 /* led-1 to led-3 are part of a single RGB led */ 53 led-1 { 54 label = "mc1:red:rgb"; 55 pwms = <&leds_pwm 1 1000000 0>; 56 max-brightness = <255>; 57 active-low; 58 }; 59 60 led-2 { 61 label = "mc1:green:rgb"; 62 pwms = <&leds_pwm 2 1000000 0>; 63 max-brightness = <255>; 64 active-low; 65 }; 66 67 led-3 { 68 label = "mc1:blue:rgb"; 69 pwms = <&leds_pwm 3 1000000 0>; 70 max-brightness = <255>; 71 active-low; 72 }; 73 }; 74 75 panel: panel { 76 compatible = "edt,etm0700g0edh6"; 77 backlight = <&backlight>; 78 enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>; 79 power-supply = <®_3v3>; 80 81 port { 82 panel_input: endpoint { 83 remote-endpoint = <<dc_ep0_out>; 84 }; 85 }; 86 }; 87 88 reg_3v3: regulator_3v3 { 89 compatible = "regulator-fixed"; 90 regulator-name = "3V3"; 91 regulator-min-microvolt = <3300000>; 92 regulator-max-microvolt = <3300000>; 93 regulator-always-on; 94 vin-supply = <&v3v3>; 95 }; 96 97 /* supplied by either debug board or PoE */ 98 reg_5v2: regulator_5v2 { 99 compatible = "regulator-fixed"; 100 regulator-name = "5V2"; 101 regulator-min-microvolt = <5200000>; 102 regulator-max-microvolt = <5200000>; 103 regulator-always-on; 104 }; 105}; 106 107ðernet0 { 108 pinctrl-names = "default", "sleep"; 109 pinctrl-0 = <ðernet0_rgmii_pins_b>; 110 pinctrl-1 = <ðernet0_rgmii_sleep_pins_b>; 111 phy-mode = "rgmii-id"; 112 phy-handle = <ðphy>; 113 status = "okay"; 114 115 mdio { 116 compatible = "snps,dwmac-mdio"; 117 #address-cells = <1>; 118 #size-cells = <0>; 119 120 ethphy: ethernet-phy@3 { /* KSZ9031RN */ 121 reg = <3>; 122 reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ 123 interrupt-parent = <&gpioa>; 124 interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */ 125 reset-assert-us = <10000>; 126 reset-deassert-us = <300>; 127 micrel,force-master; 128 }; 129 }; 130}; 131 132&gpioz { 133 gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "", 134 "HWID4", "HWID5"; 135}; 136 137&i2c5 { 138 pinctrl-names = "default", "sleep"; 139 pinctrl-0 = <&i2c5_pins_b>; 140 pinctrl-1 = <&i2c5_sleep_pins_b>; 141 clock-frequency = <400000>; 142 status = "okay"; 143 144 touchscreen@38 { 145 compatible = "edt,edt-ft5x06"; 146 interrupt-parent = <&gpiod>; 147 interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */ 148 vcc-supply = <®_3v3>; 149 reg = <0x38>; 150 reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */ 151 touchscreen-size-x = <1792>; 152 touchscreen-size-y = <1024>; 153 wakeup-source; 154 }; 155}; 156 157<dc { 158 pinctrl-names = "default", "sleep"; 159 pinctrl-0 = <<dc_pins_c>; 160 pinctrl-1 = <<dc_sleep_pins_c>; 161 status = "okay"; 162 163 port { 164 ltdc_ep0_out: endpoint { 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 /delete-property/dmas; 251 /delete-property/dma-names; 252 status = "okay"; 253}; 254