PageRenderTime 63ms CodeModel.GetById 35ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/arm/boot/dts/stm32mp15xx-dhcom-drc02.dtsi

https://github.com/tiwai/sound
Device Tree | 169 lines | 115 code | 22 blank | 32 comment | 0 complexity | 8a92a5ae34c0cbfe132fb83d7be0bf8b MD5 | raw file
  1. // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
  2. /*
  3. * Copyright (C) 2020 Marek Vasut <marex@denx.de>
  4. */
  5. #include <dt-bindings/input/input.h>
  6. #include <dt-bindings/pwm/pwm.h>
  7. / {
  8. aliases {
  9. serial0 = &uart4;
  10. serial1 = &usart3;
  11. serial2 = &uart8;
  12. };
  13. chosen {
  14. stdout-path = "serial0:115200n8";
  15. };
  16. };
  17. &adc {
  18. status = "disabled";
  19. };
  20. &dac {
  21. status = "disabled";
  22. };
  23. &gpiob {
  24. /*
  25. * NOTE: On DRC02, the RS485_RX_En is controlled by a separate
  26. * GPIO line, however the STM32 UART driver assumes RX happens
  27. * during TX anyway and that it only controls drive enable DE
  28. * line. Hence, the RX is always enabled here.
  29. */
  30. rs485-rx-en-hog {
  31. gpio-hog;
  32. gpios = <8 0>;
  33. output-low;
  34. line-name = "rs485-rx-en";
  35. };
  36. };
  37. &gpiod {
  38. gpio-line-names = "", "", "", "",
  39. "", "", "DHCOM-B", "",
  40. "", "", "", "DRC02-Out1",
  41. "DRC02-Out2", "", "", "";
  42. };
  43. &gpioi {
  44. gpio-line-names = "DRC02-In1", "DHCOM-O", "DHCOM-H", "DHCOM-I",
  45. "DHCOM-R", "DHCOM-M", "", "",
  46. "DRC02-In2", "", "", "",
  47. "", "", "", "";
  48. /*
  49. * NOTE: The USB Hub on the DRC02 needs a reset signal to be
  50. * pulled high in order to be detected by the USB Controller.
  51. * This signal should be handled by USB power sequencing in
  52. * order to reset the Hub when USB bus is powered down, but
  53. * so far there is no such functionality.
  54. */
  55. usb-hub-hog {
  56. gpio-hog;
  57. gpios = <2 0>;
  58. output-high;
  59. line-name = "usb-hub-reset";
  60. };
  61. };
  62. &i2c2 {
  63. pinctrl-names = "default";
  64. pinctrl-0 = <&i2c2_pins_a>;
  65. i2c-scl-rising-time-ns = <185>;
  66. i2c-scl-falling-time-ns = <20>;
  67. status = "okay";
  68. /* spare dmas for other usage */
  69. /delete-property/dmas;
  70. /delete-property/dma-names;
  71. status = "okay";
  72. eeprom@50 {
  73. compatible = "atmel,24c04";
  74. reg = <0x50>;
  75. pagesize = <16>;
  76. };
  77. };
  78. &i2c4 {
  79. touchscreen@49 {
  80. status = "disabled";
  81. };
  82. };
  83. &i2c5 { /* TP7/TP8 */
  84. pinctrl-names = "default";
  85. pinctrl-0 = <&i2c5_pins_a>;
  86. i2c-scl-rising-time-ns = <185>;
  87. i2c-scl-falling-time-ns = <20>;
  88. status = "okay";
  89. /* spare dmas for other usage */
  90. /delete-property/dmas;
  91. /delete-property/dma-names;
  92. };
  93. &sdmmc3 {
  94. /*
  95. * On DRC02, the SoM does not have SDIO WiFi. The pins
  96. * are used for on-board microSD slot instead.
  97. */
  98. /delete-property/broken-cd;
  99. cd-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>;
  100. disable-wp;
  101. };
  102. &spi1 {
  103. pinctrl-names = "default";
  104. pinctrl-0 = <&spi1_pins_a>;
  105. cs-gpios = <&gpioz 3 0>;
  106. /* Use PIO for the display */
  107. /delete-property/dmas;
  108. /delete-property/dma-names;
  109. status = "disabled"; /* Enable once there is display driver */
  110. /*
  111. * Note: PF3/GPIO_A , PD6/GPIO_B , PG0/GPIO_C , PC6/GPIO_E are
  112. * also connected to the display board connector.
  113. */
  114. };
  115. &usart3 {
  116. pinctrl-names = "default";
  117. pinctrl-0 = <&usart3_pins_a>;
  118. /delete-property/dmas;
  119. /delete-property/dma-names;
  120. status = "okay";
  121. };
  122. /*
  123. * Note: PI3 is UART1_RTS and PI5 is UART1_CTS on DRC02 (uart4 of STM32MP1),
  124. * however the STM32MP1 pinmux cannot map them to UART4 .
  125. */
  126. &uart8 { /* RS485 */
  127. linux,rs485-enabled-at-boot-time;
  128. pinctrl-names = "default";
  129. pinctrl-0 = <&uart8_pins_a>;
  130. rts-gpios = <&gpioe 6 GPIO_ACTIVE_HIGH>;
  131. /delete-property/dmas;
  132. /delete-property/dma-names;
  133. status = "okay";
  134. };
  135. &usbh_ehci {
  136. phys = <&usbphyc_port0>;
  137. status = "okay";
  138. };
  139. &usbphyc {
  140. status = "okay";
  141. };
  142. &usbphyc_port0 {
  143. phy-supply = <&vdd_usb>;
  144. };
  145. &usbphyc_port1 {
  146. phy-supply = <&vdd_usb>;
  147. };