Skip to content
Snippets Groups Projects
Commit 45d55161 authored by Hauke Mehrtens's avatar Hauke Mehrtens
Browse files

kernel: bcma: update to version from wireless-testing tag master-2012-07-11

SVN-Revision: 32670
parent d23e0491
No related branches found
No related tags found
No related merge requests found
......@@ -15,14 +15,14 @@
@@ -189,6 +189,7 @@ static void bcma_core_mips_flash_detect(
break;
case BCMA_CC_FLASHT_PARA:
pr_info("found parallel flash.\n");
bcma_info(bus, "found parallel flash.\n");
+ bus->drv_cc.flash_type = BCMA_PFLASH;
bus->drv_cc.pflash.window = 0x1c000000;
bus->drv_cc.pflash.window_size = 0x02000000;
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -117,10 +117,68 @@
@@ -122,10 +122,68 @@
#define BCMA_CC_JCTL_EXT_EN 2 /* Enable external targets */
#define BCMA_CC_JCTL_EN 1 /* Enable Jtag master */
#define BCMA_CC_FLASHCTL 0x0040
......@@ -91,7 +91,7 @@
#define BCMA_CC_BCAST_ADDR 0x0050
#define BCMA_CC_BCAST_DATA 0x0054
#define BCMA_CC_GPIOPULLUP 0x0058 /* Rev >= 20 only */
@@ -346,6 +404,12 @@
@@ -360,6 +418,12 @@
/* 4313 Chip specific ChipControl register bits */
#define BCMA_CCTRL_4313_12MA_LED_DRIVE 0x00000007 /* 12 mA drive strengh for later 4313 */
......@@ -104,7 +104,7 @@
/* Data for the PMU, if available.
* Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
*/
@@ -355,6 +419,10 @@ struct bcma_chipcommon_pmu {
@@ -369,6 +433,10 @@ struct bcma_chipcommon_pmu {
};
#ifdef CONFIG_BCMA_DRIVER_MIPS
......@@ -115,7 +115,7 @@
struct bcma_pflash {
u8 buswidth;
u32 window;
@@ -380,7 +448,10 @@ struct bcma_drv_cc {
@@ -394,7 +462,10 @@ struct bcma_drv_cc {
u16 fast_pwrup_delay;
struct bcma_chipcommon_pmu pmu;
#ifdef CONFIG_BCMA_DRIVER_MIPS
......
......@@ -23,7 +23,7 @@
bcma-$(CONFIG_BCMA_DRIVER_MIPS) += driver_mips.o
--- a/drivers/bcma/bcma_private.h
+++ b/drivers/bcma/bcma_private.h
@@ -42,6 +42,11 @@ void bcma_chipco_serial_init(struct bcma
@@ -51,6 +51,11 @@ void bcma_chipco_serial_init(struct bcma
u32 bcma_pmu_alp_clock(struct bcma_drv_cc *cc);
u32 bcma_pmu_get_clockcpu(struct bcma_drv_cc *cc);
......@@ -392,7 +392,7 @@
+ } while (ret == -EAGAIN && tries > 0);
+
+ if (ret == -EAGAIN && tries == 0) {
+ pr_info("ST Flash rejected write\n");
+ bcma_info(cc->core->bus, "ST Flash rejected write\n");
+ ret = -EIO;
+ }
+ break;
......@@ -442,20 +442,20 @@
switch (bus->drv_cc.capabilities & BCMA_CC_CAP_FLASHT) {
case BCMA_CC_FLASHT_STSER:
case BCMA_CC_FLASHT_ATSER:
- pr_err("Serial flash not supported.\n");
- bcma_err(bus, "Serial flash not supported.\n");
+#ifdef CONFIG_BCMA_SFLASH
+ pr_info("found serial flash.\n");
+ bcma_info(bus, "found serial flash.\n");
+ bus->drv_cc.flash_type = BCMA_SFLASH;
+ bcma_sflash_init(&bus->drv_cc);
+#else
+ pr_info("serial flash not supported.\n");
+ bcma_info(bus, "serial flash not supported.\n");
+#endif /* CONFIG_BCMA_SFLASH */
break;
case BCMA_CC_FLASHT_PARA:
pr_info("found parallel flash.\n");
bcma_info(bus, "found parallel flash.\n");
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -421,6 +421,7 @@ struct bcma_chipcommon_pmu {
@@ -435,6 +435,7 @@ struct bcma_chipcommon_pmu {
#ifdef CONFIG_BCMA_DRIVER_MIPS
enum bcma_flash_type {
BCMA_PFLASH,
......@@ -463,7 +463,7 @@
};
struct bcma_pflash {
@@ -429,6 +430,14 @@ struct bcma_pflash {
@@ -443,6 +444,14 @@ struct bcma_pflash {
u32 window_size;
};
......@@ -478,7 +478,7 @@
struct bcma_serial_port {
void *regs;
unsigned long clockspeed;
@@ -451,6 +460,9 @@ struct bcma_drv_cc {
@@ -465,6 +474,9 @@ struct bcma_drv_cc {
enum bcma_flash_type flash_type;
union {
struct bcma_pflash pflash;
......@@ -488,7 +488,7 @@
};
int nr_serial_ports;
@@ -506,4 +518,14 @@ extern void bcma_chipco_regctl_maskset(s
@@ -520,4 +532,14 @@ extern void bcma_chipco_regctl_maskset(s
u32 offset, u32 mask, u32 set);
extern void bcma_pmu_spuravoid_pllupdate(struct bcma_drv_cc *cc, int spuravoid);
......
......@@ -239,7 +239,7 @@
bcma-$(CONFIG_BCMA_DRIVER_MIPS) += driver_mips.o
--- a/drivers/bcma/bcma_private.h
+++ b/drivers/bcma/bcma_private.h
@@ -47,6 +47,11 @@ u32 bcma_pmu_get_clockcpu(struct bcma_dr
@@ -56,6 +56,11 @@ u32 bcma_pmu_get_clockcpu(struct bcma_dr
int bcma_sflash_init(struct bcma_drv_cc *cc);
#endif /* CONFIG_BCMA_SFLASH */
......@@ -971,7 +971,7 @@
+MODULE_DESCRIPTION("BCM47XX NAND flash driver");
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -422,6 +422,7 @@ struct bcma_chipcommon_pmu {
@@ -436,6 +436,7 @@ struct bcma_chipcommon_pmu {
enum bcma_flash_type {
BCMA_PFLASH,
BCMA_SFLASH,
......@@ -979,7 +979,7 @@
};
struct bcma_pflash {
@@ -438,6 +439,14 @@ struct bcma_sflash {
@@ -452,6 +453,14 @@ struct bcma_sflash {
};
#endif /* CONFIG_BCMA_SFLASH */
......@@ -994,7 +994,7 @@
struct bcma_serial_port {
void *regs;
unsigned long clockspeed;
@@ -463,6 +472,9 @@ struct bcma_drv_cc {
@@ -477,6 +486,9 @@ struct bcma_drv_cc {
#ifdef CONFIG_BCMA_SFLASH
struct bcma_sflash sflash;
#endif /* CONFIG_BCMA_SFLASH */
......@@ -1004,7 +1004,7 @@
};
int nr_serial_ports;
@@ -528,4 +540,13 @@ int bcma_sflash_write(struct bcma_drv_cc
@@ -542,4 +554,13 @@ int bcma_sflash_write(struct bcma_drv_cc
int bcma_sflash_erase(struct bcma_drv_cc *cc, u32 offset);
#endif /* CONFIG_BCMA_SFLASH */
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment