Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  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. config SAMSUNG_ATAGS
  54. def_bool n
  55. depends on !ARCH_MULTIPLATFORM
  56. depends on ATAGS
  57. help
  58. This option enables ATAGS based boot support code for
  59. Samsung platforms, including static platform devices, legacy
  60. clock, timer and interrupt initialization, etc.
  61. Platforms that support only DT based boot need not to select
  62. this option.
  63. if SAMSUNG_ATAGS
  64. # timer options
  65. config SAMSUNG_HRT
  66. bool
  67. select SAMSUNG_DEV_PWM
  68. help
  69. Use the High Resolution timer support
  70. # clock options
  71. config SAMSUNG_CLOCK
  72. bool
  73. default y if !COMMON_CLK
  74. config SAMSUNG_CLKSRC
  75. bool
  76. help
  77. Select the clock code for the clksrc implementation
  78. used by newer systems such as the S3C64XX.
  79. config S5P_CLOCK
  80. def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  81. help
  82. Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
  83. # options for IRQ support
  84. config SAMSUNG_IRQ_VIC_TIMER
  85. bool
  86. help
  87. Internal configuration to build the VIC timer interrupt code.
  88. config S5P_IRQ
  89. def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  90. help
  91. Support common interrupt part for ARCH_S5P SoCs
  92. config S5P_EXT_INT
  93. bool
  94. help
  95. Use the external interrupts (other than GPIO interrupts.)
  96. Note: Do not choose this for S5P6440 and S5P6450.
  97. config S5P_GPIO_INT
  98. bool
  99. help
  100. Common code for the GPIO interrupts (other than external interrupts.)
  101. # options for gpio configuration support
  102. config SAMSUNG_GPIOLIB_4BIT
  103. bool
  104. help
  105. GPIOlib file contains the 4 bit modification functions for gpio
  106. configuration. GPIOlib shall be compiled only for S3C64XX and S5P
  107. series of processors.
  108. config S5P_GPIO_DRVSTR
  109. bool
  110. help
  111. Internal configuration to get and set correct GPIO driver strength
  112. helper
  113. config SAMSUNG_GPIO_EXTRA
  114. int "Number of additional GPIO pins"
  115. default 128 if SAMSUNG_GPIO_EXTRA128
  116. default 64 if SAMSUNG_GPIO_EXTRA64
  117. default 0
  118. help
  119. Use additional GPIO space in addition to the GPIO's the SOC
  120. provides. This allows expanding the GPIO space for use with
  121. GPIO expanders.
  122. config SAMSUNG_GPIO_EXTRA64
  123. bool
  124. config SAMSUNG_GPIO_EXTRA128
  125. bool
  126. config S3C_GPIO_SPACE
  127. int "Space between gpio banks"
  128. default 0
  129. help
  130. Add a number of spare GPIO entries between each bank for debugging
  131. purposes. This allows any problems where an counter overflows from
  132. one bank to another to be caught, at the expense of using a little
  133. more memory.
  134. config S3C_GPIO_TRACK
  135. bool
  136. help
  137. Internal configuration option to enable the s3c specific gpio
  138. chip tracking if the platform requires it.
  139. # uart options
  140. config S5P_DEV_UART
  141. def_bool y
  142. depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  143. # ADC driver
  144. config S3C_ADC
  145. bool "ADC common driver support"
  146. help
  147. Core support for the ADC block found in the Samsung SoC systems
  148. for drivers such as the touchscreen and hwmon to use to share
  149. this resource.
  150. # device definitions to compile in
  151. config S3C_DEV_HSMMC
  152. bool
  153. help
  154. Compile in platform device definitions for HSMMC code
  155. config S3C_DEV_HSMMC1
  156. bool
  157. help
  158. Compile in platform device definitions for HSMMC channel 1
  159. config S3C_DEV_HSMMC2
  160. bool
  161. help
  162. Compile in platform device definitions for HSMMC channel 2
  163. config S3C_DEV_HSMMC3
  164. bool
  165. help
  166. Compile in platform device definitions for HSMMC channel 3
  167. config S3C_DEV_HWMON
  168. bool
  169. help
  170. Compile in platform device definitions for HWMON
  171. config S3C_DEV_I2C1
  172. bool
  173. help
  174. Compile in platform device definitions for I2C channel 1
  175. config S3C_DEV_I2C2
  176. bool
  177. help
  178. Compile in platform device definitions for I2C channel 2
  179. config S3C_DEV_I2C3
  180. bool
  181. help
  182. Compile in platform device definition for I2C controller 3
  183. config S3C_DEV_I2C4
  184. bool
  185. help
  186. Compile in platform device definition for I2C controller 4
  187. config S3C_DEV_I2C5
  188. bool
  189. help
  190. Compile in platform device definition for I2C controller 5
  191. config S3C_DEV_I2C6
  192. bool
  193. help
  194. Compile in platform device definition for I2C controller 6
  195. config S3C_DEV_I2C7
  196. bool
  197. help
  198. Compile in platform device definition for I2C controller 7
  199. config S3C_DEV_FB
  200. bool
  201. help
  202. Compile in platform device definition for framebuffer
  203. config S3C_DEV_USB_HOST
  204. bool
  205. help
  206. Compile in platform device definition for USB host.
  207. config S3C_DEV_USB_HSOTG
  208. bool
  209. help
  210. Compile in platform device definition for USB high-speed OtG
  211. config S3C_DEV_WDT
  212. bool
  213. default y if ARCH_S3C24XX
  214. help
  215. Complie in platform device definition for Watchdog Timer
  216. config S3C_DEV_NAND
  217. bool
  218. help
  219. Compile in platform device definition for NAND controller
  220. config S3C_DEV_ONENAND
  221. bool
  222. help
  223. Compile in platform device definition for OneNAND controller
  224. config S3C_DEV_RTC
  225. bool
  226. help
  227. Complie in platform device definition for RTC
  228. config SAMSUNG_DEV_ADC
  229. bool
  230. help
  231. Compile in platform device definition for ADC controller
  232. config SAMSUNG_DEV_IDE
  233. bool
  234. help
  235. Compile in platform device definitions for IDE
  236. config S3C64XX_DEV_SPI0
  237. bool
  238. help
  239. Compile in platform device definitions for S3C64XX's type
  240. SPI controller 0
  241. config S3C64XX_DEV_SPI1
  242. bool
  243. help
  244. Compile in platform device definitions for S3C64XX's type
  245. SPI controller 1
  246. config S3C64XX_DEV_SPI2
  247. bool
  248. help
  249. Compile in platform device definitions for S3C64XX's type
  250. SPI controller 2
  251. config SAMSUNG_DEV_TS
  252. bool
  253. help
  254. Common in platform device definitions for touchscreen device
  255. config SAMSUNG_DEV_KEYPAD
  256. bool
  257. help
  258. Compile in platform device definitions for keypad
  259. config SAMSUNG_DEV_PWM
  260. bool
  261. default y if ARCH_S3C24XX
  262. help
  263. Compile in platform device definition for PWM Timer
  264. config SAMSUNG_DEV_BACKLIGHT
  265. bool
  266. depends on SAMSUNG_DEV_PWM
  267. help
  268. Compile in platform device definition LCD backlight with PWM Timer
  269. config S5P_DEV_CSIS0
  270. bool
  271. help
  272. Compile in platform device definitions for MIPI-CSIS channel 0
  273. config S5P_DEV_CSIS1
  274. bool
  275. help
  276. Compile in platform device definitions for MIPI-CSIS channel 1
  277. config S5P_DEV_FIMC0
  278. bool
  279. help
  280. Compile in platform device definitions for FIMC controller 0
  281. config S5P_DEV_FIMC1
  282. bool
  283. help
  284. Compile in platform device definitions for FIMC controller 1
  285. config S5P_DEV_FIMC2
  286. bool
  287. help
  288. Compile in platform device definitions for FIMC controller 2
  289. config S5P_DEV_FIMC3
  290. bool
  291. help
  292. Compile in platform device definitions for FIMC controller 3
  293. config S5P_DEV_FIMD0
  294. bool
  295. help
  296. Compile in platform device definitions for FIMD controller 0
  297. config S5P_DEV_G2D
  298. bool
  299. help
  300. Compile in platform device definitions for G2D device
  301. config S5P_DEV_I2C_HDMIPHY
  302. bool
  303. help
  304. Compile in platform device definitions for I2C HDMIPHY controller
  305. config S5P_DEV_JPEG
  306. bool
  307. help
  308. Compile in platform device definitions for JPEG codec
  309. config S5P_DEV_ONENAND
  310. bool
  311. help
  312. Compile in platform device definition for OneNAND controller
  313. config S5P_DEV_TV
  314. bool
  315. help
  316. Compile in platform device definition for TV interface
  317. config S5P_DEV_USB_EHCI
  318. bool
  319. help
  320. Compile in platform device definition for USB EHCI
  321. config S3C24XX_PWM
  322. bool "PWM device support"
  323. select PWM
  324. select PWM_SAMSUNG
  325. help
  326. Support for exporting the PWM timer blocks via the pwm device
  327. system
  328. config S5P_SETUP_MIPIPHY
  329. bool
  330. help
  331. Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
  332. config S3C_SETUP_CAMIF
  333. bool
  334. help
  335. Compile in common setup code for S3C CAMIF devices
  336. # DMA
  337. config S3C_DMA
  338. bool
  339. help
  340. Internal configuration for S3C DMA core
  341. endif
  342. config SAMSUNG_DMADEV
  343. bool
  344. select ARM_AMBA
  345. select DMADEVICES
  346. select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
  347. CPU_S5P6450 || CPU_S5P6440)
  348. help
  349. Use DMA device engine for PL330 DMAC.
  350. config S5P_DEV_MFC
  351. bool
  352. help
  353. Compile in setup memory (init) code for MFC
  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