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