As a temporary hack, adds a top level uclinux config option to select between 
the m68k
and the m68knommu config options so that the Kconfigs are otherwise almost 
identical so
the resulting .configs will be unchanged.

---
 arch/m68k/Kconfig |  735 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 735 insertions(+), 0 deletions(-)

diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index fb87c08..ebd9919 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -2,6 +2,15 @@
 # For a description of the syntax of this configuration file,
 # see Documentation/kbuild/kconfig-language.txt.
 #
+config UCLINUX
+       bool "compile for a uclinux target (m683xx or Coldfire)"
+       default n
+       help
+         Slect this if you want to compile for a Motorola/Freescale m683XX
+         or Coldifre processor running uClinux (nommu)
+
+if !UCLINUX
+
 config M68K
        bool
        default y
@@ -58,6 +67,89 @@ config HZ
        int
        default 100
 
+endif
+
+if UCLINUX
+
+config M68K
+       bool
+       default y
+       select HAVE_IDE
+
+config MMU
+       bool
+       default n
+
+config NO_DMA
+       bool
+       depends on !COLDFIRE
+       default y
+
+config FPU
+       bool
+       default n
+
+config ZONE_DMA
+       bool
+       default y
+
+config RWSEM_GENERIC_SPINLOCK
+       bool
+       default y
+
+config RWSEM_XCHGADD_ALGORITHM
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U32
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
+config GENERIC_FIND_NEXT_BIT
+       bool
+       default y
+
+config GENERIC_GPIO
+       bool
+       default n
+
+config GENERIC_HWEIGHT
+       bool
+       default y
+
+config GENERIC_HARDIRQS
+       bool
+       default y
+
+config GENERIC_CALIBRATE_DELAY
+       bool
+       default y
+
+config GENERIC_TIME
+       bool
+       default y
+
+config GENERIC_CMOS_UPDATE
+       bool
+       default y
+
+config TIME_LOW_RES
+       bool
+       default y
+
+config GENERIC_CLOCKEVENTS
+       bool
+       default n
+
+config NO_IOPORT
+       def_bool y
+
+endif
+
 mainmenu "Linux/68k Kernel Configuration"
 
 source "init/Kconfig"
@@ -66,6 +158,7 @@ source "kernel/Kconfig.freezer"
 
 menu "Platform dependent setup"
 
+if !UCLINUX
 config EISA
        bool
        ---help---
@@ -378,15 +471,638 @@ config NODES_SHIFT
        int
        default "3"
        depends on !SINGLE_MEMORY_CHUNK
