sparc: Add GPIO layer support.
[linux-2.6.git] / arch / sparc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/SPARC Kernel Configuration"
6
7 config MMU
8         bool
9         default y
10
11 config HIGHMEM
12         bool
13         default y
14
15 config ZONE_DMA
16         bool
17         default y
18
19 config GENERIC_ISA_DMA
20         bool
21         default y
22
23 config GENERIC_GPIO
24         bool
25         help
26           Generic GPIO API support
27
28 config ARCH_NO_VIRT_TO_BUS
29         def_bool y
30
31 config OF
32         def_bool y
33
34 config HZ
35         int
36         default 100
37
38 source "init/Kconfig"
39
40 menu "General machine setup"
41
42 config SMP
43         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
44         ---help---
45           This enables support for systems with more than one CPU. If you have
46           a system with only one CPU, say N. If you have a system with more
47           than one CPU, say Y.
48
49           If you say N here, the kernel will run on single and multiprocessor
50           machines, but will use only one CPU of a multiprocessor machine. If
51           you say Y here, the kernel will run on many, but not all,
52           singleprocessor machines. On a singleprocessor machine, the kernel
53           will run faster if you say N here.
54
55           People using multiprocessor machines who say Y here should also say
56           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
57           Management" code will be disabled if you say Y here.
58
59           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
60           available at <http://www.tldp.org/docs.html#howto>.
61
62           If you don't know what to do here, say N.
63
64 config NR_CPUS
65         int "Maximum number of CPUs (2-32)"
66         range 2 32
67         depends on SMP
68         default "32"
69
70 config SPARC
71         bool
72         default y
73         select HAVE_IDE
74         select HAVE_OPROFILE
75         select HAVE_ARCH_KGDB if !SMP
76         select HAVE_ARCH_TRACEHOOK
77         select ARCH_WANT_OPTIONAL_GPIOLIB
78
79 # Identify this as a Sparc32 build
80 config SPARC32
81         bool
82         default y
83         help
84           SPARC is a family of RISC microprocessors designed and marketed by
85           Sun Microsystems, incorporated.  They are very widely found in Sun
86           workstations and clones. This port covers the original 32-bit SPARC;
87           it is old and stable and usually considered one of the "big three"
88           along with the Intel and Alpha ports.  The UltraLinux project
89           maintains both the SPARC32 and SPARC64 ports; its web page is
90           available at <http://www.ultralinux.org/>.
91
92 # Global things across all Sun machines.
93 config ISA
94         bool
95         help
96           ISA is found on Espresso only and is not supported currently.
97           Say N
98
99 config EISA
100         bool
101         help
102           EISA is not supported.
103           Say N
104
105 config MCA
106         bool
107         help
108           MCA is not supported.
109           Say N
110
111 config PCMCIA
112         tristate
113         ---help---
114           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
115           computer.  These are credit-card size devices such as network cards,
116           modems or hard drives often used with laptops computers.  There are
117           actually two varieties of these cards: the older 16 bit PCMCIA cards
118           and the newer 32 bit CardBus cards.  If you want to use CardBus
119           cards, you need to say Y here and also to "CardBus support" below.
120
121           To use your PC-cards, you will need supporting software from David
122           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
123           for location).  Please also read the PCMCIA-HOWTO, available from
124           <http://www.tldp.org/docs.html#howto>.
125
126           To compile this driver as modules, choose M here: the
127           modules will be called pcmcia_core and ds.
128
129 config SBUS
130         bool
131         default y
132
133 config SBUSCHAR
134         bool
135         default y
136
137 config SERIAL_CONSOLE
138         bool
139         default y
140         ---help---
141           If you say Y here, it will be possible to use a serial port as the
142           system console (the system console is the device which receives all
143           kernel messages and warnings and which allows logins in single user
144           mode). This could be useful if some terminal or printer is connected
145           to that serial port.
146
147           Even if you say Y here, the currently visible virtual console
148           (/dev/tty0) will still be used as the system console by default, but
149           you can alter that using a kernel command line option such as
150           "console=ttyS1". (Try "man bootparam" or see the documentation of
151           your boot loader (silo) about how to pass options to the kernel at
152           boot time.)
153
154           If you don't have a graphics card installed and you say Y here, the
155           kernel will automatically use the first serial line, /dev/ttyS0, as
156           system console.
157
158           If unsure, say N.
159
160 config SUN_AUXIO
161         bool
162         default y
163
164 config SUN_IO
165         bool
166         default y
167
168 config RWSEM_GENERIC_SPINLOCK
169         bool
170         default y
171
172 config RWSEM_XCHGADD_ALGORITHM
173         bool
174
175 config GENERIC_FIND_NEXT_BIT
176         bool
177         default y
178
179 config GENERIC_HWEIGHT
180         bool
181         default y
182
183 config GENERIC_CALIBRATE_DELAY
184         bool
185         default y
186
187 config ARCH_MAY_HAVE_PC_FDC
188         bool
189         default y
190
191 config ARCH_HAS_ILOG2_U32
192         bool
193         default n
194
195 config ARCH_HAS_ILOG2_U64
196         bool
197         default n
198
199 config EMULATED_CMPXCHG
200         bool
201         default y
202         help
203           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
204           is emulated, and therefore it is not completely atomic.
205
206 config SUN_PM
207         bool
208         default y
209         help
210           Enable power management and CPU standby features on supported
211           SPARC platforms.
212
213 config SUN4
214         bool "Support for SUN4 machines (disables SUN4[CDM] support)"
215         depends on !SMP
216         default n
217         help
218           Say Y here if, and only if, your machine is a sun4. Note that
219           a kernel compiled with this option will run only on sun4.
220           (And the current version will probably work only on sun4/330.)
221
222 if !SUN4
223
224 config PCI
225         bool "Support for PCI and PS/2 keyboard/mouse"
226         help
227           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
228           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
229           All of these platforms are extremely obscure, so say N if unsure.
230
231 config PCI_SYSCALL
232         def_bool PCI
233
234 source "drivers/pci/Kconfig"
235
236 endif
237
238 config NO_DMA
239         def_bool !PCI
240
241 config SUN_OPENPROMFS
242         tristate "Openprom tree appears in /proc/openprom"
243         help
244           If you say Y, the OpenPROM device tree will be available as a
245           virtual file system, which you can mount to /proc/openprom by "mount
246           -t openpromfs none /proc/openprom".
247
248           To compile the /proc/openprom support as a module, choose M here: the
249           module will be called openpromfs.
250
251           Only choose N if you know in advance that you will not need to modify
252           OpenPROM settings on the running system.
253
254 config SPARC_LED
255         tristate "Sun4m LED driver"
256         help
257           This driver toggles the front-panel LED on sun4m systems
258           in a user-specifiable manner.  Its state can be probed
259           by reading /proc/led and its blinking mode can be changed
260           via writes to /proc/led
261
262 source "fs/Kconfig.binfmt"
263
264 source "mm/Kconfig"
265
266 endmenu
267
268 source "net/Kconfig"
269
270 source "drivers/Kconfig"
271
272 if !SUN4
273 source "drivers/sbus/char/Kconfig"
274 endif
275
276 # This one must be before the filesystem configs. -DaveM
277
278 menu "Unix98 PTY support"
279
280 config UNIX98_PTYS
281         bool "Unix98 PTY support"
282         ---help---
283           A pseudo terminal (PTY) is a software device consisting of two
284           halves: a master and a slave. The slave device behaves identical to
285           a physical terminal; the master device is used by a process to
286           read data from and write data to the slave, thereby emulating a
287           terminal. Typical programs for the master side are telnet servers
288           and xterms.
289
290           Linux has traditionally used the BSD-like names /dev/ptyxx for
291           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
292           has a number of problems. The GNU C library glibc 2.1 and later,
293           however, supports the Unix98 naming standard: in order to acquire a
294           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
295           terminal is then made available to the process and the pseudo
296           terminal slave can be accessed as /dev/pts/<number>. What was
297           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
298
299           The entries in /dev/pts/ are created on the fly by a virtual
300           file system; therefore, if you say Y here you should say Y to
301           "/dev/pts file system for Unix98 PTYs" as well.
302
303           If you want to say Y here, you need to have the C library glibc 2.1
304           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
305           Read the instructions in <file:Documentation/Changes> pertaining to
306           pseudo terminals. It's safe to say N.
307
308 endmenu
309
310 source "fs/Kconfig"
311
312 source "arch/sparc/Kconfig.debug"
313
314 source "security/Kconfig"
315
316 source "crypto/Kconfig"
317
318 source "lib/Kconfig"