From 02611cbb7ca56d5dc405cf616ea570ae7bce43fa Mon Sep 17 00:00:00 2001
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Date: Sun, 26 Oct 2014 14:14:07 +0100
Subject: [PATCH] MIPS: kconfig: add options for CPU type select

Add new Kconfig option to let the user select the targets
CPU type. Each target have to select SUPPORTS_CPU_MIPS[32,64]_R[1,2]
to indicate which CPU types are supported.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
---
 arch/mips/Kconfig | 68 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index f2e6a453fc..623ec66a84 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -14,29 +14,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
 
 config TARGET_MALTA
 	bool "Support malta"
 	select SUPPORTS_BIG_ENDIAN
 	select SUPPORTS_LITTLE_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
 
 config TARGET_VCT
 	bool "Support vct"
 	select SUPPORTS_BIG_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
 
 config TARGET_DBAU1X00
 	bool "Support dbau1x00"
 	select SUPPORTS_BIG_ENDIAN
 	select SUPPORTS_LITTLE_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
 
 config TARGET_PB1X00
 	bool "Support pb1x00"
 	select SUPPORTS_LITTLE_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
 
 config TARGET_QEMU_MIPS64
 	bool "Support qemu-mips64"
 	select SUPPORTS_BIG_ENDIAN
 	select SUPPORTS_LITTLE_ENDIAN
+	select SUPPORTS_CPU_MIPS64_R1
+	select SUPPORTS_CPU_MIPS64_R2
 
 endchoice
 
@@ -66,12 +78,68 @@ 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
+
 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 32BIT
+	bool
+
+config 64BIT
+	bool
+
 endif
 
 endmenu
-- 
2.39.5