[MIPS] New files for lemote fulong mini-PC support
[cascardo/linux.git] / arch / mips / Kconfig
index 7441a2c..3994f61 100644 (file)
@@ -15,121 +15,31 @@ choice
        prompt "System type"
        default SGI_IP22
 
-config MIPS_MTX1
-       bool "4G Systems MTX-1 board"
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select RESOURCES_64BIT if PCI
-       select SOC_AU1500
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_BOSPORUS
-       bool "AMD Alchemy Bosporus board"
-       select SOC_AU1500
-       select DMA_NONCOHERENT
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_PB1000
-       bool "AMD Alchemy PB1000 board"
-       select SOC_AU1000
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select RESOURCES_64BIT if PCI
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_PB1100
-       bool "AMD Alchemy PB1100 board"
-       select SOC_AU1100
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select RESOURCES_64BIT if PCI
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_PB1500
-       bool "AMD Alchemy PB1500 board"
-       select SOC_AU1500
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select RESOURCES_64BIT if PCI
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_PB1550
-       bool "AMD Alchemy PB1550 board"
-       select SOC_AU1550
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select MIPS_DISABLE_OBSOLETE_IDE
-       select RESOURCES_64BIT if PCI
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_PB1200
-       bool "AMD Alchemy PB1200 board"
-       select SOC_AU1200
-       select DMA_NONCOHERENT
-       select MIPS_DISABLE_OBSOLETE_IDE
-       select RESOURCES_64BIT if PCI
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_DB1000
-       bool "AMD Alchemy DB1000 board"
-       select SOC_AU1000
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select RESOURCES_64BIT if PCI
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_DB1100
-       bool "AMD Alchemy DB1100 board"
-       select SOC_AU1100
-       select DMA_NONCOHERENT
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_DB1500
-       bool "AMD Alchemy DB1500 board"
-       select SOC_AU1500
+config LEMOTE_FULONG
+       bool "Lemote Fulong mini-PC"
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_HAS_CPU_LOONGSON2
        select DMA_NONCOHERENT
+       select BOOT_ELF32
+       select BOARD_SCACHE
+       select HAVE_STD_PC_SERIAL_PORT
        select HW_HAS_PCI
-       select MIPS_DISABLE_OBSOLETE_IDE
-       select RESOURCES_64BIT if PCI
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_DB1550
-       bool "AMD Alchemy DB1550 board"
-       select SOC_AU1550
-       select HW_HAS_PCI
-       select DMA_NONCOHERENT
-       select MIPS_DISABLE_OBSOLETE_IDE
-       select RESOURCES_64BIT if PCI
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
-config MIPS_DB1200
-       bool "AMD Alchemy DB1200 board"
-       select SOC_AU1200
-       select DMA_COHERENT
-       select MIPS_DISABLE_OBSOLETE_IDE
-       select SYS_HAS_CPU_MIPS32_R1
+       select I8259
+       select ISA
+       select IRQ_CPU
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
+       select SYS_HAS_EARLY_PRINTK
+       select GENERIC_HARDIRQS_NO__DO_IRQ
+       select CPU_HAS_WB
+       help
+         Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
+         an FPGA northbridge
 
-config MIPS_MIRAGE
-       bool "AMD Alchemy Mirage board"
-       select DMA_NONCOHERENT
-       select SOC_AU1500
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_LITTLE_ENDIAN
+config MACH_ALCHEMY
+       bool "Alchemy processor based machines"
 
 config BASLER_EXCITE
        bool "Basler eXcite smart camera"
@@ -176,7 +86,7 @@ config MACH_DECSTATION
        bool "DECstations"
        select BOOT_ELF32
        select DMA_NONCOHERENT
-       select SYS_HAS_EARLY_PRINTK
+       select NO_IOPORT
        select IRQ_CPU
        select SYS_HAS_CPU_R3000
        select SYS_HAS_CPU_R4X00
@@ -201,24 +111,6 @@ config MACH_DECSTATION
 
          otherwise choose R3000.
 
-config MIPS_EV64120
-       bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select PCI_GT64XXX_PCI0
-       select SYS_HAS_CPU_R5000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_KGDB
-       help
-         This is an evaluation board based on the Galileo GT-64120
-         single-chip system controller that contains a MIPS R5000 compatible
-         core running at 75/100MHz.  Their website is located at
-         <http://www.marvell.com/>.  Say Y here if you wish to build a
-         kernel for this platform.
-
 config MACH_JAZZ
        bool "Jazz family of machines"
        select ARC
