Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdcad71c authored by Nicolas Ferre's avatar Nicolas Ferre
Browse files

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: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: default avatarAndrew Victor <linux@maxim.org.za>
parent a9366e61
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -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).
+15 −8
Original line number Diff line number Diff line
@@ -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 */