]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/mips/Kconfig
Convert CONFIG_ENV_IS_IN_FLASH to Kconfig
[people/ms/u-boot.git] / arch / mips / Kconfig
index f852a1f1bbca2ab55ac220b11ae263e60f6abca1..b53206bf8ee78fb655c093e93a3ea9fc2ace8a26 100644 (file)
@@ -5,8 +5,8 @@ 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
+       default "mips32" if CPU_MIPS32
+       default "mips64" if CPU_MIPS64
 
 choice
        prompt "Target select"
@@ -20,16 +20,30 @@ config TARGET_QEMU_MIPS
        select SUPPORTS_CPU_MIPS32_R2
        select SUPPORTS_CPU_MIPS64_R1
        select SUPPORTS_CPU_MIPS64_R2
+       select ROM_EXCEPTION_VECTORS
+       imply ENV_IS_IN_FLASH
 
 config TARGET_MALTA
        bool "Support malta"
+       select DM
+       select DM_SERIAL
        select DYNAMIC_IO_PORT_BASE
+       select MIPS_CM
+       select MIPS_L2_CACHE
+       select OF_CONTROL
+       select OF_ISA_BUS
        select SUPPORTS_BIG_ENDIAN
        select SUPPORTS_LITTLE_ENDIAN
        select SUPPORTS_CPU_MIPS32_R1
        select SUPPORTS_CPU_MIPS32_R2
+       select SUPPORTS_CPU_MIPS32_R6
+       select SUPPORTS_CPU_MIPS64_R1
+       select SUPPORTS_CPU_MIPS64_R2
+       select SUPPORTS_CPU_MIPS64_R6
        select SWAP_IO_SPACE
        select MIPS_L1_CACHE_SHIFT_6
+       select ROM_EXCEPTION_VECTORS
+       imply ENV_IS_IN_FLASH
 
 config TARGET_VCT
        bool "Support vct"
@@ -37,6 +51,7 @@ config TARGET_VCT
        select SUPPORTS_CPU_MIPS32_R1
        select SUPPORTS_CPU_MIPS32_R2
        select SYS_MIPS_CACHE_INIT_RAM_LOAD
+       select ROM_EXCEPTION_VECTORS
 
 config TARGET_DBAU1X00
        bool "Support dbau1x00"
@@ -45,6 +60,7 @@ config TARGET_DBAU1X00
        select SUPPORTS_CPU_MIPS32_R1
        select SUPPORTS_CPU_MIPS32_R2
        select SYS_MIPS_CACHE_INIT_RAM_LOAD
+       select ROM_EXCEPTION_VECTORS
        select MIPS_TUNE_4KC
 
 config TARGET_PB1X00
@@ -53,20 +69,75 @@ config TARGET_PB1X00
        select SUPPORTS_CPU_MIPS32_R1
        select SUPPORTS_CPU_MIPS32_R2
        select SYS_MIPS_CACHE_INIT_RAM_LOAD
+       select ROM_EXCEPTION_VECTORS
        select MIPS_TUNE_4KC
 
+config ARCH_ATH79
+       bool "Support QCA/Atheros ath79"
+       select OF_CONTROL
+       select DM
+
+config ARCH_BMIPS
+       bool "Support BMIPS SoCs"
+       select OF_CONTROL
+       select DM
+       select CLK
+       select CPU
+       select RAM
+       select SYSRESET
+       imply ENV_IS_NOWHERE
+
 config MACH_PIC32
        bool "Support Microchip PIC32"
        select OF_CONTROL
        select DM
 