@@ -286,7 +178,6 @@ config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
        select BOOT_ELF32
-       select HAVE_STD_PC_SERIAL_PORT
        select DMA_NONCOHERENT
        select GENERIC_ISA_DMA
        select IRQ_CPU
@@ -364,33 +255,12 @@ config MIPS_SIM
        select SYS_HAS_EARLY_PRINTK
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_MULTITHREADING
        select SYS_SUPPORTS_LITTLE_ENDIAN
        help
          This option enables support for MIPS Technologies MIPSsim software
          emulator.
 
-config MOMENCO_JAGUAR_ATX
-       bool "Momentum Jaguar board"
-       select BOOT_ELF32
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select IRQ_CPU_RM7K
-       select IRQ_MV64340
-       select LIMITED_DMA
-       select PCI_MARVELL
-       select RM7000_CPU_SCACHE
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM9000
-       select SYS_HAS_EARLY_PRINTK
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select SYS_SUPPORTS_KGDB
-       help
-         The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
-         Momentum Computer <http://www.momenco.com/>.
-
 config MOMENCO_OCELOT
        bool "Momentum Ocelot board"
        select DMA_NONCOHERENT
@@ -428,54 +298,13 @@ config MOMENCO_OCELOT_3
          The Ocelot-3 is based off Discovery III System Controller and
          PMC-Sierra Rm79000 core.
 
-config MOMENCO_OCELOT_C
-       bool "Momentum Ocelot-C board"
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select IRQ_MV64340
-       select PCI_MARVELL
-       select RM7000_CPU_SCACHE
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM7000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-       select SYS_SUPPORTS_BIG_ENDIAN
-       select GENERIC_HARDIRQS_NO__DO_IRQ
-       help
-         The Ocelot is a MIPS-based Single Board Computer (SBC) made by
-         Momentum Computer <http://www.momenco.com/>.
-
-config MOMENCO_OCELOT_G
-       bool "Momentum Ocelot-G board"
-       select DMA_NONCOHERENT
-       select HW_HAS_PCI
-       select IRQ_CPU
-       select IRQ_CPU_RM7K
-       select PCI_MARVELL
-       select RM7000_CPU_SCACHE
-       select SWAP_IO_SPACE
-       select SYS_HAS_CPU_RM7000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
-       select SYS_SUPPORTS_BIG_ENDIAN
-       help
-         The Ocelot is a MIPS-based Single Board Computer (SBC) made by
-         Momentum Computer <http://www.momenco.com/>.
-
-config MIPS_XXS1500
-       bool "MyCable XXS1500 board"
-       select DMA_NONCOHERENT
-       select SOC_AU1500
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-
 config PNX8550_JBS
        bool "Philips PNX8550 based JBS board"
        select PNX8550
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
 config PNX8550_STB810
-       bool "Support for Philips PNX8550 based STB810 board"
+       bool "Philips PNX8550 based STB810 board"
        select PNX8550
        select SYS_SUPPORTS_LITTLE_ENDIAN
 
@@ -550,7 +379,7 @@ config QEMU
          can be found at http://www.linux-mips.org/wiki/Qemu.
 
 config MARKEINS
-       bool "Support for NEC EMMA2RH Mark-eins"
+       bool "NEC EMMA2RH Mark-eins"
        select DMA_NONCOHERENT
        select HW_HAS_PCI
        select IRQ_CPU
@@ -608,8 +437,7 @@ config SGI_IP27
          here.
 
 config SGI_IP32
-       bool "SGI IP32 (O2) (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       bool "SGI IP32 (O2)"
        select ARC
        select ARC32
        select BOOT_ELF32
@@ -775,7 +603,6 @@ config TOSHIBA_JMR3927
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_BIG_ENDIAN
-       select TOSHIBA_BOARDS
        select GENERIC_HARDIRQS_NO__DO_IRQ
 
 config TOSHIBA_RBTX4927
@@ -784,7 +611,6 @@ config TOSHIBA_RBTX4927
        select HAS_TXX9_SERIAL
        select HW_HAS_PCI
        select I8259
