]> git.sur5r.net Git - u-boot/blobdiff - arch/mips/Kconfig
Odroid: Add eMMC-reset node on DT
[u-boot] / arch / mips / Kconfig
index f2e6a453fc37ee7ff3108437635433a5eabcc490..bc4283d2f13b551cb747d796794286eabbd83027 100644 (file)
@@ -4,6 +4,10 @@ menu "MIPS architecture"
 config SYS_ARCH
        default "mips"
 
+config SYS_CPU
+       default "mips32" if CPU_MIPS32_R1 || CPU_MIPS32_R2
+       default "mips64" if CPU_MIPS64_R1 || CPU_MIPS64_R2
+
 config USE_PRIVATE_LIBGCC
        default y
 
@@ -14,29 +18,41 @@ config TARGET_QEMU_MIPS
        bool "Support qemu-mips"
        select SUPPORTS_BIG_ENDIAN
        select SUPPORTS_LITTLE_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select SUPPORTS_CPU_MIPS64_R1
+       select SUPPORTS_CPU_MIPS64_R2
 
 config TARGET_MALTA
        bool "Support malta"
        select SUPPORTS_BIG_ENDIAN
        select SUPPORTS_LITTLE_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select SWAP_IO_SPACE
 
 config TARGET_VCT
        bool "Support vct"
        select SUPPORTS_BIG_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select SYS_MIPS_CACHE_INIT_RAM_LOAD
 
 config TARGET_DBAU1X00
        bool "Support dbau1x00"
        select SUPPORTS_BIG_ENDIAN
        select SUPPORTS_LITTLE_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select SYS_MIPS_CACHE_INIT_RAM_LOAD
 
 config TARGET_PB1X00
        bool "Support pb1x00"
        select SUPPORTS_LITTLE_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select SYS_MIPS_CACHE_INIT_RAM_LOAD
 
-config TARGET_QEMU_MIPS64
-       bool "Support qemu-mips64"
-       select SUPPORTS_BIG_ENDIAN
-       select SUPPORTS_LITTLE_ENDIAN
 
 endchoice
 
@@ -66,12 +82,115 @@ config SYS_LITTLE_ENDIAN
 
 endchoice
 
+choice
+       prompt "CPU selection"
+       default CPU_MIPS32_R2
+
+config CPU_MIPS32_R1
+       bool "MIPS32 Release 1"
+       depends on SUPPORTS_CPU_MIPS32_R1
+       select 32BIT
+       help
+         Choose this option to build an U-Boot for release 1 or later of the
+         MIPS32 architecture.
+
+config CPU_MIPS32_R2
+       bool "MIPS32 Release 2"
+       depends on SUPPORTS_CPU_MIPS32_R2
+       select 32BIT
+       help
+         Choose this option to build an U-Boot for release 2 or later of the
+         MIPS32 architecture.
+
+config CPU_MIPS64_R1
+       bool "MIPS64 Release 1"
+       depends on SUPPORTS_CPU_MIPS64_R1
+       select 64BIT
+       help
+         Choose this option to build a kernel for release 1 or later of the
+         MIPS64 architecture.
+
+config CPU_MIPS64_R2
+       bool "MIPS64 Release 2"
+       depends on SUPPORTS_CPU_MIPS64_R2
+       select 64BIT
+       help
+         Choose this option to build a kernel for release 2 or later of the
+         MIPS64 architecture.
+
+endchoice
+
+menu "OS boot interface"
+
+config MIPS_BOOT_CMDLINE_LEGACY
+       bool "Hand over legacy command line to Linux kernel"
+       default y
+       help
+         Enable this option if you want U-Boot to hand over the Yamon-style
+         command line to the kernel. All bootargs will be prepared as argc/argv
+         compatible list. The argument count (argc) is stored in register $a0.
+         The address of the argument list (argv) is stored in register $a1.
+
+config MIPS_BOOT_ENV_LEGACY
+       bool "Hand over legacy environment to Linux kernel"
+       default y
+       help
+         Enable this option if you want U-Boot to hand over the Yamon-style
+         environment to the kernel. Information like memory size, initrd
+         address and size will be prepared as zero-terminated key/value list.
+         The address of the enviroment is stored in register $a2.
+
+config MIPS_BOOT_FDT
+       bool "Hand over a flattened device tree to Linux kernel (INCOMPLETE)"
+       default n
+       help
+         Enable this option if you want U-Boot to hand over a flattened
+         device tree to the kernel.
+
+         Note: the final hand over to the kernel is not yet implemented. After
+               the community agreed on the MIPS boot interface for device trees,
+               the corresponding code will be added.
+
+endmenu
+
 config SUPPORTS_BIG_ENDIAN
        bool
 
 config SUPPORTS_LITTLE_ENDIAN
        bool
 
+config SUPPORTS_CPU_MIPS32_R1
+       bool
+
+config SUPPORTS_CPU_MIPS32_R2
+       bool
+
+config SUPPORTS_CPU_MIPS64_R1
+       bool
+
+config SUPPORTS_CPU_MIPS64_R2
+       bool
+
+config CPU_MIPS32
+       bool
+       default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
+
+config CPU_MIPS64
+       bool
+       default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
+
+config 32BIT
+       bool
+
+config 64BIT
+       bool
+
+config SWAP_IO_SPACE
+       bool
+
+config SYS_MIPS_CACHE_INIT_RAM_LOAD
+       bool
+
 endif
 
 endmenu