1
2
3
4
5config PLAT_SAMSUNG
6 bool
7 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_EXYNOS || ARCH_S5PV210
8 default y
9 select GENERIC_IRQ_CHIP
10 select NO_IOPORT_MAP
11 help
12 Base platform code for all Samsung SoC based systems
13
14config SAMSUNG_PM
15 bool
16 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
17 default y
18 help
19 Base platform power management code for samsung code
20
21if PLAT_SAMSUNG
22menu "Samsung Common options"
23
24
25
26comment "Boot options"
27
28config S3C_LOWLEVEL_UART_PORT
29 int "S3C UART to use for low-level messages"
30 depends on ARCH_S3C64XX
31 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
38config SAMSUNG_ATAGS
39 def_bool n
40 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
51config 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
66
67
68config S3C_ADC
69 bool "ADC common driver support"
70 depends on !ARCH_MULTIPLATFORM
71 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
76
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
93config S3C_DEV_HSMMC3
94 bool
95 help
96 Compile in platform device definitions for HSMMC channel 3
97
98config S3C_DEV_HWMON
99 bool
100 help
101 Compile in platform device definitions for HWMON
102
103config S3C_DEV_I2C1
104 bool
105 help
106 Compile in platform device definitions for I2C channel 1
107
108config S3C_DEV_I2C2
109 bool
110 help
111 Compile in platform device definitions for I2C channel 2
112
113config 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
138config 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
153config S3C_DEV_WDT
154 bool
155 default y if ARCH_S3C24XX
156 help
157 Complie in platform device definition for Watchdog Timer
158
159config S3C_DEV_NAND
160 bool
161 help
162 Compile in platform device definition for NAND controller
163
164config S3C_DEV_ONENAND
165 bool
166 help
167 Compile in platform device definition for OneNAND controller
168
169config S3C_DEV_RTC
170 bool
171 help
172 Complie in platform device definition for RTC
173
174config SAMSUNG_DEV_ADC
175 bool
176 help
177 Compile in platform device definition for ADC controller
178
179config SAMSUNG_DEV_IDE
180 bool
181 help
182 Compile in platform device definitions for IDE
183
184config S3C64XX_DEV_SPI0
185 bool
186 help
187 Compile in platform device definitions for S3C64XX's type
188 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
201
202config SAMSUNG_DEV_TS
203 bool
204 help
205 Common in platform device definitions for touchscreen device
206
207config SAMSUNG_DEV_KEYPAD
208 bool
209 help
210 Compile in platform device definitions for keypad
211
212config SAMSUNG_DEV_PWM
213 bool
214 default y if ARCH_S3C24XX
215 help
216 Compile in platform device definition for PWM Timer
217
218config S3C24XX_PWM
219 bool "PWM device support"
220 select PWM
221 select PWM_SAMSUNG
222 help
223 Support for exporting the PWM timer blocks via the pwm device
224 system
225
226config GPIO_SAMSUNG
227 def_bool y
228
229config 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.
235endif
236
237comment "Power management"
238
239config SAMSUNG_PM_DEBUG
240 bool "Samsung PM Suspend debug"
241 depends on PM && DEBUG_KERNEL
242 depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
243 depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
244 help
245 Say Y here if you want verbose debugging from the PM Suspend and
246 Resume code. See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
247 for more information.
248
249config S3C_PM_DEBUG_LED_SMDK
250 bool "SMDK LED suspend/resume debugging"
251 depends on PM && (MACH_SMDK6410)
252 help
253 Say Y here to enable the use of the SMDK LEDs on the baseboard
254 for debugging of the state of the suspend and resume process.
255
256 Note, this currently only works for S3C64XX based SMDK boards.
257
258config SAMSUNG_PM_CHECK
259 bool "S3C2410 PM Suspend Memory CRC"
260 depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210)
261 select CRC32
262 help
263 Enable the PM code's memory area checksum over sleep. This option
264 will generate CRCs of all blocks of memory, and store them before
265 going to sleep. The blocks are then checked on resume for any
266 errors.
267
268 Note, this can take several seconds depending on memory size
269 and CPU speed.
270
271 See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
272
273config SAMSUNG_PM_CHECK_CHUNKSIZE
274 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
275 depends on PM && SAMSUNG_PM_CHECK
276 default 64
277 help
278 Set the chunksize in Kilobytes of the CRC for checking memory
279 corruption over suspend and resume. A smaller value will mean that
280 the CRC data block will take more memory, but will identify any
281 faults with better precision.
282
283 See <file:Documentation/arm/samsung-s3c24xx/suspend.rst>
284
285config SAMSUNG_WAKEMASK
286 bool
287 depends on PM
288 help
289 Compile support for wakeup-mask controls found on the S3C6400
290 and above. This code allows a set of interrupt to wakeup-mask
291 mappings. See <plat/wakeup-mask.h>
292
293config SAMSUNG_WDT_RESET
294 bool
295 help
296 Compile support for system restart by triggering watchdog reset.
297 Used on SoCs that do not provide dedicated reset control.
298
299config DEBUG_S3C_UART
300 depends on PLAT_SAMSUNG
301 int
302 default "0" if DEBUG_S3C_UART0
303 default "1" if DEBUG_S3C_UART1
304 default "2" if DEBUG_S3C_UART2
305 default "3" if DEBUG_S3C_UART3
306
307endmenu
308endif
309