Merge tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[linux-2.6-microblaze.git] / arch / m68k / Kconfig.machine
1 # SPDX-License-Identifier: GPL-2.0
2 comment "Machine Types"
3
4 if M68KCLASSIC
5
6 config AMIGA
7         bool "Amiga support"
8         depends on MMU
9         select MMU_MOTOROLA if MMU
10         select LEGACY_TIMER_TICK
11         help
12           This option enables support for the Amiga series of computers. If
13           you plan to use this kernel on an Amiga, say Y here and browse the
14           material available in <file:Documentation/m68k>; otherwise say N.
15
16 config ATARI
17         bool "Atari support"
18         depends on MMU
19         select MMU_MOTOROLA if MMU
20         select HAVE_ARCH_NVRAM_OPS
21         select LEGACY_TIMER_TICK
22         help
23           This option enables support for the 68000-based Atari series of
24           computers (including the TT, Falcon and Medusa). If you plan to use
25           this kernel on an Atari, say Y here and browse the material
26           available in <file:Documentation/m68k>; otherwise say N.
27
28 config ATARI_KBD_CORE
29         bool
30
31 config MAC
32         bool "Macintosh support"
33         depends on MMU
34         select MMU_MOTOROLA if MMU
35         select HAVE_ARCH_NVRAM_OPS
36         select HAVE_PATA_PLATFORM
37         select LEGACY_TIMER_TICK
38         help
39           This option enables support for the Apple Macintosh series of
40           computers. If you plan to use this kernel on a Mac, say Y here and
41           browse the documentation available at <http://www.mac.linux-m68k.org/>;
42           otherwise say N.
43
44 config APOLLO
45         bool "Apollo support"
46         depends on MMU
47         select MMU_MOTOROLA if MMU
48         select LEGACY_TIMER_TICK
49         help
50           Say Y here if you want to run Linux on an MC680x0-based Apollo
51           Domain workstation such as the DN3500.
52
53 config VME
54         bool "VME (Motorola and BVM) support"
55         depends on MMU
56         select MMU_MOTOROLA if MMU
57         help
58           Say Y here if you want to build a kernel for a 680x0 based VME
59           board.  Boards currently supported include Motorola boards MVME147,
60           MVME162, MVME166, MVME167, MVME172, and MVME177.  BVME4000 and
61           BVME6000 boards from BVM Ltd are also supported.
62
63 config MVME147
64         bool "MVME147 support"
65         depends on MMU
66         depends on VME
67         select LEGACY_TIMER_TICK
68         help
69           Say Y to include support for early Motorola VME boards.  This will
70           build a kernel which can run on MVME147 single-board computers.  If
71           you select this option you will have to select the appropriate
72           drivers for SCSI, Ethernet and serial ports later on.
73
74 config MVME16x
75         bool "MVME162, 166 and 167 support"
76         depends on MMU
77         depends on VME
78         select LEGACY_TIMER_TICK
79         help
80           Say Y to include support for Motorola VME boards.  This will build a
81           kernel which can run on MVME162, MVME166, MVME167, MVME172, and
82           MVME177 boards.  If you select this option you will have to select
83           the appropriate drivers for SCSI, Ethernet and serial ports later
84           on.
85
86 config BVME6000
87         bool "BVME4000 and BVME6000 support"
88         depends on MMU
89         depends on VME
90         select LEGACY_TIMER_TICK
91         help
92           Say Y to include support for VME boards from BVM Ltd.  This will
93           build a kernel which can run on BVME4000 and BVME6000 boards.  If
94           you select this option you will have to select the appropriate
95           drivers for SCSI, Ethernet and serial ports later on.
96
97 config HP300
98         bool "HP9000/300 and HP9000/400 support"
99         depends on MMU
100         select MMU_MOTOROLA if MMU
101         select LEGACY_TIMER_TICK
102         help
103           This option enables support for the HP9000/300 and HP9000/400 series
104           of workstations. Support for these machines is still somewhat
105           experimental. If you plan to try to use the kernel on such a machine
106           say Y here.
107           Everybody else says N.
108
109 config SUN3X
110         bool "Sun3x support"
111         depends on MMU
112         select LEGACY_TIMER_TICK
113         select MMU_MOTOROLA if MMU
114         select M68030
115         help
116           This option enables support for the Sun 3x series of workstations.
117           Be warned that this support is very experimental.
118           Note that Sun 3x kernels are not compatible with Sun 3 hardware.
119           General Linux information on the Sun 3x series (now discontinued)
120           is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
121
122           If you don't want to compile a kernel for a Sun 3x, say N.
123
124 config Q40
125         bool "Q40/Q60 support"
126         depends on MMU
127         select MMU_MOTOROLA if MMU
128         select LEGACY_TIMER_TICK
129         help
130           The Q40 is a Motorola 68040-based successor to the Sinclair QL
131           manufactured in Germany.  There is an official Q40 home page at
132           <http://www.q40.de/>.  This option enables support for the Q40 and
133           Q60. Select your CPU below.  For 68LC060 don't forget to enable FPU
134           emulation.
135
136 config SUN3
137         bool "Sun3 support"
138         depends on MMU
139         depends on !MMU_MOTOROLA
140         select MMU_SUN3 if MMU
141         select LEGACY_TIMER_TICK
142         select NO_DMA
143         select M68020
144         help
145           This option enables support for the Sun 3 series of workstations
146           (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
147           that all other hardware types must be disabled, as Sun 3 kernels
148           are incompatible with all other m68k targets (including Sun 3x!).
149
150           If you don't want to compile a kernel exclusively for a Sun 3, say N.
151
152 config VIRT
153         bool "Virtual M68k Machine support"
154         depends on MMU
155         select GENERIC_CLOCKEVENTS
156         select GOLDFISH
157         select GOLDFISH_TIMER
158         select GOLDFISH_TTY
159         select M68040
160         select MMU_MOTOROLA if MMU
161         select RTC_CLASS
162         select RTC_DRV_GOLDFISH
163         select TTY
164         select VIRTIO_MMIO
165         help
166           This options enable a pure virtual machine based on m68k,
167           VIRTIO MMIO devices and GOLDFISH interfaces (TTY, RTC, PIC)
168
169 config PILOT
170         bool
171
172 config PILOT3
173         bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
174         depends on !MMU
175         select M68328
176         select PILOT
177         help
178           Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
179
180 config XCOPILOT_BUGS
181         bool "(X)Copilot support"
182         depends on PILOT3
183         help
184           Support the bugs of Xcopilot.
185
186 config UCSIMM
187         bool "uCsimm module support"
188         depends on !MMU
189         select M68EZ328
190         help
191           Support for the Arcturus Networks uCsimm module.
192
193 config UCDIMM
194         bool "uDsimm module support"
195         depends on !MMU
196         select M68VZ328
197         help
198           Support for the Arcturus Networks uDsimm module.
199
200 config DRAGEN2
201         bool "DragenEngine II board support"
202         depends on !MMU
203         select M68VZ328
204         help
205           Support for the DragenEngine II board.
206
207 config DIRECT_IO_ACCESS
208         bool "Allow user to access IO directly"
209         depends on (UCSIMM || UCDIMM || DRAGEN2)
210         help
211           Disable the CPU internal registers protection in user mode,
212           to allow a user application to read/write them.
213
214 config INIT_LCD
215         bool "Initialize LCD"
216         depends on (UCSIMM || UCDIMM || DRAGEN2)
217         help
218           Initialize the LCD controller of the 68x328 processor.
219
220 config MEMORY_RESERVE
221         int "Memory reservation (MiB)"
222         depends on (UCSIMM || UCDIMM)
223         default 0
224         help
225           Reserve certain memory regions on 68x328 based boards.
226
227 endif # M68KCLASSIC
228
229 config ARN5206
230         bool "Arnewsh 5206 board support"
231         depends on M5206
232         help
233           Support for the Arnewsh 5206 board.
234
235 config M5206eC3
236         bool "Motorola M5206eC3 board support"
237         depends on M5206e
238         help
239           Support for the Motorola M5206eC3 board.
240
241 config ELITE
242         bool "Motorola M5206eLITE board support"
243         depends on M5206e
244         help
245           Support for the Motorola M5206eLITE board.
246
247 config M5235EVB
248         bool "Freescale M5235EVB support"
249         depends on M523x
250         help
251           Support for the Freescale M5235EVB board.
252
253 config M5249C3
254         bool "Motorola M5249C3 board support"
255         depends on M5249
256         help
257           Support for the Motorola M5249C3 board.
258
259 config M5272C3
260         bool "Motorola M5272C3 board support"
261         depends on M5272
262         help
263           Support for the Motorola M5272C3 board.
264
265 config WILDFIRE
266         bool "Intec Automation Inc. WildFire board support"
267         depends on M528x
268         help
269           Support for the Intec Automation Inc. WildFire.
270
271 config WILDFIREMOD
272         bool "Intec Automation Inc. WildFire module support"
273         depends on M528x
274         help
275           Support for the Intec Automation Inc. WildFire module.
276
277 config ARN5307
278         bool "Arnewsh 5307 board support"
279         depends on M5307
280         help
281           Support for the Arnewsh 5307 board.
282
283 config M5307C3
284         bool "Motorola M5307C3 board support"
285         depends on M5307
286         help
287           Support for the Motorola M5307C3 board.
288
289 config SECUREEDGEMP3
290         bool "SnapGear SecureEdge/MP3 platform support"
291         depends on M5307
292         help
293           Support for the SnapGear SecureEdge/MP3 platform.
294
295 config M5407C3
296         bool "Motorola M5407C3 board support"
297         depends on M5407
298         help
299           Support for the Motorola M5407C3 board.
300
301 config AMCORE
302         bool "Sysam AMCORE board support"
303         depends on M5307
304         help
305           Support for the Sysam AMCORE open-hardware generic board.
306
307 config STMARK2
308         bool "Sysam stmark2 board support"
309         depends on M5441x
310         help
311           Support for the Sysam stmark2 open-hardware generic board.
312
313 config FIREBEE
314         bool "FireBee board support"
315         depends on M547x
316         help
317           Support for the FireBee ColdFire 5475 based board.
318
319 config CLEOPATRA
320         bool "Feith CLEOPATRA board support"
321         depends on (M5307 || M5407)
322         help
323           Support for the Feith Cleopatra boards.
324
325 config CANCam
326         bool "Feith CANCam board support"
327         depends on M5272
328         help
329           Support for the Feith CANCam board.
330
331 config SCALES
332         bool "Feith SCALES board support"
333         depends on M5272
334         help
335           Support for the Feith SCALES board.
336
337 config NETtel
338         bool "SecureEdge/NETtel board support"
339         depends on (M5206e || M5272 || M5307)
340         help
341           Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
342
343 config MOD5272
344         bool "Netburner MOD-5272 board support"
345         depends on M5272
346         help
347           Support for the Netburner MOD-5272 board.
348
349 if !MMU || COLDFIRE
350
351 comment "Machine Options"
352
353 config UBOOT
354         bool "Support for U-Boot command line parameters"
355         depends on COLDFIRE
356         help
357           If you say Y here kernel will try to collect command
358           line parameters from the initial u-boot stack.
359
360 config 4KSTACKS
361         bool "Use 4Kb for kernel stacks instead of 8Kb"
362         default y
363         help
364           If you say Y here the kernel will use a 4Kb stacksize for the
365           kernel stack attached to each process/thread. This facilitates
366           running more threads on a system and also reduces the pressure
367           on the VM subsystem for higher order allocations.
368
369 comment "RAM configuration"
370
371 config RAMBASE
372         hex "Address of the base of RAM"
373         default "0"
374         help
375           Define the address that RAM starts at. On many platforms this is
376           0, the base of the address space. And this is the default. Some
377           platforms choose to setup their RAM at other addresses within the
378           processor address space.
379
380 config RAMSIZE
381         hex "Size of RAM (in bytes), or 0 for automatic"
382         default "0x400000"
383         help
384           Define the size of the system RAM. If you select 0 then the
385           kernel will try to probe the RAM size at runtime. This is not
386           supported on all CPU types.
387
388 config VECTORBASE
389         hex "Address of the base of system vectors"
390         default "0"
391         help
392           Define the address of the system vectors. Commonly this is
393           put at the start of RAM, but it doesn't have to be. On ColdFire
394           platforms this address is programmed into the VBR register, thus
395           actually setting the address to use.
396
397 config MBAR
398         hex "Address of the MBAR (internal peripherals)"
399         default "0x10000000"
400         depends on HAVE_MBAR
401         help
402           Define the address of the internal system peripherals. This value
403           is set in the processors MBAR register. This is generally setup by
404           the boot loader, and will not be written by the kernel. By far most
405           ColdFire boards use the default 0x10000000 value, so if unsure then
406           use this.
407
408 config IPSBAR
409         hex "Address of the IPSBAR (internal peripherals)"
410         default "0x40000000"
411         depends on HAVE_IPSBAR
412         help
413           Define the address of the internal system peripherals. This value
414           is set in the processors IPSBAR register. This is generally setup by
415           the boot loader, and will not be written by the kernel. By far most
416           ColdFire boards use the default 0x40000000 value, so if unsure then
417           use this.
418
419 config KERNELBASE
420         hex "Address of the base of kernel code"
421         default "0x400"
422         help
423           Typically on m68k systems the kernel will not start at the base
424           of RAM, but usually some small offset from it. Define the start
425           address of the kernel here. The most common setup will have the
426           processor vectors at the base of RAM and then the start of the
427           kernel. On some platforms some RAM is reserved for boot loaders
428           and the kernel starts after that. The 0x400 default was based on
429           a system with the RAM based at address 0, and leaving enough room
430           for the theoretical maximum number of 256 vectors.
431
432 comment "ROM configuration"
433
434 config ROM
435         bool "Specify ROM linker regions"
436         help
437           Define a ROM region for the linker script. This creates a kernel
438           that can be stored in flash, with possibly the text, and data
439           regions being copied out to RAM at startup.
440
441 config ROMBASE
442         hex "Address of the base of ROM device"
443         default "0"
444         depends on ROM
445         help
446           Define the address that the ROM region starts at. Some platforms
447           use this to set their chip select region accordingly for the boot
448           device.
449
450 config ROMVEC
451         hex "Address of the base of the ROM vectors"
452         default "0"
453         depends on ROM
454         help
455           This is almost always the same as the base of the ROM. Since on all
456           68000 type variants the vectors are at the base of the boot device
457           on system startup.
458
459 config ROMSTART
460         hex "Address of the base of system image in ROM"
461         default "0x400"
462         depends on ROM
463         help
464           Define the start address of the system image in ROM. Commonly this
465           is strait after the ROM vectors.
466
467 config ROMSIZE
468         hex "Size of the ROM device"
469         default "0x100000"
470         depends on ROM
471         help
472           Size of the ROM device. On some platforms this is used to setup
473           the chip select that controls the boot ROM device.
474
475 choice
476         prompt "Kernel executes from"
477         help
478           Choose the memory type that the kernel will be running in.
479
480 config RAMKERNEL
481         bool "RAM"
482         help
483           The kernel will be resident in RAM when running.
484
485 config ROMKERNEL
486         bool "ROM"
487         depends on ROM
488         help
489           The kernel will be resident in FLASH/ROM when running. This is
490           often referred to as Execute-in-Place (XIP), since the kernel
491           code executes from the position it is stored in the FLASH/ROM.
492
493 endchoice
494
495 endif