+endif
+
+
+if UCLINUX
+choice
+       prompt "CPU"
+       default M68EZ328
+
+config M68328
+       bool "MC68328"
+       help
+         Motorola 68328 processor support.
+
+config M68EZ328
+       bool "MC68EZ328"
+       help
+         Motorola 68EX328 processor support.
+
+config M68VZ328
+       bool "MC68VZ328"
+       help
+         Motorola 68VZ328 processor support.
+
+config M68360
+       bool "MC68360"
+       help
+         Motorola 68360 processor support.
+
+config M5206
+       bool "MCF5206"
+       help
+         Motorola ColdFire 5206 processor support.
+
+config M5206e
+       bool "MCF5206e"
+       help
+         Motorola ColdFire 5206e processor support.
+
+config M520x
+       bool "MCF520x"
+       select GENERIC_CLOCKEVENTS
+       help
+          Freescale Coldfire 5207/5208 processor support.
+
+config M523x
+       bool "MCF523x"
+       select GENERIC_CLOCKEVENTS
+       help
+         Freescale Coldfire 5230/1/2/4/5 processor support
+
+config M5249
+       bool "MCF5249"
+       help
+         Motorola ColdFire 5249 processor support.
+
+config M5271
+       bool "MCF5271"
+       help
+         Freescale (Motorola) ColdFire 5270/5271 processor support.
+
+config M5272
+       bool "MCF5272"
+       help
+         Motorola ColdFire 5272 processor support.
+
+config M5275
+       bool "MCF5275"
+       help
+         Freescale (Motorola) ColdFire 5274/5275 processor support.
+
+config M528x
+       bool "MCF528x"
+       select GENERIC_CLOCKEVENTS
+       help
+         Motorola ColdFire 5280/5282 processor support.
+
+config M5307
+       bool "MCF5307"
+       help
+         Motorola ColdFire 5307 processor support.
+
+config M532x
+       bool "MCF532x"
+       help
+         Freescale (Motorola) ColdFire 532x processor support.
+
+config M5407
+       bool "MCF5407"
+       help
+         Motorola ColdFire 5407 processor support.
+
+endchoice
+
+config M527x
+       bool
+       depends on (M5271 || M5275)
+       select GENERIC_CLOCKEVENTS
+       default y
+
+config COLDFIRE
+       bool
+       depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || 
M5272 || M528x || M5307 || M532x || M5407)
+       select GENERIC_GPIO
+       select ARCH_REQUIRE_GPIOLIB
+       default y
+
+config CLOCK_SET
+       bool "Enable setting the CPU clock frequency"
+       default n
+       help
+         On some CPU's you do not need to know what the core CPU clock
+         frequency is. On these you can disable clock setting. On some
+         traditional 68K parts, and on all ColdFire parts you need to set
+         the appropriate CPU clock frequency. On these devices many of the
+         onboard peripherals derive their timing from the master CPU clock
+         frequency.
+
+config CLOCK_FREQ
+       int "Set the core clock frequency"
+       default "66666666"
+       depends on CLOCK_SET
+       help
+         Define the CPU clock frequency in use. This is the core clock
+         frequency, it may or may not be the same as the external clock
+         crystal fitted to your board. Some processors have an internal
+         PLL and can have their frequency programmed at run time, others
+         use internal dividers. In general the kernel won't setup a PLL
+         if it is fitted (there are some exceptions). This value will be
+         specific to the exact CPU that you are using.
+
+config CLOCK_DIV
+       int "Set the core/bus clock divide ratio"
+       default "1"
+       depends on CLOCK_SET
+       help
+         On many SoC style CPUs the master CPU clock is also used to drive 
+         on-chip peripherals. The clock that is distributed to these
+         peripherals is sometimes a fixed ratio of the master clock
+         frequency. If so then set this to the divider ratio of the
+         master clock to the peripheral clock. If not sure then select 1.
+
+config OLDMASK
+       bool "Old mask 5307 (1H55J) silicon"
+       depends on M5307
+       help
+         Build support for the older revision ColdFire 5307 silicon.
+         Specifically this is the 1H55J mask revision.
+
+comment "Platform"
+
+config PILOT3
+       bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
+       depends on M68328
+       help
+         Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
+
+config XCOPILOT_BUGS
+       bool "(X)Copilot support"
+       depends on PILOT3
+       help
+         Support the bugs of Xcopilot.
+
+config UC5272
+        bool 'Arcturus Networks uC5272 dimm board support'
+        depends on M5272
+        help
+          Support for the Arcturus Networks uC5272 dimm board.
+
+config UC5282
+       bool "Arcturus Networks uC5282 board support"
+          depends on M528x
+       help
+          Support for the Arcturus Networks uC5282 dimm board.
+
+config UCSIMM
+       bool "uCsimm module support"
+       depends on M68EZ328
+       help
+         Support for the Arcturus Networks uCsimm module.
+
+config UCDIMM
+       bool "uDsimm module support"
+       depends on M68VZ328
+       help
+         Support for the Arcturus Networks uDsimm module.
+
+config DRAGEN2
+       bool "DragenEngine II board support"
+       depends on M68VZ328
+       help
+         Support for the DragenEngine II board.
+
+config DIRECT_IO_ACCESS
+       bool "Allow user to access IO directly"
+       depends on (UCSIMM || UCDIMM || DRAGEN2)
+       help
+         Disable the CPU internal registers protection in user mode,
+          to allow a user application to read/write them.
+
+config INIT_LCD
+       bool "Initialize LCD"
+       depends on (UCSIMM || UCDIMM || DRAGEN2)
+       help
+         Initialize the LCD controller of the 68x328 processor.
+
+config MEMORY_RESERVE
+       int "Memory reservation (MiB)"
+       depends on (UCSIMM || UCDIMM)
+       help
+         Reserve certain memory regions on 68x328 based boards.
+
+config UCQUICC
+       bool "Lineo uCquicc board support"
+       depends on M68360
+       help
+         Support for the Lineo uCquicc board.
+
+config ARN5206
+       bool "Arnewsh 5206 board support"
+       depends on M5206
+       help
+         Support for the Arnewsh 5206 board.
+
+config M5206eC3
+       bool "Motorola M5206eC3 board support"
+       depends on M5206e
+       help
+         Support for the Motorola M5206eC3 board.
+
+config ELITE
+       bool "Motorola M5206eLITE board support"
+       depends on M5206e
+       help
+         Support for the Motorola M5206eLITE board.
+
+config M5208EVB
+       bool "Freescale M5208EVB board support"
+       depends on M520x
+       help
+         Support for the Freescale Coldfire M5208EVB.
+
+config M5235EVB
+       bool "Freescale M5235EVB support"
+       depends on M523x
+       help
+         Support for the Freescale M5235EVB board.
+
+config M5249C3
+       bool "Motorola M5249C3 board support"
+       depends on M5249
+       help
+         Support for the Motorola M5249C3 board.
+
+config M5271EVB
+       bool "Freescale (Motorola) M5271EVB board support"
+       depends on M5271
+       help
+         Support for the Freescale (Motorola) M5271EVB board.
+
+config M5275EVB
+       bool "Freescale (Motorola) M5275EVB board support"
+       depends on M5275
+       help
+         Support for the Freescale (Motorola) M5275EVB board.
+
+config M5272C3
+       bool "Motorola M5272C3 board support"
+       depends on M5272
+       help
+         Support for the Motorola M5272C3 board.
+
+config COBRA5272
+       bool "senTec COBRA5272 board support"
+       depends on M5272
+       help
+         Support for the senTec COBRA5272 board.
+
+config AVNET5282
+       bool "Avnet 5282 board support"
+       depends on M528x
+       help
+         Support for the Avnet 5282 board.  
+         
+config M5282EVB
+       bool "Motorola M5282EVB board support"
+       depends on M528x
+       help
+         Support for the Motorola M5282EVB board.
+
+config COBRA5282
+       bool "senTec COBRA5282 board support"
+       depends on M528x
+       help
+         Support for the senTec COBRA5282 board.
+         
+config SOM5282EM
+       bool "EMAC.Inc SOM5282EM board support"
+       depends on M528x
+       help
+         Support for the EMAC.Inc SOM5282EM module.  
+         
+config WILDFIRE
+       bool "Intec Automation Inc. WildFire board support"
+       depends on M528x
+       help
+         Support for the Intec Automation Inc. WildFire.
+         
+config WILDFIREMOD
+       bool "Intec Automation Inc. WildFire module support"
+       depends on M528x
+       help
+         Support for the Intec Automation Inc. WildFire module.
+
+config ARN5307
+       bool "Arnewsh 5307 board support"
+       depends on M5307
+       help
+         Support for the Arnewsh 5307 board.
+
+config M5307C3
+       bool "Motorola M5307C3 board support"
+       depends on M5307
+       help
+         Support for the Motorola M5307C3 board.
+
+config SECUREEDGEMP3
+       bool "SnapGear SecureEdge/MP3 platform support"
+       depends on M5307
+       help
+         Support for the SnapGear SecureEdge/MP3 platform.
+
+config M5329EVB
+       bool "Freescale (Motorola) M5329EVB board support"
+       depends on M532x
+       help
+         Support for the Freescale (Motorola) M5329EVB board.
+
+config COBRA5329
+       bool "senTec COBRA5329 board support"
+       depends on M532x
+       help
+         Support for the senTec COBRA5329 board.
+
+config M5407C3
+       bool "Motorola M5407C3 board support"
+       depends on M5407
+       help
+         Support for the Motorola M5407C3 board.
+
+config CLEOPATRA
+       bool "Feith CLEOPATRA board support"
+       depends on (M5307 || M5407)
+       help
+         Support for the Feith Cleopatra boards.
+
+config CANCam
+       bool "Feith CANCam board support"
+       depends on M5272
+       help
+         Support for the Feith CANCam board.
+
+config SCALES
+       bool "Feith SCALES board support"
+       depends on M5272
+       help
+         Support for the Feith SCALES board.
+
+config NETtel
+       bool "SecureEdge/NETtel board support"
+       depends on (M5206e || M5272 || M5307)
+       help
+         Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
+
+config SNAPGEAR
+       bool "SnapGear router board support"
+       depends on NETtel
+       help
+         Special additional support for SnapGear router boards.
+
+config CPU16B
+       bool "Sneha Technologies S.L. Sarasvati board support"
+       depends on M5272
+       help
+         Support for the SNEHA CPU16B board.
+
+config MOD5272
+       bool "Netburner MOD-5272 board support"
+       depends on M5272
+       help
+         Support for the Netburner MOD-5272 board.
+
+config SAVANTrosie1
+       bool "Savant Rosie1 board support"
+       depends on M523x
+       help
+         Support for the Savant Rosie1 board.
+
+config ROMFS_FROM_ROM
+       bool "ROMFS image not RAM resident"
+       depends on (NETtel || SNAPGEAR)
+       help
+         The ROMfs filesystem will stay resident in the FLASH/ROM, not be
+         moved into RAM.
+
+config PILOT
+       bool
+       default y
+       depends on (PILOT3 || PILOT5)
+
+config ARNEWSH
+       bool
+       default y
+       depends on (ARN5206 || ARN5307)
+
+config FREESCALE
+       bool
+       default y
+       depends on (M5206eC3 || M5208EVB || M5235EVB || M5249C3 || M5271EVB || 
M5272C3 || M5275EVB || M5282EVB || M5307C3 || M5329EVB || M5407C3)
+
+config HW_FEITH
+       bool
+       default y
+       depends on (CLEOPATRA || CANCam || SCALES)
+
+config senTec
+       bool
+       default y
+       depends on (COBRA5272 || COBRA5282)
+       
+config EMAC_INC
+       bool
+       default y
+       depends on (SOM5282EM)
+
+config SNEHA
+        bool
+       default y
+       depends on CPU16B
+
+config SAVANT
+       bool
+       default y
+       depends on SAVANTrosie1
+
+config AVNET
+       bool
+       default y
+       depends on (AVNET5282)
+
+config 4KSTACKS
+       bool "Use 4Kb for kernel stacks instead of 8Kb"
+       default y
+       help
+         If you say Y here the kernel will use a 4Kb stacksize for the
+         kernel stack attached to each process/thread. This facilitates
+         running more threads on a system and also reduces the pressure
+         on the VM subsystem for higher order allocations.
+
+config HZ
+       int
+       default 1000 if CLEOPATRA
+       default 100
+
+comment "RAM configuration"
+
+config RAMBASE
+       hex "Address of the base of RAM"
+       default "0"
+       help
+         Define the address that RAM starts at. On many platforms this is
+         0, the base of the address space. And this is the default. Some
+         platforms choose to setup their RAM at other addresses within the
+         processor address space.
+
+config RAMSIZE
+       hex "Size of RAM (in bytes)"
+       default "0x400000"
+       help
+         Define the size of the system RAM. If you select 0 then the
+         kernel will try to probe the RAM size at runtime. This is not
+         supported on all CPU types.
+
+config VECTORBASE
+       hex "Address of the base of system vectors"
+       default "0"
+       help
+         Define the address of the system vectors. Commonly this is
+         put at the start of RAM, but it doesn't have to be. On ColdFire
+         platforms this address is programmed into the VBR register, thus
+         actually setting the address to use.
+
+config KERNELBASE
+       hex "Address of the base of kernel code"
+       default "0x400"
+       help
+         Typically on m68k systems the kernel will not start at the base
+         of RAM, but usually some small offset from it. Define the start
+         address of the kernel here. The most common setup will have the
+         processor vectors at the base of RAM and then the start of the
+         kernel. On some platforms some RAM is reserved for boot loaders
+         and the kernel starts after that. The 0x400 default was based on
+         a system with the RAM based at address 0, and leaving enough room
+         for the theoretical maximum number of 256 vectors.
+
+choice
+       prompt "RAM bus width"
+       default RAMAUTOBIT
+
+config RAMAUTOBIT
+       bool "AUTO"
+       help
+         Select the physical RAM data bus size. Not needed on most platforms,
+         so you can generally choose AUTO.
+
+config RAM8BIT
+       bool "8bit"
+       help
+         Configure RAM bus to be 8 bits wide.
+
+config RAM16BIT
+       bool "16bit"
+       help
+         Configure RAM bus to be 16 bits wide.
+
+config RAM32BIT
+       bool "32bit"
+       help
+         Configure RAM bus to be 32 bits wide.
+
+endchoice
+
+comment "ROM configuration"
+
+config ROM
+       bool "Specify ROM linker regions"
+       default n
+       help
+         Define a ROM region for the linker script. This creates a kernel
+         that can be stored in flash, with possibly the text, and data
+         regions being copied out to RAM at startup.
+
+config ROMBASE
+       hex "Address of the base of ROM device"
+       default "0"
+       depends on ROM
+       help
+         Define the address that the ROM region starts at. Some platforms
+         use this to set their chip select region accordingly for the boot
+         device.
+
+config ROMVEC
+       hex "Address of the base of the ROM vectors"
+       default "0"
+       depends on ROM
+       help
+         This is almost always the same as the base of the ROM. Since on all
+         68000 type variants the vectors are at the base of the boot device
+         on system startup.
+
+config ROMVECSIZE
+       hex "Size of ROM vector region (in bytes)"
+       default "0x400"
+       depends on ROM
+       help
+         Define the size of the vector region in ROM. For most 68000
+         variants this would be 0x400 bytes in size. Set to 0 if you do
+         not want a vector region at the start of the ROM.
+
+config ROMSTART
+       hex "Address of the base of system image in ROM"
+       default "0x400"
+       depends on ROM
+       help
+         Define the start address of the system image in ROM. Commonly this
+         is strait after the ROM vectors.
+
+config ROMSIZE
+       hex "Size of the ROM device"
+       default "0x100000"
+       depends on ROM
+       help
+         Size of the ROM device. On some platforms this is used to setup
+         the chip select that controls the boot ROM device.
+
+choice
+       prompt "Kernel executes from"
+       ---help---
+         Choose the memory type that the kernel will be running in.
+
+config RAMKERNEL
+       bool "RAM"
+       help
+         The kernel will be resident in RAM when running.
+
+config ROMKERNEL
+       bool "ROM"
+       help
+         The kernel will be resident in FLASH/ROM when running. This is
+         often referred to as Execute-in-Place (XIP), since the kernel
+         code executes from the position it is stored in the FLASH/ROM.
+
+endchoice
+
+if COLDFIRE
+source "kernel/Kconfig.preempt"
+endif
+
+source "kernel/time/Kconfig"
+
+endif
 
 source "mm/Kconfig"
 
 endmenu
 
+
+if UCLINUX
+
+config ISA_DMA_API
+       bool
+       depends on !M5272
+       default y
+
+source "drivers/pcmcia/Kconfig"
+endif
+
 menu "General setup"
 
 source "fs/Kconfig.binfmt"
 
+if !UCLINUX
+
 config ZORRO
        bool "Amiga Zorro (AutoConfig) bus support"
        depends on AMIGA
@@ -452,12 +1168,29 @@ source "drivers/pci/Kconfig"
 
 source "drivers/zorro/Kconfig"
 
+endif
+
 endmenu
 
+if UCLINUX
+
+menu "Power management options"
+
+config PM
+       bool "Power Management support"
+       help
+         Support processor power management modes
+
+endmenu
+
+endif
+
 source "net/Kconfig"
 
 source "drivers/Kconfig"
 
+if !UCLINUX
+
 menu "Character devices"
 
 config ATARI_MFPSER
@@ -612,6 +1345,8 @@ config SERIAL_CONSOLE
 
 endmenu
 
+endif
+
 source "fs/Kconfig"
 
 source "arch/m68k/Kconfig.debug"
-- 
1.5.6.5

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to