-       select ISA
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
@@ -792,7 +618,6 @@ config TOSHIBA_RBTX4927
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_KGDB
-       select TOSHIBA_BOARDS
        select GENERIC_HARDIRQS_NO__DO_IRQ
        help
          This Toshiba board is based on the TX4927 processor. Say Y here to
@@ -806,14 +631,12 @@ config TOSHIBA_RBTX4938
        select HAS_TXX9_SERIAL
        select HW_HAS_PCI
        select I8259
-       select ISA
        select SWAP_IO_SPACE
        select SYS_HAS_CPU_TX49XX
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_KGDB
-       select TOSHIBA_BOARDS
        select GENERIC_HARDIRQS_NO__DO_IRQ
        help
          This Toshiba board is based on the TX4938 processor. Say Y here to
@@ -821,11 +644,10 @@ config TOSHIBA_RBTX4938
 
 endchoice
 
+source "arch/mips/au1000/Kconfig"
 source "arch/mips/ddb5xxx/Kconfig"
-source "arch/mips/gt64120/ev64120/Kconfig"
 source "arch/mips/jazz/Kconfig"
 source "arch/mips/lasat/Kconfig"
-source "arch/mips/momentum/Kconfig"
 source "arch/mips/pmc-sierra/Kconfig"
 source "arch/mips/sgi-ip27/Kconfig"
 source "arch/mips/sibyte/Kconfig"
@@ -910,9 +732,9 @@ config EARLY_PRINTK
          to print messages very early in the bootup process.
 
          This is useful for kernel debugging when your machine crashes very
-         early before the console code is initialized. For normal operation
-         it is not recommended because it looks on some machines ugly and
-         oesn't cooperate with an X server. You should normally N here,
+         early before the console code is initialized. For normal operation,
+         it is not recommended because it looks ugly on some machines and
+         doesn't cooperate with an X server. You should normally say N here,
          unless you want to debug such a crash.
 
 config SYS_HAS_EARLY_PRINTK
@@ -925,11 +747,6 @@ config GENERIC_ISA_DMA
 config I8259
        bool
 
-config LIMITED_DMA
-       bool
-       select HIGHMEM
-       select SYS_SUPPORTS_HIGHMEM
-
 config MIPS_BONITO64
        bool
 
@@ -942,10 +759,16 @@ config MIPS_NILE4
 config MIPS_DISABLE_OBSOLETE_IDE
        bool
 
+config NO_IOPORT
+       def_bool n
+
 config GENERIC_ISA_DMA_SUPPORT_BROKEN
        bool
        select ZONE_DMA
 
+config GENERIC_GPIO
+       bool
+
 #
 # Endianess selection.  Sufficiently obscure so many users don't know what to
 # answer,so we try hard to limit the available choices.  Also the use of a
@@ -958,7 +781,7 @@ choice
          byte order. These modes require different kernels and a different
          Linux distribution.  In general there is one preferred byteorder for a
          particular system but some systems are just as commonly used in the
-         one or the other endianess.
+         one or the other endianness.
 
 config CPU_BIG_ENDIAN
        bool "Big endian"
@@ -1009,42 +832,10 @@ config MIPS_TX3927
 config MIPS_RM9122
        bool
        select SERIAL_RM9000
-       select GPI_RM9000
-       select WDT_RM9000
 
 config PCI_MARVELL
        bool
 
-config SOC_AU1000
-       bool
-       select SOC_AU1X00
-
-config SOC_AU1100
-       bool
-       select SOC_AU1X00
-
-config SOC_AU1500
-       bool
-       select SOC_AU1X00
-
-config SOC_AU1550
-       bool
-       select SOC_AU1X00
-
-config SOC_AU1200
-       bool
-       select SOC_AU1X00
-
-config SOC_AU1X00
-       bool
-       select SYS_HAS_CPU_MIPS32_R1
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_APM_EMULATION
-       select SYS_SUPPORTS_KGDB
-
-config SERIAL_RM9000
-       bool
-
 config PNX8550
        bool
        select SOC_PNX8550
@@ -1058,6 +849,7 @@ config SOC_PNX8550
        select SYS_SUPPORTS_32BIT_KERNEL
        select GENERIC_HARDIRQS_NO__DO_IRQ
        select SYS_SUPPORTS_KGDB
+       select GENERIC_GPIO
 
 config SWAP_IO_SPACE
        bool
