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", "simple-panel"; 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 mdio0 { 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@0 { 165 reg = <0>; 166 remote-endpoint = <&panel_input>; 167 }; 168 }; 169}; 170 171&pmic { 172 regulators { 173 buck4-supply = <®_5v2>; /* VIN */ 174 ldo2-supply = <®_5v2>; /* PMIC_LDO25IN */ 175 ldo5-supply = <®_5v2>; /* PMIC_LDO25IN */ 176 boost-supply = <®_5v2>; /* PMIC_BSTIN */ 177 pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */ 178 }; 179}; 180 181&sdmmc1 { 182 pinctrl-names = "default", "opendrain", "sleep"; 183 pinctrl-0 = <&sdmmc1_b4_pins_a>; 184 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 185 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 186 bus-width = <4>; 187 cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; 188 disable-wp; 189 no-1-8-v; 190 st,neg-edge; 191 vmmc-supply = <®_3v3>; 192 status = "okay"; 193}; 194 195&sdmmc1_b4_pins_a { 196 /* 197 * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to 198 * work, thus enable internal pull-ups. 199 */ 200 pins1 { 201 /delete-property/ bias-disable; 202 bias-pull-up; 203 }; 204 pins2 { 205 /delete-property/ bias-disable; 206 bias-pull-up; 207 }; 208}; 209 210&sdmmc2 { 211 pinctrl-names = "default", "opendrain", "sleep"; 212 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; 213 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; 214 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; 215 bus-width = <8>; 216 mmc-ddr-3_3v; 217 no-1-8-v; 218 no-sd; 219 no-sdio; 220 non-removable; 221 st,neg-edge; 222 vmmc-supply = <®_3v3>; 223 status = "okay"; 224}; 225 226&timers3 { 227 status = "okay"; 228 229 backlight_pwm: pwm { 230 pinctrl-names = "default", "sleep"; 231 pinctrl-0 = <&pwm3_pins_b>; 232 pinctrl-1 = <&pwm3_sleep_pins_b>; 233 status = "okay"; 234 }; 235}; 236 237&timers5 { 238 status = "okay"; 239 240 leds_pwm: pwm { 241 pinctrl-names = "default", "sleep"; 242 pinctrl-0 = <&pwm5_pins_b>; 243 pinctrl-1 = <&pwm5_sleep_pins_b>; 244 status = "okay"; 245 }; 246}; 247 248&uart4 { 249 pinctrl-names = "default"; 250 pinctrl-0 = <&uart4_pins_a>; 251 status = "okay"; 252}; 253