Kconfig 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #
  2. # PINCTRL infrastructure and drivers
  3. #
  4. menu "Pin controllers"
  5. config PINCTRL
  6. bool "Support pin controllers"
  7. depends on DM
  8. help
  9. This enables the basic support for pinctrl framework. You may want
  10. to enable some more options depending on what you want to do.
  11. config PINCTRL_FULL
  12. bool "Support full pin controllers"
  13. depends on PINCTRL && OF_CONTROL
  14. default y
  15. help
  16. This provides Linux-compatible device tree interface for the pinctrl
  17. subsystem. This feature depends on device tree configuration because
  18. it parses a device tree to look for the pinctrl device which the
  19. peripheral device is associated with.
  20. If this option is disabled (it is the only possible choice for non-DT
  21. boards), the pinctrl core provides no systematic mechanism for
  22. identifying peripheral devices, applying needed pinctrl settings.
  23. It is totally up to the implementation of each low-level driver.
  24. You can save memory footprint in return for some limitations.
  25. config PINCTRL_GENERIC
  26. bool "Support generic pin controllers"
  27. depends on PINCTRL_FULL
  28. default y
  29. help
  30. Say Y here if you want to use the pinctrl subsystem through the
  31. generic DT interface. If enabled, some functions become available
  32. to parse common properties such as "pins", "groups", "functions" and
  33. some pin configuration parameters. It would be easier if you only
  34. need the generic DT interface for pin muxing and pin configuration.
  35. If you need to handle vendor-specific DT properties, you can disable
  36. this option and implement your own set_state callback in the pinctrl
  37. operations.
  38. config PINMUX
  39. bool "Support pin multiplexing controllers"
  40. depends on PINCTRL_GENERIC
  41. default y
  42. help
  43. This option enables pin multiplexing through the generic pinctrl
  44. framework. Most SoCs have their own own multiplexing arrangement
  45. where a single pin can be used for several functions. An SoC pinctrl
  46. driver allows the required function to be selected for each pin.
  47. The driver is typically controlled by the device tree.
  48. config PINCONF
  49. bool "Support pin configuration controllers"
  50. depends on PINCTRL_GENERIC
  51. help
  52. This option enables pin configuration through the generic pinctrl
  53. framework.
  54. config SPL_PINCTRL
  55. bool "Support pin controlloers in SPL"
  56. depends on SPL && SPL_DM
  57. help
  58. This option is an SPL-variant of the PINCTRL option.
  59. See the help of PINCTRL for details.
  60. config SPL_PINCTRL_FULL
  61. bool "Support full pin controllers in SPL"
  62. depends on SPL_PINCTRL && SPL_OF_CONTROL
  63. default y
  64. help
  65. This option is an SPL-variant of the PINCTRL_FULL option.
  66. See the help of PINCTRL_FULL for details.
  67. config SPL_PINCTRL_GENERIC
  68. bool "Support generic pin controllers in SPL"
  69. depends on SPL_PINCTRL_FULL
  70. default y
  71. help
  72. This option is an SPL-variant of the PINCTRL_GENERIC option.
  73. See the help of PINCTRL_GENERIC for details.
  74. config SPL_PINMUX
  75. bool "Support pin multiplexing controllers in SPL"
  76. depends on SPL_PINCTRL_GENERIC
  77. default y
  78. help
  79. This option is an SPL-variant of the PINMUX option.
  80. See the help of PINMUX for details.
  81. The pinctrl subsystem can add a substantial overhead to the SPL
  82. image since it typically requires quite a few tables either in the
  83. driver or in the device tree. If this is acceptable and you need
  84. to adjust pin multiplexing in SPL in order to boot into U-Boot,
  85. enable this option. You will need to enable device tree in SPL
  86. for this to work.
  87. config SPL_PINCONF
  88. bool "Support pin configuration controllers in SPL"
  89. depends on SPL_PINCTRL_GENERIC
  90. help
  91. This option is an SPL-variant of the PINCONF option.
  92. See the help of PINCONF for details.
  93. if PINCTRL || SPL_PINCTRL
  94. config AR933X_PINCTRL
  95. bool "QCA/Athores ar933x pin control driver"
  96. depends on DM && SOC_AR933X
  97. help
  98. Support pin multiplexing control on QCA/Athores ar933x SoCs.
  99. The driver is controlled by a device tree node which contains
  100. both the GPIO definitions and pin control functions for each
  101. available multiplex function.
  102. config QCA953X_PINCTRL
  103. bool "QCA/Athores qca953x pin control driver"
  104. depends on DM && SOC_QCA953X
  105. help
  106. Support pin multiplexing control on QCA/Athores qca953x SoCs.
  107. The driver is controlled by a device tree node which contains
  108. both the GPIO definitions and pin control functions for each
  109. available multiplex function.
  110. config ROCKCHIP_RK3036_PINCTRL
  111. bool "Rockchip rk3036 pin control driver"
  112. depends on DM
  113. help
  114. Support pin multiplexing control on Rockchip rk3036 SoCs. The driver is
  115. controlled by a device tree node which contains both the GPIO
  116. definitions and pin control functions for each available multiplex
  117. function.
  118. config ROCKCHIP_RK3288_PINCTRL
  119. bool "Rockchip pin control driver"
  120. depends on DM
  121. help
  122. Support pin multiplexing control on Rockchip rk3288 SoCs. The driver
  123. is controlled by a device tree node which contains both the GPIO
  124. definitions and pin control functions for each available multiplex
  125. function.
  126. config PINCTRL_AT91PIO4
  127. bool "AT91 PIO4 pinctrl driver"
  128. depends on DM
  129. help
  130. This option is to enable the AT91 pinctrl driver for AT91 PIO4
  131. controller which is available on SAMA5D2 SoC.
  132. config ROCKCHIP_RK3399_PINCTRL
  133. bool "Rockchip pin control driver"
  134. depends on DM
  135. help
  136. Support pin multiplexing control on Rockchip rk3399 SoCs. The driver
  137. is controlled by a device tree node which contains both the GPIO
  138. definitions and pin control functions for each available multiplex
  139. function.
  140. config PINCTRL_SANDBOX
  141. bool "Sandbox pinctrl driver"
  142. depends on SANDBOX
  143. help
  144. This enables pinctrl driver for sandbox. Currently, this driver
  145. actually does nothing but print debug messages when pinctrl
  146. operations are invoked.
  147. config PIC32_PINCTRL
  148. bool "Microchip PIC32 pin-control and pin-mux driver"
  149. depends on DM && MACH_PIC32
  150. default y
  151. help
  152. Supports individual pin selection and configuration for each remappable
  153. peripheral available on Microchip PIC32 SoCs. This driver is controlled
  154. by a device tree node which contains both GPIO defintion and pin control
  155. functions.
  156. endif
  157. source "drivers/pinctrl/meson/Kconfig"
  158. source "drivers/pinctrl/nxp/Kconfig"
  159. source "drivers/pinctrl/uniphier/Kconfig"
  160. source "drivers/pinctrl/exynos/Kconfig"
  161. source "drivers/pinctrl/mvebu/Kconfig"
  162. endmenu