[PATCH 1/2] tny-a9263: add dataflash support
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Wed Jan 23 15:52:11 EST 2013
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
arch/arm/boards/tny-a926x/init.c | 43 ++++++++++++++++++++++++----------
arch/arm/configs/tny_a9263_defconfig | 1 +
2 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/arch/arm/boards/tny-a926x/init.c b/arch/arm/boards/tny-a926x/init.c
index 5fe6531..027186a 100644
--- a/arch/arm/boards/tny-a926x/init.c
+++ b/arch/arm/boards/tny-a926x/init.c
@@ -160,16 +160,31 @@ static struct spi_board_info tny_a9g20_lpw_spi_devices[] = {
},
};
-static int spi0_standard_cs[] = { AT91_PIN_PC11 };
-struct at91_spi_platform_data spi0_pdata = {
- .chipselect = spi0_standard_cs,
- .num_chipselect = ARRAY_SIZE(spi0_standard_cs),
+static struct spi_board_info tny_a9263_spi_devices[] = {
+ {
+ .name = "mtd_dataflash",
+ .max_speed_hz = 15 * 1000 * 1000,
+ .bus_num = 0,
+ .chip_select = 0,
+ },
};
-static int spi1_standard_cs[] = { AT91_PIN_PC3 };
-struct at91_spi_platform_data spi1_pdata = {
- .chipselect = spi1_standard_cs,
- .num_chipselect = ARRAY_SIZE(spi1_standard_cs),
+static int tny_a9263_spi0_standard_cs[] = { AT91_PIN_PA5 };
+struct at91_spi_platform_data tny_a9263_spi0_pdata = {
+ .chipselect = tny_a9263_spi0_standard_cs,
+ .num_chipselect = ARRAY_SIZE(tny_a9263_spi0_standard_cs),
+};
+
+static int tny_a9g20_spi0_standard_cs[] = { AT91_PIN_PC11 };
+struct at91_spi_platform_data tny_a9g20_spi0_pdata = {
+ .chipselect = tny_a9g20_spi0_standard_cs,
+ .num_chipselect = ARRAY_SIZE(tny_a9g20_spi0_standard_cs),
+};
+
+static int tny_a9g20_spi1_standard_cs[] = { AT91_PIN_PC3 };
+struct at91_spi_platform_data tny_a9g20_spi1_pdata = {
+ .chipselect = tny_a9g20_spi1_standard_cs,
+ .num_chipselect = ARRAY_SIZE(tny_a9g20_spi1_standard_cs),
};
static void __init ek_add_device_udc(void)
@@ -182,17 +197,19 @@ static void __init ek_add_device_udc(void)
static void __init ek_add_device_spi(void)
{
- if (machine_is_tny_a9263())
- return;
+ if (machine_is_tny_a9263()) {
+ spi_register_board_info(tny_a9263_spi_devices,
+ ARRAY_SIZE(tny_a9263_spi_devices));
+ at91_add_device_spi(0, &tny_a9263_spi0_pdata);
- if (machine_is_tny_a9g20() && at91_is_low_power_sdram()) {
+ } else if (machine_is_tny_a9g20() && at91_is_low_power_sdram()) {
spi_register_board_info(tny_a9g20_lpw_spi_devices,
ARRAY_SIZE(tny_a9g20_lpw_spi_devices));
- at91_add_device_spi(1, &spi1_pdata);
+ at91_add_device_spi(1, &tny_a9g20_spi1_pdata);
} else {
spi_register_board_info(tny_a9g20_spi_devices,
ARRAY_SIZE(tny_a9g20_spi_devices));
- at91_add_device_spi(0, &spi0_pdata);
+ at91_add_device_spi(0, &tny_a9g20_spi0_pdata);
}
}
diff --git a/arch/arm/configs/tny_a9263_defconfig b/arch/arm/configs/tny_a9263_defconfig
index c199cca..652fd3d 100644
--- a/arch/arm/configs/tny_a9263_defconfig
+++ b/arch/arm/configs/tny_a9263_defconfig
@@ -62,6 +62,7 @@ CONFIG_DRIVER_NET_MACB=y
CONFIG_DRIVER_SPI_ATMEL=y
CONFIG_MTD=y
# CONFIG_MTD_OOB_DEVICE is not set
+CONFIG_MTD_DATAFLASH=y
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
--
1.7.10.4
More information about the barebox
mailing list