| /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */ |
| /* |
| * Copyright (C) 2020 STMicroelectronics - All Rights Reserved |
| * Copyright (C) 2020 Ahmad Fatoum, Pengutronix |
| */ |
| |
| /dts-v1/; |
| |
| #include "stm32mp157.dtsi" |
| #include "stm32mp15xx-osd32.dtsi" |
| #include "stm32mp15xxac-pinctrl.dtsi" |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/pwm/pwm.h> |
| |
| / { |
| model = "Linux Automation MC-1 board"; |
| compatible = "lxa,stm32mp157c-mc1", "oct,stm32mp15xx-osd32", "st,stm32mp157"; |
| |
| aliases { |
| ethernet0 = ðernet0; |
| mmc0 = &sdmmc1; |
| mmc1 = &sdmmc2; |
| serial0 = &uart4; |
| }; |
| |
| backlight: backlight { |
| compatible = "pwm-backlight"; |
| pwms = <&backlight_pwm 1 100000 PWM_POLARITY_INVERTED>; |
| brightness-levels = <0 31 63 95 127 159 191 223 255>; |
| default-brightness-level = <7>; |
| power-supply = <®_5v2>; /* 3V3_BACKLIGHT */ |
| }; |
| |
| chosen { |
| stdout-path = &uart4; |
| }; |
| |
| led-controller-0 { |
| compatible = "gpio-leds"; |
| |
| led-0 { |
| label = "mc1:green:act"; |
| gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; |
| linux,default-trigger = "heartbeat"; |
| }; |
| }; |
| |
| led-controller-1 { |
| compatible = "pwm-leds"; |
| |
| /* led-1 to led-3 are part of a single RGB led */ |
| led-1 { |
| label = "mc1:red:rgb"; |
| pwms = <&leds_pwm 1 1000000 0>; |
| max-brightness = <255>; |
| active-low; |
| }; |
| |
| led-2 { |
| label = "mc1:green:rgb"; |
| pwms = <&leds_pwm 2 1000000 0>; |
| max-brightness = <255>; |
| active-low; |
| }; |
| |
| led-3 { |
| label = "mc1:blue:rgb"; |
| pwms = <&leds_pwm 3 1000000 0>; |
| max-brightness = <255>; |
| active-low; |
| }; |
| }; |
| |
| panel: panel { |
| compatible = "edt,etm0700g0edh6"; |
| backlight = <&backlight>; |
| enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>; |
| power-supply = <®_3v3>; |
| |
| port { |
| panel_input: endpoint { |
| remote-endpoint = <<dc_ep0_out>; |
| }; |
| }; |
| }; |
| |
| reg_3v3: regulator_3v3 { |
| compatible = "regulator-fixed"; |
| regulator-name = "3V3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| vin-supply = <&v3v3>; |
| }; |
| |
| /* supplied by either debug board or PoE */ |
| reg_5v2: regulator_5v2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "5V2"; |
| regulator-min-microvolt = <5200000>; |
| regulator-max-microvolt = <5200000>; |
| regulator-always-on; |
| }; |
| }; |
| |
| ðernet0 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <ðernet0_rgmii_pins_b>; |
| pinctrl-1 = <ðernet0_rgmii_sleep_pins_b>; |
| phy-mode = "rgmii-id"; |
| phy-handle = <ðphy>; |
| status = "okay"; |
| |
| mdio { |
| compatible = "snps,dwmac-mdio"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| ethphy: ethernet-phy@3 { /* KSZ9031RN */ |
| reg = <3>; |
| reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ |
| interrupt-parent = <&gpioa>; |
| interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */ |
| reset-assert-us = <10000>; |
| reset-deassert-us = <300>; |
| micrel,force-master; |
| }; |
| }; |
| }; |
| |
| &gpioz { |
| gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "", |
| "HWID4", "HWID5"; |
| }; |
| |
| &i2c5 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&i2c5_pins_b>; |
| pinctrl-1 = <&i2c5_sleep_pins_b>; |
| clock-frequency = <400000>; |
| status = "okay"; |
| |
| touchscreen@38 { |
| compatible = "edt,edt-ft5x06"; |
| interrupt-parent = <&gpiod>; |
| interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */ |
| vcc-supply = <®_3v3>; |
| reg = <0x38>; |
| reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */ |
| touchscreen-size-x = <1792>; |
| touchscreen-size-y = <1024>; |
| wakeup-source; |
| }; |
| }; |
| |
| <dc { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <<dc_pins_c>; |
| pinctrl-1 = <<dc_sleep_pins_c>; |
| status = "okay"; |
| |
| port { |
| ltdc_ep0_out: endpoint { |
| remote-endpoint = <&panel_input>; |
| }; |
| }; |
| }; |
| |
| &pmic { |
| regulators { |
| buck4-supply = <®_5v2>; /* VIN */ |
| ldo2-supply = <®_5v2>; /* PMIC_LDO25IN */ |
| ldo5-supply = <®_5v2>; /* PMIC_LDO25IN */ |
| boost-supply = <®_5v2>; /* PMIC_BSTIN */ |
| pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */ |
| }; |
| }; |
| |
| &sdmmc1 { |
| pinctrl-names = "default", "opendrain", "sleep"; |
| pinctrl-0 = <&sdmmc1_b4_pins_a>; |
| pinctrl-1 = <&sdmmc1_b4_od_pins_a>; |
| pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; |
| bus-width = <4>; |
| cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; |
| disable-wp; |
| no-1-8-v; |
| st,neg-edge; |
| vmmc-supply = <®_3v3>; |
| status = "okay"; |
| }; |
| |
| &sdmmc1_b4_pins_a { |
| /* |
| * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to |
| * work, thus enable internal pull-ups. |
| */ |
| pins1 { |
| /delete-property/ bias-disable; |
| bias-pull-up; |
| }; |
| pins2 { |
| /delete-property/ bias-disable; |
| bias-pull-up; |
| }; |
| }; |
| |
| &sdmmc2 { |
| pinctrl-names = "default", "opendrain", "sleep"; |
| pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; |
| pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; |
| pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; |
| bus-width = <8>; |
| mmc-ddr-3_3v; |
| no-1-8-v; |
| no-sd; |
| no-sdio; |
| non-removable; |
| st,neg-edge; |
| vmmc-supply = <®_3v3>; |
| status = "okay"; |
| }; |
| |
| &timers3 { |
| status = "okay"; |
| |
| backlight_pwm: pwm { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&pwm3_pins_b>; |
| pinctrl-1 = <&pwm3_sleep_pins_b>; |
| status = "okay"; |
| }; |
| }; |
| |
| &timers5 { |
| status = "okay"; |
| |
| leds_pwm: pwm { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&pwm5_pins_b>; |
| pinctrl-1 = <&pwm5_sleep_pins_b>; |
| status = "okay"; |
| }; |
| }; |
| |
| &uart4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart4_pins_a>; |
| /delete-property/dmas; |
| /delete-property/dma-names; |
| status = "okay"; |
| }; |