ARM: S5PC100: no more support S5PC100 SoC
[firefly-linux-kernel-4.4.55.git] / arch / arm / plat-samsung / Kconfig
1 # arch/arm/plat-samsung/Kconfig
2 #
3 # Copyright 2009 Simtec Electronics
4 #
5 # Licensed under GPLv2
6
7 config PLAT_SAMSUNG
8         bool
9         depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
10         default y
11         select GENERIC_IRQ_CHIP
12         select NO_IOPORT_MAP
13         help
14           Base platform code for all Samsung SoC based systems
15
16 config PLAT_S5P
17         bool
18         depends on ARCH_S5PV210
19         default y
20         select ARCH_REQUIRE_GPIOLIB
21         select ARM_VIC
22         select NO_IOPORT_MAP
23         select PLAT_SAMSUNG
24         select S3C_GPIO_TRACK
25         select S5P_GPIO_DRVSTR
26         select SAMSUNG_CLKSRC if !COMMON_CLK
27         help
28           Base platform code for Samsung's S5P series SoC.
29
30 config SAMSUNG_PM
31         bool
32         depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || S5P_PM)
33         default y
34         help
35           Base platform power management code for samsung code
36
37 if PLAT_SAMSUNG
38 menu "Samsung Common options"
39
40 # boot configurations
41
42 comment "Boot options"
43
44 config S3C_LOWLEVEL_UART_PORT
45         int "S3C UART to use for low-level messages"
46         depends on ARCH_S3C64XX
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
54 config SAMSUNG_ATAGS
55         def_bool n
56         depends on !ARCH_MULTIPLATFORM
57         depends on ATAGS
58         help
59            This option enables ATAGS based boot support code for
60            Samsung platforms, including static platform devices, legacy
61            clock, timer and interrupt initialization, etc.
62
63            Platforms that support only DT based boot need not to select
64            this option.
65
66 if SAMSUNG_ATAGS
67
68 # clock options
69
70 config SAMSUNG_CLOCK
71         bool
72         default y if !COMMON_CLK
73
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
80 config S5P_CLOCK
81         def_bool ARCH_S5PV210
82         help
83           Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
84
85 # options for IRQ support
86
87 config S5P_IRQ
88         def_bool ARCH_S5PV210
89         help
90           Support common interrupt part for ARCH_S5P SoCs
91
92 config S5P_EXT_INT
93         bool
94         help
95           Use the external interrupts (other than GPIO interrupts.)
96
97 config S5P_GPIO_INT
98         bool
99         help
100           Common code for the GPIO interrupts (other than external interrupts.)
101
102 # options for gpio configuration support
103
104 config S5P_GPIO_DRVSTR
105         bool
106         help
107           Internal configuration to get and set correct GPIO driver strength
108           helper
109
110 config SAMSUNG_GPIO_EXTRA
111         int "Number of additional GPIO pins"
112         default 128 if SAMSUNG_GPIO_EXTRA128
113         default 64 if SAMSUNG_GPIO_EXTRA64
114         default 0
115         help
116           Use additional GPIO space in addition to the GPIO's the SOC
117           provides. This allows expanding the GPIO space for use with
118           GPIO expanders.
119
120 config SAMSUNG_GPIO_EXTRA64
121         bool
122
123 config SAMSUNG_GPIO_EXTRA128
124         bool
125
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
135 config S3C_GPIO_TRACK
136         bool
137         help
138           Internal configuration option to enable the s3c specific gpio
139           chip tracking if the platform requires it.
140
141 # uart options
142
143 config S5P_DEV_UART
144         def_bool y
145         depends on ARCH_S5PV210
146
147 # ADC driver
148
149 config S3C_ADC
150         bool "ADC common driver support"
151         help
152           Core support for the ADC block found in the Samsung SoC systems
153           for drivers such as the touchscreen and hwmon to use to share
154           this resource.
155
156 # device definitions to compile in
157
158 config S3C_DEV_HSMMC
159         bool
160         help
161           Compile in platform device definitions for HSMMC code
162
163 config S3C_DEV_HSMMC1
164         bool
165         help
166           Compile in platform device definitions for HSMMC channel 1
167
168 config S3C_DEV_HSMMC2
169         bool
170         help
171           Compile in platform device definitions for HSMMC channel 2
172
173 config S3C_DEV_HSMMC3
174         bool
175         help
176           Compile in platform device definitions for HSMMC channel 3
177
178 config S3C_DEV_HWMON
179         bool
180         help
181             Compile in platform device definitions for HWMON
182
183 config S3C_DEV_I2C1
184         bool
185         help
186           Compile in platform device definitions for I2C channel 1
187
188 config S3C_DEV_I2C2
189         bool
190         help
191           Compile in platform device definitions for I2C channel 2
192
193 config S3C_DEV_I2C3
194         bool
195         help
196           Compile in platform device definition for I2C controller 3
197
198 config S3C_DEV_I2C4
199         bool
200         help
201           Compile in platform device definition for I2C controller 4
202
203 config S3C_DEV_I2C5
204         bool
205         help
206           Compile in platform device definition for I2C controller 5
207
208 config S3C_DEV_I2C6
209         bool
210         help
211           Compile in platform device definition for I2C controller 6
212
213 config S3C_DEV_I2C7
214         bool
215         help
216           Compile in platform device definition for I2C controller 7
217
218 config S3C_DEV_FB
219         bool
220         help
221           Compile in platform device definition for framebuffer
222
223 config S3C_DEV_USB_HOST
224         bool
225         help
226           Compile in platform device definition for USB host.
227
228 config S3C_DEV_USB_HSOTG
229         bool
230         help
231           Compile in platform device definition for USB high-speed OtG
232
233 config S3C_DEV_WDT
234         bool
235         default y if ARCH_S3C24XX
236         help
237           Complie in platform device definition for Watchdog Timer
238
239 config S3C_DEV_NAND
240         bool
241         help
242           Compile in platform device definition for NAND controller
243
244 config S3C_DEV_ONENAND
245         bool
246         help
247           Compile in platform device definition for OneNAND controller
248
249 config S3C_DEV_RTC
250         bool
251         help
252           Complie in platform device definition for RTC
253
254 config SAMSUNG_DEV_ADC
255         bool
256         help
257           Compile in platform device definition for ADC controller
258
259 config SAMSUNG_DEV_IDE
260         bool
261         help
262           Compile in platform device definitions for IDE
263
264 config S3C64XX_DEV_SPI0
265         bool
266         help
267           Compile in platform device definitions for S3C64XX's type
268           SPI controller 0
269
270 config S3C64XX_DEV_SPI1
271         bool
272         help
273           Compile in platform device definitions for S3C64XX's type
274           SPI controller 1
275
276 config S3C64XX_DEV_SPI2
277         bool
278         help
279           Compile in platform device definitions for S3C64XX's type
280           SPI controller 2
281
282 config SAMSUNG_DEV_TS
283         bool
284         help
285             Common in platform device definitions for touchscreen device
286
287 config SAMSUNG_DEV_KEYPAD
288         bool
289         help
290           Compile in platform device definitions for keypad
291
292 config SAMSUNG_DEV_PWM
293         bool
294         default y if ARCH_S3C24XX
295         help
296           Compile in platform device definition for PWM Timer
297
298 config SAMSUNG_DEV_BACKLIGHT
299         bool
300         depends on SAMSUNG_DEV_PWM
301         help
302           Compile in platform device definition LCD backlight with PWM Timer
303
304 config S5P_DEV_CSIS0
305         bool
306         help
307           Compile in platform device definitions for MIPI-CSIS channel 0
308
309 config S5P_DEV_CSIS1
310         bool
311         help
312           Compile in platform device definitions for MIPI-CSIS channel 1
313
314 config S5P_DEV_FIMC0
315         bool
316         help
317           Compile in platform device definitions for FIMC controller 0
318
319 config S5P_DEV_FIMC1
320         bool
321         help
322           Compile in platform device definitions for FIMC controller 1
323
324 config S5P_DEV_FIMC2
325         bool
326         help
327           Compile in platform device definitions for FIMC controller 2
328
329 config S5P_DEV_FIMC3
330         bool
331         help
332           Compile in platform device definitions for FIMC controller 3
333
334 config S5P_DEV_FIMD0
335         bool
336         help
337           Compile in platform device definitions for FIMD controller 0
338
339 config S5P_DEV_G2D
340         bool
341         help
342           Compile in platform device definitions for G2D device
343
344 config S5P_DEV_I2C_HDMIPHY
345         bool
346         help
347           Compile in platform device definitions for I2C HDMIPHY controller
348
349 config S5P_DEV_JPEG
350         bool
351         help
352           Compile in platform device definitions for JPEG codec
353
354 config S5P_DEV_ONENAND
355         bool
356         help
357           Compile in platform device definition for OneNAND controller
358
359 config S5P_DEV_TV
360         bool
361         help
362           Compile in platform device definition for TV interface
363
364 config S3C24XX_PWM
365         bool "PWM device support"
366         select PWM
367         select PWM_SAMSUNG
368         help
369           Support for exporting the PWM timer blocks via the pwm device
370           system
371
372 config S3C_SETUP_CAMIF
373         bool
374         help
375           Compile in common setup code for S3C CAMIF devices
376
377 # DMA
378
379 config S3C_DMA
380         bool
381         help
382           Internal configuration for S3C DMA core
383
384 config S5P_IRQ_PM
385         bool
386         default y if S5P_PM
387         help
388           Legacy IRQ power management for S5P platforms
389
390 config SAMSUNG_PM_GPIO
391         bool
392         default y if GPIO_SAMSUNG && PM
393         help
394           Include legacy GPIO power management code for platforms not using
395           pinctrl-samsung driver.
396
397 config SAMSUNG_DMADEV
398         bool "Use legacy Samsung DMA abstraction"
399         depends on CPU_S5PV210 || ARCH_S3C64XX
400         select DMADEVICES
401         default y
402         help
403           Use DMA device engine for PL330 DMAC.
404
405 endif
406
407 config S5P_DEV_MFC
408         bool
409         help
410           Compile in setup memory (init) code for MFC
411
412 comment "Power management"
413
414 config SAMSUNG_PM_DEBUG
415         bool "S3C2410 PM Suspend debug"
416         depends on PM && DEBUG_KERNEL && DEBUG_S3C_UART
417         help
418           Say Y here if you want verbose debugging from the PM Suspend and
419           Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
420           for more information.
421
422 config S3C_PM_DEBUG_LED_SMDK
423        bool "SMDK LED suspend/resume debugging"
424        depends on PM && (MACH_SMDK6410)
425        help
426          Say Y here to enable the use of the SMDK LEDs on the baseboard
427          for debugging of the state of the suspend and resume process.
428
429          Note, this currently only works for S3C64XX based SMDK boards.
430
431 config SAMSUNG_PM_CHECK
432         bool "S3C2410 PM Suspend Memory CRC"
433         depends on PM
434         select CRC32
435         help
436           Enable the PM code's memory area checksum over sleep. This option
437           will generate CRCs of all blocks of memory, and store them before
438           going to sleep. The blocks are then checked on resume for any
439           errors.
440
441           Note, this can take several seconds depending on memory size
442           and CPU speed.
443
444           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
445
446 config SAMSUNG_PM_CHECK_CHUNKSIZE
447         int "S3C2410 PM Suspend CRC Chunksize (KiB)"
448         depends on PM && SAMSUNG_PM_CHECK
449         default 64
450         help
451           Set the chunksize in Kilobytes of the CRC for checking memory
452           corruption over suspend and resume. A smaller value will mean that
453           the CRC data block will take more memory, but wil identify any
454           faults with better precision.
455
456           See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
457
458 config SAMSUNG_WAKEMASK
459         bool
460         depends on PM
461         help
462           Compile support for wakeup-mask controls found on the S3C6400
463           and above. This code allows a set of interrupt to wakeup-mask
464           mappings. See <plat/wakeup-mask.h>
465
466 config SAMSUNG_WDT_RESET
467         bool
468         help
469           Compile support for system restart by triggering watchdog reset.
470           Used on SoCs that do not provide dedicated reset control.
471
472 config S5P_PM
473         bool
474         help
475           Common code for power management support on S5P and newer SoCs
476
477 config S5P_SLEEP
478         bool
479         help
480           Internal config node to apply common S5P sleep management code.
481           Can be selected by S5P and newer SoCs with similar sleep procedure.
482
483 config DEBUG_S3C_UART
484         depends on PLAT_SAMSUNG
485         int
486         default "0" if DEBUG_S3C_UART0
487         default "1" if DEBUG_S3C_UART1
488         default "2" if DEBUG_S3C_UART2
489         default "3" if DEBUG_S3C_UART3
490
491 endmenu
492 endif