Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
0002 /*
0003  * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
0004  * Copyright (c) 2020 Engicam srl
0005  * Copyright (c) 2020 Amarula Solutons(India)
0006  */
0007 
0008 /dts-v1/;
0009 #include "stm32mp157.dtsi"
0010 #include "stm32mp157a-microgea-stm32mp1.dtsi"
0011 #include "stm32mp15-pinctrl.dtsi"
0012 #include "stm32mp15xxaa-pinctrl.dtsi"
0013 #include <dt-bindings/gpio/gpio.h>
0014 
0015 / {
0016         model = "Engicam MicroGEA STM32MP1 MicroDev 2.0 7\" Open Frame";
0017         compatible = "engicam,microgea-stm32mp1-microdev2.0-of7",
0018                      "engicam,microgea-stm32mp1", "st,stm32mp157";
0019 
0020         aliases {
0021                 serial0 = &uart4;
0022                 serial1 = &uart8;
0023         };
0024 
0025         chosen {
0026                 stdout-path = "serial0:115200n8";
0027         };
0028 
0029         backlight: backlight {
0030                 compatible = "gpio-backlight";
0031                 gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>;
0032                 default-on;
0033         };
0034 
0035         lcd_3v3: regulator-lcd-3v3 {
0036                 compatible = "regulator-fixed";
0037                 regulator-name = "lcd_3v3";
0038                 regulator-min-microvolt = <3300000>;
0039                 regulator-max-microvolt = <3300000>;
0040                 gpio = <&gpiof 10 GPIO_ACTIVE_HIGH>;
0041                 enable-active-high;
0042                 regulator-always-on;
0043                 power-supply = <&panel_pwr>;
0044         };
0045 
0046         panel_pwr: regulator-panel-pwr {
0047                 compatible = "regulator-fixed";
0048                 regulator-name = "panel_pwr";
0049                 regulator-min-microvolt = <3300000>;
0050                 regulator-max-microvolt = <3300000>;
0051                 gpio = <&gpiob 10 GPIO_ACTIVE_HIGH>;
0052                 regulator-always-on;
0053         };
0054 
0055         panel {
0056                 compatible = "auo,b101aw03";
0057                 backlight = <&backlight>;
0058                 enable-gpios = <&gpiof 2 GPIO_ACTIVE_HIGH>;
0059                 power-supply = <&lcd_3v3>;
0060 
0061                 port {
0062                         panel_in: endpoint {
0063                                 remote-endpoint = <&ltdc_ep0_out>;
0064                         };
0065                 };
0066         };
0067 };
0068 
0069 &i2c2 {
0070         i2c-scl-falling-time-ns = <20>;
0071         i2c-scl-rising-time-ns = <185>;
0072         pinctrl-names = "default", "sleep";
0073         pinctrl-0 = <&i2c2_pins_a>;
0074         pinctrl-1 = <&i2c2_sleep_pins_a>;
0075         status = "okay";
0076 };
0077 
0078 &ltdc {
0079         pinctrl-names = "default";
0080         pinctrl-0 = <&ltdc_pins>;
0081         status = "okay";
0082 
0083         port {
0084                 ltdc_ep0_out: endpoint@0 {
0085                         reg = <0>;
0086                         remote-endpoint = <&panel_in>;
0087                 };
0088         };
0089 };
0090 
0091 &pinctrl {
0092         ltdc_pins: ltdc-0 {
0093                 pins {
0094                         pinmux = <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
0095                                  <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
0096                                  <STM32_PINMUX('H', 11, AF14)>, /* LTDC_R5 */
0097                                  <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
0098                                  <STM32_PINMUX('D', 9, AF14)>,  /* LTDC_B0 */
0099                                  <STM32_PINMUX('E', 5, AF14)>,  /* LTDC_G0 */
0100                                  <STM32_PINMUX('E', 6, AF14)>,  /* LTDC_G1 */
0101                                  <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
0102                                  <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
0103                                  <STM32_PINMUX('G', 7, AF14)>,  /* LTDC_CLK */
0104                                  <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
0105                                  <STM32_PINMUX('H', 2, AF14)>,  /* LTDC_R0 */
0106                                  <STM32_PINMUX('H', 3, AF14)>,  /* LTDC_R1 */
0107                                  <STM32_PINMUX('H', 8, AF14)>,  /* LTDC_R2 */
0108                                  <STM32_PINMUX('H', 9, AF14)>,  /* LTDC_R3 */
0109                                  <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
0110                                  <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
0111                                  <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
0112                                  <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
0113                                  <STM32_PINMUX('I', 0, AF14)>,  /* LTDC_G5 */
0114                                  <STM32_PINMUX('I', 1, AF14)>,  /* LTDC_G6 */
0115                                  <STM32_PINMUX('I', 2, AF14)>,  /* LTDC_G7 */
0116                                  <STM32_PINMUX('I', 4, AF14)>,  /* LTDC_B4 */
0117                                  <STM32_PINMUX('I', 5, AF14)>,  /* LTDC_B5 */
0118                                  <STM32_PINMUX('B', 8, AF14)>,  /* LTDC_B6 */
0119                                  <STM32_PINMUX('I', 7, AF14)>,  /* LTDC_B7 */
0120                                  <STM32_PINMUX('I', 9, AF14)>,  /* LTDC_VSYNC */
0121                                  <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
0122                         bias-disable;
0123                         drive-push-pull;
0124                         slew-rate = <3>;
0125                 };
0126         };
0127 };
0128 
0129 &sdmmc1 {
0130         bus-width = <4>;
0131         disable-wp;
0132         pinctrl-names = "default", "opendrain", "sleep";
0133         pinctrl-0 = <&sdmmc1_b4_pins_a>;
0134         pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
0135         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
0136         st,neg-edge;
0137         vmmc-supply = <&vdd>;
0138         status = "okay";
0139 };
0140 
0141 &uart4 {
0142         pinctrl-names = "default", "sleep", "idle";
0143         pinctrl-0 = <&uart4_pins_a>;
0144         pinctrl-1 = <&uart4_sleep_pins_a>;
0145         pinctrl-2 = <&uart4_idle_pins_a>;
0146         /delete-property/dmas;
0147         /delete-property/dma-names;
0148         status = "okay";
0149 };
0150 
0151 /* J31: RS323 */
0152 &uart8 {
0153         pinctrl-names = "default";
0154         pinctrl-0 = <&uart8_pins_a>;
0155         /delete-property/dmas;
0156         /delete-property/dma-names;
0157         status = "okay";
0158 };