at91: at91sam9g20ek modify dual slot evaluation kit
at91sam9g20ek rev. C and onwards embed two SD/MMC slots. This patch modify the previous dual slot board definition to match the official rev. C board. It also allows the use of at91_mci SD/MMC driver in addition to the atmel-mci one. Some pins have been re-affected from leds or Ethernet phy IRQ to the SD/MMC slot A. This lead to a modification of those definitions. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za>
This commit is contained in:
parent
a9366e61b0
commit
0f74296a0f
2 changed files with 26 additions and 17 deletions
|
@ -289,13 +289,6 @@ config MACH_NEOCORE926
|
|||
help
|
||||
Select this if you are using the Adeneo Neocore 926 board.
|
||||
|
||||
config MACH_AT91SAM9G20EK_2MMC
|
||||
bool "Atmel AT91SAM9G20-EK Evaluation Kit modified for 2 MMC Slots"
|
||||
depends on ARCH_AT91SAM9G20
|
||||
help
|
||||
Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
|
||||
Rev A or B modified for 2 MMC Slots.
|
||||
|
||||
endif
|
||||
|
||||
# ----------------------------------------------------------
|
||||
|
@ -322,7 +315,16 @@ config MACH_AT91SAM9G20EK
|
|||
bool "Atmel AT91SAM9G20-EK Evaluation Kit"
|
||||
depends on ARCH_AT91SAM9G20
|
||||
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.
|
||||
|
||||
config MACH_AT91SAM9G20EK_2MMC
|
||||
bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
|
||||
depends on ARCH_AT91SAM9G20
|
||||
help
|
||||
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
|
||||
onwards.
|
||||
|
||||
config MACH_CPU9G20
|
||||
bool "Eukrea CPU9G20 board"
|
||||
|
@ -392,7 +394,7 @@ config MTD_AT91_DATAFLASH_CARD
|
|||
|
||||
config MTD_NAND_ATMEL_BUSWIDTH_16
|
||||
bool "Enable 16-bit data bus interface to NAND flash"
|
||||
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
|
||||
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
|
||||
help
|
||||
On AT91SAM926x boards both types of NAND flash can be present
|
||||
(8 and 16 bit data bus width).
|
||||
|
|
|
@ -90,7 +90,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
|
|||
* SPI devices.
|
||||
*/
|
||||
static struct spi_board_info ek_spi_devices[] = {
|
||||
#if !defined(CONFIG_MMC_ATMELMCI)
|
||||
#if !(defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_AT91))
|
||||
{ /* DataFlash chip */
|
||||
.modalias = "mtd_dataflash",
|
||||
.chip_select = 1,
|
||||
|
@ -113,7 +113,7 @@ static struct spi_board_info ek_spi_devices[] = {
|
|||
* MACB Ethernet device
|
||||
*/
|
||||
static struct at91_eth_data __initdata ek_macb_data = {
|
||||
.phy_irq_pin = AT91_PIN_PC12,
|
||||
.phy_irq_pin = AT91_PIN_PB0,
|
||||
.is_rmii = 1,
|
||||
};
|
||||
|
||||
|
@ -194,24 +194,27 @@ static void __init ek_add_device_nand(void)
|
|||
|
||||
/*
|
||||
* MCI (SD/MMC)
|
||||
* det_pin and wp_pin are not connected
|
||||
* wp_pin is not connected
|
||||
*/
|
||||
#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
|
||||
static struct mci_platform_data __initdata ek_mmc_data = {
|
||||
.slot[0] = {
|
||||
.bus_width = 4,
|
||||
.detect_pin = -ENODEV,
|
||||
.detect_pin = AT91_PIN_PC2,
|
||||
.wp_pin = -ENODEV,
|
||||
},
|
||||
.slot[1] = {
|
||||
.bus_width = 4,
|
||||
.detect_pin = -ENODEV,
|
||||
.detect_pin = AT91_PIN_PC9,
|
||||
.wp_pin = -ENODEV,
|
||||
},
|
||||
|
||||
};
|
||||
#else
|
||||
static struct amci_platform_data __initdata ek_mmc_data = {
|
||||
static struct at91_mmc_data __initdata ek_mmc_data = {
|
||||
.slot_b = 1, /* Only one slot so use slot B */
|
||||
.wire4 = 1,
|
||||
.det_pin = AT91_PIN_PC9,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -221,13 +224,13 @@ static struct amci_platform_data __initdata ek_mmc_data = {
|
|||
static struct gpio_led ek_leds[] = {
|
||||
{ /* "bottom" led, green, userled1 to be defined */
|
||||
.name = "ds5",
|
||||
.gpio = AT91_PIN_PB12,
|
||||
.gpio = AT91_PIN_PB8,
|
||||
.active_low = 1,
|
||||
.default_trigger = "none",
|
||||
},
|
||||
{ /* "power" led, yellow */
|
||||
.name = "ds1",
|
||||
.gpio = AT91_PIN_PB13,
|
||||
.gpio = AT91_PIN_PB9,
|
||||
.default_trigger = "heartbeat",
|
||||
}
|
||||
};
|
||||
|
@ -254,7 +257,11 @@ static void __init ek_board_init(void)
|
|||
/* Ethernet */
|
||||
at91_add_device_eth(&ek_macb_data);
|
||||
/* MMC */
|
||||
#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
|
||||
at91_add_device_mci(0, &ek_mmc_data);
|
||||
#else
|
||||
at91_add_device_mmc(0, &ek_mmc_data);
|
||||
#endif
|
||||
/* I2C */
|
||||
at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
|
||||
/* LEDs */
|
||||
|
|
Loading…
Reference in a new issue