Skip to content

Commit

Permalink
ssb: add place for serial flash driver
Browse files Browse the repository at this point in the history
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Rafał Miłecki authored and John W. Linville committed Jan 9, 2013
1 parent 79afb22 commit 72a525c
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 1 deletion.
5 changes: 5 additions & 0 deletions drivers/ssb/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,11 @@ config SSB_DRIVER_MIPS

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.
config SSB_EMBEDDED
bool
Expand Down
1 change: 1 addition & 0 deletions drivers/ssb/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ ssb-$(CONFIG_SSB_SDIOHOST) += sdio.o
# built-in drivers
ssb-y += driver_chipcommon.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_EXTIF) += driver_extif.o
ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o
Expand Down
18 changes: 18 additions & 0 deletions drivers/ssb/driver_chipcommon_sflash.c
Original file line number Diff line number Diff line change
@@ -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;
}
3 changes: 2 additions & 1 deletion drivers/ssb/driver_mipscore.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
switch (bus->chipco.capabilities & SSB_CHIPCO_CAP_FLASHT) {
case SSB_CHIPCO_FLASHT_STSER:
case SSB_CHIPCO_FLASHT_ATSER:
pr_err("Serial flash not supported\n");
pr_debug("Found serial flash\n");
ssb_sflash_init(&bus->chipco);
break;
case SSB_CHIPCO_FLASHT_PARA:
pr_debug("Found parallel flash\n");
Expand Down
11 changes: 11 additions & 0 deletions drivers/ssb/ssb_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,17 @@ extern u32 ssb_chipco_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt,
u32 ticks);
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
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);
Expand Down

0 comments on commit 72a525c

Please sign in to comment.