Kconfig 11 KB

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