diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2013-01-23 21:52:11 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-01-25 18:33:58 +0100 |
commit | 29a59f2a4f2f1a4d7b3117e9d7a61b9a49123bd4 (patch) | |
tree | d2840d7564e11543b30c136cea3d844b760204d9 /arch/arm | |
parent | 3e56f55939539e1d13fc6356b12e846b12093730 (diff) | |
download | barebox-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.c | 43 | ||||
-rw-r--r-- | 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 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 |