From 811c287737892fe00307b9e7afb832fd459f6e6a Mon Sep 17 00:00:00 2001 From: hauke Date: Wed, 12 Dec 2012 22:42:18 +0000 Subject: kernel: update bcma and ssb to master-2012-12-11-2 from wireless-testing git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34651 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-3.6/060-ssb-add-serial-flash-driver.patch | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch') diff --git a/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch b/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch index d65fc0a5b..8b218f307 100644 --- a/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch +++ b/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch @@ -434,7 +434,7 @@ pr_debug("Found parallel flash\n"); --- a/drivers/ssb/main.c +++ b/drivers/ssb/main.c -@@ -18,6 +18,7 @@ +@@ -19,6 +19,7 @@ #include #include #include @@ -442,7 +442,7 @@ #include #include -@@ -534,6 +535,15 @@ static int ssb_devices_register(struct s +@@ -540,6 +541,15 @@ static int ssb_devices_register(struct s dev_idx++; } @@ -460,9 +460,9 @@ /* Unwind the already registered devices. */ --- a/drivers/ssb/ssb_private.h +++ b/drivers/ssb/ssb_private.h -@@ -211,4 +211,16 @@ static inline void b43_pci_ssb_bridge_ex - extern u32 ssb_pmu_get_cpu_clock(struct ssb_chipcommon *cc); - extern u32 ssb_pmu_get_controlclock(struct ssb_chipcommon *cc); +@@ -242,4 +242,16 @@ static inline int ssb_watchdog_register( + } + #endif /* CONFIG_SSB_EMBEDDED */ +#ifdef CONFIG_SSB_SFLASH +/* driver_chipcommon_sflash.c */ @@ -515,10 +515,10 @@ #define SSB_CHIPCO_FLASHCTL_ST_RES 0x03AB /* Read Electronic Signature */ #define SSB_CHIPCO_FLASHCTL_ST_CSA 0x1000 /* Keep chip select asserted */ #define SSB_CHIPCO_FLASHCTL_ST_SSE 0x0220 /* Sub-sector Erase */ -@@ -591,6 +604,9 @@ struct ssb_chipcommon { - /* Fast Powerup Delay constant */ - u16 fast_pwrup_delay; +@@ -593,6 +606,9 @@ struct ssb_chipcommon { struct ssb_chipcommon_pmu pmu; + u32 ticks_per_ms; + u32 max_timer_ms; +#ifdef CONFIG_SSB_SFLASH + struct bcm47xx_sflash sflash; +#endif -- cgit v1.2.3 From e676003d8704a75d5ee3b58ccf820e827f836de9 Mon Sep 17 00:00:00 2001 From: hauke Date: Thu, 10 Jan 2013 14:05:18 +0000 Subject: kernel: update bcma and ssb to master-2013-01-09 from wireless-testing git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35080 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../060-ssb-add-serial-flash-driver.patch | 100 ++++++++------------- 1 file changed, 35 insertions(+), 65 deletions(-) (limited to 'target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch') diff --git a/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch b/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch index 8b218f307..c40a58eca 100644 --- a/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch +++ b/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch @@ -1,47 +1,36 @@ --- a/drivers/ssb/Kconfig +++ b/drivers/ssb/Kconfig -@@ -143,6 +143,11 @@ config SSB_EMBEDDED - depends on SSB_DRIVER_MIPS - default y +@@ -139,7 +139,7 @@ config SSB_DRIVER_MIPS -+config SSB_SFLASH -+ bool + config SSB_SFLASH + bool "SSB serial flash support" +- depends on SSB_DRIVER_MIPS && BROKEN + depends on SSB_DRIVER_MIPS -+ default y -+ - config SSB_DRIVER_EXTIF - bool "SSB Broadcom EXTIF core driver" - depends on SSB_DRIVER_MIPS ---- a/drivers/ssb/Makefile -+++ b/drivers/ssb/Makefile -@@ -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 ---- /dev/null + default y + + # Assumption: We are on embedded, if we compile the MIPS core. +--- a/drivers/ssb/driver_chipcommon_sflash.c +++ b/drivers/ssb/driver_chipcommon_sflash.c -@@ -0,0 +1,395 @@ -+/* -+ * Broadcom specific AMBA -+ * ChipCommon serial flash interface +@@ -1,18 +1,395 @@ + /* + * Sonics Silicon Backplane + * ChipCommon serial flash interface + * Copyright 2011, Jonas Gorski + * Copyright 2011, 2012, Hauke Mehrtens + * Copyright 2010, Broadcom Corporation -+ * -+ * Licensed under the GNU/GPL. See COPYING for details. -+ */ -+ + * + * Licensed under the GNU/GPL. See COPYING for details. + */ + +#include +#include -+#include + #include +#include -+ -+#include "ssb_private.h" -+ + + #include "ssb_private.h" + +-/* Initialize serial flash access */ +-int ssb_sflash_init(struct ssb_chipcommon *cc) +#define NUM_RETRIES 3 + +static struct resource ssb_sflash_resource = { @@ -169,7 +158,8 @@ + +/* Poll for command completion. Returns zero when complete. */ +static int ssb_sflash_poll(struct bcm47xx_sflash *dev, u32 offset) -+{ + { +- pr_err("Serial flash support is not implemented yet!\n"); + struct ssb_chipcommon *chipco = dev->scc; + + if (offset >= chipco->sflash.size) @@ -417,21 +407,10 @@ + ssb_sflash_dev.resource[0].end = ssb_sflash_dev.resource[0].start + + sflash->size; + ssb_sflash_dev.dev.platform_data = sflash; -+ + +- return -ENOTSUPP; + return 0; -+} ---- a/drivers/ssb/driver_mipscore.c -+++ b/drivers/ssb/driver_mipscore.c -@@ -203,7 +203,8 @@ static void ssb_mips_flash_detect(struct - 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"); + } --- a/drivers/ssb/main.c +++ b/drivers/ssb/main.c @@ -19,6 +19,7 @@ @@ -460,23 +439,14 @@ /* Unwind the already registered devices. */ --- a/drivers/ssb/ssb_private.h +++ b/drivers/ssb/ssb_private.h -@@ -242,4 +242,16 @@ static inline int ssb_watchdog_register( - } - #endif /* CONFIG_SSB_EMBEDDED */ - -+#ifdef CONFIG_SSB_SFLASH -+/* driver_chipcommon_sflash.c */ -+int ssb_sflash_init(struct ssb_chipcommon *chipco); +@@ -220,6 +220,7 @@ extern u32 ssb_chipco_watchdog_timer_set + /* driver_chipcommon_sflash.c */ + #ifdef CONFIG_SSB_SFLASH + int ssb_sflash_init(struct ssb_chipcommon *cc); +extern struct platform_device ssb_sflash_dev; -+#else -+static inline int ssb_sflash_init(struct ssb_chipcommon *chipco) -+{ -+ pr_err("Serial flash not supported\n"); -+ return 0; -+} -+#endif /* CONFIG_SSB_SFLASH */ -+ - #endif /* LINUX_SSB_PRIVATE_H_ */ + #else + static inline int ssb_sflash_init(struct ssb_chipcommon *cc) + { --- a/include/linux/ssb/ssb_driver_chipcommon.h +++ b/include/linux/ssb/ssb_driver_chipcommon.h @@ -13,6 +13,8 @@ @@ -515,7 +485,7 @@ #define SSB_CHIPCO_FLASHCTL_ST_RES 0x03AB /* Read Electronic Signature */ #define SSB_CHIPCO_FLASHCTL_ST_CSA 0x1000 /* Keep chip select asserted */ #define SSB_CHIPCO_FLASHCTL_ST_SSE 0x0220 /* Sub-sector Erase */ -@@ -593,6 +606,9 @@ struct ssb_chipcommon { +@@ -594,6 +607,9 @@ struct ssb_chipcommon { struct ssb_chipcommon_pmu pmu; u32 ticks_per_ms; u32 max_timer_ms; -- cgit v1.2.3 From 01ca6e26f97769bf7e81ca0d0311d726ed0c00f3 Mon Sep 17 00:00:00 2001 From: nbd Date: Fri, 19 Apr 2013 12:39:40 +0000 Subject: kernel: backport SSB/BCMA changes in preparation for a compat-wireless update Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36367 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch') diff --git a/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch b/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch index c40a58eca..1dfb35dc2 100644 --- a/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch +++ b/target/linux/brcm47xx/patches-3.6/060-ssb-add-serial-flash-driver.patch @@ -476,7 +476,7 @@ #define SSB_CHIPCO_BCAST_ADDR 0x0050 #define SSB_CHIPCO_BCAST_DATA 0x0054 #define SSB_CHIPCO_GPIOPULLUP 0x0058 /* Rev >= 20 only */ -@@ -503,7 +516,7 @@ +@@ -504,7 +517,7 @@ #define SSB_CHIPCO_FLASHCTL_ST_PP 0x0302 /* Page Program */ #define SSB_CHIPCO_FLASHCTL_ST_SE 0x02D8 /* Sector Erase */ #define SSB_CHIPCO_FLASHCTL_ST_BE 0x00C7 /* Bulk Erase */ @@ -485,7 +485,7 @@ #define SSB_CHIPCO_FLASHCTL_ST_RES 0x03AB /* Read Electronic Signature */ #define SSB_CHIPCO_FLASHCTL_ST_CSA 0x1000 /* Keep chip select asserted */ #define SSB_CHIPCO_FLASHCTL_ST_SSE 0x0220 /* Sub-sector Erase */ -@@ -594,6 +607,9 @@ struct ssb_chipcommon { +@@ -595,6 +608,9 @@ struct ssb_chipcommon { struct ssb_chipcommon_pmu pmu; u32 ticks_per_ms; u32 max_timer_ms; -- cgit v1.2.3