Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72a525cb authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

ssb: add place for serial flash driver

parent 79afb22d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+18 −0
Original line number Diff line number Diff line
/*
 * 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;
}
+2 −1
Original line number Diff line number Diff line
@@ -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");
+11 −0
Original line number Diff line number Diff line
@@ -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);