Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  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. select SAMSUNG_IRQ_VIC_TIMER
  27. help
  28. Base platform code for Samsung's S5P series SoC.
  29. if PLAT_SAMSUNG
  30. # boot configurations
  31. comment "Boot options"
  32. config S3C_BOOT_ERROR_RESET
  33. bool "S3C Reboot on decompression error"
  34. help
  35. Say y here to use the watchdog to reset the system if the
  36. kernel decompressor detects an error during decompression.
  37. config S3C_BOOT_UART_FORCE_FIFO
  38. bool "Force UART FIFO on during boot process"
  39. default y
  40. help
  41. Say Y here to force the UART FIFOs on during the kernel
  42. uncompressor
  43. config S3C_LOWLEVEL_UART_PORT
  44. int "S3C UART to use for low-level messages"
  45. default 0
  46. help
  47. Choice of which UART port to use for the low-level messages,
  48. such as the `Uncompressing...` at start time. The value of
  49. this configuration should be between zero and two. The port
  50. must have been initialised by the boot-loader before use.
  51. config SAMSUNG_ATAGS
  52. def_bool n
  53. depends on !ARCH_MULTIPLATFORM
  54. depends on ATAGS
  55. help
  56. This option enables ATAGS based boot support code for
  57. Samsung platforms, including static platform devices, legacy
  58. clock, timer and interrupt initialization, etc.
  59. Platforms that support only DT based boot need not to select
  60. this option.
  61. if SAMSUNG_ATAGS
  62. # timer options
  63. config SAMSUNG_HRT
  64. bool
  65. select SAMSUNG_DEV_PWM
  66. help
  67. Use the High Resolution timer support
  68. # clock options
  69. config SAMSUNG_CLOCK
  70. bool
  71. default y if !COMMON_CLK
  72. config SAMSUNG_CLKSRC
  73. bool
  74. help
  75. Select the clock code for the clksrc implementation
  76. used by newer systems such as the S3C64XX.
  77. config S5P_CLOCK
  78. def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  79. help
  80. Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
  81. # options for IRQ support
  82. config SAMSUNG_IRQ_VIC_TIMER
  83. bool
  84. help
  85. Internal configuration to build the VIC timer interrupt code.
  86. config S5P_IRQ
  87. def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
  88. help
  89. Support common interrupt part for ARCH_S5P SoCs
  90. config S5P_EXT_INT
  91. bool
  92. help
  93. Use the external interrupts (other than GPIO interrupts.)
  94. Note: Do not choose this for S5P6440 and S5P6450.
  95. config S5P_GPIO_INT
  96. bool
  97. help
  98. Common code for the GPIO interrupts (other than external interrupts.)
  99. # options for gpio configuration support
  100. config SAMSUNG_GPIOLIB_4BIT
  101. bool
  102. help
  103. GPIOlib file contains the 4 bit modification functions for gpio
  104. configuration. GPIOlib shall be compiled only for S3C64XX and S5P
  105. series of processors.
  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_ONENAND
  308. bool
  309. help
  310. Compile in platform device definition for OneNAND controller
  311. config S5P_DEV_TV
  312. bool
  313. help
  314. Compile in platform device definition for TV interface
  315. config S5P_DEV_USB_EHCI
  316. bool
  317. help
  318. Compile in platform device definition for USB EHCI
  319. config S3C24XX_PWM
  320. bool "PWM device support"
  321. select PWM
  322. select PWM_SAMSUNG
  323. help
  324. Support for exporting the PWM timer blocks via the pwm device
  325. system
  326. config S5P_SETUP_MIPIPHY
  327. bool
  328. help
  329. Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
  330. config S3C_SETUP_CAMIF
  331. bool
  332. help
  333. Compile in common setup code for S3C CAMIF devices
  334. # DMA
  335. config S3C_DMA
  336. bool
  337. help
  338. Internal configuration for S3C DMA core
  339. config S5P_IRQ_PM
  340. bool
  341. default y if S5P_PM
  342. help
  343. Legacy IRQ power management for S5P platforms
  344. config SAMSUNG_PM_GPIO
  345. bool
  346. default y if GPIO_SAMSUNG && PM
  347. help
  348. Include legacy GPIO power management code for platforms not using
  349. pinctrl-samsung driver.
  350. endif
  351. config SAMSUNG_DMADEV
  352. bool
  353. select ARM_AMBA
  354. select DMADEVICES
  355. select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
  356. CPU_S5P6450 || CPU_S5P6440)
  357. help
  358. Use DMA device engine for PL330 DMAC.
  359. config S5P_DEV_MFC
  360. bool
  361. help
  362. Compile in setup memory (init) code for MFC
  363. comment "Power management"
  364. config SAMSUNG_PM_DEBUG
  365. bool "S3C2410 PM Suspend debug"
  366. depends on PM
  367. select DEBUG_LL
  368. help
  369. Say Y here if you want verbose debugging from the PM Suspend and
  370. Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  371. for more information.
  372. config S3C_PM_DEBUG_LED_SMDK
  373. bool "SMDK LED suspend/resume debugging"
  374. depends on PM && (MACH_SMDK6410)
  375. help
  376. Say Y here to enable the use of the SMDK LEDs on the baseboard
  377. for debugging of the state of the suspend and resume process.
  378. Note, this currently only works for S3C64XX based SMDK boards.
  379. config SAMSUNG_PM_CHECK
  380. bool "S3C2410 PM Suspend Memory CRC"
  381. depends on PM && CRC32
  382. help
  383. Enable the PM code's memory area checksum over sleep. This option
  384. will generate CRCs of all blocks of memory, and store them before
  385. going to sleep. The blocks are then checked on resume for any
  386. errors.
  387. Note, this can take several seconds depending on memory size
  388. and CPU speed.
  389. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  390. config SAMSUNG_PM_CHECK_CHUNKSIZE
  391. int "S3C2410 PM Suspend CRC Chunksize (KiB)"
  392. depends on PM && SAMSUNG_PM_CHECK
  393. default 64
  394. help
  395. Set the chunksize in Kilobytes of the CRC for checking memory
  396. corruption over suspend and resume. A smaller value will mean that
  397. the CRC data block will take more memory, but wil identify any
  398. faults with better precision.
  399. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
  400. config SAMSUNG_WAKEMASK
  401. bool
  402. depends on PM
  403. help
  404. Compile support for wakeup-mask controls found on the S3C6400
  405. and above. This code allows a set of interrupt to wakeup-mask
  406. mappings. See <plat/wakeup-mask.h>
  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