[PATCH 3/6] mxc/kconfig: inverse the board selection

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Oct 31 05:39:12 EDT 2009


instead of select first the board which will select the arch, now
first choice the arch to filter the possible boards

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
 arch/arm/Kconfig          |  116 +--------------------------
 arch/arm/mach-imx/Kconfig |  201 ++++++++++++++++++++++++++++++++++++++++----
 drivers/serial/Kconfig    |    2 +-
 drivers/spi/Kconfig       |    2 +-
 drivers/video/Kconfig     |    2 +-
 5 files changed, 186 insertions(+), 137 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 29aad6b..05cf3d8 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -98,91 +98,7 @@ endchoice
 
 choice
 	prompt "Select your board"
-	depends on !ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_OMAP
-
-config MACH_MX1ADS
-	bool "mx1ads"
-	depends on ARCH_MXC
-	select ARCH_IMX1
-	select HAS_CS8900
-	help
-	  Say Y here if you are using the Motorola MX1ADS board
-
-config MACH_SCB9328
-	bool "Synertronixx scb9328"
-	depends on ARCH_MXC
-	select ARCH_IMX1
-	select HAS_DM9000
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	select HAVE_MMU
-	help
-	  Say Y here if you are using the Synertronixx scb9328 board
-
-config MACH_PCM038
-	bool "phyCORE-i.MX27"
-	depends on ARCH_MXC
-	select ARCH_IMX27
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	select SPI
-	select DRIVER_SPI_IMX
-	select DRIVER_SPI_MC13783
-	select HAVE_MMU
-	help
-	  Say Y here if you are using Phytec's phyCORE-i.MX27 (pcm038) equipped
-	  with a Freescale i.MX27 Processor
-
-config MACH_IMX21ADS
-	bool "Freescale i.MX21ADS"
-	depends on ARCH_MXC
-	select ARCH_IMX21
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	select HAS_CS8900
-	help
-	  Say Y here if you are using the Freescale i.MX21ads board equipped
-	  with a Freescale i.MX21 Processor
-
-config MACH_IMX27ADS
-	bool "Freescale i.MX27ADS"
-	depends on ARCH_MXC
-	select ARCH_IMX27
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	help
-	  Say Y here if you are using the Freescale i.MX27ads board equipped
-	  with a Freescale i.MX27 Processor
-
-config MACH_PCM043
-        bool "phyCORE-i.MX35"
-	depends on ARCH_MXC
-	select ARCH_IMX35
-        select HAS_CFI
-        select MACH_HAS_LOWLEVEL_INIT
-        help
-          Say Y here if you are using Phytec's phyCORE-i.MX35 (pcm043) equipped
-          with a Freescale i.MX35 Processor
-
-config MACH_FREESCALE_MX35_3STACK
-	bool "Freescale MX35 3stack"
-	depends on ARCH_MXC
-	select ARCH_IMX35
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	help
-	  Say Y here if you are using the Freescale MX35 3stack board equipped
-	  with a Freescale i.MX35 Processor
-
-config MACH_FREESCALE_MX25_3STACK
-	bool "Freescale MX25 3stack"
-	depends on ARCH_MXC
-	select ARCH_IMX25
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	help
-	  Say Y here if you are using the Freescale MX25 3stack board equipped
-	  with a Freescale i.MX25 Processor
+	depends on !ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_OMAP && !ARCH_MXC
 
 config MACH_NXDB500
 	bool "Hilscher Netx nxdb500"
@@ -193,16 +109,6 @@ config MACH_NXDB500
 	help
 	  Say Y here if you are using the Hilscher Netx nxdb500 board
 
-config MACH_PCM037
-	bool "phyCORE-i.MX31"
-	depends on ARCH_MXC
-	select ARCH_IMX31
-	select MACH_HAS_LOWLEVEL_INIT
-	select USB_ISP1504 if USB
-	help
-	  Say Y here if you are using Phytec's phyCORE-i.MX31 (pcm037) equipped
-	  with a Freescale i.MX31 Processor
-
 config MACH_A9M2410
 	bool "Digi A9M2410"
 	depends on ARCH_S3C24xx
@@ -224,26 +130,6 @@ config MACH_A9M2440
 	  Say Y here if you are using Digi's Connect Core 9M equipped
 	  with a Samsung S3C2440 Processor
 
-config MACH_PCA100
-	bool "phyCard-i.MX27"
-	depends on ARCH_MXC
-	select ARCH_IMX27
-	select MACH_HAS_LOWLEVEL_INIT
-	select HAVE_MMU
-	help
-	  Say Y here if you are using Phytec's phyCard-i.MX27 (pca100) equipped
-	  with a Freescale i.MX27 Processor
-
-config MACH_EUKREA_CPUIMX27
-	bool "EUKREA CPUIMX27"
-	depends on ARCH_MXC
-	select ARCH_IMX27
-	select HAS_CFI
-	select MACH_HAS_LOWLEVEL_INIT
-	help
-	  Say Y here if you are using Eukrea's CPUIMX27 equipped
-	  with a Freescale i.MX27 Processor
-
 endchoice
 
 source arch/arm/mach-at91/Kconfig
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 0afe832..dd259e4 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -1,42 +1,205 @@
-
-config ARCH_IMX
-	bool
+if ARCH_MXC
 
 config ARCH_HAS_FEC_IMX
 	bool
 
+comment "Freescale i.MX System-on-Chip"
+
+choice
+	prompt "Freescale i.MX Processor"
+
 config ARCH_IMX1
-	bool
-	select ARCH_IMX
+	bool "i.MX1"
 	select ARM920T
 
