mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
[PATCH] bcm43xx: Add firmware version printout
This patch prints microcode revision, patchlevel, date and time to KERN_INFO. Also, version 4.xx microcodes (rev>0x128) will be rejected by the driver, because they still do not work. Signed-off-by: Martin Langer <martin-langer@gmx.de> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
6807b50763
commit
1ef4583ee3
@ -306,6 +306,12 @@
|
||||
#define BCM43xx_SBF_TIME_UPDATE 0x10000000
|
||||
#define BCM43xx_SBF_80000000 0x80000000 /*FIXME: fix name*/
|
||||
|
||||
/* Microcode */
|
||||
#define BCM43xx_UCODE_REVISION 0x0000
|
||||
#define BCM43xx_UCODE_PATCHLEVEL 0x0002
|
||||
#define BCM43xx_UCODE_DATE 0x0004
|
||||
#define BCM43xx_UCODE_TIME 0x0006
|
||||
|
||||
/* MicrocodeFlagsBitfield (addr + lo-word values?)*/
|
||||
#define BCM43xx_UCODEFLAGS_OFFSET 0x005E
|
||||
|
||||
|
@ -2384,6 +2384,33 @@ static int bcm43xx_chip_init(struct bcm43xx_private *bcm)
|
||||
}
|
||||
bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy read */
|
||||
|
||||
value16 = bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_REVISION);
|
||||
|
||||
dprintk(KERN_INFO PFX "Microcode rev 0x%x, pl 0x%x "
|
||||
"(20%.2i-%.2i-%.2i %.2i:%.2i:%.2i)\n", value16,
|
||||
bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_PATCHLEVEL),
|
||||
(bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_DATE) >> 12) & 0xf,
|
||||
(bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_DATE) >> 8) & 0xf,
|
||||
bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_DATE) & 0xff,
|
||||
(bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_TIME) >> 11) & 0x1f,
|
||||
(bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_TIME) >> 5) & 0x3f,
|
||||
bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
|
||||
BCM43xx_UCODE_TIME) & 0x1f);
|
||||
|
||||
if ( value16 > 0x128 ) {
|
||||
dprintk(KERN_ERR PFX
|
||||
"Firmware: no support for microcode rev > 0x128\n");
|
||||
err = -1;
|
||||
goto err_release_fw;
|
||||
}
|
||||
|
||||
err = bcm43xx_gpio_init(bcm);
|
||||
if (err)
|
||||
goto err_release_fw;
|
||||
|
Loading…
Reference in New Issue
Block a user