GNU Linux-libre 5.10.217-gnu1
[releases.git] / arch / arm / mach-s3c / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # Copyright 2009 Simtec Electronics
4
5 source "arch/arm/mach-s3c/Kconfig.s3c24xx"
6 source "arch/arm/mach-s3c/Kconfig.s3c64xx"
7
8 config PLAT_SAMSUNG
9         bool
10         depends on PLAT_S3C24XX || ARCH_S3C64XX
11         default y
12         select GENERIC_IRQ_CHIP
13         select NO_IOPORT_MAP
14         select SOC_SAMSUNG
15         help
16           Base platform code for all Samsung SoC based systems
17
18 config SAMSUNG_PM
19         bool
20         depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
21         default y
22         help
23           Base platform power management code for samsung code
24
25 if PLAT_SAMSUNG
26 menu "Samsung Common options"
27
28 # boot configurations
29
30 comment "Boot options"
31
32 config S3C_LOWLEVEL_UART_PORT
33         int "S3C UART to use for low-level messages"
34         depends on ARCH_S3C64XX
35         default 0
36         help
37           Choice of which UART port to use for the low-level messages,
38           such as the `Uncompressing...` at start time. The value of
39           this configuration should be between zero and two. The port
40           must have been initialised by the boot-loader before use.
41
42 config SAMSUNG_ATAGS
43         def_bool n
44         depends on ATAGS
45         help
46            This option enables ATAGS based boot support code for
47            Samsung platforms, including static platform devices, legacy
48            clock, timer and interrupt initialization, etc.
49
50            Platforms that support only DT based boot need not to select
51            this option.
52
53 if SAMSUNG_ATAGS
54
55 config S3C_GPIO_SPACE
56         int "Space between gpio banks"
57         default 0
58         help
59           Add a number of spare GPIO entries between each bank for debugging
60           purposes. This allows any problems where an counter overflows from
61           one bank to another to be caught, at the expense of using a little
62           more memory.
63
64 config S3C_GPIO_TRACK
65         bool
66         help
67           Internal configuration option to enable the s3c specific gpio
68           chip tracking if the platform requires it.
69
70 # ADC driver
71
72 config S3C_ADC
73         bool "ADC common driver support"
74         depends on !ARCH_MULTIPLATFORM
75         help
76           Core support for the ADC block found in the Samsung SoC systems
77           for drivers such as the touchscreen and hwmon to use to share
78           this resource.
79
80 # device definitions to compile in
81
82 config S3C_DEV_HSMMC
83         bool
84         help
85           Compile in platform device definitions for HSMMC code
86
87 config S3C_DEV_HSMMC1
88         bool
89         help
90           Compile in platform device definitions for HSMMC channel 1
91
92 config S3C_DEV_HSMMC2
93         bool
94         help
95           Compile in platform device definitions for HSMMC channel 2
96
97 config S3C_DEV_HSMMC3
98         bool
99         help
100           Compile in platform device definitions for HSMMC channel 3
101
102 config S3C_DEV_HWMON
103         bool
104         help
105             Compile in platform device definitions for HWMON
106
107 config S3C_DEV_I2C1
108         bool
109         help
110           Compile in platform device definitions for I2C channel 1
111
112 config S3C_DEV_I2C2
113         bool
114         help
115           Compile in platform device definitions for I2C channel 2
116
117 config S3C_DEV_I2C3
118         bool
119         help
120           Compile in platform device definition for I2C controller 3
121
122 config S3C_DEV_I2C4
123         bool
124         help
125           Compile in platform device definition for I2C controller 4
126
127 config S3C_DEV_I2C5
128         bool
129         help
130           Compile in platform device definition for I2C controller 5
131
132 config S3C_DEV_I2C6
133         bool
134         help
135           Compile in platform device definition for I2C controller 6
136
137 config S3C_DEV_I2C7
138         bool
139         help
140           Compile in platform device definition for I2C controller 7
141
142 config S3C_DEV_FB
143         bool
144         help
145           Compile in platform device definition for framebuffer
146
147 config S3C_DEV_USB_HOST
148         bool
149         help
150           Compile in platform device definition for USB host.
151
152 config S3C_DEV_USB_HSOTG
153         bool
154         help
155           Compile in platform device definition for USB high-speed OtG
156
157 config S3C_DEV_WDT
158         bool
159         default y if ARCH_S3C24XX
160         help
161           Compile in platform device definition for Watchdog Timer
162
163 config S3C_DEV_NAND
164         bool
165         help
166           Compile in platform device definition for NAND controller
167
168 config S3C_DEV_ONENAND
169         bool
170         help
171           Compile in platform device definition for OneNAND controller
172
173 config S3C_DEV_RTC
174         bool
175         help
176           Compile in platform device definition for RTC
177
178 config SAMSUNG_DEV_ADC
179         bool
180         help
181           Compile in platform device definition for ADC controller
182
183 config SAMSUNG_DEV_IDE
184         bool
185         help
186           Compile in platform device definitions for IDE
187
188 config S3C64XX_DEV_SPI0
189         bool
190         help
191           Compile in platform device definitions for S3C64XX's type
192           SPI controller 0
193
194 config S3C64XX_DEV_SPI1
195         bool
196         help
197           Compile in platform device definitions for S3C64XX's type
198           SPI controller 1
199
200 config S3C64XX_DEV_SPI2
201         bool
202         help
203           Compile in platform device definitions for S3C64XX's type
204           SPI controller 2
205
206 config SAMSUNG_DEV_TS
207         bool
208         help
209             Common in platform device definitions for touchscreen device
210
211 config SAMSUNG_DEV_KEYPAD
212         bool
213         help
214           Compile in platform device definitions for keypad
215
216 config SAMSUNG_DEV_PWM
217         bool
218         default y if ARCH_S3C24XX
219         help
220           Compile in platform device definition for PWM Timer
221
222 config S3C24XX_PWM
223         bool "PWM device support"
224         select PWM
225         select PWM_SAMSUNG
226         help
227           Support for exporting the PWM timer blocks via the pwm device
228           system
229
230 config GPIO_SAMSUNG
231         def_bool y
232
233 config SAMSUNG_PM_GPIO
234         bool
235         default y if GPIO_SAMSUNG && PM
236         help
237           Include legacy GPIO power management code for platforms not using
238           pinctrl-samsung driver.
239 endif
240
241 config SAMSUNG_WAKEMASK
242         bool
243         depends on PM
244         help
245           Compile support for wakeup-mask controls found on the S3C6400
246           and above. This code allows a set of interrupt to wakeup-mask
247           mappings. See <plat/wakeup-mask.h>
248
249 endmenu
250 endif