From 1927b8f17525bf5d294b4aff6b6f1f59aed17b31 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 19 Dec 2015 11:32:20 +0000 Subject: [PATCH] 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47952 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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(+) 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 */ -- 2.11.0