Jagan Teki | 46f44b5 | 2021-03-16 21:52:07 +0530 | [diff] [blame] | 1 | // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) |
| 2 | /* |
| 3 | * Copyright (c) STMicroelectronics 2019 - All Rights Reserved |
| 4 | * Copyright (c) 2020 Engicam srl |
| 5 | * Copyright (c) 2020 Amarula Solutons(India) |
| 6 | */ |
| 7 | |
| 8 | /dts-v1/; |
| 9 | #include "stm32mp157.dtsi" |
| 10 | #include "stm32mp157a-microgea-stm32mp1.dtsi" |
| 11 | #include "stm32mp15-pinctrl.dtsi" |
| 12 | #include "stm32mp15xxaa-pinctrl.dtsi" |
| 13 | #include <dt-bindings/gpio/gpio.h> |
| 14 | |
| 15 | / { |
| 16 | model = "Engicam MicroGEA STM32MP1 MicroDev 2.0 7\" Open Frame"; |
| 17 | compatible = "engicam,microgea-stm32mp1-microdev2.0-of7", |
| 18 | "engicam,microgea-stm32mp1", "st,stm32mp157"; |
| 19 | |
| 20 | aliases { |
| 21 | serial0 = &uart4; |
| 22 | serial1 = &uart8; |
| 23 | }; |
| 24 | |
| 25 | chosen { |
| 26 | stdout-path = "serial0:115200n8"; |
| 27 | }; |
| 28 | |
| 29 | backlight: backlight { |
| 30 | compatible = "gpio-backlight"; |
| 31 | gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>; |
| 32 | default-on; |
| 33 | }; |
| 34 | |
| 35 | lcd_3v3: regulator-lcd-3v3 { |
| 36 | compatible = "regulator-fixed"; |
| 37 | regulator-name = "lcd_3v3"; |
| 38 | regulator-min-microvolt = <3300000>; |
| 39 | regulator-max-microvolt = <3300000>; |
| 40 | gpio = <&gpiof 10 GPIO_ACTIVE_HIGH>; |
| 41 | enable-active-high; |
| 42 | regulator-always-on; |
| 43 | power-supply = <&panel_pwr>; |
| 44 | }; |
| 45 | |
| 46 | panel_pwr: regulator-panel-pwr { |
| 47 | compatible = "regulator-fixed"; |
| 48 | regulator-name = "panel_pwr"; |
| 49 | regulator-min-microvolt = <3300000>; |
| 50 | regulator-max-microvolt = <3300000>; |
| 51 | gpio = <&gpiob 10 GPIO_ACTIVE_HIGH>; |
| 52 | regulator-always-on; |
| 53 | }; |
| 54 | |
| 55 | panel { |
| 56 | compatible = "auo,b101aw03"; |
| 57 | backlight = <&backlight>; |
| 58 | enable-gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>; |
| 59 | power-supply = <&lcd_3v3>; |
| 60 | |
| 61 | port { |
| 62 | panel_in: endpoint { |
| 63 | remote-endpoint = <<dc_ep0_out>; |
| 64 | }; |
| 65 | }; |
| 66 | }; |
| 67 | }; |
| 68 | |
| 69 | &i2c2 { |
| 70 | i2c-scl-falling-time-ns = <20>; |
| 71 | i2c-scl-rising-time-ns = <185>; |
| 72 | pinctrl-names = "default", "sleep"; |
| 73 | pinctrl-0 = <&i2c2_pins_a>; |
| 74 | pinctrl-1 = <&i2c2_sleep_pins_a>; |
| 75 | status = "okay"; |
| 76 | }; |
| 77 | |
| 78 | <dc { |
| 79 | pinctrl-names = "default"; |
| 80 | pinctrl-0 = <<dc_pins>; |
| 81 | status = "okay"; |
| 82 | |
| 83 | port { |
| 84 | ltdc_ep0_out: endpoint@0 { |
| 85 | reg = <0>; |
| 86 | remote-endpoint = <&panel_in>; |
| 87 | }; |
| 88 | }; |
| 89 | }; |
| 90 | |
| 91 | &pinctrl { |
Patrick Delaunay | b22fa9d | 2021-07-27 12:15:12 +0200 | [diff] [blame] | 92 | ltdc_pins: ltdc-0 { |
Jagan Teki | 46f44b5 | 2021-03-16 21:52:07 +0530 | [diff] [blame] | 93 | pins { |
| 94 | pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */ |
| 95 | <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */ |
| 96 | <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */ |
| 97 | <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */ |
| 98 | <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */ |
| 99 | <STM32_PINMUX('E', 5, AF14)>, /* LTDC_G0 */ |
| 100 | <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */ |
| 101 | <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */ |
| 102 | <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */ |
| 103 | <STM32_PINMUX('G', 7, AF14)>, /* LTDC_CLK */ |
| 104 | <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */ |
| 105 | <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */ |
| 106 | <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */ |
| 107 | <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */ |
| 108 | <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */ |
| 109 | <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */ |
| 110 | <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */ |
| 111 | <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */ |
| 112 | <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */ |
| 113 | <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */ |
| 114 | <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */ |
| 115 | <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */ |
| 116 | <STM32_PINMUX('I', 4, AF14)>, /* LTDC_B4 */ |
| 117 | <STM32_PINMUX('I', 5, AF14)>, /* LTDC_B5 */ |
| 118 | <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */ |
| 119 | <STM32_PINMUX('I', 7, AF14)>, /* LTDC_B7 */ |
| 120 | <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */ |
| 121 | <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */ |
| 122 | bias-disable; |
| 123 | drive-push-pull; |
| 124 | slew-rate = <3>; |
| 125 | }; |
| 126 | }; |
| 127 | }; |
| 128 | |
| 129 | &sdmmc1 { |
| 130 | bus-width = <4>; |
| 131 | disable-wp; |
| 132 | pinctrl-names = "default", "opendrain", "sleep"; |
| 133 | pinctrl-0 = <&sdmmc1_b4_pins_a>; |
| 134 | pinctrl-1 = <&sdmmc1_b4_od_pins_a>; |
| 135 | pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; |
| 136 | st,neg-edge; |
| 137 | vmmc-supply = <&vdd>; |
| 138 | status = "okay"; |
| 139 | }; |
| 140 | |
| 141 | &uart4 { |
| 142 | pinctrl-names = "default", "sleep", "idle"; |
| 143 | pinctrl-0 = <&uart4_pins_a>; |
| 144 | pinctrl-1 = <&uart4_sleep_pins_a>; |
| 145 | pinctrl-2 = <&uart4_idle_pins_a>; |
| 146 | status = "okay"; |
| 147 | }; |
| 148 | |
| 149 | /* J31: RS323 */ |
| 150 | &uart8 { |
| 151 | pinctrl-names = "default"; |
| 152 | pinctrl-0 = <&uart8_pins_a>; |
| 153 | status = "okay"; |
| 154 | }; |