brcm-wl: use new brcm63xx fallback sprom
This fixes brcm63xx fallback sprom extraction. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 42725
This commit is contained in:
		| @@ -6,24 +6,13 @@ | |||||||
|   |   | ||||||
| +#if defined(CONFIG_SSB_PCIHOST) && defined(CONFIG_BOARD_BCM963XX) | +#if defined(CONFIG_SSB_PCIHOST) && defined(CONFIG_BOARD_BCM963XX) | ||||||
| +#include <linux/ssb/ssb.h> | +#include <linux/ssb/ssb.h> | ||||||
| +extern struct ssb_sprom bcm63xx_sprom; | +extern int bcm63xx_get_fallback_sprom(uint pci_bus, uint pci_slot, struct ssb_sprom *out); | ||||||
| +#endif | +#endif | ||||||
| + | + | ||||||
|  #ifdef WLTEST |  #ifdef WLTEST | ||||||
|  #include <sbsprom.h> |  #include <sbsprom.h> | ||||||
|  #endif /* WLTEST */ |  #endif /* WLTEST */ | ||||||
| @@ -2058,6 +2063,10 @@ BCMATTACHFN(initvars_srom_pci)(si_t *sih | @@ -2120,6 +2125,63 @@ BCMATTACHFN(initvars_srom_pci)(si_t *sih | ||||||
|  	bool flash = FALSE; |  | ||||||
|  	int err = 0; |  | ||||||
|   |  | ||||||
| +#if defined(CONFIG_SSB_PCIHOST) && defined(CONFIG_BOARD_BCM963XX) |  | ||||||
| +	char eabuf[18]; |  | ||||||
| +#endif |  | ||||||
| + |  | ||||||
|  	/* |  | ||||||
|  	 * Apply CRC over SROM content regardless SROM is present or not, |  | ||||||
|  	 * and use variable <devpath>sromrev's existance in flash to decide |  | ||||||
| @@ -2120,6 +2129,58 @@ BCMATTACHFN(initvars_srom_pci)(si_t *sih |  | ||||||
|  			goto varscont; |  			goto varscont; | ||||||
|  		} |  		} | ||||||
|   |   | ||||||
| @@ -32,9 +21,14 @@ | |||||||
| + | + | ||||||
| +		if( base != NULL ) | +		if( base != NULL ) | ||||||
| +		{ | +		{ | ||||||
| +			varbuf_init(&b, base, MAXSZ_NVRAM_VARS); | +			char eabuf[18]; | ||||||
|  | +			struct ssb_sprom bcm63xx_sprom; | ||||||
|  | +			uint pci_bus = osl_pci_bus(osh), pci_slot = osl_pci_slot(osh); | ||||||
| + | + | ||||||
| +			printk("Got version %i SPROM from SSB\n", bcm63xx_sprom.revision); | +			bcm63xx_get_fallback_sprom(pci_bus, pci_slot, &bcm63xx_sprom); | ||||||
|  | +			printk("BCM%X(%02x:%02x) using sprom version %i\n", sih->chip, pci_bus, pci_slot, bcm63xx_sprom.revision); | ||||||
|  | + | ||||||
|  | +			varbuf_init(&b, base, MAXSZ_NVRAM_VARS); | ||||||
| + | + | ||||||
| +			varbuf_append(&b, vstr_sromrev, bcm63xx_sprom.revision); | +			varbuf_append(&b, vstr_sromrev, bcm63xx_sprom.revision); | ||||||
| +			varbuf_append(&b, vstr_boardrev, bcm63xx_sprom.board_rev); | +			varbuf_append(&b, vstr_boardrev, bcm63xx_sprom.board_rev); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jonas Gorski
					Jonas Gorski