stm32mp25-pinctrl.dtsi 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
  2. /*
  3. * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
  4. * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
  5. */
  6. #include <dt-bindings/pinctrl/stm32-pinfunc.h>
  7. &pinctrl {
  8. eth2_rgmii_pins_a: eth2-rgmii-0 {
  9. pins1 {
  10. pinmux = <STM32_PINMUX('C', 7, AF10)>, /* ETH_RGMII_TXD0 */
  11. <STM32_PINMUX('C', 8, AF10)>, /* ETH_RGMII_TXD1 */
  12. <STM32_PINMUX('C', 9, AF10)>, /* ETH_RGMII_TXD2 */
  13. <STM32_PINMUX('C', 10, AF10)>, /* ETH_RGMII_TXD3 */
  14. <STM32_PINMUX('C', 4, AF10)>; /* ETH_RGMII_TX_CTL */
  15. bias-disable;
  16. drive-push-pull;
  17. slew-rate = <3>;
  18. };
  19. pins2 {
  20. pinmux = <STM32_PINMUX('F', 8, AF10)>, /* ETH_RGMII_CLK125 */
  21. <STM32_PINMUX('F', 7, AF10)>, /* ETH_RGMII_GTX_CLK */
  22. <STM32_PINMUX('C', 6, AF10)>; /* ETH_MDC */
  23. bias-disable;
  24. drive-push-pull;
  25. slew-rate = <3>;
  26. };
  27. pins3 {
  28. pinmux = <STM32_PINMUX('C', 5, AF10)>; /* ETH_MDIO */
  29. bias-disable;
  30. drive-push-pull;
  31. slew-rate = <0>;
  32. };
  33. pins4 {
  34. pinmux = <STM32_PINMUX('G', 0, AF10)>, /* ETH_RGMII_RXD0 */
  35. <STM32_PINMUX('C', 12, AF10)>, /* ETH_RGMII_RXD1 */
  36. <STM32_PINMUX('F', 9, AF10)>, /* ETH_RGMII_RXD2 */
  37. <STM32_PINMUX('C', 11, AF10)>, /* ETH_RGMII_RXD3 */
  38. <STM32_PINMUX('C', 3, AF10)>; /* ETH_RGMII_RX_CTL */
  39. bias-disable;
  40. };
  41. pins5 {
  42. pinmux = <STM32_PINMUX('F', 6, AF10)>; /* ETH_RGMII_RX_CLK */
  43. bias-disable;
  44. };
  45. };
  46. eth2_rgmii_sleep_pins_a: eth2-rgmii-sleep-0 {
  47. pins {
  48. pinmux = <STM32_PINMUX('C', 7, ANALOG)>, /* ETH_RGMII_TXD0 */
  49. <STM32_PINMUX('C', 8, ANALOG)>, /* ETH_RGMII_TXD1 */
  50. <STM32_PINMUX('C', 9, ANALOG)>, /* ETH_RGMII_TXD2 */
  51. <STM32_PINMUX('C', 10, ANALOG)>, /* ETH_RGMII_TXD3 */
  52. <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_TX_CTL */
  53. <STM32_PINMUX('F', 8, ANALOG)>, /* ETH_RGMII_CLK125 */
  54. <STM32_PINMUX('F', 7, ANALOG)>, /* ETH_RGMII_GTX_CLK */
  55. <STM32_PINMUX('C', 6, ANALOG)>, /* ETH_MDC */
  56. <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_MDIO */
  57. <STM32_PINMUX('G', 0, ANALOG)>, /* ETH_RGMII_RXD0 */
  58. <STM32_PINMUX('C', 12, ANALOG)>, /* ETH_RGMII_RXD1 */
  59. <STM32_PINMUX('F', 9, ANALOG)>, /* ETH_RGMII_RXD2 */
  60. <STM32_PINMUX('C', 11, ANALOG)>, /* ETH_RGMII_RXD3 */
  61. <STM32_PINMUX('C', 3, ANALOG)>, /* ETH_RGMII_RX_CTL */
  62. <STM32_PINMUX('F', 6, ANALOG)>; /* ETH_RGMII_RX_CLK */
  63. };
  64. };
  65. i2c2_pins_a: i2c2-0 {
  66. pins {
  67. pinmux = <STM32_PINMUX('B', 5, AF9)>, /* I2C2_SCL */
  68. <STM32_PINMUX('B', 4, AF9)>; /* I2C2_SDA */
  69. bias-disable;
  70. drive-open-drain;
  71. slew-rate = <0>;
  72. };
  73. };
  74. i2c2_sleep_pins_a: i2c2-sleep-0 {
  75. pins {
  76. pinmux = <STM32_PINMUX('B', 5, ANALOG)>, /* I2C2_SCL */
  77. <STM32_PINMUX('B', 4, ANALOG)>; /* I2C2_SDA */
  78. };
  79. };
  80. sdmmc1_b4_pins_a: sdmmc1-b4-0 {
  81. pins1 {
  82. pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */
  83. <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */
  84. <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */
  85. <STM32_PINMUX('E', 1, AF10)>, /* SDMMC1_D3 */
  86. <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */
  87. slew-rate = <2>;
  88. drive-push-pull;
  89. bias-disable;
  90. };
  91. pins2 {
  92. pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */
  93. slew-rate = <3>;
  94. drive-push-pull;
  95. bias-disable;
  96. };
  97. };
  98. sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
  99. pins1 {
  100. pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */
  101. <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */
  102. <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */
  103. <STM32_PINMUX('E', 1, AF10)>; /* SDMMC1_D3 */
  104. slew-rate = <2>;
  105. drive-push-pull;
  106. bias-disable;
  107. };
  108. pins2 {
  109. pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */
  110. slew-rate = <3>;
  111. drive-push-pull;
  112. bias-disable;
  113. };
  114. pins3 {
  115. pinmux = <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */
  116. slew-rate = <2>;
  117. drive-open-drain;
  118. bias-disable;
  119. };
  120. };
  121. sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
  122. pins {
  123. pinmux = <STM32_PINMUX('E', 4, ANALOG)>, /* SDMMC1_D0 */
  124. <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC1_D1 */
  125. <STM32_PINMUX('E', 0, ANALOG)>, /* SDMMC1_D2 */
  126. <STM32_PINMUX('E', 1, ANALOG)>, /* SDMMC1_D3 */
  127. <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC1_CK */
  128. <STM32_PINMUX('E', 2, ANALOG)>; /* SDMMC1_CMD */
  129. };
  130. };
  131. spi3_pins_a: spi3-0 {
  132. pins1 {
  133. pinmux = <STM32_PINMUX('B', 7, AF1)>, /* SPI3_SCK */
  134. <STM32_PINMUX('B', 8, AF1)>; /* SPI3_MOSI */
  135. drive-push-pull;
  136. bias-disable;
  137. slew-rate = <1>;
  138. };
  139. pins2 {
  140. pinmux = <STM32_PINMUX('B', 10, AF1)>; /* SPI3_MISO */
  141. bias-disable;
  142. };
  143. };
  144. spi3_sleep_pins_a: spi3-sleep-0 {
  145. pins1 {
  146. pinmux = <STM32_PINMUX('B', 7, ANALOG)>, /* SPI3_SCK */
  147. <STM32_PINMUX('B', 8, ANALOG)>, /* SPI3_MOSI */
  148. <STM32_PINMUX('B', 10, ANALOG)>; /* SPI3_MISO */
  149. };
  150. };
  151. usart2_pins_a: usart2-0 {
  152. pins1 {
  153. pinmux = <STM32_PINMUX('A', 4, AF6)>; /* USART2_TX */
  154. bias-disable;
  155. drive-push-pull;
  156. slew-rate = <0>;
  157. };
  158. pins2 {
  159. pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */
  160. bias-disable;
  161. };
  162. };
  163. usart2_idle_pins_a: usart2-idle-0 {
  164. pins1 {
  165. pinmux = <STM32_PINMUX('A', 4, ANALOG)>; /* USART2_TX */
  166. };
  167. pins2 {
  168. pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */
  169. bias-disable;
  170. };
  171. };
  172. usart2_sleep_pins_a: usart2-sleep-0 {
  173. pins {
  174. pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* USART2_TX */
  175. <STM32_PINMUX('A', 8, ANALOG)>; /* USART2_RX */
  176. };
  177. };
  178. usart6_pins_a: usart6-0 {
  179. pins1 {
  180. pinmux = <STM32_PINMUX('F', 13, AF3)>, /* USART6_TX */
  181. <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */
  182. bias-disable;
  183. drive-push-pull;
  184. slew-rate = <0>;
  185. };
  186. pins2 {
  187. pinmux = <STM32_PINMUX('F', 14, AF3)>, /* USART6_RX */
  188. <STM32_PINMUX('F', 15, AF3)>; /* USART6_CTS_NSS */
  189. bias-pull-up;
  190. };
  191. };
  192. usart6_idle_pins_a: usart6-idle-0 {
  193. pins1 {
  194. pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */
  195. <STM32_PINMUX('F', 15, ANALOG)>; /* USART6_CTS_NSS */
  196. };
  197. pins2 {
  198. pinmux = <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */
  199. bias-disable;
  200. drive-push-pull;
  201. slew-rate = <0>;
  202. };
  203. pins3 {
  204. pinmux = <STM32_PINMUX('F', 14, AF3)>; /* USART6_RX */
  205. bias-pull-up;
  206. };
  207. };
  208. usart6_sleep_pins_a: usart6-sleep-0 {
  209. pins {
  210. pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */
  211. <STM32_PINMUX('G', 5, ANALOG)>, /* USART6_RTS */
  212. <STM32_PINMUX('F', 15, ANALOG)>, /* USART6_CTS_NSS */
  213. <STM32_PINMUX('F', 14, ANALOG)>; /* USART6_RX */
  214. };
  215. };
  216. };
  217. &pinctrl_z {
  218. i2c8_pins_a: i2c8-0 {
  219. pins {
  220. pinmux = <STM32_PINMUX('Z', 4, AF8)>, /* I2C8_SCL */
  221. <STM32_PINMUX('Z', 3, AF8)>; /* I2C8_SDA */
  222. bias-disable;
  223. drive-open-drain;
  224. slew-rate = <0>;
  225. };
  226. };
  227. i2c8_sleep_pins_a: i2c8-sleep-0 {
  228. pins {
  229. pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C8_SCL */
  230. <STM32_PINMUX('Z', 3, ANALOG)>; /* I2C8_SDA */
  231. };
  232. };
  233. };
  234. &pinctrl_z {
  235. spi8_pins_a: spi8-0 {
  236. pins1 {
  237. pinmux = <STM32_PINMUX('Z', 2, AF3)>, /* SPI8_SCK */
  238. <STM32_PINMUX('Z', 0, AF3)>; /* SPI8_MOSI */
  239. drive-push-pull;
  240. bias-disable;
  241. slew-rate = <1>;
  242. };
  243. pins2 {
  244. pinmux = <STM32_PINMUX('Z', 1, AF3)>; /* SPI8_MISO */
  245. bias-disable;
  246. };
  247. };
  248. spi8_sleep_pins_a: spi8-sleep-0 {
  249. pins1 {
  250. pinmux = <STM32_PINMUX('Z', 2, ANALOG)>, /* SPI8_SCK */
  251. <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI8_MOSI */
  252. <STM32_PINMUX('Z', 1, ANALOG)>; /* SPI8_MISO */
  253. };
  254. };
  255. };