mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-25 23:26:03 +08:00
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
fdcad71cef
@ -289,13 +289,6 @@ config MACH_NEOCORE926
|
|||||||
help
|
help
|
||||||
Select this if you are using the Adeneo Neocore 926 board.
|
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
|
endif
|
||||||
|
|
||||||
# ----------------------------------------------------------
|
# ----------------------------------------------------------
|
||||||
@ -322,7 +315,16 @@ config MACH_AT91SAM9G20EK
|
|||||||
bool "Atmel AT91SAM9G20-EK Evaluation Kit"
|
bool "Atmel AT91SAM9G20-EK Evaluation Kit"
|
||||||
depends on ARCH_AT91SAM9G20
|
depends on ARCH_AT91SAM9G20
|
||||||
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.
|
||||||
|
|
||||||
|
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
|
config MACH_CPU9G20
|
||||||
bool "Eukrea CPU9G20 board"
|
bool "Eukrea CPU9G20 board"
|
||||||
@ -392,7 +394,7 @@ config MTD_AT91_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_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
|
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK)
|
||||||
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).
|
||||||
|
@ -90,7 +90,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
|
|||||||
* SPI devices.
|
* SPI devices.
|
||||||
*/
|
*/
|
||||||
static struct spi_board_info ek_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 */
|
{ /* DataFlash chip */
|
||||||
.modalias = "mtd_dataflash",
|
.modalias = "mtd_dataflash",
|
||||||
.chip_select = 1,
|
.chip_select = 1,
|
||||||
@ -113,7 +113,7 @@ static struct spi_board_info ek_spi_devices[] = {
|
|||||||
* MACB Ethernet device
|
* MACB Ethernet device
|
||||||
*/
|
*/
|
||||||
static struct at91_eth_data __initdata ek_macb_data = {
|
static struct at91_eth_data __initdata ek_macb_data = {
|
||||||
.phy_irq_pin = AT91_PIN_PC12,
|
.phy_irq_pin = AT91_PIN_PB0,
|
||||||
.is_rmii = 1,
|
.is_rmii = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -194,24 +194,27 @@ static void __init ek_add_device_nand(void)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* MCI (SD/MMC)
|
* 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)
|
#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
|
||||||
static struct mci_platform_data __initdata ek_mmc_data = {
|
static struct mci_platform_data __initdata ek_mmc_data = {
|
||||||
.slot[0] = {
|
.slot[0] = {
|
||||||
.bus_width = 4,
|
.bus_width = 4,
|
||||||
.detect_pin = -ENODEV,
|
.detect_pin = AT91_PIN_PC2,
|
||||||
.wp_pin = -ENODEV,
|
.wp_pin = -ENODEV,
|
||||||
},
|
},
|
||||||
.slot[1] = {
|
.slot[1] = {
|
||||||
.bus_width = 4,
|
.bus_width = 4,
|
||||||
.detect_pin = -ENODEV,
|
.detect_pin = AT91_PIN_PC9,
|
||||||
.wp_pin = -ENODEV,
|
.wp_pin = -ENODEV,
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
#else
|
#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
|
#endif
|
||||||
|
|
||||||
@ -221,13 +224,13 @@ static struct amci_platform_data __initdata ek_mmc_data = {
|
|||||||
static struct gpio_led ek_leds[] = {
|
static struct gpio_led ek_leds[] = {
|
||||||
{ /* "bottom" led, green, userled1 to be defined */
|
{ /* "bottom" led, green, userled1 to be defined */
|
||||||
.name = "ds5",
|
.name = "ds5",
|
||||||
.gpio = AT91_PIN_PB12,
|
.gpio = AT91_PIN_PB8,
|
||||||
.active_low = 1,
|
.active_low = 1,
|
||||||
.default_trigger = "none",
|
.default_trigger = "none",
|
||||||
},
|
},
|
||||||
{ /* "power" led, yellow */
|
{ /* "power" led, yellow */
|
||||||
.name = "ds1",
|
.name = "ds1",
|
||||||
.gpio = AT91_PIN_PB13,
|
.gpio = AT91_PIN_PB9,
|
||||||
.default_trigger = "heartbeat",
|
.default_trigger = "heartbeat",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -254,7 +257,11 @@ static void __init ek_board_init(void)
|
|||||||
/* Ethernet */
|
/* Ethernet */
|
||||||
at91_add_device_eth(&ek_macb_data);
|
at91_add_device_eth(&ek_macb_data);
|
||||||
/* MMC */
|
/* MMC */
|
||||||
|
#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE)
|
||||||
at91_add_device_mci(0, &ek_mmc_data);
|
at91_add_device_mci(0, &ek_mmc_data);
|
||||||
|
#else
|
||||||
|
at91_add_device_mmc(0, &ek_mmc_data);
|
||||||
|
#endif
|
||||||
/* I2C */
|
/* I2C */
|
||||||
at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
|
at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
|
||||||
/* LEDs */
|
/* LEDs */
|
||||||
|
Loading…
Reference in New Issue
Block a user