@@ -1070,31 +862,17 @@ config EMMA2RH
 config SERIAL_RM9000
        bool
 
-config GPI_RM9000
-       bool
-
-config WDT_RM9000
-       bool
-
 #
 # Unfortunately not all GT64120 systems run the chip at the same clock.
 # As the user for the clock rate and try to minimize the available options.
 #
 choice
        prompt "Galileo Chip Clock"
-       #default SYSCLK_83 if MIPS_EV64120
-       depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
-       default SYSCLK_83 if MIPS_EV64120
-       default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
-
-config SYSCLK_75
-       bool "75" if MIPS_EV64120
-
-config SYSCLK_83
-       bool "83.3" if MIPS_EV64120
+       depends on MOMENCO_OCELOT
+       default SYSCLK_100 if MOMENCO_OCELOT
 
 config SYSCLK_100
-       bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
+       bool "100" if MOMENCO_OCELOT
 
 endchoice
 
@@ -1133,15 +911,22 @@ config ARC64
 config BOOT_ELF64
        bool
 
-config TOSHIBA_BOARDS
-       bool
-
 menu "CPU selection"
 
 choice
        prompt "CPU type"
        default CPU_R4X00
 
+config CPU_LOONGSON2
+       bool "Loongson 2"
+       depends on SYS_HAS_CPU_LOONGSON2
+       select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
+       help
+         The Loongson 2E processor implements the MIPS III instruction set
+         with many extensions.
+
 config CPU_MIPS32_R1
        bool "MIPS32 Release 1"
        depends on SYS_HAS_CPU_MIPS32_R1
@@ -1352,6 +1137,9 @@ config CPU_SB1
 
 endchoice
 
+config SYS_HAS_CPU_LOONGSON2
+       bool
+
 config SYS_HAS_CPU_MIPS32_R1
        bool
 
@@ -1559,6 +1347,7 @@ config MIPS_MT_SMP
        bool "Use 1 TC on each available VPE for SMP"
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
+       select CPU_MIPSR2_IRQ_EI
        select CPU_MIPSR2_SRS
        select MIPS_MT
        select NR_CPUS_DEFAULT_2
@@ -1574,6 +1363,7 @@ config MIPS_MT_SMTC
        #depends on CPU_MIPS64_R2               # once there is hardware ...
        depends on SYS_SUPPORTS_MULTITHREADING
        select CPU_MIPSR2_IRQ_VI
+       select CPU_MIPSR2_IRQ_EI
        select CPU_MIPSR2_SRS
        select MIPS_MT
        select NR_CPUS_DEFAULT_8
@@ -1586,6 +1376,9 @@ config MIPS_MT_SMTC
 config MIPS_VPE_LOADER
        bool "VPE loader support."
        depends on SYS_SUPPORTS_MULTITHREADING
+       select CPU_MIPSR2_IRQ_VI
+       select CPU_MIPSR2_IRQ_EI
+       select CPU_MIPSR2_SRS
        select MIPS_MT
        help
          Includes a loader for loading an elf relocatable object
@@ -1681,6 +1474,15 @@ config CPU_HAS_SMARTMIPS
 config CPU_HAS_WB
        bool
 
+config 64BIT_CONTEXT
+       bool "Save 64bit integer registers"
+       depends on 32BIT && CPU_LOONGSON2
+       help
+         Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
+         registers can still be accessed as 64bit, mainly for multimedia
+         instructions. We must have all 64bit save/restored to make sure
+         those instructions to get correct result.
+
 #
 # Vectored interrupt mode is an R2 feature
 #
@@ -1752,7 +1554,7 @@ config ARCH_DISCONTIGMEM_ENABLE
        bool
        default y if SGI_IP27
        help
-         Say Y to upport efficient handling of discontiguous physical memory,
+         Say Y to support efficient handling of discontiguous physical memory,
          for architectures which are either NUMA (Non-Uniform Memory Access)
          or have huge holes in the physical address space for other reasons.
          See <file:Documentation/vm/numa> for more.
@@ -1940,7 +1742,7 @@ config KEXEC
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
-         but it is indepedent of the system firmware.   And like a reboot
+         but it is independent of the system firmware.   And like a reboot
          you can start any kernel with it, not just Linux.
 
          The name comes from the similiarity to the exec system call.