+config TARGET_BOSTON
+       bool "Support Boston"
+       select DM
+       select DM_SERIAL
+       select OF_CONTROL
+       select MIPS_CM
+       select MIPS_L1_CACHE_SHIFT_6
+       select MIPS_L2_CACHE
+       select OF_BOARD_SETUP
+       select SUPPORTS_BIG_ENDIAN
+       select SUPPORTS_LITTLE_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select SUPPORTS_CPU_MIPS32_R6
+       select SUPPORTS_CPU_MIPS64_R1
+       select SUPPORTS_CPU_MIPS64_R2
+       select SUPPORTS_CPU_MIPS64_R6
+       select ROM_EXCEPTION_VECTORS
+       imply ENV_IS_IN_FLASH
+
+config TARGET_XILFPGA
+       bool "Support Imagination Xilfpga"
+       select OF_CONTROL
+       select DM
+       select DM_SERIAL
+       select DM_GPIO
+       select DM_ETH
+       select SUPPORTS_LITTLE_ENDIAN
+       select SUPPORTS_CPU_MIPS32_R1
+       select SUPPORTS_CPU_MIPS32_R2
+       select MIPS_L1_CACHE_SHIFT_4
+       select ROM_EXCEPTION_VECTORS
+       help
+         This supports IMGTEC MIPSfpga platform
+
 endchoice
 
 source "board/dbau1x00/Kconfig"
+source "board/imgtec/boston/Kconfig"
 source "board/imgtec/malta/Kconfig"
+source "board/imgtec/xilfpga/Kconfig"
 source "board/micronas/vct/Kconfig"
 source "board/pb1x00/Kconfig"
 source "board/qemu-mips/Kconfig"
+source "arch/mips/mach-ath79/Kconfig"
+source "arch/mips/mach-bmips/Kconfig"
 source "arch/mips/mach-pic32/Kconfig"
 
 if MIPS
@@ -98,7 +169,7 @@ config CPU_MIPS32_R1
        depends on SUPPORTS_CPU_MIPS32_R1
        select 32BIT
        help
-         Choose this option to build an U-Boot for release 1 or later of the
+         Choose this option to build an U-Boot for release 1 through 5 of the
          MIPS32 architecture.
 
 config CPU_MIPS32_R2
@@ -106,7 +177,15 @@ config CPU_MIPS32_R2
        depends on SUPPORTS_CPU_MIPS32_R2
        select 32BIT
        help
-         Choose this option to build an U-Boot for release 2 or later of the
+         Choose this option to build an U-Boot for release 2 through 5 of the
+         MIPS32 architecture.
+
+config CPU_MIPS32_R6
+       bool "MIPS32 Release 6"
+       depends on SUPPORTS_CPU_MIPS32_R6
+       select 32BIT
+       help
+         Choose this option to build an U-Boot for release 6 or later of the
          MIPS32 architecture.
 
 config CPU_MIPS64_R1
@@ -114,19 +193,53 @@ config CPU_MIPS64_R1
        depends on SUPPORTS_CPU_MIPS64_R1
        select 64BIT
        help
-         Choose this option to build a kernel for release 1 or later of the
+         Choose this option to build a kernel for release 1 through 5 of the
          MIPS64 architecture.
 
 config CPU_MIPS64_R2
        bool "MIPS64 Release 2"
        depends on SUPPORTS_CPU_MIPS64_R2
        select 64BIT
+       imply ENV_IS_IN_FLASH
        help
-         Choose this option to build a kernel for release 2 or later of the
+         Choose this option to build a kernel for release 2 through 5 of the
+         MIPS64 architecture.
+
+config CPU_MIPS64_R6
+       bool "MIPS64 Release 6"
+       depends on SUPPORTS_CPU_MIPS64_R6
+       select 64BIT
+       help
+         Choose this option to build a kernel for release 6 or later of the
          MIPS64 architecture.
 
 endchoice
 
