Kconfig 11 KB

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