From 3fa85af5add3eea8a7c2bbceb89988d660a17579 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 19 Dec 2015 11:32:20 +0000 Subject: ar71xx: Add ath79_register_m25p80_large to support >16MB SPI chips The following patch is to add ath79_register_m25p80_large, which sets is_flash to false to support bit banging. This is needed on some 32MB+ SPI chips, such as the S25FL256S1 Signed-off-by: Chris R Blake SVN-Revision: 47952 --- target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c | 8 ++++++++ target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h | 1 + 2 files changed, 9 insertions(+) (limited to 'target/linux/ar71xx/files/arch/mips') diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c index 9323b31233..e5831d4883 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.c @@ -106,6 +106,14 @@ static void add_mtd_concat_notifier(void) register_mtd_user(¬); } +void __init ath79_register_m25p80_large(struct flash_platform_data *pdata) +{ + ath79_spi_data.bus_num = 0; + ath79_spi_data.num_chipselect = 1; + ath79_spi0_cdata.is_flash = false; + ath79_spi_info[0].platform_data = pdata; + ath79_register_spi(&ath79_spi_data, ath79_spi_info, 1); +} void __init ath79_register_m25p80_multi(struct flash_platform_data *pdata) { diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h index 637b41a7d8..5e66016301 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h +++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-m25p80.h @@ -12,6 +12,7 @@ #include void ath79_register_m25p80(struct flash_platform_data *pdata) __init; +void ath79_register_m25p80_large(struct flash_platform_data *pdata) __init; void ath79_register_m25p80_multi(struct flash_platform_data *pdata) __init; #endif /* _ATH79_DEV_M25P80_H */ -- cgit v1.2.3