-config ARCH_IMX25
-	bool
-	select ARCH_IMX
+config ARCH_IMX21
+	bool "i.MX21"
 	select ARM926EJS
-	select ARCH_HAS_FEC_IMX
 
-config ARCH_IMX21
-	bool
-	select ARCH_IMX
+config ARCH_IMX25
+	bool "i.MX25"
 	select ARM926EJS
+	select ARCH_HAS_FEC_IMX
 
 config ARCH_IMX27
-	bool
-	select ARCH_IMX
+	bool "i.MX27"
 	select ARM926EJS
 	select ARCH_HAS_FEC_IMX
 
 config ARCH_IMX31
-	bool
-	select ARCH_IMX
+	bool "i.MX31"
 
 config ARCH_IMX35
-	bool
-	select ARCH_IMX
+	bool "i.MX35"
 	select ARCH_HAS_FEC_IMX
 
-if ARCH_IMX
+endchoice
+
+# ----------------------------------------------------------
+
+if ARCH_IMX1
+
+choice
+
+	prompt "i.MX1 Board Type"
+
+config MACH_MX1ADS
+	bool "mx1ads"
+	select HAS_CS8900
+	help
+	  Say Y here if you are using the Motorola MX1ADS board
+
+config MACH_SCB9328
+	bool "Synertronixx scb9328"
+	select HAS_DM9000
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	select HAVE_MMU
+	help
+	  Say Y here if you are using the Synertronixx scb9328 board
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
+
+if ARCH_IMX21
+
+choice
+
+	prompt "i.MX21 Board Type"
+
+config MACH_IMX21ADS
+	bool "Freescale i.MX21ADS"
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	select HAS_CS8900
+	help
+	  Say Y here if you are using the Freescale i.MX21ads board equipped
+	  with a Freescale i.MX21 Processor
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
+
+if ARCH_IMX25
+
+choice
+
+	prompt "i.MX25 Board Type"
+
+config MACH_FREESCALE_MX25_3STACK
+	bool "Freescale MX25 3stack"
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	help
+	  Say Y here if you are using the Freescale MX25 3stack board equipped
+	  with a Freescale i.MX25 Processor
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
+
+if ARCH_IMX27
+
+choice
+
+	prompt "i.MX27 Board Type"
+
+config MACH_EUKREA_CPUIMX27
+	bool "EUKREA CPUIMX27"
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	help
+	  Say Y here if you are using Eukrea's CPUIMX27 equipped
+	  with a Freescale i.MX27 Processor
+
+config MACH_IMX27ADS
+	bool "Freescale i.MX27ADS"
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	help
+	  Say Y here if you are using the Freescale i.MX27ads board equipped
+	  with a Freescale i.MX27 Processor
+
+config MACH_PCA100
+	bool "phyCard-i.MX27"
+	select MACH_HAS_LOWLEVEL_INIT
+	select HAVE_MMU
+	help
+	  Say Y here if you are using Phytec's phyCard-i.MX27 (pca100) equipped
+	  with a Freescale i.MX27 Processor
+
+config MACH_PCM038
+	bool "phyCORE-i.MX27"
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	select SPI
+	select DRIVER_SPI_IMX
+	select DRIVER_SPI_MC13783
+	select HAVE_MMU
+	help
+	  Say Y here if you are using Phytec's phyCORE-i.MX27 (pcm038) equipped
+	  with a Freescale i.MX27 Processor
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
+
+if ARCH_IMX31
+
+choice
+
+	prompt "i.MX31 Board Type"
+
+config MACH_PCM037
+	bool "phyCORE-i.MX31"
+	select MACH_HAS_LOWLEVEL_INIT
+	select USB_ISP1504 if USB
+	help
+	  Say Y here if you are using Phytec's phyCORE-i.MX31 (pcm037) equipped
+	  with a Freescale i.MX31 Processor
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
+
+if ARCH_IMX35
+
+choice
+
+	prompt "i.MX35 Board Type"
+
+config MACH_FREESCALE_MX35_3STACK
+	bool "Freescale MX35 3stack"
+	select HAS_CFI
+	select MACH_HAS_LOWLEVEL_INIT
+	help
+	  Say Y here if you are using the Freescale MX35 3stack board equipped
+	  with a Freescale i.MX35 Processor
+
+config MACH_PCM043
+        bool "phyCORE-i.MX35"
+        select HAS_CFI
+        select MACH_HAS_LOWLEVEL_INIT
+        help
+          Say Y here if you are using Phytec's phyCORE-i.MX35 (pcm043) equipped
+          with a Freescale i.MX35 Processor
+
+endchoice
+
+endif
+
+# ----------------------------------------------------------
 
 menu "Board specific settings       "
 
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 12854ef..7e22b62 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -1,7 +1,7 @@
 menu "serial drivers                "
 
 config DRIVER_SERIAL_IMX
-	depends on ARCH_IMX
+	depends on ARCH_MXC
 	default y
 	bool "i.MX serial driver"
 
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 3eebd08..934fc5d 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -6,7 +6,7 @@ config SPI
 
 config DRIVER_SPI_IMX
 	bool "i.MX SPI Master driver"
-	depends on ARCH_IMX
+	depends on ARCH_MXC
 	depends on SPI
 
 config DRIVER_SPI_MC13783
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 3410430..619cd78 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -5,7 +5,7 @@ config VIDEO
 
 config DRIVER_VIDEO_IMX
 	bool "i.MX framebuffer driver"
-	depends on ARCH_IMX
+	depends on ARCH_MXC
 	depends on VIDEO
 
 config IMXFB_DRIVER_VIDEO_IMX_OVERLAY
-- 
1.6.5





More information about the u-boot-v2 mailing list