Kconfig 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # Copyright 2009 Simtec Electronics
  4. config PLAT_SAMSUNG
  5. bool
  6. depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_EXYNOS || ARCH_S5PV210
  7. default y
  8. select GENERIC_IRQ_CHIP
  9. select NO_IOPORT_MAP
  10. help
  11. Base platform code for all Samsung SoC based systems
  12. config SAMSUNG_PM
  13. bool
  14. depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
  15. default y
  16. help
  17. Base platform power management code for samsung code
  18. if PLAT_SAMSUNG
  19. menu "Samsung Common options"
  20. # boot configurations
  21. comment "Boot options"
  22. config S3C_LOWLEVEL_UART_PORT
  23. int "S3C UART to use for low-level messages"
  24. depends on ARCH_S3C64XX
  25. default 0
  26. help
  27. Choice of which UART port to use for the low-level messages,
  28. such as the `Uncompressing...` at start time. The value of
  29. this configuration should be between zero and two. The port
  30. must have been initialised by the boot-loader before use.
  31. config SAMSUNG_ATAGS
  32. def_bool n
  33. depends on ATAGS
  34. help
  35. This option enables ATAGS based boot support code for
  36. Samsung platforms, including static platform devices, legacy
  37. clock, timer and interrupt initialization, etc.
  38. Platforms that support only DT based boot need not to select
  39. this option.
  40. if SAMSUNG_ATAGS
  41. config S3C_GPIO_SPACE
  42. int "Space between gpio banks"
  43. default 0
  44. help
  45. Add a number of spare GPIO entries between each bank for debugging
  46. purposes. This allows any problems where an counter overflows from
  47. one bank to another to be caught, at the expense of using a little
  48. more memory.
  49. config S3C_GPIO_TRACK
  50. bool
  51. help
  52. Internal configuration option to enable the s3c specific gpio
  53. chip tracking if the platform requires it.
  54. # ADC driver
  55. config S3C_ADC
  56. bool "ADC common driver support"
  57. depends on !ARCH_MULTIPLATFORM
  58. help
  59. Core support for the ADC block found in the Samsung SoC systems
  60. for drivers such as the touchscreen and hwmon to use to share
  61. this resource.
  62. # device definitions to compile in
  63. config S3C_DEV_HSMMC
  64. bool
  65. help
  66. Compile in platform device definitions for HSMMC code
  67. config S3C_DEV_HSMMC1
  68. bool
  69. help
  70. Compile in platform device definitions for HSMMC channel 1
  71. config S3C_DEV_HSMMC2
  72. bool
  73. help
  74. Compile in platform device definitions for HSMMC channel 2
  75. config S3C_DEV_HSMMC3
  76. bool
  77. help
  78. Compile in platform device definitions for HSMMC channel 3
  79. config S3C_DEV_HWMON
  80. bool
  81. help
  82. Compile in platform device definitions for HWMON
  83. config S3C_DEV_I2C1
  84. bool
  85. help
  86. Compile in platform device definitions for I2C channel 1
  87. config S3C_DEV_I2C2
  88. bool
  89. help
  90. Compile in platform device definitions for I2C channel 2
  91. config S3C_DEV_I2C3
  92. bool
  93. help
  94. Compile in platform device definition for I2C controller 3
  95. config S3C_DEV_I2C4
  96. bool
  97. help
  98. Compile in platform device definition for I2C controller 4
  99. config S3C_DEV_I2C5
  100. bool
  101. help
  102. Compile in platform device definition for I2C controller 5
  103. config S3C_DEV_I2C6
  104. bool
  105. help
  106. Compile in platform device definition for I2C controller 6
  107. config S3C_DEV_I2C7
  108. bool
  109. help
  110. Compile in platform device definition for I2C controller 7
  111. config S3C_DEV_FB
  112. bool
  113. help
  114. Compile in platform device definition for framebuffer
  115. config S3C_DEV_USB_HOST
  116. bool
  117. help
  118. Compile in platform device definition for USB host.
  119. config S3C_DEV_USB_HSOTG
  120. bool
  121. help
  122. Compile in platform device definition for USB high-speed OtG
  123. config S3C_DEV_WDT
  124. bool
  125. default y if ARCH_S3C24XX
  126. help
  127. Complie in platform device definition for Watchdog Timer
  128. config S3C_DEV_NAND
  129. bool
  130. help
  131. Compile in platform device definition for NAND controller
  132. config S3C_DEV_ONENAND
  133. bool
  134. help
  135. Compile in platform device definition for OneNAND controller
  136. config S3C_DEV_RTC
  137. bool
  138. help
  139. Complie in platform device definition for RTC
  140. config SAMSUNG_DEV_ADC
  141. bool
  142. help
  143. Compile in platform device definition for ADC controller
  144. config SAMSUNG_DEV_IDE
  145. bool
  146. help
  147. Compile in platform device definitions for IDE
  148. config S3C64XX_DEV_SPI0
  149. bool
  150. help
  151. Compile in platform device definitions for S3C64XX's type
  152. SPI controller 0
  153. config S3C64XX_DEV_SPI1
  154. bool
  155. help
  156. Compile in platform device definitions for S3C64XX's type
  157. SPI controller 1
  158. config S3C64XX_DEV_SPI2
  159. bool
  160. help
  161. Compile in platform device definitions for S3C64XX's type
  162. SPI controller 2
  163. config SAMSUNG_DEV_TS
  164. bool
  165. help
  166. Common in platform device definitions for touchscreen device
  167. config SAMSUNG_DEV_KEYPAD
  168. bool
  169. help
  170. Compile in platform device definitions for keypad
  171. config SAMSUNG_DEV_PWM
  172. bool
  173. default y if ARCH_S3C24XX
  174. help
  175. Compile in platform device definition for PWM Timer
  176. config S3C24XX_PWM
  177. bool "PWM device support"
  178. select PWM
  179. select PWM_SAMSUNG
  180. help
  181. Support for exporting the PWM timer blocks via the pwm device
  182. system
  183. config GPIO_SAMSUNG
  184. def_bool y
  185. config SAMSUNG_PM_GPIO
  186. bool
  187. default y if GPIO_SAMSUNG && PM
  188. help
  189. Include legacy GPIO power management code for platforms not using
  190. pinctrl-samsung driver.
  191. endif
  192. comment "Power management"
  193. config SAMSUNG_PM_DEBUG
  194. bool "Samsung PM Suspend debug"
  195. depends on PM && DEBUG_KERNEL
  196. depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
  197. help
  198. Say Y here if you want verbose debugging from the PM Suspend and
  199. Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  200. for more information.
  201. config S3C_PM_DEBUG_LED_SMDK
  202. bool "SMDK LED suspend/resume debugging"
  203. depends on PM && (MACH_SMDK6410)
  204. help
  205. Say Y here to enable the use of the SMDK LEDs on the baseboard
  206. for debugging of the state of the suspend and resume process.
  207. Note, this currently only works for S3C64XX based SMDK boards.
  208. config SAMSUNG_PM_CHECK
  209. bool "S3C2410 PM Suspend Memory CRC"
  210. depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210)
  211. select CRC32
  212. help
  213. Enable the PM code's memory area checksum over sleep. This option
  214. will generate CRCs of all blocks of memory, and store them before
  215. going to sleep. The blocks are then checked on resume for any
  216. errors.
  217. Note, this can take several seconds depending on memory size
  218. and CPU speed.
  219. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  220. config SAMSUNG_PM_CHECK_CHUNKSIZE
  221. int "S3C2410 PM Suspend CRC Chunksize (KiB)"
  222. depends on PM && SAMSUNG_PM_CHECK
  223. default 64
  224. help
  225. Set the chunksize in Kilobytes of the CRC for checking memory
  226. corruption over suspend and resume. A smaller value will mean that
  227. the CRC data block will take more memory, but will identify any
  228. faults with better precision.
  229. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  230. config SAMSUNG_WAKEMASK
  231. bool
  232. depends on PM
  233. help
  234. Compile support for wakeup-mask controls found on the S3C6400
  235. and above. This code allows a set of interrupt to wakeup-mask
  236. mappings. See <plat/wakeup-mask.h>
  237. config SAMSUNG_WDT_RESET
  238. bool
  239. help
  240. Compile support for system restart by triggering watchdog reset.
  241. Used on SoCs that do not provide dedicated reset control.
  242. config DEBUG_S3C_UART
  243. depends on PLAT_SAMSUNG
  244. int
  245. default "0" if DEBUG_S3C_UART0
  246. default "1" if DEBUG_S3C_UART1
  247. default "2" if DEBUG_S3C_UART2
  248. default "3" if DEBUG_S3C_UART3
  249. endmenu
  250. endif