summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2013-01-23 21:52:11 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-01-25 18:33:58 +0100
commit29a59f2a4f2f1a4d7b3117e9d7a61b9a49123bd4 (patch)
treed2840d7564e11543b30c136cea3d844b760204d9 /arch/arm
parent3e56f55939539e1d13fc6356b12e846b12093730 (diff)
downloadbarebox-29a59f2a4f2f1a4d7b3117e9d7a61b9a49123bd4.tar.gz
barebox-29a59f2a4f2f1a4d7b3117e9d7a61b9a49123bd4.tar.xz
tny-a9263: add dataflash support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boards/tny-a926x/init.c43
-rw-r--r--arch/arm/configs/tny_a9263_defconfig1
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 5fe653173a..027186a013 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 c199cca554..652fd3d453 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