at91: Kconfig simplification

Instead of adding "depends on" at config level, introduce HAVE_* config
variables. Add them at machine or soc level to specify the ability of a
particular support.
It will ease new board introduction and readability.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Andrew Victor <linux@maxim.org.za>
This commit is contained in:
Jean-Christophe PLAGNIOL-VILLARD 2009-10-22 18:50:26 +02:00 committed by Nicolas Ferre
parent c4e4ab9f23
commit 2ef9f59a7a

View File

@ -1,5 +1,20 @@
if ARCH_AT91 if ARCH_AT91
config HAVE_AT91_DATAFLASH_CARD
bool
config HAVE_NAND_ATMEL_BUSWIDTH_16
bool
config HAVE_AT91_USART3
bool
config HAVE_AT91_USART4
bool
config HAVE_AT91_USART5
bool
menu "Atmel AT91 System-on-Chip" menu "Atmel AT91 System-on-Chip"
choice choice
@ -10,12 +25,16 @@ config ARCH_AT91RM9200
select CPU_ARM920T select CPU_ARM920T
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_USART3
config ARCH_AT91SAM9260 config ARCH_AT91SAM9260
bool "AT91SAM9260 or AT91SAM9XE" bool "AT91SAM9260 or AT91SAM9XE"
select CPU_ARM926T select CPU_ARM926T
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_USART3
select HAVE_AT91_USART4
select HAVE_AT91_USART5
config ARCH_AT91SAM9261 config ARCH_AT91SAM9261
bool "AT91SAM9261" bool "AT91SAM9261"
@ -40,18 +59,23 @@ config ARCH_AT91SAM9RL
select CPU_ARM926T select CPU_ARM926T
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_USART3
config ARCH_AT91SAM9G20 config ARCH_AT91SAM9G20
bool "AT91SAM9G20" bool "AT91SAM9G20"
select CPU_ARM926T select CPU_ARM926T
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_USART3
select HAVE_AT91_USART4
select HAVE_AT91_USART5
config ARCH_AT91SAM9G45 config ARCH_AT91SAM9G45
bool "AT91SAM9G45" bool "AT91SAM9G45"
select CPU_ARM926T select CPU_ARM926T
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_USART3
config ARCH_AT91CAP9 config ARCH_AT91CAP9
bool "AT91CAP9" bool "AT91CAP9"
@ -82,12 +106,14 @@ config MACH_ONEARM
config ARCH_AT91RM9200DK config ARCH_AT91RM9200DK
bool "Atmel AT91RM9200-DK Development board" bool "Atmel AT91RM9200-DK Development board"
select HAVE_AT91_DATAFLASH_CARD
help help
Select this if you are using Atmel's AT91RM9200-DK Development board. Select this if you are using Atmel's AT91RM9200-DK Development board.
(Discontinued) (Discontinued)
config MACH_AT91RM9200EK config MACH_AT91RM9200EK
bool "Atmel AT91RM9200-EK Evaluation Kit" bool "Atmel AT91RM9200-EK Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
help help
Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit. Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit.
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507> <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507>
@ -135,6 +161,7 @@ config MACH_KAFA
config MACH_ECBAT91 config MACH_ECBAT91
bool "emQbit ECB_AT91 SBC" bool "emQbit ECB_AT91 SBC"
select HAVE_AT91_DATAFLASH_CARD
help help
Select this if you are using emQbit's ECB_AT91 board. Select this if you are using emQbit's ECB_AT91 board.
<http://wiki.emqbit.com/free-ecb-at91> <http://wiki.emqbit.com/free-ecb-at91>
@ -168,6 +195,8 @@ comment "AT91SAM9260 / AT91SAM9XE Board Type"
config MACH_AT91SAM9260EK config MACH_AT91SAM9260EK
bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit" bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933> <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
@ -180,6 +209,7 @@ config MACH_CAM60
config MACH_SAM9_L9260 config MACH_SAM9_L9260
bool "Olimex SAM9-L9260 board" bool "Olimex SAM9-L9260 board"
select HAVE_AT91_DATAFLASH_CARD
help help
Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260. Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260.
<http://www.olimex.com/dev/sam9-L9260.html> <http://www.olimex.com/dev/sam9-L9260.html>
@ -220,6 +250,8 @@ comment "AT91SAM9261 Board Type"
config MACH_AT91SAM9261EK config MACH_AT91SAM9261EK
bool "Atmel AT91SAM9261-EK Evaluation Kit" bool "Atmel AT91SAM9261-EK Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit. Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820> <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
@ -234,6 +266,8 @@ comment "AT91SAM9G10 Board Type"
config MACH_AT91SAM9G10EK config MACH_AT91SAM9G10EK
bool "Atmel AT91SAM9G10-EK Evaluation Kit" bool "Atmel AT91SAM9G10-EK Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit. Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588> <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
@ -248,6 +282,8 @@ comment "AT91SAM9263 Board Type"
config MACH_AT91SAM9263EK config MACH_AT91SAM9263EK
bool "Atmel AT91SAM9263-EK Evaluation Kit" bool "Atmel AT91SAM9263-EK Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057> <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
@ -260,6 +296,7 @@ config MACH_USB_A9263
config MACH_NEOCORE926 config MACH_NEOCORE926
bool "Adeneo NEOCORE926" bool "Adeneo NEOCORE926"
select HAVE_AT91_DATAFLASH_CARD
help help
Select this if you are using the Adeneo Neocore 926 board. Select this if you are using the Adeneo Neocore 926 board.
@ -286,12 +323,15 @@ comment "AT91SAM9G20 Board Type"
config MACH_AT91SAM9G20EK config MACH_AT91SAM9G20EK
bool "Atmel AT91SAM9G20-EK Evaluation Kit" bool "Atmel AT91SAM9G20-EK Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
that embeds only one SD/MMC slot. that embeds only one SD/MMC slot.
config MACH_AT91SAM9G20EK_2MMC config MACH_AT91SAM9G20EK_2MMC
bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots" bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
@ -313,6 +353,7 @@ comment "AT91SAM9G45 Board Type"
config MACH_AT91SAM9G45EKES config MACH_AT91SAM9G45EKES
bool "Atmel AT91SAM9G45-EKES Evaluation Kit" bool "Atmel AT91SAM9G45-EKES Evaluation Kit"
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit. Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
"ES" at the end of the name means that this board is an "ES" at the end of the name means that this board is an
@ -328,6 +369,8 @@ comment "AT91CAP9 Board Type"
config MACH_AT91CAP9ADK config MACH_AT91CAP9ADK
bool "Atmel AT91CAP9A-DK Evaluation Kit" bool "Atmel AT91CAP9A-DK Evaluation Kit"
select HAVE_AT91_DATAFLASH_CARD
select HAVE_NAND_ATMEL_BUSWIDTH_16
help help
Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit. Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138> <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
@ -356,13 +399,13 @@ comment "AT91 Board Options"
config MTD_AT91_DATAFLASH_CARD config MTD_AT91_DATAFLASH_CARD
bool "Enable DataFlash Card support" bool "Enable DataFlash Card support"
depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK || MACH_NEOCORE926) depends on HAVE_AT91_DATAFLASH_CARD
help help
Enable support for the DataFlash card. Enable support for the DataFlash card.
config MTD_NAND_ATMEL_BUSWIDTH_16 config MTD_NAND_ATMEL_BUSWIDTH_16
bool "Enable 16-bit data bus interface to NAND flash" bool "Enable 16-bit data bus interface to NAND flash"
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK) depends on HAVE_NAND_ATMEL_BUSWIDTH_16
help help
On AT91SAM926x boards both types of NAND flash can be present On AT91SAM926x boards both types of NAND flash can be present
(8 and 16 bit data bus width). (8 and 16 bit data bus width).
@ -424,15 +467,15 @@ config AT91_EARLY_USART2
config AT91_EARLY_USART3 config AT91_EARLY_USART3
bool "USART3" bool "USART3"
depends on (ARCH_AT91RM9200 || ARCH_AT91SAM9RL || ARCH_AT91SAM9260 || ARCH_AT91SAM9G20 || ARCH_AT91SAM9G45) depends on HAVE_AT91_USART3
config AT91_EARLY_USART4 config AT91_EARLY_USART4
bool "USART4" bool "USART4"
depends on ARCH_AT91SAM9260 || ARCH_AT91SAM9G20 depends on HAVE_AT91_USART4
config AT91_EARLY_USART5 config AT91_EARLY_USART5
bool "USART5" bool "USART5"
depends on ARCH_AT91SAM9260 || ARCH_AT91SAM9G20 depends on HAVE_AT91_USART5
endchoice endchoice