Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 265992
b: refs/heads/master
c: bce4dc4
h: refs/heads/master
v: v3
  • Loading branch information
Rafał Miłecki authored and John W. Linville committed Sep 13, 2011
1 parent ea4c231 commit 50c764b
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 71c1d1e97f5849078a68992aee97d0bbe128ac63
refs/heads/master: bce4dc4a5d6c0ec9b40e353023a4bb30f791dfd2
29 changes: 23 additions & 6 deletions trunk/drivers/net/wireless/b43/phy_lcn.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
* Radio 2064.
**************************************************/

/* wlc_lcnphy_radio_2064_channel_tune_4313 */
static void b43_radio_2064_channel_setup(struct b43_wldev *dev)
{
u16 save[2];
Expand Down Expand Up @@ -73,6 +74,7 @@ static void b43_radio_2064_channel_setup(struct b43_wldev *dev)
b43_radio_write(dev, 0x091, 0x7);
}

/* wlc_radio_2064_init */
static void b43_radio_2064_init(struct b43_wldev *dev)
{
b43_radio_write(dev, 0x09c, 0x0020);
Expand Down Expand Up @@ -122,6 +124,7 @@ static void b43_radio_2064_init(struct b43_wldev *dev)
* Various PHY ops
**************************************************/

/* wlc_lcnphy_toggle_afe_pwdn */
static void b43_phy_lcn_afe_set_unset(struct b43_wldev *dev)
{
u16 afe_ctl2 = b43_phy_read(dev, B43_PHY_LCN_AFE_CTL2);
Expand All @@ -137,7 +140,8 @@ static void b43_phy_lcn_afe_set_unset(struct b43_wldev *dev)
b43_phy_write(dev, B43_PHY_LCN_AFE_CTL1, afe_ctl1);
}

static void b43_phy_lcn_clear_0x07_table(struct b43_wldev *dev)
/* wlc_lcnphy_clear_tx_power_offsets */
static void b43_phy_lcn_clear_tx_power_offsets(struct b43_wldev *dev)
{
u8 i;

Expand All @@ -154,7 +158,8 @@ static void b43_phy_lcn_clear_0x07_table(struct b43_wldev *dev)
}
}

static void b43_phy_lcn_pre_radio_init(struct b43_wldev *dev)
/* wlc_lcnphy_rev0_baseband_init */
static void b43_phy_lcn_rev0_baseband_init(struct b43_wldev *dev)
{
b43_radio_write(dev, 0x11c, 0);

Expand All @@ -181,7 +186,11 @@ static void b43_phy_lcn_pre_radio_init(struct b43_wldev *dev)
b43_phy_maskset(dev, 0x448, ~0x300, 0x100);
b43_phy_maskset(dev, 0x608, ~0xff, 0x17);
b43_phy_maskset(dev, 0x604, ~0x7ff, 0x3ea);
}

/* wlc_lcnphy_bu_tweaks */
static void b43_phy_lcn_bu_tweaks(struct b43_wldev *dev)
{
b43_phy_set(dev, 0x805, 0x1);

b43_phy_maskset(dev, 0x42f, ~0x7, 0x3);
Expand All @@ -203,9 +212,16 @@ static void b43_phy_lcn_pre_radio_init(struct b43_wldev *dev)
b43_phy_write(dev, 0x7d6, 0x0902);

/* TODO: more ops */

if (dev->phy.rev == 1) {
/* TODO: more ops */

b43_phy_lcn_clear_tx_power_offsets(dev);
}
}

static void b43_phy_lcn_save_configsth_restore(struct b43_wldev *dev)
/* wlc_lcnphy_vbat_temp_sense_setup */
static void b43_phy_lcn_sense_setup(struct b43_wldev *dev)
{
u8 i;

Expand Down Expand Up @@ -297,6 +313,7 @@ static void b43_phy_lcn_op_prepare_structs(struct b43_wldev *dev)
memset(phy_lcn, 0, sizeof(*phy_lcn));
}

/* wlc_phy_init_lcnphy */
static int b43_phy_lcn_op_init(struct b43_wldev *dev)
{
b43_phy_set(dev, 0x44a, 0x80);
Expand All @@ -312,15 +329,15 @@ static int b43_phy_lcn_op_init(struct b43_wldev *dev)

b43_phy_lcn_tables_init(dev);

b43_phy_lcn_pre_radio_init(dev);
b43_phy_lcn_clear_0x07_table(dev);
b43_phy_lcn_rev0_baseband_init(dev);
b43_phy_lcn_bu_tweaks(dev);

if (dev->phy.radio_ver == 0x2064)
b43_radio_2064_init(dev);
else
B43_WARN_ON(1);

b43_phy_lcn_save_configsth_restore(dev);
b43_phy_lcn_sense_setup(dev);

return 0;
}
Expand Down
10 changes: 6 additions & 4 deletions trunk/drivers/net/wireless/b43/tables_phy_lcn.c
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ static const u32 b43_lcntab_0x18[] = {
0x00080000, 0x00080000, 0x00080000, 0x00080000,
};

const u16 b43_lcntab_0x0f_late[] = {
const u16 b43_lcntab_sw_ctl_4313_epa_rev0[] = {
0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
0x0004, 0x0001, 0x0002, 0x0008, 0x0004, 0x0001,
0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
Expand Down Expand Up @@ -488,7 +488,8 @@ static void b43_phy_lcn_rewrite_tables(struct b43_wldev *dev)
}
}

static void b43_phy_lcn_clean_0x18_table(struct b43_wldev *dev)
/* wlc_lcnphy_clear_papd_comptable */
static void b43_phy_lcn_clean_papd_comp_table(struct b43_wldev *dev)
{
u8 i;

Expand All @@ -501,8 +502,9 @@ void b43_phy_lcn_tables_init(struct b43_wldev *dev)
b43_phy_lcn_upload_static_tables(dev);
/* TODO: various tables ops here */
b43_lcntab_write_bulk(dev, B43_LCNTAB16(0xf, 0),
ARRAY_SIZE(b43_lcntab_0x0f_late), b43_lcntab_0x0f_late);
ARRAY_SIZE(b43_lcntab_sw_ctl_4313_epa_rev0),
b43_lcntab_sw_ctl_4313_epa_rev0);
/* TODO: various tables ops here */
b43_phy_lcn_rewrite_tables(dev);
b43_phy_lcn_clean_0x18_table(dev);
b43_phy_lcn_clean_papd_comp_table(dev);
}

0 comments on commit 50c764b

Please sign in to comment.