+menu "General setup"
+
+config ROM_EXCEPTION_VECTORS
+       bool "Build U-Boot image with exception vectors"
+       help
+         Enable this to include exception vectors in the U-Boot image. This is
+         required if the U-Boot entry point is equal to the address of the
+         CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
+         U-Boot booted from parallel NOR flash).
+         Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
+         In that case the image size will be reduced by 0x500 bytes.
+
+config MIPS_CM_BASE
+       hex "MIPS CM GCR Base Address"
+       depends on MIPS_CM
+       default 0x16100000 if TARGET_BOSTON
+       default 0x1fbf8000
+       help
+         The physical base address at which to map the MIPS Coherence Manager
+         Global Configuration Registers (GCRs). This should be set such that
+         the GCRs occupy a region of the physical address space which is
+         otherwise unused, or at minimum that software doesn't need to access.
+
+endmenu
+
 menu "OS boot interface"
 
 config MIPS_BOOT_CMDLINE_LEGACY
@@ -145,7 +258,7 @@ config MIPS_BOOT_ENV_LEGACY
          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.
+         The address of the environment is stored in register $a2.
 
 config MIPS_BOOT_FDT
        bool "Hand over a flattened device tree to Linux kernel"
@@ -169,19 +282,25 @@ config SUPPORTS_CPU_MIPS32_R1
 config SUPPORTS_CPU_MIPS32_R2
        bool
 
+config SUPPORTS_CPU_MIPS32_R6
+       bool
+
 config SUPPORTS_CPU_MIPS64_R1
        bool
 
 config SUPPORTS_CPU_MIPS64_R2
        bool
 
+config SUPPORTS_CPU_MIPS64_R6
+       bool
+
 config CPU_MIPS32
        bool
-       default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
+       default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
 
 config CPU_MIPS64
        bool
-       default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
+       default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
 
 config MIPS_TUNE_4KC
        bool
@@ -192,6 +311,12 @@ config MIPS_TUNE_14KC
 config MIPS_TUNE_24KC
        bool
 
+config MIPS_TUNE_34KC
+       bool
+
+config MIPS_TUNE_74KC
+       bool
+
 config 32BIT
        bool
 
@@ -204,6 +329,51 @@ config SWAP_IO_SPACE
 config SYS_MIPS_CACHE_INIT_RAM_LOAD
        bool
 
+config MIPS_INIT_STACK_IN_SRAM
+       bool
+       default n
+       help
+         Select this if the initial stack frame could be setup in SRAM.
+         Normally the initial stack frame is set up in DRAM which is often
+         only available after lowlevel_init. With this option the initial
+         stack frame and the early C environment is set up before
+         lowlevel_init. Thus lowlevel_init does not need to be implemented
+         in assembler.
+
+config SYS_DCACHE_SIZE
+       int
+       default 0
+       help
+         The total size of the L1 Dcache, if known at compile time.
+
+config SYS_DCACHE_LINE_SIZE
+       int
+       default 0
+       help
+         The size of L1 Dcache lines, if known at compile time.
+
+config SYS_ICACHE_SIZE
+       int
+       default 0
+       help
+         The total size of the L1 ICache, if known at compile time.
+
+config SYS_ICACHE_LINE_SIZE
+       int
+       default 0
+       help
+         The size of L1 Icache lines, if known at compile time.
+
+config SYS_CACHE_SIZE_AUTO
+       def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
+               SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
+       help
+         Select this (or let it be auto-selected by not defining any cache
+         sizes) in order to allow U-Boot to automatically detect the sizes
+         of caches at runtime. This has a small cost in code size & runtime
+         so if you know the cache configuration for your system at compile
+         time it would be beneficial to configure it.
+
 config MIPS_L1_CACHE_SHIFT_4
        bool
 
@@ -224,9 +394,22 @@ config MIPS_L1_CACHE_SHIFT
        default "4" if MIPS_L1_CACHE_SHIFT_4
        default "5"
 
+config MIPS_L2_CACHE
+       bool
+       help
+         Select this if your system includes an L2 cache and you want U-Boot
+         to initialise & maintain it.
+
 config DYNAMIC_IO_PORT_BASE
        bool
 
+config MIPS_CM
+       bool
+       help
+         Select this if your system contains a MIPS Coherence Manager and you
+         wish U-Boot to configure it or make use of it to retrieve system
+         information such as cache configuration.
+
 endif
 
 endmenu