Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. # arch/arm/plat-samsung/Kconfig
  2. #
  3. # Copyright 2009 Simtec Electronics
  4. #
  5. # Licensed under GPLv2
  6. config PLAT_SAMSUNG
  7. bool
  8. depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
  9. default y
  10. select GENERIC_IRQ_CHIP
  11. select NO_IOPORT
  12. help
  13. Base platform code for all Samsung SoC based systems
  14. config PLAT_S5P
  15. bool
  16. depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
  17. default y
  18. select ARCH_REQUIRE_GPIOLIB
  19. select ARM_GIC if ARCH_EXYNOS
  20. select ARM_VIC if !ARCH_EXYNOS
  21. select GIC_NON_BANKED if ARCH_EXYNOS4
  22. select NO_IOPORT
  23. select PLAT_SAMSUNG
  24. select S3C_GPIO_TRACK
  25. select S5P_GPIO_DRVSTR
  26. select SAMSUNG_CLKSRC if !COMMON_CLK
  27. select SAMSUNG_GPIOLIB_4BIT
  28. select SAMSUNG_IRQ_VIC_TIMER
  29. help
  30. Base platform code for Samsung's S5P series SoC.
  31. if PLAT_SAMSUNG
  32. # boot configurations
  33. comment "Boot options"
  34. config S3C_BOOT_ERROR_RESET
  35. bool "S3C Reboot on decompression error"
  36. help
  37. Say y here to use the watchdog to reset the system if the
  38. kernel decompressor detects an error during decompression.
  39. config S3C_BOOT_UART_FORCE_FIFO
  40. bool "Force UART FIFO on during boot process"
  41. default y
  42. help
  43. Say Y here to force the UART FIFOs on during the kernel
  44. uncompressor
  45. config S3C_LOWLEVEL_UART_PORT
  46. int "S3C UART to use for low-level messages"
  47. default 0
  48. help
  49. Choice of which UART port to use for the low-level messages,
  50. such as the `Uncompressing...` at start time. The value of
  51. this configuration should be between zero and two. The port
  52. must have been initialised by the boot-loader before use.
  53. # timer options
  54. config SAMSUNG_HRT
  55. bool
  56. select SAMSUNG_DEV_PWM
  57. help
  58. Use the High Resolution timer support
  59. # clock options
  60. config SAMSUNG_CLOCK
  61. bool
  62. default y if !COMMON_CLK
  63. config SAMSUNG_CLKSRC
  64. bool
  65. help
  66. Select the clock code for the clksrc implementation
  67. used by newer systems such as the S3C64XX.
  68. config S5P_CLOCK
  69. def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  70. help
  71. Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
  72. # options for IRQ support
  73. config SAMSUNG_IRQ_VIC_TIMER
  74. bool
  75. help
  76. Internal configuration to build the VIC timer interrupt code.
  77. config S5P_IRQ
  78. def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  79. help
  80. Support common interrupt part for ARCH_S5P SoCs
  81. config S5P_EXT_INT
  82. bool
  83. help
  84. Use the external interrupts (other than GPIO interrupts.)
  85. Note: Do not choose this for S5P6440 and S5P6450.
  86. config S5P_GPIO_INT
  87. bool
  88. help
  89. Common code for the GPIO interrupts (other than external interrupts.)
  90. # options for gpio configuration support
  91. config SAMSUNG_GPIOLIB_4BIT
  92. bool
  93. help
  94. GPIOlib file contains the 4 bit modification functions for gpio
  95. configuration. GPIOlib shall be compiled only for S3C64XX and S5P
  96. series of processors.
  97. config S5P_GPIO_DRVSTR
  98. bool
  99. help
  100. Internal configuration to get and set correct GPIO driver strength
  101. helper
  102. config SAMSUNG_GPIO_EXTRA
  103. int "Number of additional GPIO pins"
  104. default 128 if SAMSUNG_GPIO_EXTRA128
  105. default 64 if SAMSUNG_GPIO_EXTRA64
  106. default 0
  107. help
  108. Use additional GPIO space in addition to the GPIO's the SOC
  109. provides. This allows expanding the GPIO space for use with
  110. GPIO expanders.
  111. config SAMSUNG_GPIO_EXTRA64
  112. bool
  113. config SAMSUNG_GPIO_EXTRA128
  114. bool
  115. config S3C_GPIO_SPACE
  116. int "Space between gpio banks"
  117. default 0
  118. help
  119. Add a number of spare GPIO entries between each bank for debugging
  120. purposes. This allows any problems where an counter overflows from
  121. one bank to another to be caught, at the expense of using a little
  122. more memory.
  123. config S3C_GPIO_TRACK
  124. bool
  125. help
  126. Internal configuration option to enable the s3c specific gpio
  127. chip tracking if the platform requires it.
  128. # uart options
  129. config S5P_DEV_UART
  130. def_bool y
  131. depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  132. # ADC driver
  133. config S3C_ADC
  134. bool "ADC common driver support"
  135. help
  136. Core support for the ADC block found in the Samsung SoC systems
  137. for drivers such as the touchscreen and hwmon to use to share
  138. this resource.
  139. # device definitions to compile in
  140. config S3C_DEV_HSMMC
  141. bool
  142. help
  143. Compile in platform device definitions for HSMMC code
  144. config S3C_DEV_HSMMC1
  145. bool
  146. help
  147. Compile in platform device definitions for HSMMC channel 1
  148. config S3C_DEV_HSMMC2
  149. bool
  150. help
  151. Compile in platform device definitions for HSMMC channel 2
  152. config S3C_DEV_HSMMC3
  153. bool
  154. help
  155. Compile in platform device definitions for HSMMC channel 3
  156. config S3C_DEV_HWMON
  157. bool
  158. help
  159. Compile in platform device definitions for HWMON
  160. config S3C_DEV_I2C1
  161. bool
  162. help
  163. Compile in platform device definitions for I2C channel 1
  164. config S3C_DEV_I2C2
  165. bool
  166. help
  167. Compile in platform device definitions for I2C channel 2
  168. config S3C_DEV_I2C3
  169. bool
  170. help
  171. Compile in platform device definition for I2C controller 3
  172. config S3C_DEV_I2C4
  173. bool
  174. help
  175. Compile in platform device definition for I2C controller 4
  176. config S3C_DEV_I2C5
  177. bool
  178. help
  179. Compile in platform device definition for I2C controller 5
  180. config S3C_DEV_I2C6
  181. bool
  182. help
  183. Compile in platform device definition for I2C controller 6
  184. config S3C_DEV_I2C7
  185. bool
  186. help
  187. Compile in platform device definition for I2C controller 7
  188. config S3C_DEV_FB
  189. bool
  190. help
  191. Compile in platform device definition for framebuffer
  192. config S3C_DEV_USB_HOST
  193. bool
  194. help
  195. Compile in platform device definition for USB host.
  196. config S3C_DEV_USB_HSOTG
  197. bool
  198. help
  199. Compile in platform device definition for USB high-speed OtG
  200. config S3C_DEV_WDT
  201. bool
  202. default y if ARCH_S3C24XX
  203. help
  204. Complie in platform device definition for Watchdog Timer
  205. config S3C_DEV_NAND
  206. bool
  207. help
  208. Compile in platform device definition for NAND controller
  209. config S3C_DEV_ONENAND
  210. bool
  211. help
  212. Compile in platform device definition for OneNAND controller
  213. config S3C_DEV_RTC
  214. bool
  215. help
  216. Complie in platform device definition for RTC
  217. config SAMSUNG_DEV_ADC
  218. bool
  219. help
  220. Compile in platform device definition for ADC controller
  221. config SAMSUNG_DEV_IDE
  222. bool
  223. help
  224. Compile in platform device definitions for IDE
  225. config S3C64XX_DEV_SPI0
  226. bool
  227. help
  228. Compile in platform device definitions for S3C64XX's type
  229. SPI controller 0
  230. config S3C64XX_DEV_SPI1
  231. bool
  232. help
  233. Compile in platform device definitions for S3C64XX's type
  234. SPI controller 1
  235. config S3C64XX_DEV_SPI2
  236. bool
  237. help
  238. Compile in platform device definitions for S3C64XX's type
  239. SPI controller 2
  240. config SAMSUNG_DEV_TS
  241. bool
  242. help
  243. Common in platform device definitions for touchscreen device
  244. config SAMSUNG_DEV_KEYPAD
  245. bool
  246. help
  247. Compile in platform device definitions for keypad
  248. config SAMSUNG_DEV_PWM
  249. bool
  250. default y if ARCH_S3C24XX
  251. help
  252. Compile in platform device definition for PWM Timer
  253. config SAMSUNG_DEV_BACKLIGHT
  254. bool
  255. depends on SAMSUNG_DEV_PWM
  256. help
  257. Compile in platform device definition LCD backlight with PWM Timer
  258. config S5P_DEV_CSIS0
  259. bool
  260. help
  261. Compile in platform device definitions for MIPI-CSIS channel 0
  262. config S5P_DEV_CSIS1
  263. bool
  264. help
  265. Compile in platform device definitions for MIPI-CSIS channel 1
  266. config S5P_DEV_FIMC0
  267. bool
  268. help
  269. Compile in platform device definitions for FIMC controller 0
  270. config S5P_DEV_FIMC1
  271. bool
  272. help
  273. Compile in platform device definitions for FIMC controller 1
  274. config S5P_DEV_FIMC2
  275. bool
  276. help
  277. Compile in platform device definitions for FIMC controller 2
  278. config S5P_DEV_FIMC3
  279. bool
  280. help
  281. Compile in platform device definitions for FIMC controller 3
  282. config S5P_DEV_FIMD0
  283. bool
  284. help
  285. Compile in platform device definitions for FIMD controller 0
  286. config S5P_DEV_G2D
  287. bool
  288. help
  289. Compile in platform device definitions for G2D device
  290. config S5P_DEV_I2C_HDMIPHY
  291. bool
  292. help
  293. Compile in platform device definitions for I2C HDMIPHY controller
  294. config S5P_DEV_JPEG
  295. bool
  296. help
  297. Compile in platform device definitions for JPEG codec
  298. config S5P_DEV_MFC
  299. bool
  300. help
  301. Compile in setup memory (init) code for MFC
  302. config S5P_DEV_ONENAND
  303. bool
  304. help
  305. Compile in platform device definition for OneNAND controller
  306. config S5P_DEV_TV
  307. bool
  308. help
  309. Compile in platform device definition for TV interface
  310. config S5P_DEV_USB_EHCI
  311. bool
  312. help
  313. Compile in platform device definition for USB EHCI
  314. config S3C24XX_PWM
  315. bool "PWM device support"
  316. select PWM
  317. select PWM_SAMSUNG
  318. help
  319. Support for exporting the PWM timer blocks via the pwm device
  320. system
  321. config S5P_SETUP_MIPIPHY
  322. bool
  323. help
  324. Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
  325. config S3C_SETUP_CAMIF
  326. bool
  327. help
  328. Compile in common setup code for S3C CAMIF devices
  329. # DMA
  330. config S3C_DMA
  331. bool
  332. help
  333. Internal configuration for S3C DMA core
  334. config SAMSUNG_DMADEV
  335. bool
  336. select ARM_AMBA
  337. select DMADEVICES
  338. select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
  339. CPU_S5P6450 || CPU_S5P6440)
  340. help
  341. Use DMA device engine for PL330 DMAC.
  342. comment "Power management"
  343. config SAMSUNG_PM_DEBUG
  344. bool "S3C2410 PM Suspend debug"
  345. depends on PM
  346. select DEBUG_LL
  347. help
  348. Say Y here if you want verbose debugging from the PM Suspend and
  349. Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  350. for more information.
  351. config S3C_PM_DEBUG_LED_SMDK
  352. bool "SMDK LED suspend/resume debugging"
  353. depends on PM && (MACH_SMDK6410)
  354. help
  355. Say Y here to enable the use of the SMDK LEDs on the baseboard
  356. for debugging of the state of the suspend and resume process.
  357. Note, this currently only works for S3C64XX based SMDK boards.
  358. config SAMSUNG_PM_CHECK
  359. bool "S3C2410 PM Suspend Memory CRC"
  360. depends on PM && CRC32
  361. help
  362. Enable the PM code's memory area checksum over sleep. This option
  363. will generate CRCs of all blocks of memory, and store them before
  364. going to sleep. The blocks are then checked on resume for any
  365. errors.
  366. Note, this can take several seconds depending on memory size
  367. and CPU speed.
  368. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  369. config SAMSUNG_PM_CHECK_CHUNKSIZE
  370. int "S3C2410 PM Suspend CRC Chunksize (KiB)"
  371. depends on PM && SAMSUNG_PM_CHECK
  372. default 64
  373. help
  374. Set the chunksize in Kilobytes of the CRC for checking memory
  375. corruption over suspend and resume. A smaller value will mean that
  376. the CRC data block will take more memory, but wil identify any
  377. faults with better precision.
  378. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  379. config SAMSUNG_WAKEMASK
  380. bool
  381. depends on PM
  382. help
  383. Compile support for wakeup-mask controls found on the S3C6400
  384. and above. This code allows a set of interrupt to wakeup-mask
  385. mappings. See <plat/wakeup-mask.h>
  386. config SAMSUNG_WDT_RESET
  387. bool
  388. help
  389. Compile support for system restart by triggering watchdog reset.
  390. Used on SoCs that do not provide dedicated reset control.
  391. config S5P_PM
  392. bool
  393. help
  394. Common code for power management support on S5P and newer SoCs
  395. Note: Do not select this for S5P6440 and S5P6450.
  396. config S5P_SLEEP
  397. bool
  398. help
  399. Internal config node to apply common S5P sleep management code.
  400. Can be selected by S5P and newer SoCs with similar sleep procedure.
  401. config DEBUG_S3C_UART
  402. depends on PLAT_SAMSUNG
  403. int
  404. default "0" if DEBUG_S3C_UART0
  405. default "1" if DEBUG_S3C_UART1
  406. default "2" if DEBUG_S3C_UART2
  407. default "3" if DEBUG_S3C_UART3
  408. endif