blob: b600e38364eb64ccd99ce165e4d4a13825408937 [file] [log] [blame]
Krzysztof Kozlowski4490e3c2017-12-25 20:54:35 +01001# SPDX-License-Identifier: GPL-2.0
Ben Dookscf383672009-11-10 00:14:58 +00002#
3# Copyright 2009 Simtec Electronics
Ben Dookscf383672009-11-10 00:14:58 +00004
5config PLAT_SAMSUNG
6 bool
Tomasz Figad78c16c2014-07-02 19:40:44 +02007 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_EXYNOS || ARCH_S5PV210
Ben Dookscf383672009-11-10 00:14:58 +00008 default y
Russell Kingb1b3f492012-10-06 17:12:25 +01009 select GENERIC_IRQ_CHIP
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070010 select NO_IOPORT_MAP
Ben Dookscf383672009-11-10 00:14:58 +000011 help
12 Base platform code for all Samsung SoC based systems
13
Amit Daniel Kachhap89693012013-07-24 14:06:13 +090014config SAMSUNG_PM
15 bool
Tomasz Figad78c16c2014-07-02 19:40:44 +020016 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
Amit Daniel Kachhap89693012013-07-24 14:06:13 +090017 default y
18 help
19 Base platform power management code for samsung code
20
Ben Dookscf383672009-11-10 00:14:58 +000021if PLAT_SAMSUNG
Rob Herringe509b282014-06-10 09:06:09 -050022menu "Samsung Common options"
Ben Dookscf383672009-11-10 00:14:58 +000023
Ben Dooks89f1fa02010-01-29 09:02:17 +000024# boot configurations
25
26comment "Boot options"
27
Ben Dooks89f1fa02010-01-29 09:02:17 +000028config S3C_LOWLEVEL_UART_PORT
29 int "S3C UART to use for low-level messages"
Rob Herringe509b282014-06-10 09:06:09 -050030 depends on ARCH_S3C64XX
Ben Dooks89f1fa02010-01-29 09:02:17 +000031 default 0
32 help
33 Choice of which UART port to use for the low-level messages,
34 such as the `Uncompressing...` at start time. The value of
35 this configuration should be between zero and two. The port
36 must have been initialised by the boot-loader before use.
37
Tomasz Figacd8dc7a2013-06-15 09:01:49 +090038config SAMSUNG_ATAGS
39 def_bool n
Tomasz Figacd8dc7a2013-06-15 09:01:49 +090040 depends on ATAGS
41 help
42 This option enables ATAGS based boot support code for
43 Samsung platforms, including static platform devices, legacy
44 clock, timer and interrupt initialization, etc.
45
46 Platforms that support only DT based boot need not to select
47 this option.
48
49if SAMSUNG_ATAGS
50
Ben Dooks89f1fa02010-01-29 09:02:17 +000051config S3C_GPIO_SPACE
52 int "Space between gpio banks"
53 default 0
54 help
55 Add a number of spare GPIO entries between each bank for debugging
56 purposes. This allows any problems where an counter overflows from
57 one bank to another to be caught, at the expense of using a little
58 more memory.
59
60config S3C_GPIO_TRACK
61 bool
62 help
63 Internal configuration option to enable the s3c specific gpio
64 chip tracking if the platform requires it.
65
Maurus Cuelenaere3929e1e2010-01-14 00:30:31 +010066# ADC driver
67
68config S3C_ADC
69 bool "ADC common driver support"
Arnd Bergmannaf37eec2014-07-07 14:25:15 +020070 depends on !ARCH_MULTIPLATFORM
Maurus Cuelenaere3929e1e2010-01-14 00:30:31 +010071 help
72 Core support for the ADC block found in the Samsung SoC systems
73 for drivers such as the touchscreen and hwmon to use to share
74 this resource.
75
Ben Dooksb6a60412010-01-06 02:45:09 +090076# device definitions to compile in
77
78config S3C_DEV_HSMMC
79 bool
80 help
81 Compile in platform device definitions for HSMMC code
82
83config S3C_DEV_HSMMC1
84 bool
85 help
86 Compile in platform device definitions for HSMMC channel 1
87
88config S3C_DEV_HSMMC2
89 bool
90 help
91 Compile in platform device definitions for HSMMC channel 2
92
Hyuk Leeb3c674b2010-06-10 15:22:16 +090093config S3C_DEV_HSMMC3
94 bool
95 help
96 Compile in platform device definitions for HSMMC channel 3
97
Maurus Cuelenaere6cd82ff2010-05-04 13:12:32 +020098config S3C_DEV_HWMON
99 bool
100 help
101 Compile in platform device definitions for HWMON
102
Ben Dooksb6a60412010-01-06 02:45:09 +0900103config S3C_DEV_I2C1
104 bool
105 help
106 Compile in platform device definitions for I2C channel 1
107
Marek Szyprowskic8d833b2010-05-20 08:13:06 +0200108config S3C_DEV_I2C2
109 bool
110 help
111 Compile in platform device definitions for I2C channel 2
112
Kyungmin Parkb7a98252010-10-12 07:49:24 +0900113config S3C_DEV_I2C3
114 bool
115 help
116 Compile in platform device definition for I2C controller 3
117
118config S3C_DEV_I2C4
119 bool
120 help
121 Compile in platform device definition for I2C controller 4
122
123config S3C_DEV_I2C5
124 bool
125 help
126 Compile in platform device definition for I2C controller 5
127
128config S3C_DEV_I2C6
129 bool
130 help
131 Compile in platform device definition for I2C controller 6
132
133config S3C_DEV_I2C7
134 bool
135 help
136 Compile in platform device definition for I2C controller 7
137
Ben Dooksb6a60412010-01-06 02:45:09 +0900138config S3C_DEV_FB
139 bool
140 help
141 Compile in platform device definition for framebuffer
142
143config S3C_DEV_USB_HOST
144 bool
145 help
146 Compile in platform device definition for USB host.
147
148config S3C_DEV_USB_HSOTG
149 bool
150 help
151 Compile in platform device definition for USB high-speed OtG
152
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900153config S3C_DEV_WDT
154 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900155 default y if ARCH_S3C24XX
Banajit Goswamie1d5c932010-05-19 15:42:29 +0900156 help
157 Complie in platform device definition for Watchdog Timer
158
Ben Dooksb6a60412010-01-06 02:45:09 +0900159config S3C_DEV_NAND
160 bool
161 help
162 Compile in platform device definition for NAND controller
163
Marek Szyprowski999304b2010-05-20 08:59:05 +0200164config S3C_DEV_ONENAND
165 bool
166 help
167 Compile in platform device definition for OneNAND controller
168
Atul Dahiyaadc0950c2010-05-18 14:58:56 +0900169config S3C_DEV_RTC
170 bool
171 help
172 Complie in platform device definition for RTC
173
Naveen Krishna4f7cdc32010-05-13 22:06:36 +0900174config SAMSUNG_DEV_ADC
175 bool
176 help
177 Compile in platform device definition for ADC controller
178
Abhilash Kesavandb900052010-06-08 16:38:20 +0900179config SAMSUNG_DEV_IDE
180 bool
181 help
182 Compile in platform device definitions for IDE
183
Padmavathi Venna875a5932011-12-23 10:14:31 +0900184config S3C64XX_DEV_SPI0
Jassi Brar4b4c6622010-01-28 17:14:49 +0900185 bool
186 help
187 Compile in platform device definitions for S3C64XX's type
Padmavathi Venna875a5932011-12-23 10:14:31 +0900188 SPI controller 0
189
190config S3C64XX_DEV_SPI1
191 bool
192 help
193 Compile in platform device definitions for S3C64XX's type
194 SPI controller 1
195
196config S3C64XX_DEV_SPI2
197 bool
198 help
199 Compile in platform device definitions for S3C64XX's type
200 SPI controller 2
Jassi Brar4b4c6622010-01-28 17:14:49 +0900201
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900202config SAMSUNG_DEV_TS
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200203 bool
204 help
Ben Dooks2b6c02a2010-05-19 14:36:28 +0900205 Common in platform device definitions for touchscreen device
Maurus Cuelenaere909de0d2010-05-04 13:12:44 +0200206
Joonyoung Shim995c48a2010-08-06 19:26:10 +0900207config SAMSUNG_DEV_KEYPAD
208 bool
209 help
210 Compile in platform device definitions for keypad
211
Banajit Goswami2ce30132011-02-28 22:24:51 +0530212config SAMSUNG_DEV_PWM
213 bool
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900214 default y if ARCH_S3C24XX
Banajit Goswami2ce30132011-02-28 22:24:51 +0530215 help
216 Compile in platform device definition for PWM Timer
217
218config S3C24XX_PWM
219 bool "PWM device support"
Arnd Bergmann35e79062012-08-04 07:52:19 +0000220 select PWM
221 select PWM_SAMSUNG
Banajit Goswami2ce30132011-02-28 22:24:51 +0530222 help
223 Support for exporting the PWM timer blocks via the pwm device
224 system
225
Arnd Bergmann0f20e452015-02-27 21:54:18 +0100226config GPIO_SAMSUNG
227 def_bool y
228
Tomasz Figa105dddb2013-06-19 01:24:12 +0900229config SAMSUNG_PM_GPIO
230 bool
231 default y if GPIO_SAMSUNG && PM
232 help
233 Include legacy GPIO power management code for platforms not using
234 pinctrl-samsung driver.
Arnd Bergmann27873b02014-06-13 12:04:39 +0200235endif
236
Ben Dooks80057452010-01-20 12:29:25 +0900237comment "Power management"
238
239config SAMSUNG_PM_DEBUG
Tomasz Figa2c054712014-09-24 02:10:04 +0900240 bool "Samsung PM Suspend debug"
241 depends on PM && DEBUG_KERNEL
242 depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
Ben Dooks80057452010-01-20 12:29:25 +0900243 help
244 Say Y here if you want verbose debugging from the PM Suspend and
245 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
246 for more information.
247
248config S3C_PM_DEBUG_LED_SMDK
249 bool "SMDK LED suspend/resume debugging"
250 depends on PM && (MACH_SMDK6410)
251 help
252 Say Y here to enable the use of the SMDK LEDs on the baseboard
253 for debugging of the state of the suspend and resume process.
254
255 Note, this currently only works for S3C64XX based SMDK boards.
256
257config SAMSUNG_PM_CHECK
258 bool "S3C2410 PM Suspend Memory CRC"
Arnd Bergmann714e3302014-03-18 10:02:26 +0100259 depends on PM
260 select CRC32
Ben Dooks80057452010-01-20 12:29:25 +0900261 help
262 Enable the PM code's memory area checksum over sleep. This option
263 will generate CRCs of all blocks of memory, and store them before
264 going to sleep. The blocks are then checked on resume for any
265 errors.
266
267 Note, this can take several seconds depending on memory size
268 and CPU speed.
269
270 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
271
272config SAMSUNG_PM_CHECK_CHUNKSIZE
273 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
274 depends on PM && SAMSUNG_PM_CHECK
275 default 64
276 help
277 Set the chunksize in Kilobytes of the CRC for checking memory
278 corruption over suspend and resume. A smaller value will mean that
Masanari Iida83fc61a2017-09-26 12:47:59 +0900279 the CRC data block will take more memory, but will identify any
Ben Dooks80057452010-01-20 12:29:25 +0900280 faults with better precision.
281
282 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
283
Ben Dooks0317e522010-05-20 14:05:33 +0900284config SAMSUNG_WAKEMASK
285 bool
286 depends on PM
287 help
288 Compile support for wakeup-mask controls found on the S3C6400
289 and above. This code allows a set of interrupt to wakeup-mask
290 mappings. See <plat/wakeup-mask.h>
291
Tomasz Figaa4658e52013-06-17 23:45:33 +0900292config SAMSUNG_WDT_RESET
293 bool
294 help
295 Compile support for system restart by triggering watchdog reset.
296 Used on SoCs that do not provide dedicated reset control.
297
Will Deacon952aeeb22011-08-16 22:28:54 +0100298config DEBUG_S3C_UART
299 depends on PLAT_SAMSUNG
300 int
301 default "0" if DEBUG_S3C_UART0
302 default "1" if DEBUG_S3C_UART1
303 default "2" if DEBUG_S3C_UART2
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900304 default "3" if DEBUG_S3C_UART3
Will Deacon952aeeb22011-08-16 22:28:54 +0100305
Rob Herringe509b282014-06-10 09:06:09 -0500306endmenu
Ben Dookscf383672009-11-10 00:14:58 +0000307endif