mips: mtmips: add SPL support
[oweals/u-boot.git] / arch / mips / Kconfig
index 5cb9bdf2ee7a771db534808448cf70b034b77376..48e754cc46cec922bd13aa7f1e3ab5714765b278 100644 (file)
@@ -76,22 +76,29 @@ config ARCH_BMIPS
 
 config ARCH_MTMIPS
        bool "Support MediaTek MIPS platforms"
+       select CLK
        imply CMD_DM
        select DISPLAY_CPUINFO
        select DM
        imply DM_ETH
        imply DM_GPIO
+       select DM_RESET
        select DM_SERIAL
+       select PINCTRL
+       select PINMUX
+       select PINCONF
+       select RESET_MTMIPS
        imply DM_SPI
        imply DM_SPI_FLASH
+       select LAST_STAGE_INIT
        select MIPS_TUNE_24KC
        select OF_CONTROL
        select ROM_EXCEPTION_VECTORS
        select SUPPORTS_CPU_MIPS32_R1
        select SUPPORTS_CPU_MIPS32_R2
        select SUPPORTS_LITTLE_ENDIAN
-       select SYS_MALLOC_CLEAR_ON_INIT
        select SYSRESET
+       select SUPPORT_SPL
 
 config ARCH_JZ47XX
        bool "Support Ingenic JZ47xx"
@@ -146,7 +153,6 @@ endchoice
 source "board/imgtec/boston/Kconfig"
 source "board/imgtec/malta/Kconfig"
 source "board/imgtec/xilfpga/Kconfig"
-source "board/micronas/vct/Kconfig"
 source "board/qemu-mips/Kconfig"
 source "arch/mips/mach-ath79/Kconfig"
 source "arch/mips/mach-mscc/Kconfig"
@@ -282,6 +288,60 @@ config MIPS_RELOCATION_TABLE_SIZE
 
          If unsure, leave at the default value.
 
+config RESTORE_EXCEPTION_VECTOR_BASE
+       bool "Restore exception vector base before booting linux kernel"
+       default n
+       help
+         In U-Boot the exception vector base will be moved to top of memory,
+         to be used to display register dump when exception occurs.
+         But some old linux kernel does not honor the base set in CP0_EBASE.
+         A modified exception vector base will cause kernel crash.
+
+         This option will restore the exception vector base to its previous
+         value.
+
+         If unsure, say N.
+
+config OVERRIDE_EXCEPTION_VECTOR_BASE
+       bool "Override the exception vector base to be restored"
+       depends on RESTORE_EXCEPTION_VECTOR_BASE
+       default n
+       help
+         Enable this option if you want to use a different exception vector
+         base rather than the previously saved one.
+
+config NEW_EXCEPTION_VECTOR_BASE
+       hex "New exception vector base"
+       depends on OVERRIDE_EXCEPTION_VECTOR_BASE
+       range 0x80000000 0xbffff000
+       default 0x80000000
+       help
+         The exception vector base to be restored before booting linux kernel
+
+config INIT_STACK_WITHOUT_MALLOC_F
+       bool "Do not reserve malloc space on initial stack"
+       default n
+       help
+         Enable this option if you don't want to reserve malloc space on
+         initial stack. This is useful if the initial stack can't hold large
+         malloc space. Platform should set the malloc_base later when DRAM is
+         ready to use.
+
+config SPL_INIT_STACK_WITHOUT_MALLOC_F
+       bool "Do not reserve malloc space on initial stack in SPL"
+       default n
+       help
+         Enable this option if you don't want to reserve malloc space on
+         initial stack. This is useful if the initial stack can't hold large
+         malloc space. Platform should set the malloc_base later when DRAM is
+         ready to use.
+
+config SPL_LOADER_SUPPORT
+       bool
+       default n
+       help
+         Enable this option if you want to use SPL loaders without DM enabled.
+
 endmenu
 
 menu "OS boot interface"
@@ -384,6 +444,15 @@ config MIPS_INIT_STACK_IN_SRAM
          lowlevel_init. Thus lowlevel_init does not need to be implemented
          in assembler.
 
+config MIPS_SRAM_INIT
+       bool
+       default n
+       depends on MIPS_INIT_STACK_IN_SRAM
+       help
+         Select this if the SRAM for initial stack needs to be initialized
+         before it can be used. If enabled, a function mips_sram_init() will
+         be called just before setup_stack_gd.
+
 config SYS_DCACHE_SIZE
        int
        default 0
@@ -408,9 +477,17 @@ config SYS_ICACHE_LINE_SIZE
        help
          The size of L1 Icache lines, if known at compile time.
 
+config SYS_SCACHE_LINE_SIZE
+       int
+       default 0
+       help
+         The size of L2 cache 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
+               SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
+               SYS_SCACHE_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