Commit adc40e97 authored by Michael Buesch's avatar Michael Buesch Committed by John W. Linville

[PATCH] bcm43xx: sync GPHY init with the specs.

Signed-off-by: default avatarMichael Buesch <mbuesch@freenet.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 8afceb1e
...@@ -495,6 +495,10 @@ struct bcm43xx_phyinfo { ...@@ -495,6 +495,10 @@ struct bcm43xx_phyinfo {
const s8 *tssi2dbm; const s8 *tssi2dbm;
/* idle TSSI value */ /* idle TSSI value */
s8 idle_tssi; s8 idle_tssi;
/* Values from bcm43xx_calc_loopback_gain() */
u16 loopback_gain[2];
/* PHY lock for core.rev < 3 /* PHY lock for core.rev < 3
* This lock is only used by bcm43xx_phy_{un}lock() * This lock is only used by bcm43xx_phy_{un}lock()
*/ */
...@@ -674,6 +678,7 @@ struct bcm43xx_private { ...@@ -674,6 +678,7 @@ struct bcm43xx_private {
u16 chip_id; u16 chip_id;
u8 chip_rev; u8 chip_rev;
u8 chip_package;
struct bcm43xx_sprominfo sprom; struct bcm43xx_sprominfo sprom;
#define BCM43xx_NR_LEDS 4 #define BCM43xx_NR_LEDS 4
......
...@@ -570,6 +570,7 @@ static int bcm43xx_read_radioinfo(struct bcm43xx_private *bcm) ...@@ -570,6 +570,7 @@ static int bcm43xx_read_radioinfo(struct bcm43xx_private *bcm)
radio->baseband_atten = bcm43xx_default_baseband_attenuation(bcm); radio->baseband_atten = bcm43xx_default_baseband_attenuation(bcm);
radio->radio_atten = bcm43xx_default_radio_attenuation(bcm); radio->radio_atten = bcm43xx_default_radio_attenuation(bcm);
radio->txctl1 = bcm43xx_default_txctl1(bcm); radio->txctl1 = bcm43xx_default_txctl1(bcm);
radio->txctl2 = 0xFFFF;
if (phy->type == BCM43xx_PHYTYPE_A) if (phy->type == BCM43xx_PHYTYPE_A)
radio->txpower_desired = bcm->sprom.maxpower_aphy; radio->txpower_desired = bcm->sprom.maxpower_aphy;
else else
...@@ -2635,7 +2636,8 @@ static int bcm43xx_probe_cores(struct bcm43xx_private *bcm) ...@@ -2635,7 +2636,8 @@ static int bcm43xx_probe_cores(struct bcm43xx_private *bcm)
} }
bcm->chip_id = chip_id_16; bcm->chip_id = chip_id_16;
bcm->chip_rev = (chip_id_32 & 0x000f0000) >> 16; bcm->chip_rev = (chip_id_32 & 0x000F0000) >> 16;
bcm->chip_package = (chip_id_32 & 0x00F00000) >> 20;
dprintk(KERN_INFO PFX "Chip ID 0x%x, rev 0x%x\n", dprintk(KERN_INFO PFX "Chip ID 0x%x, rev 0x%x\n",
bcm->chip_id, bcm->chip_rev); bcm->chip_id, bcm->chip_rev);
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment