Kconfig 12 KB

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