Kconfig 11 KB

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