stm32mp157a-microgea-stm32mp1-microdev2.0-of7.dts 4.0 KB

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