ssb: add place for serial flash driver

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Rafał Miłecki 2013-01-06 21:48:50 +01:00 committed by John W. Linville
parent 79afb22d09
commit 72a525cbb8
5 changed files with 37 additions and 1 deletions

View File

@ -136,6 +136,11 @@ config SSB_DRIVER_MIPS
If unsure, say N If unsure, say N
config SSB_SFLASH
bool "SSB serial flash support"
depends on SSB_DRIVER_MIPS && BROKEN
default y
# Assumption: We are on embedded, if we compile the MIPS core. # Assumption: We are on embedded, if we compile the MIPS core.
config SSB_EMBEDDED config SSB_EMBEDDED
bool bool

View File

@ -11,6 +11,7 @@ ssb-$(CONFIG_SSB_SDIOHOST) += sdio.o
# built-in drivers # built-in drivers
ssb-y += driver_chipcommon.o ssb-y += driver_chipcommon.o
ssb-y += driver_chipcommon_pmu.o ssb-y += driver_chipcommon_pmu.o
ssb-$(CONFIG_SSB_SFLASH) += driver_chipcommon_sflash.o
ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o
ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o
ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o

View File

@ -0,0 +1,18 @@
/*
* Sonics Silicon Backplane
* ChipCommon serial flash interface
*
* Licensed under the GNU/GPL. See COPYING for details.
*/
#include <linux/ssb/ssb.h>
#include "ssb_private.h"
/* Initialize serial flash access */
int ssb_sflash_init(struct ssb_chipcommon *cc)
{
pr_err("Serial flash support is not implemented yet!\n");
return -ENOTSUPP;
}

View File

@ -203,7 +203,8 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
switch (bus->chipco.capabilities & SSB_CHIPCO_CAP_FLASHT) { switch (bus->chipco.capabilities & SSB_CHIPCO_CAP_FLASHT) {
case SSB_CHIPCO_FLASHT_STSER: case SSB_CHIPCO_FLASHT_STSER:
case SSB_CHIPCO_FLASHT_ATSER: case SSB_CHIPCO_FLASHT_ATSER:
pr_err("Serial flash not supported\n"); pr_debug("Found serial flash\n");
ssb_sflash_init(&bus->chipco);
break; break;
case SSB_CHIPCO_FLASHT_PARA: case SSB_CHIPCO_FLASHT_PARA:
pr_debug("Found parallel flash\n"); pr_debug("Found parallel flash\n");

View File

@ -217,6 +217,17 @@ extern u32 ssb_chipco_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt,
u32 ticks); u32 ticks);
extern u32 ssb_chipco_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms); extern u32 ssb_chipco_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms);
/* driver_chipcommon_sflash.c */
#ifdef CONFIG_SSB_SFLASH
int ssb_sflash_init(struct ssb_chipcommon *cc);
#else
static inline int ssb_sflash_init(struct ssb_chipcommon *cc)
{
pr_err("Serial flash not supported\n");
return 0;
}
#endif /* CONFIG_SSB_SFLASH */
#ifdef CONFIG_SSB_DRIVER_EXTIF #ifdef CONFIG_SSB_DRIVER_EXTIF
extern u32 ssb_extif_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, u32 ticks); extern u32 ssb_extif_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, u32 ticks);
extern u32 ssb_extif_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms); extern u32 ssb_extif_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms);