2010-10-14 21:01:55

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH 1/3] b43: N-PHY: define channel table struct for rev3+ devices

Signed-off-by: Rafał Miłecki <[email protected]>
---
drivers/net/wireless/b43/radio_2056.c | 51 +++++++++++++++++++++++++++++++++
drivers/net/wireless/b43/radio_2056.h | 40 ++++++++++++++++++++++++--
2 files changed, 88 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/b43/radio_2056.c b/drivers/net/wireless/b43/radio_2056.c
index d856319..f710c01 100644
--- a/drivers/net/wireless/b43/radio_2056.c
+++ b/drivers/net/wireless/b43/radio_2056.c
@@ -24,9 +24,60 @@
#include "radio_2056.h"
#include "phy_common.h"

+#define RADIOREGS3(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \
+ r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \
+ r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, \
+ r30, r31, r32, r33, r34, r35, r36) \
+ .radio_syn_pll_vcocal1 = r00, \
+ .radio_syn_pll_vcocal2 = r01, \
+ .radio_syn_pll_refdiv = r02, \
+ .radio_syn_pll_mmd2 = r03, \
+ .radio_syn_pll_mmd1 = r04, \
+ .radio_syn_pll_loopfilter1 = r05, \
+ .radio_syn_pll_loopfilter2 = r06, \
+ .radio_syn_pll_loopfilter3 = r07, \
+ .radio_syn_pll_loopfilter4 = r08, \
+ .radio_syn_pll_loopfilter5 = r09, \
+ .radio_syn_reserved_addr27 = r10, \
+ .radio_syn_reserved_addr28 = r11, \
+ .radio_syn_reserved_addr29 = r12, \
+ .radio_syn_logen_vcobuf1 = r13, \
+ .radio_syn_logen_mixer2 = r14, \
+ .radio_syn_logen_buf3 = r15, \
+ .radio_syn_logen_buf4 = r16, \
+ .radio_rx0_lnaa_tune = r17, \
+ .radio_rx0_lnag_tune = r18, \
+ .radio_tx0_intpaa_boost_tune = r19, \
+ .radio_tx0_intpag_boost_tune = r20, \
+ .radio_tx0_pada_boost_tune = r21, \
+ .radio_tx0_padg_boost_tune = r22, \
+ .radio_tx0_pgaa_boost_tune = r23, \
+ .radio_tx0_pgag_boost_tune = r24, \
+ .radio_tx0_mixa_boost_tune = r25, \
+ .radio_tx0_mixg_boost_tune = r26, \
+ .radio_rx1_lnaa_tune = r27, \
+ .radio_rx1_lnag_tune = r28, \
+ .radio_tx1_intpaa_boost_tune = r29, \
+ .radio_tx1_intpag_boost_tune = r30, \
+ .radio_tx1_pada_boost_tune = r31, \
+ .radio_tx1_padg_boost_tune = r32, \
+ .radio_tx1_pgaa_boost_tune = r33, \
+ .radio_tx1_pgag_boost_tune = r34, \
+ .radio_tx1_mixa_boost_tune = r35, \
+ .radio_tx1_mixg_boost_tune = r36
+
+#define PHYREGS(r0, r1, r2, r3, r4, r5) \
+ .phy_regs.phy_bw1a = r0, \
+ .phy_regs.phy_bw2 = r1, \
+ .phy_regs.phy_bw3 = r2, \
+ .phy_regs.phy_bw4 = r3, \
+ .phy_regs.phy_bw5 = r4, \
+ .phy_regs.phy_bw6 = r5
+
static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev3[] = {
};

+/* TODO: add support for rev4+ devices by searching in rev4+ tables */
const struct b43_nphy_channeltab_entry_rev3 *
b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq)
{
diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
index fda6daf..60341d7 100644
--- a/drivers/net/wireless/b43/radio_2056.h
+++ b/drivers/net/wireless/b43/radio_2056.h
@@ -29,12 +29,46 @@
#include "tables_nphy.h"

struct b43_nphy_channeltab_entry_rev3 {
- /* The channel number */
- u8 channel;
/* The channel frequency in MHz */
u16 freq;
/* Radio register values on channelswitch */
- /* TODO */
+ u8 radio_syn_pll_vcocal1;
+ u8 radio_syn_pll_vcocal2;
+ u8 radio_syn_pll_refdiv;
+ u8 radio_syn_pll_mmd2;
+ u8 radio_syn_pll_mmd1;
+ u8 radio_syn_pll_loopfilter1;
+ u8 radio_syn_pll_loopfilter2;
+ u8 radio_syn_pll_loopfilter3;
+ u8 radio_syn_pll_loopfilter4;
+ u8 radio_syn_pll_loopfilter5;
+ u8 radio_syn_reserved_addr27;
+ u8 radio_syn_reserved_addr28;
+ u8 radio_syn_reserved_addr29;
+ u8 radio_syn_logen_vcobuf1;
+ u8 radio_syn_logen_mixer2;
+ u8 radio_syn_logen_buf3;
+ u8 radio_syn_logen_buf4;
+ u8 radio_rx0_lnaa_tune;
+ u8 radio_rx0_lnag_tune;
+ u8 radio_tx0_intpaa_boost_tune;
+ u8 radio_tx0_intpag_boost_tune;
+ u8 radio_tx0_pada_boost_tune;
+ u8 radio_tx0_padg_boost_tune;
+ u8 radio_tx0_pgaa_boost_tune;
+ u8 radio_tx0_pgag_boost_tune;
+ u8 radio_tx0_mixa_boost_tune;
+ u8 radio_tx0_mixg_boost_tune;
+ u8 radio_rx1_lnaa_tune;
+ u8 radio_rx1_lnag_tune;
+ u8 radio_tx1_intpaa_boost_tune;
+ u8 radio_tx1_intpag_boost_tune;
+ u8 radio_tx1_pada_boost_tune;
+ u8 radio_tx1_padg_boost_tune;
+ u8 radio_tx1_pgaa_boost_tune;
+ u8 radio_tx1_pgag_boost_tune;
+ u8 radio_tx1_mixa_boost_tune;
+ u8 radio_tx1_mixg_boost_tune;
/* PHY register values on channelswitch */
struct b43_phy_n_sfo_cfg phy_regs;
};
--
1.7.1



2010-10-14 21:02:03

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

Signed-off-by: Rafał Miłecki <[email protected]>
Cc: Henry Ptasinski <[email protected]>
Cc: Brett Rudley <[email protected]>
Cc: Nohee Ko <[email protected]>
---
drivers/net/wireless/b43/radio_2056.h | 522 +++++++++++++++++++++++++++++++++
1 files changed, 522 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
index 60341d7..462c9fd 100644
--- a/drivers/net/wireless/b43/radio_2056.h
+++ b/drivers/net/wireless/b43/radio_2056.h
@@ -4,6 +4,9 @@

Copyright (c) 2010 Rafał Miłecki <[email protected]>

+ Some parts of the code in this file are derived from the brcm80211
+ driver Copyright (c) 2010 Broadcom Corporation
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
@@ -28,6 +31,525 @@

#include "tables_nphy.h"

+#define RADIO_2056_SYN (0x0 << 12)
+#define RADIO_2056_TX0 (0x2 << 12)
+#define RADIO_2056_TX1 (0x3 << 12)
+#define RADIO_2056_RX0 (0x6 << 12)
+#define RADIO_2056_RX1 (0x7 << 12)
+#define RADIO_2056_ALLTX (0xE << 12)
+#define RADIO_2056_ALLRX (0xF << 12)
+
+#define RADIO_2056_SYN_RESERVED_ADDR0 0x00
+#define RADIO_2056_SYN_IDCODE 0x01
+#define RADIO_2056_SYN_RESERVED_ADDR2 0x02
+#define RADIO_2056_SYN_RESERVED_ADDR3 0x03
+#define RADIO_2056_SYN_RESERVED_ADDR4 0x04
+#define RADIO_2056_SYN_RESERVED_ADDR5 0x05
+#define RADIO_2056_SYN_RESERVED_ADDR6 0x06
+#define RADIO_2056_SYN_RESERVED_ADDR7 0x07
+#define RADIO_2056_SYN_COM_CTRL 0x08
+#define RADIO_2056_SYN_COM_PU 0x09
+#define RADIO_2056_SYN_COM_OVR 0x0A
+#define RADIO_2056_SYN_COM_RESET 0x0B
+#define RADIO_2056_SYN_COM_RCAL 0x0C
+#define RADIO_2056_SYN_COM_RC_RXLPF 0x0D
+#define RADIO_2056_SYN_COM_RC_TXLPF 0x0E
+#define RADIO_2056_SYN_COM_RC_RXHPF 0x0F
+#define RADIO_2056_SYN_RESERVED_ADDR16 0x10
+#define RADIO_2056_SYN_RESERVED_ADDR17 0x11
+#define RADIO_2056_SYN_RESERVED_ADDR18 0x12
+#define RADIO_2056_SYN_RESERVED_ADDR19 0x13
+#define RADIO_2056_SYN_RESERVED_ADDR20 0x14
+#define RADIO_2056_SYN_RESERVED_ADDR21 0x15
+#define RADIO_2056_SYN_RESERVED_ADDR22 0x16
+#define RADIO_2056_SYN_RESERVED_ADDR23 0x17
+#define RADIO_2056_SYN_RESERVED_ADDR24 0x18
+#define RADIO_2056_SYN_RESERVED_ADDR25 0x19
+#define RADIO_2056_SYN_RESERVED_ADDR26 0x1A
+#define RADIO_2056_SYN_RESERVED_ADDR27 0x1B
+#define RADIO_2056_SYN_RESERVED_ADDR28 0x1C
+#define RADIO_2056_SYN_RESERVED_ADDR29 0x1D
+#define RADIO_2056_SYN_RESERVED_ADDR30 0x1E
+#define RADIO_2056_SYN_RESERVED_ADDR31 0x1F
+#define RADIO_2056_SYN_GPIO_MASTER1 0x20
+#define RADIO_2056_SYN_GPIO_MASTER2 0x21
+#define RADIO_2056_SYN_TOPBIAS_MASTER 0x22
+#define RADIO_2056_SYN_TOPBIAS_RCAL 0x23
+#define RADIO_2056_SYN_AFEREG 0x24
+#define RADIO_2056_SYN_TEMPPROCSENSE 0x25
+#define RADIO_2056_SYN_TEMPPROCSENSEIDAC 0x26
+#define RADIO_2056_SYN_TEMPPROCSENSERCAL 0x27
+#define RADIO_2056_SYN_LPO 0x28
+#define RADIO_2056_SYN_VDDCAL_MASTER 0x29
+#define RADIO_2056_SYN_VDDCAL_IDAC 0x2A
+#define RADIO_2056_SYN_VDDCAL_STATUS 0x2B
+#define RADIO_2056_SYN_RCAL_MASTER 0x2C
+#define RADIO_2056_SYN_RCAL_CODE_OUT 0x2D
+#define RADIO_2056_SYN_RCCAL_CTRL0 0x2E
+#define RADIO_2056_SYN_RCCAL_CTRL1 0x2F
+#define RADIO_2056_SYN_RCCAL_CTRL2 0x30
+#define RADIO_2056_SYN_RCCAL_CTRL3 0x31
+#define RADIO_2056_SYN_RCCAL_CTRL4 0x32
+#define RADIO_2056_SYN_RCCAL_CTRL5 0x33
+#define RADIO_2056_SYN_RCCAL_CTRL6 0x34
+#define RADIO_2056_SYN_RCCAL_CTRL7 0x35
+#define RADIO_2056_SYN_RCCAL_CTRL8 0x36
+#define RADIO_2056_SYN_RCCAL_CTRL9 0x37
+#define RADIO_2056_SYN_RCCAL_CTRL10 0x38
+#define RADIO_2056_SYN_RCCAL_CTRL11 0x39
+#define RADIO_2056_SYN_ZCAL_SPARE1 0x3A
+#define RADIO_2056_SYN_ZCAL_SPARE2 0x3B
+#define RADIO_2056_SYN_PLL_MAST1 0x3C
+#define RADIO_2056_SYN_PLL_MAST2 0x3D
+#define RADIO_2056_SYN_PLL_MAST3 0x3E
+#define RADIO_2056_SYN_PLL_BIAS_RESET 0x3F
+#define RADIO_2056_SYN_PLL_XTAL0 0x40
+#define RADIO_2056_SYN_PLL_XTAL1 0x41
+#define RADIO_2056_SYN_PLL_XTAL3 0x42
+#define RADIO_2056_SYN_PLL_XTAL4 0x43
+#define RADIO_2056_SYN_PLL_XTAL5 0x44
+#define RADIO_2056_SYN_PLL_XTAL6 0x45
+#define RADIO_2056_SYN_PLL_REFDIV 0x46
+#define RADIO_2056_SYN_PLL_PFD 0x47
+#define RADIO_2056_SYN_PLL_CP1 0x48
+#define RADIO_2056_SYN_PLL_CP2 0x49
+#define RADIO_2056_SYN_PLL_CP3 0x4A
+#define RADIO_2056_SYN_PLL_LOOPFILTER1 0x4B
+#define RADIO_2056_SYN_PLL_LOOPFILTER2 0x4C
+#define RADIO_2056_SYN_PLL_LOOPFILTER3 0x4D
+#define RADIO_2056_SYN_PLL_LOOPFILTER4 0x4E
+#define RADIO_2056_SYN_PLL_LOOPFILTER5 0x4F
+#define RADIO_2056_SYN_PLL_MMD1 0x50
+#define RADIO_2056_SYN_PLL_MMD2 0x51
+#define RADIO_2056_SYN_PLL_VCO1 0x52
+#define RADIO_2056_SYN_PLL_VCO2 0x53
+#define RADIO_2056_SYN_PLL_MONITOR1 0x54
+#define RADIO_2056_SYN_PLL_MONITOR2 0x55
+#define RADIO_2056_SYN_PLL_VCOCAL1 0x56
+#define RADIO_2056_SYN_PLL_VCOCAL2 0x57
+#define RADIO_2056_SYN_PLL_VCOCAL4 0x58
+#define RADIO_2056_SYN_PLL_VCOCAL5 0x59
+#define RADIO_2056_SYN_PLL_VCOCAL6 0x5A
+#define RADIO_2056_SYN_PLL_VCOCAL7 0x5B
+#define RADIO_2056_SYN_PLL_VCOCAL8 0x5C
+#define RADIO_2056_SYN_PLL_VCOCAL9 0x5D
+#define RADIO_2056_SYN_PLL_VCOCAL10 0x5E
+#define RADIO_2056_SYN_PLL_VCOCAL11 0x5F
+#define RADIO_2056_SYN_PLL_VCOCAL12 0x60
+#define RADIO_2056_SYN_PLL_VCOCAL13 0x61
+#define RADIO_2056_SYN_PLL_VREG 0x62
+#define RADIO_2056_SYN_PLL_STATUS1 0x63
+#define RADIO_2056_SYN_PLL_STATUS2 0x64
+#define RADIO_2056_SYN_PLL_STATUS3 0x65
+#define RADIO_2056_SYN_LOGEN_PU0 0x66
+#define RADIO_2056_SYN_LOGEN_PU1 0x67
+#define RADIO_2056_SYN_LOGEN_PU2 0x68
+#define RADIO_2056_SYN_LOGEN_PU3 0x69
+#define RADIO_2056_SYN_LOGEN_PU5 0x6A
+#define RADIO_2056_SYN_LOGEN_PU6 0x6B
+#define RADIO_2056_SYN_LOGEN_PU7 0x6C
+#define RADIO_2056_SYN_LOGEN_PU8 0x6D
+#define RADIO_2056_SYN_LOGEN_BIAS_RESET 0x6E
+#define RADIO_2056_SYN_LOGEN_RCCR1 0x6F
+#define RADIO_2056_SYN_LOGEN_VCOBUF1 0x70
+#define RADIO_2056_SYN_LOGEN_MIXER1 0x71
+#define RADIO_2056_SYN_LOGEN_MIXER2 0x72
+#define RADIO_2056_SYN_LOGEN_BUF1 0x73
+#define RADIO_2056_SYN_LOGENBUF2 0x74
+#define RADIO_2056_SYN_LOGEN_BUF3 0x75
+#define RADIO_2056_SYN_LOGEN_BUF4 0x76
+#define RADIO_2056_SYN_LOGEN_DIV1 0x77
+#define RADIO_2056_SYN_LOGEN_DIV2 0x78
+#define RADIO_2056_SYN_LOGEN_DIV3 0x79
+#define RADIO_2056_SYN_LOGEN_ACL1 0x7A
+#define RADIO_2056_SYN_LOGEN_ACL2 0x7B
+#define RADIO_2056_SYN_LOGEN_ACL3 0x7C
+#define RADIO_2056_SYN_LOGEN_ACL4 0x7D
+#define RADIO_2056_SYN_LOGEN_ACL5 0x7E
+#define RADIO_2056_SYN_LOGEN_ACL6 0x7F
+#define RADIO_2056_SYN_LOGEN_ACLOUT 0x80
+#define RADIO_2056_SYN_LOGEN_ACLCAL1 0x81
+#define RADIO_2056_SYN_LOGEN_ACLCAL2 0x82
+#define RADIO_2056_SYN_LOGEN_ACLCAL3 0x83
+#define RADIO_2056_SYN_CALEN 0x84
+#define RADIO_2056_SYN_LOGEN_PEAKDET1 0x85
+#define RADIO_2056_SYN_LOGEN_CORE_ACL_OVR 0x86
+#define RADIO_2056_SYN_LOGEN_RX_DIFF_ACL_OVR 0x87
+#define RADIO_2056_SYN_LOGEN_TX_DIFF_ACL_OVR 0x88
+#define RADIO_2056_SYN_LOGEN_RX_CMOS_ACL_OVR 0x89
+#define RADIO_2056_SYN_LOGEN_TX_CMOS_ACL_OVR 0x8A
+#define RADIO_2056_SYN_LOGEN_VCOBUF2 0x8B
+#define RADIO_2056_SYN_LOGEN_MIXER3 0x8C
+#define RADIO_2056_SYN_LOGEN_BUF5 0x8D
+#define RADIO_2056_SYN_LOGEN_BUF6 0x8E
+#define RADIO_2056_SYN_LOGEN_CBUFRX1 0x8F
+#define RADIO_2056_SYN_LOGEN_CBUFRX2 0x90
+#define RADIO_2056_SYN_LOGEN_CBUFRX3 0x91
+#define RADIO_2056_SYN_LOGEN_CBUFRX4 0x92
+#define RADIO_2056_SYN_LOGEN_CBUFTX1 0x93
+#define RADIO_2056_SYN_LOGEN_CBUFTX2 0x94
+#define RADIO_2056_SYN_LOGEN_CBUFTX3 0x95
+#define RADIO_2056_SYN_LOGEN_CBUFTX4 0x96
+#define RADIO_2056_SYN_LOGEN_CMOSRX1 0x97
+#define RADIO_2056_SYN_LOGEN_CMOSRX2 0x98
+#define RADIO_2056_SYN_LOGEN_CMOSRX3 0x99
+#define RADIO_2056_SYN_LOGEN_CMOSRX4 0x9A
+#define RADIO_2056_SYN_LOGEN_CMOSTX1 0x9B
+#define RADIO_2056_SYN_LOGEN_CMOSTX2 0x9C
+#define RADIO_2056_SYN_LOGEN_CMOSTX3 0x9D
+#define RADIO_2056_SYN_LOGEN_CMOSTX4 0x9E
+#define RADIO_2056_SYN_LOGEN_VCOBUF2_OVRVAL 0x9F
+#define RADIO_2056_SYN_LOGEN_MIXER3_OVRVAL 0xA0
+#define RADIO_2056_SYN_LOGEN_BUF5_OVRVAL 0xA1
+#define RADIO_2056_SYN_LOGEN_BUF6_OVRVAL 0xA2
+#define RADIO_2056_SYN_LOGEN_CBUFRX1_OVRVAL 0xA3
+#define RADIO_2056_SYN_LOGEN_CBUFRX2_OVRVAL 0xA4
+#define RADIO_2056_SYN_LOGEN_CBUFRX3_OVRVAL 0xA5
+#define RADIO_2056_SYN_LOGEN_CBUFRX4_OVRVAL 0xA6
+#define RADIO_2056_SYN_LOGEN_CBUFTX1_OVRVAL 0xA7
+#define RADIO_2056_SYN_LOGEN_CBUFTX2_OVRVAL 0xA8
+#define RADIO_2056_SYN_LOGEN_CBUFTX3_OVRVAL 0xA9
+#define RADIO_2056_SYN_LOGEN_CBUFTX4_OVRVAL 0xAA
+#define RADIO_2056_SYN_LOGEN_CMOSRX1_OVRVAL 0xAB
+#define RADIO_2056_SYN_LOGEN_CMOSRX2_OVRVAL 0xAC
+#define RADIO_2056_SYN_LOGEN_CMOSRX3_OVRVAL 0xAD
+#define RADIO_2056_SYN_LOGEN_CMOSRX4_OVRVAL 0xAE
+#define RADIO_2056_SYN_LOGEN_CMOSTX1_OVRVAL 0xAF
+#define RADIO_2056_SYN_LOGEN_CMOSTX2_OVRVAL 0xB0
+#define RADIO_2056_SYN_LOGEN_CMOSTX3_OVRVAL 0xB1
+#define RADIO_2056_SYN_LOGEN_CMOSTX4_OVRVAL 0xB2
+#define RADIO_2056_SYN_LOGEN_ACL_WAITCNT 0xB3
+#define RADIO_2056_SYN_LOGEN_CORE_CALVALID 0xB4
+#define RADIO_2056_SYN_LOGEN_RX_CMOS_CALVALID 0xB5
+#define RADIO_2056_SYN_LOGEN_TX_CMOS_VALID 0xB6
+
+#define RADIO_2056_TX_RESERVED_ADDR0 0x00
+#define RADIO_2056_TX_IDCODE 0x01
+#define RADIO_2056_TX_RESERVED_ADDR2 0x02
+#define RADIO_2056_TX_RESERVED_ADDR3 0x03
+#define RADIO_2056_TX_RESERVED_ADDR4 0x04
+#define RADIO_2056_TX_RESERVED_ADDR5 0x05
+#define RADIO_2056_TX_RESERVED_ADDR6 0x06
+#define RADIO_2056_TX_RESERVED_ADDR7 0x07
+#define RADIO_2056_TX_COM_CTRL 0x08
+#define RADIO_2056_TX_COM_PU 0x09
+#define RADIO_2056_TX_COM_OVR 0x0A
+#define RADIO_2056_TX_COM_RESET 0x0B
+#define RADIO_2056_TX_COM_RCAL 0x0C
+#define RADIO_2056_TX_COM_RC_RXLPF 0x0D
+#define RADIO_2056_TX_COM_RC_TXLPF 0x0E
+#define RADIO_2056_TX_COM_RC_RXHPF 0x0F
+#define RADIO_2056_TX_RESERVED_ADDR16 0x10
+#define RADIO_2056_TX_RESERVED_ADDR17 0x11
+#define RADIO_2056_TX_RESERVED_ADDR18 0x12
+#define RADIO_2056_TX_RESERVED_ADDR19 0x13
+#define RADIO_2056_TX_RESERVED_ADDR20 0x14
+#define RADIO_2056_TX_RESERVED_ADDR21 0x15
+#define RADIO_2056_TX_RESERVED_ADDR22 0x16
+#define RADIO_2056_TX_RESERVED_ADDR23 0x17
+#define RADIO_2056_TX_RESERVED_ADDR24 0x18
+#define RADIO_2056_TX_RESERVED_ADDR25 0x19
+#define RADIO_2056_TX_RESERVED_ADDR26 0x1A
+#define RADIO_2056_TX_RESERVED_ADDR27 0x1B
+#define RADIO_2056_TX_RESERVED_ADDR28 0x1C
+#define RADIO_2056_TX_RESERVED_ADDR29 0x1D
+#define RADIO_2056_TX_RESERVED_ADDR30 0x1E
+#define RADIO_2056_TX_RESERVED_ADDR31 0x1F
+#define RADIO_2056_TX_IQCAL_GAIN_BW 0x20
+#define RADIO_2056_TX_LOFT_FINE_I 0x21
+#define RADIO_2056_TX_LOFT_FINE_Q 0x22
+#define RADIO_2056_TX_LOFT_COARSE_I 0x23
+#define RADIO_2056_TX_LOFT_COARSE_Q 0x24
+#define RADIO_2056_TX_TX_COM_MASTER1 0x25
+#define RADIO_2056_TX_TX_COM_MASTER2 0x26
+#define RADIO_2056_TX_RXIQCAL_TXMUX 0x27
+#define RADIO_2056_TX_TX_SSI_MASTER 0x28
+#define RADIO_2056_TX_IQCAL_VCM_HG 0x29
+#define RADIO_2056_TX_IQCAL_IDAC 0x2A
+#define RADIO_2056_TX_TSSI_VCM 0x2B
+#define RADIO_2056_TX_TX_AMP_DET 0x2C
+#define RADIO_2056_TX_TX_SSI_MUX 0x2D
+#define RADIO_2056_TX_TSSIA 0x2E
+#define RADIO_2056_TX_TSSIG 0x2F
+#define RADIO_2056_TX_TSSI_MISC1 0x30
+#define RADIO_2056_TX_TSSI_MISC2 0x31
+#define RADIO_2056_TX_TSSI_MISC3 0x32
+#define RADIO_2056_TX_PA_SPARE1 0x33
+#define RADIO_2056_TX_PA_SPARE2 0x34
+#define RADIO_2056_TX_INTPAA_MASTER 0x35
+#define RADIO_2056_TX_INTPAA_GAIN 0x36
+#define RADIO_2056_TX_INTPAA_BOOST_TUNE 0x37
+#define RADIO_2056_TX_INTPAA_IAUX_STAT 0x38
+#define RADIO_2056_TX_INTPAA_IAUX_DYN 0x39
+#define RADIO_2056_TX_INTPAA_IMAIN_STAT 0x3A
+#define RADIO_2056_TX_INTPAA_IMAIN_DYN 0x3B
+#define RADIO_2056_TX_INTPAA_CASCBIAS 0x3C
+#define RADIO_2056_TX_INTPAA_PASLOPE 0x3D
+#define RADIO_2056_TX_INTPAA_PA_MISC 0x3E
+#define RADIO_2056_TX_INTPAG_MASTER 0x3F
+#define RADIO_2056_TX_INTPAG_GAIN 0x40
+#define RADIO_2056_TX_INTPAG_BOOST_TUNE 0x41
+#define RADIO_2056_TX_INTPAG_IAUX_STAT 0x42
+#define RADIO_2056_TX_INTPAG_IAUX_DYN 0x43
+#define RADIO_2056_TX_INTPAG_IMAIN_STAT 0x44
+#define RADIO_2056_TX_INTPAG_IMAIN_DYN 0x45
+#define RADIO_2056_TX_INTPAG_CASCBIAS 0x46
+#define RADIO_2056_TX_INTPAG_PASLOPE 0x47
+#define RADIO_2056_TX_INTPAG_PA_MISC 0x48
+#define RADIO_2056_TX_PADA_MASTER 0x49
+#define RADIO_2056_TX_PADA_IDAC 0x4A
+#define RADIO_2056_TX_PADA_CASCBIAS 0x4B
+#define RADIO_2056_TX_PADA_GAIN 0x4C
+#define RADIO_2056_TX_PADA_BOOST_TUNE 0x4D
+#define RADIO_2056_TX_PADA_SLOPE 0x4E
+#define RADIO_2056_TX_PADG_MASTER 0x4F
+#define RADIO_2056_TX_PADG_IDAC 0x50
+#define RADIO_2056_TX_PADG_CASCBIAS 0x51
+#define RADIO_2056_TX_PADG_GAIN 0x52
+#define RADIO_2056_TX_PADG_BOOST_TUNE 0x53
+#define RADIO_2056_TX_PADG_SLOPE 0x54
+#define RADIO_2056_TX_PGAA_MASTER 0x55
+#define RADIO_2056_TX_PGAA_IDAC 0x56
+#define RADIO_2056_TX_PGAA_GAIN 0x57
+#define RADIO_2056_TX_PGAA_BOOST_TUNE 0x58
+#define RADIO_2056_TX_PGAA_SLOPE 0x59
+#define RADIO_2056_TX_PGAA_MISC 0x5A
+#define RADIO_2056_TX_PGAG_MASTER 0x5B
+#define RADIO_2056_TX_PGAG_IDAC 0x5C
+#define RADIO_2056_TX_PGAG_GAIN 0x5D
+#define RADIO_2056_TX_PGAG_BOOST_TUNE 0x5E
+#define RADIO_2056_TX_PGAG_SLOPE 0x5F
+#define RADIO_2056_TX_PGAG_MISC 0x60
+#define RADIO_2056_TX_MIXA_MASTER 0x61
+#define RADIO_2056_TX_MIXA_BOOST_TUNE 0x62
+#define RADIO_2056_TX_MIXG 0x63
+#define RADIO_2056_TX_MIXG_BOOST_TUNE 0x64
+#define RADIO_2056_TX_BB_GM_MASTER 0x65
+#define RADIO_2056_TX_GMBB_GM 0x66
+#define RADIO_2056_TX_GMBB_IDAC 0x67
+#define RADIO_2056_TX_TXLPF_MASTER 0x68
+#define RADIO_2056_TX_TXLPF_RCCAL 0x69
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF0 0x6A
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF1 0x6B
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF2 0x6C
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF3 0x6D
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF4 0x6E
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF5 0x6F
+#define RADIO_2056_TX_TXLPF_RCCAL_OFF6 0x70
+#define RADIO_2056_TX_TXLPF_BW 0x71
+#define RADIO_2056_TX_TXLPF_GAIN 0x72
+#define RADIO_2056_TX_TXLPF_IDAC 0x73
+#define RADIO_2056_TX_TXLPF_IDAC_0 0x74
+#define RADIO_2056_TX_TXLPF_IDAC_1 0x75
+#define RADIO_2056_TX_TXLPF_IDAC_2 0x76
+#define RADIO_2056_TX_TXLPF_IDAC_3 0x77
+#define RADIO_2056_TX_TXLPF_IDAC_4 0x78
+#define RADIO_2056_TX_TXLPF_IDAC_5 0x79
+#define RADIO_2056_TX_TXLPF_IDAC_6 0x7A
+#define RADIO_2056_TX_TXLPF_OPAMP_IDAC 0x7B
+#define RADIO_2056_TX_TXLPF_MISC 0x7C
+#define RADIO_2056_TX_TXSPARE1 0x7D
+#define RADIO_2056_TX_TXSPARE2 0x7E
+#define RADIO_2056_TX_TXSPARE3 0x7F
+#define RADIO_2056_TX_TXSPARE4 0x80
+#define RADIO_2056_TX_TXSPARE5 0x81
+#define RADIO_2056_TX_TXSPARE6 0x82
+#define RADIO_2056_TX_TXSPARE7 0x83
+#define RADIO_2056_TX_TXSPARE8 0x84
+#define RADIO_2056_TX_TXSPARE9 0x85
+#define RADIO_2056_TX_TXSPARE10 0x86
+#define RADIO_2056_TX_TXSPARE11 0x87
+#define RADIO_2056_TX_TXSPARE12 0x88
+#define RADIO_2056_TX_TXSPARE13 0x89
+#define RADIO_2056_TX_TXSPARE14 0x8A
+#define RADIO_2056_TX_TXSPARE15 0x8B
+#define RADIO_2056_TX_TXSPARE16 0x8C
+#define RADIO_2056_TX_STATUS_INTPA_GAIN 0x8D
+#define RADIO_2056_TX_STATUS_PAD_GAIN 0x8E
+#define RADIO_2056_TX_STATUS_PGA_GAIN 0x8F
+#define RADIO_2056_TX_STATUS_GM_TXLPF_GAIN 0x90
+#define RADIO_2056_TX_STATUS_TXLPF_BW 0x91
+#define RADIO_2056_TX_STATUS_TXLPF_RC 0x92
+#define RADIO_2056_TX_GMBB_IDAC0 0x93
+#define RADIO_2056_TX_GMBB_IDAC1 0x94
+#define RADIO_2056_TX_GMBB_IDAC2 0x95
+#define RADIO_2056_TX_GMBB_IDAC3 0x96
+#define RADIO_2056_TX_GMBB_IDAC4 0x97
+#define RADIO_2056_TX_GMBB_IDAC5 0x98
+#define RADIO_2056_TX_GMBB_IDAC6 0x99
+#define RADIO_2056_TX_GMBB_IDAC7 0x9A
+
+#define RADIO_2056_RX_RESERVED_ADDR0 0x00
+#define RADIO_2056_RX_IDCODE 0x01
+#define RADIO_2056_RX_RESERVED_ADDR2 0x02
+#define RADIO_2056_RX_RESERVED_ADDR3 0x03
+#define RADIO_2056_RX_RESERVED_ADDR4 0x04
+#define RADIO_2056_RX_RESERVED_ADDR5 0x05
+#define RADIO_2056_RX_RESERVED_ADDR6 0x06
+#define RADIO_2056_RX_RESERVED_ADDR7 0x07
+#define RADIO_2056_RX_COM_CTRL 0x08
+#define RADIO_2056_RX_COM_PU 0x09
+#define RADIO_2056_RX_COM_OVR 0x0A
+#define RADIO_2056_RX_COM_RESET 0x0B
+#define RADIO_2056_RX_COM_RCAL 0x0C
+#define RADIO_2056_RX_COM_RC_RXLPF 0x0D
+#define RADIO_2056_RX_COM_RC_TXLPF 0x0E
+#define RADIO_2056_RX_COM_RC_RXHPF 0x0F
+#define RADIO_2056_RX_RESERVED_ADDR16 0x10
+#define RADIO_2056_RX_RESERVED_ADDR17 0x11
+#define RADIO_2056_RX_RESERVED_ADDR18 0x12
+#define RADIO_2056_RX_RESERVED_ADDR19 0x13
+#define RADIO_2056_RX_RESERVED_ADDR20 0x14
+#define RADIO_2056_RX_RESERVED_ADDR21 0x15
+#define RADIO_2056_RX_RESERVED_ADDR22 0x16
+#define RADIO_2056_RX_RESERVED_ADDR23 0x17
+#define RADIO_2056_RX_RESERVED_ADDR24 0x18
+#define RADIO_2056_RX_RESERVED_ADDR25 0x19
+#define RADIO_2056_RX_RESERVED_ADDR26 0x1A
+#define RADIO_2056_RX_RESERVED_ADDR27 0x1B
+#define RADIO_2056_RX_RESERVED_ADDR28 0x1C
+#define RADIO_2056_RX_RESERVED_ADDR29 0x1D
+#define RADIO_2056_RX_RESERVED_ADDR30 0x1E
+#define RADIO_2056_RX_RESERVED_ADDR31 0x1F
+#define RADIO_2056_RX_RXIQCAL_RXMUX 0x20
+#define RADIO_2056_RX_RSSI_PU 0x21
+#define RADIO_2056_RX_RSSI_SEL 0x22
+#define RADIO_2056_RX_RSSI_GAIN 0x23
+#define RADIO_2056_RX_RSSI_NB_IDAC 0x24
+#define RADIO_2056_RX_RSSI_WB2I_IDAC_1 0x25
+#define RADIO_2056_RX_RSSI_WB2I_IDAC_2 0x26
+#define RADIO_2056_RX_RSSI_WB2Q_IDAC_1 0x27
+#define RADIO_2056_RX_RSSI_WB2Q_IDAC_2 0x28
+#define RADIO_2056_RX_RSSI_POLE 0x29
+#define RADIO_2056_RX_RSSI_WB1_IDAC 0x2A
+#define RADIO_2056_RX_RSSI_MISC 0x2B
+#define RADIO_2056_RX_LNAA_MASTER 0x2C
+#define RADIO_2056_RX_LNAA_TUNE 0x2D
+#define RADIO_2056_RX_LNAA_GAIN 0x2E
+#define RADIO_2056_RX_LNA_A_SLOPE 0x2F
+#define RADIO_2056_RX_BIASPOLE_LNAA1_IDAC 0x30
+#define RADIO_2056_RX_LNAA2_IDAC 0x31
+#define RADIO_2056_RX_LNA1A_MISC 0x32
+#define RADIO_2056_RX_LNAG_MASTER 0x33
+#define RADIO_2056_RX_LNAG_TUNE 0x34
+#define RADIO_2056_RX_LNAG_GAIN 0x35
+#define RADIO_2056_RX_LNA_G_SLOPE 0x36
+#define RADIO_2056_RX_BIASPOLE_LNAG1_IDAC 0x37
+#define RADIO_2056_RX_LNAG2_IDAC 0x38
+#define RADIO_2056_RX_LNA1G_MISC 0x39
+#define RADIO_2056_RX_MIXA_MASTER 0x3A
+#define RADIO_2056_RX_MIXA_VCM 0x3B
+#define RADIO_2056_RX_MIXA_CTRLPTAT 0x3C
+#define RADIO_2056_RX_MIXA_LOB_BIAS 0x3D
+#define RADIO_2056_RX_MIXA_CORE_IDAC 0x3E
+#define RADIO_2056_RX_MIXA_CMFB_IDAC 0x3F
+#define RADIO_2056_RX_MIXA_BIAS_AUX 0x40
+#define RADIO_2056_RX_MIXA_BIAS_MAIN 0x41
+#define RADIO_2056_RX_MIXA_BIAS_MISC 0x42
+#define RADIO_2056_RX_MIXA_MAST_BIAS 0x43
+#define RADIO_2056_RX_MIXG_MASTER 0x44
+#define RADIO_2056_RX_MIXG_VCM 0x45
+#define RADIO_2056_RX_MIXG_CTRLPTAT 0x46
+#define RADIO_2056_RX_MIXG_LOB_BIAS 0x47
+#define RADIO_2056_RX_MIXG_CORE_IDAC 0x48
+#define RADIO_2056_RX_MIXG_CMFB_IDAC 0x49
+#define RADIO_2056_RX_MIXG_BIAS_AUX 0x4A
+#define RADIO_2056_RX_MIXG_BIAS_MAIN 0x4B
+#define RADIO_2056_RX_MIXG_BIAS_MISC 0x4C
+#define RADIO_2056_RX_MIXG_MAST_BIAS 0x4D
+#define RADIO_2056_RX_TIA_MASTER 0x4E
+#define RADIO_2056_RX_TIA_IOPAMP 0x4F
+#define RADIO_2056_RX_TIA_QOPAMP 0x50
+#define RADIO_2056_RX_TIA_IMISC 0x51
+#define RADIO_2056_RX_TIA_QMISC 0x52
+#define RADIO_2056_RX_TIA_GAIN 0x53
+#define RADIO_2056_RX_TIA_SPARE1 0x54
+#define RADIO_2056_RX_TIA_SPARE2 0x55
+#define RADIO_2056_RX_BB_LPF_MASTER 0x56
+#define RADIO_2056_RX_AACI_MASTER 0x57
+#define RADIO_2056_RX_RXLPF_IDAC 0x58
+#define RADIO_2056_RX_RXLPF_OPAMPBIAS_LOWQ 0x59
+#define RADIO_2056_RX_RXLPF_OPAMPBIAS_HIGHQ 0x5A
+#define RADIO_2056_RX_RXLPF_BIAS_DCCANCEL 0x5B
+#define RADIO_2056_RX_RXLPF_OUTVCM 0x5C
+#define RADIO_2056_RX_RXLPF_INVCM_BODY 0x5D
+#define RADIO_2056_RX_RXLPF_CC_OP 0x5E
+#define RADIO_2056_RX_RXLPF_GAIN 0x5F
+#define RADIO_2056_RX_RXLPF_Q_BW 0x60
+#define RADIO_2056_RX_RXLPF_HP_CORNER_BW 0x61
+#define RADIO_2056_RX_RXLPF_RCCAL_HPC 0x62
+#define RADIO_2056_RX_RXHPF_OFF0 0x63
+#define RADIO_2056_RX_RXHPF_OFF1 0x64
+#define RADIO_2056_RX_RXHPF_OFF2 0x65
+#define RADIO_2056_RX_RXHPF_OFF3 0x66
+#define RADIO_2056_RX_RXHPF_OFF4 0x67
+#define RADIO_2056_RX_RXHPF_OFF5 0x68
+#define RADIO_2056_RX_RXHPF_OFF6 0x69
+#define RADIO_2056_RX_RXHPF_OFF7 0x6A
+#define RADIO_2056_RX_RXLPF_RCCAL_LPC 0x6B
+#define RADIO_2056_RX_RXLPF_OFF_0 0x6C
+#define RADIO_2056_RX_RXLPF_OFF_1 0x6D
+#define RADIO_2056_RX_RXLPF_OFF_2 0x6E
+#define RADIO_2056_RX_RXLPF_OFF_3 0x6F
+#define RADIO_2056_RX_RXLPF_OFF_4 0x70
+#define RADIO_2056_RX_UNUSED 0x71
+#define RADIO_2056_RX_VGA_MASTER 0x72
+#define RADIO_2056_RX_VGA_BIAS 0x73
+#define RADIO_2056_RX_VGA_BIAS_DCCANCEL 0x74
+#define RADIO_2056_RX_VGA_GAIN 0x75
+#define RADIO_2056_RX_VGA_HP_CORNER_BW 0x76
+#define RADIO_2056_RX_VGABUF_BIAS 0x77
+#define RADIO_2056_RX_VGABUF_GAIN_BW 0x78
+#define RADIO_2056_RX_TXFBMIX_A 0x79
+#define RADIO_2056_RX_TXFBMIX_G 0x7A
+#define RADIO_2056_RX_RXSPARE1 0x7B
+#define RADIO_2056_RX_RXSPARE2 0x7C
+#define RADIO_2056_RX_RXSPARE3 0x7D
+#define RADIO_2056_RX_RXSPARE4 0x7E
+#define RADIO_2056_RX_RXSPARE5 0x7F
+#define RADIO_2056_RX_RXSPARE6 0x80
+#define RADIO_2056_RX_RXSPARE7 0x81
+#define RADIO_2056_RX_RXSPARE8 0x82
+#define RADIO_2056_RX_RXSPARE9 0x83
+#define RADIO_2056_RX_RXSPARE10 0x84
+#define RADIO_2056_RX_RXSPARE11 0x85
+#define RADIO_2056_RX_RXSPARE12 0x86
+#define RADIO_2056_RX_RXSPARE13 0x87
+#define RADIO_2056_RX_RXSPARE14 0x88
+#define RADIO_2056_RX_RXSPARE15 0x89
+#define RADIO_2056_RX_RXSPARE16 0x8A
+#define RADIO_2056_RX_STATUS_LNAA_GAIN 0x8B
+#define RADIO_2056_RX_STATUS_LNAG_GAIN 0x8C
+#define RADIO_2056_RX_STATUS_MIXTIA_GAIN 0x8D
+#define RADIO_2056_RX_STATUS_RXLPF_GAIN 0x8E
+#define RADIO_2056_RX_STATUS_VGA_BUF_GAIN 0x8F
+#define RADIO_2056_RX_STATUS_RXLPF_Q 0x90
+#define RADIO_2056_RX_STATUS_RXLPF_BUF_BW 0x91
+#define RADIO_2056_RX_STATUS_RXLPF_VGA_HPC 0x92
+#define RADIO_2056_RX_STATUS_RXLPF_RC 0x93
+#define RADIO_2056_RX_STATUS_HPC_RC 0x94
+
+#define RADIO_2056_LNA1_A_PU 0x01
+#define RADIO_2056_LNA2_A_PU 0x02
+#define RADIO_2056_LNA1_G_PU 0x01
+#define RADIO_2056_LNA2_G_PU 0x02
+#define RADIO_2056_MIXA_PU_I 0x01
+#define RADIO_2056_MIXA_PU_Q 0x02
+#define RADIO_2056_MIXA_PU_GM 0x10
+#define RADIO_2056_MIXG_PU_I 0x01
+#define RADIO_2056_MIXG_PU_Q 0x02
+#define RADIO_2056_MIXG_PU_GM 0x10
+#define RADIO_2056_TIA_PU 0x01
+#define RADIO_2056_BB_LPF_PU 0x20
+#define RADIO_2056_W1_PU 0x02
+#define RADIO_2056_W2_PU 0x04
+#define RADIO_2056_NB_PU 0x08
+#define RADIO_2056_RSSI_W1_SEL 0x02
+#define RADIO_2056_RSSI_W2_SEL 0x04
+#define RADIO_2056_RSSI_NB_SEL 0x08
+#define RADIO_2056_VCM_MASK 0x1C
+#define RADIO_2056_RSSI_VCM_SHIFT 0x02
+
struct b43_nphy_channeltab_entry_rev3 {
/* The channel frequency in MHz */
u16 freq;
--
1.7.1


2010-10-15 14:16:11

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

2010/10/15 Rafa? Mi?ecki <[email protected]>:
> W dniu 15 pa?dziernika 2010 01:58 u?ytkownik G?bor Stefanik
> <[email protected]> napisa?:
>> 2010/10/14 Rafa? Mi?ecki <[email protected]>:
>>> Signed-off-by: Rafa? Mi?ecki <[email protected]>
>>> Cc: Henry Ptasinski <[email protected]>
>>> Cc: Brett Rudley <[email protected]>
>>> Cc: Nohee Ko <[email protected]>
>>> ---
>>> ?drivers/net/wireless/b43/radio_2056.h | ?522 +++++++++++++++++++++++++++++++++
>>> ?1 files changed, 522 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
>>> index 60341d7..462c9fd 100644
>>> --- a/drivers/net/wireless/b43/radio_2056.h
>>> +++ b/drivers/net/wireless/b43/radio_2056.h
>>> @@ -4,6 +4,9 @@
>>>
>>> ? Copyright (c) 2010 Rafa? Mi?ecki <[email protected]>
>>>
>>> + ?Some parts of the code in this file are derived from the brcm80211
>>> + ?driver ?Copyright (c) 2010 Broadcom Corporation
>>> +
>>> ? This program is free software; you can redistribute it and/or modify
>>> ? it under the terms of the GNU General Public License as published by
>>> ? the Free Software Foundation; either version 2 of the License, or
>>> @@ -28,6 +31,525 @@
>>>
>>> ?#include "tables_nphy.h"
>>>
>>> +#define RADIO_2056_SYN ? ? ? ? ? ? ? ? ? ? ? ? (0x0 << 12)
>>> +#define RADIO_2056_TX0 ? ? ? ? ? ? ? ? ? ? ? ? (0x2 << 12)
>>> +#define RADIO_2056_TX1 ? ? ? ? ? ? ? ? ? ? ? ? (0x3 << 12)
>>
>> Please use B2056_ as the prefix. See LP-PHY.
>
> What does it mean? This "B" prefix?

AFAIK it is a contraction for BCM. (The actual radio is called
BCM2056.) However, LP-PHY already uses B2062_ and B2063_ as its radio
register prefixes, so it is a good idea to follow the convention here,
too.

>
> --
> Rafa?
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-10-15 14:19:56

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

2010/10/15 G?bor Stefanik <[email protected]>:
> 2010/10/15 Rafa? Mi?ecki <[email protected]>:
>> W dniu 15 pa?dziernika 2010 01:58 u?ytkownik G?bor Stefanik
>> <[email protected]> napisa?:
>>> 2010/10/14 Rafa? Mi?ecki <[email protected]>:
>>>> Signed-off-by: Rafa? Mi?ecki <[email protected]>
>>>> Cc: Henry Ptasinski <[email protected]>
>>>> Cc: Brett Rudley <[email protected]>
>>>> Cc: Nohee Ko <[email protected]>
>>>> ---
>>>> ?drivers/net/wireless/b43/radio_2056.h | ?522 +++++++++++++++++++++++++++++++++
>>>> ?1 files changed, 522 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
>>>> index 60341d7..462c9fd 100644
>>>> --- a/drivers/net/wireless/b43/radio_2056.h
>>>> +++ b/drivers/net/wireless/b43/radio_2056.h
>>>> @@ -4,6 +4,9 @@
>>>>
>>>> ? Copyright (c) 2010 Rafa? Mi?ecki <[email protected]>
>>>>
>>>> + ?Some parts of the code in this file are derived from the brcm80211
>>>> + ?driver ?Copyright (c) 2010 Broadcom Corporation
>>>> +
>>>> ? This program is free software; you can redistribute it and/or modify
>>>> ? it under the terms of the GNU General Public License as published by
>>>> ? the Free Software Foundation; either version 2 of the License, or
>>>> @@ -28,6 +31,525 @@
>>>>
>>>> ?#include "tables_nphy.h"
>>>>
>>>> +#define RADIO_2056_SYN ? ? ? ? ? ? ? ? ? ? ? ? (0x0 << 12)
>>>> +#define RADIO_2056_TX0 ? ? ? ? ? ? ? ? ? ? ? ? (0x2 << 12)
>>>> +#define RADIO_2056_TX1 ? ? ? ? ? ? ? ? ? ? ? ? (0x3 << 12)
>>>
>>> Please use B2056_ as the prefix. See LP-PHY.
>>
>> What does it mean? This "B" prefix?
>
> AFAIK it is a contraction for BCM. (The actual radio is called
> BCM2056.) However, LP-PHY already uses B2062_ and B2063_ as its radio
> register prefixes, so it is a good idea to follow the convention here,
> too.

Another reason that just hit me: it allows you to grep for
"b43_phy_read(dev, B20" / "b43_phy_write(dev, B20" to find any
incorrect uses of b43_phy_* ops instead of b43_radio_* ones. (The
initial channel switching problems with LP-PHY were due to my using
b43_phy_* ops in the VCO calibration code!)

>
>>
>> --
>> Rafa?
>>
>
>
>
> --
> Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-10-15 11:02:12

by Rafał Miłecki

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

W dniu 15 października 2010 01:58 użytkownik Gábor Stefanik
<[email protected]> napisał:
> 2010/10/14 Rafał Miłecki <[email protected]>:
>> Signed-off-by: Rafał Miłecki <[email protected]>
>> Cc: Henry Ptasinski <[email protected]>
>> Cc: Brett Rudley <[email protected]>
>> Cc: Nohee Ko <[email protected]>
>> ---
>>  drivers/net/wireless/b43/radio_2056.h |  522 +++++++++++++++++++++++++++++++++
>>  1 files changed, 522 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
>> index 60341d7..462c9fd 100644
>> --- a/drivers/net/wireless/b43/radio_2056.h
>> +++ b/drivers/net/wireless/b43/radio_2056.h
>> @@ -4,6 +4,9 @@
>>
>>   Copyright (c) 2010 Rafał Miłecki <[email protected]>
>>
>> +  Some parts of the code in this file are derived from the brcm80211
>> +  driver  Copyright (c) 2010 Broadcom Corporation
>> +
>>   This program is free software; you can redistribute it and/or modify
>>   it under the terms of the GNU General Public License as published by
>>   the Free Software Foundation; either version 2 of the License, or
>> @@ -28,6 +31,525 @@
>>
>>  #include "tables_nphy.h"
>>
>> +#define RADIO_2056_SYN                         (0x0 << 12)
>> +#define RADIO_2056_TX0                         (0x2 << 12)
>> +#define RADIO_2056_TX1                         (0x3 << 12)
>
> Please use B2056_ as the prefix. See LP-PHY.

What does it mean? This "B" prefix?

--
Rafał

2010-10-15 14:13:31

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH 1/3] b43: N-PHY: define channel table struct for rev3+ devices

2010/10/15 Rafa? Mi?ecki <[email protected]>:
> W dniu 15 pa?dziernika 2010 00:39 u?ytkownik G?bor Stefanik
> <[email protected]> napisa?:
>> 2010/10/14 Rafa? Mi?ecki <[email protected]>:
>>> Signed-off-by: Rafa? Mi?ecki <[email protected]>
>>> ---
>>> ?drivers/net/wireless/b43/radio_2056.c | ? 51 +++++++++++++++++++++++++++++++++
>>> ?drivers/net/wireless/b43/radio_2056.h | ? 40 ++++++++++++++++++++++++--
>>> ?2 files changed, 88 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/net/wireless/b43/radio_2056.c b/drivers/net/wireless/b43/radio_2056.c
>>> index d856319..f710c01 100644
>>> --- a/drivers/net/wireless/b43/radio_2056.c
>>> +++ b/drivers/net/wireless/b43/radio_2056.c
>>> @@ -24,9 +24,60 @@
>>> ?#include "radio_2056.h"
>>> ?#include "phy_common.h"
>>>
>>> +#define RADIOREGS3(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \
>>> + ? ? ? ? ? ? ? ? ?r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \
>>> + ? ? ? ? ? ? ? ? ?r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, \
>>> + ? ? ? ? ? ? ? ? ?r30, r31, r32, r33, r34, r35, r36) \
>>> + ? ? ? .radio_syn_pll_vcocal1 ? ? ? ? ?= r00, ?\
>>> + ? ? ? .radio_syn_pll_vcocal2 ? ? ? ? ?= r01, ?\
>>> + ? ? ? .radio_syn_pll_refdiv ? ? ? ? ? = r02, ?\
>>> + ? ? ? .radio_syn_pll_mmd2 ? ? ? ? ? ? = r03, ?\
>>> + ? ? ? .radio_syn_pll_mmd1 ? ? ? ? ? ? = r04, ?\
>>> + ? ? ? .radio_syn_pll_loopfilter1 ? ? ?= r05, ?\
>>> + ? ? ? .radio_syn_pll_loopfilter2 ? ? ?= r06, ?\
>>> + ? ? ? .radio_syn_pll_loopfilter3 ? ? ?= r07, ?\
>>> + ? ? ? .radio_syn_pll_loopfilter4 ? ? ?= r08, ?\
>>> + ? ? ? .radio_syn_pll_loopfilter5 ? ? ?= r09, ?\
>>> + ? ? ? .radio_syn_reserved_addr27 ? ? ?= r10, ?\
>>> + ? ? ? .radio_syn_reserved_addr28 ? ? ?= r11, ?\
>>> + ? ? ? .radio_syn_reserved_addr29 ? ? ?= r12, ?\
>>> + ? ? ? .radio_syn_logen_vcobuf1 ? ? ? ?= r13, ?\
>>> + ? ? ? .radio_syn_logen_mixer2 ? ? ? ? = r14, ?\
>>> + ? ? ? .radio_syn_logen_buf3 ? ? ? ? ? = r15, ?\
>>> + ? ? ? .radio_syn_logen_buf4 ? ? ? ? ? = r16, ?\
>>> + ? ? ? .radio_rx0_lnaa_tune ? ? ? ? ? ?= r17, ?\
>>> + ? ? ? .radio_rx0_lnag_tune ? ? ? ? ? ?= r18, ?\
>>> + ? ? ? .radio_tx0_intpaa_boost_tune ? ?= r19, ?\
>>> + ? ? ? .radio_tx0_intpag_boost_tune ? ?= r20, ?\
>>> + ? ? ? .radio_tx0_pada_boost_tune ? ? ?= r21, ?\
>>> + ? ? ? .radio_tx0_padg_boost_tune ? ? ?= r22, ?\
>>> + ? ? ? .radio_tx0_pgaa_boost_tune ? ? ?= r23, ?\
>>> + ? ? ? .radio_tx0_pgag_boost_tune ? ? ?= r24, ?\
>>> + ? ? ? .radio_tx0_mixa_boost_tune ? ? ?= r25, ?\
>>> + ? ? ? .radio_tx0_mixg_boost_tune ? ? ?= r26, ?\
>>> + ? ? ? .radio_rx1_lnaa_tune ? ? ? ? ? ?= r27, ?\
>>> + ? ? ? .radio_rx1_lnag_tune ? ? ? ? ? ?= r28, ?\
>>> + ? ? ? .radio_tx1_intpaa_boost_tune ? ?= r29, ?\
>>> + ? ? ? .radio_tx1_intpag_boost_tune ? ?= r30, ?\
>>> + ? ? ? .radio_tx1_pada_boost_tune ? ? ?= r31, ?\
>>> + ? ? ? .radio_tx1_padg_boost_tune ? ? ?= r32, ?\
>>> + ? ? ? .radio_tx1_pgaa_boost_tune ? ? ?= r33, ?\
>>> + ? ? ? .radio_tx1_pgag_boost_tune ? ? ?= r34, ?\
>>> + ? ? ? .radio_tx1_mixa_boost_tune ? ? ?= r35, ?\
>>> + ? ? ? .radio_tx1_mixg_boost_tune ? ? ?= r36
>>
>> You might want to use parentheses around parameter names: e.g.:
>> .radio_tx1_mixa_boost_tune = (r35), \
>
> We use this macro only for defining radio tables, only in this file.
> Plus we don't use any math or sth as you can see in next patch (3/3).
> That way it will not hit random developer using this macro in other
> place of code.

That's OK, but I believe that there is a coding style requirement to
always parenthesize macro parameters. If there isn't, then it's OK.

>
> --
> Rafa?
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-10-15 14:27:21

by Rafał Miłecki

[permalink] [raw]
Subject: Re: [PATCH 1/3] b43: N-PHY: define channel table struct for rev3+ devices

W dniu 15 października 2010 16:13 użytkownik Gábor Stefanik
<[email protected]> napisał:
> 2010/10/15 Rafał Miłecki <[email protected]>:
>> W dniu 15 października 2010 00:39 użytkownik Gábor Stefanik
>> <[email protected]> napisał:
>>> 2010/10/14 Rafał Miłecki <[email protected]>:
>>>> Signed-off-by: Rafał Miłecki <[email protected]>
>>>> ---
>>>>  drivers/net/wireless/b43/radio_2056.c |   51 +++++++++++++++++++++++++++++++++
>>>>  drivers/net/wireless/b43/radio_2056.h |   40 ++++++++++++++++++++++++--
>>>>  2 files changed, 88 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/drivers/net/wireless/b43/radio_2056.c b/drivers/net/wireless/b43/radio_2056.c
>>>> index d856319..f710c01 100644
>>>> --- a/drivers/net/wireless/b43/radio_2056.c
>>>> +++ b/drivers/net/wireless/b43/radio_2056.c
>>>> @@ -24,9 +24,60 @@
>>>>  #include "radio_2056.h"
>>>>  #include "phy_common.h"
>>>>
>>>> +#define RADIOREGS3(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \
>>>> +                  r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \
>>>> +                  r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, \
>>>> +                  r30, r31, r32, r33, r34, r35, r36) \
>>>> +       .radio_syn_pll_vcocal1          = r00,  \
>>>> +       .radio_syn_pll_vcocal2          = r01,  \
>>>> +       .radio_syn_pll_refdiv           = r02,  \
>>>> +       .radio_syn_pll_mmd2             = r03,  \
>>>> +       .radio_syn_pll_mmd1             = r04,  \
>>>> +       .radio_syn_pll_loopfilter1      = r05,  \
>>>> +       .radio_syn_pll_loopfilter2      = r06,  \
>>>> +       .radio_syn_pll_loopfilter3      = r07,  \
>>>> +       .radio_syn_pll_loopfilter4      = r08,  \
>>>> +       .radio_syn_pll_loopfilter5      = r09,  \
>>>> +       .radio_syn_reserved_addr27      = r10,  \
>>>> +       .radio_syn_reserved_addr28      = r11,  \
>>>> +       .radio_syn_reserved_addr29      = r12,  \
>>>> +       .radio_syn_logen_vcobuf1        = r13,  \
>>>> +       .radio_syn_logen_mixer2         = r14,  \
>>>> +       .radio_syn_logen_buf3           = r15,  \
>>>> +       .radio_syn_logen_buf4           = r16,  \
>>>> +       .radio_rx0_lnaa_tune            = r17,  \
>>>> +       .radio_rx0_lnag_tune            = r18,  \
>>>> +       .radio_tx0_intpaa_boost_tune    = r19,  \
>>>> +       .radio_tx0_intpag_boost_tune    = r20,  \
>>>> +       .radio_tx0_pada_boost_tune      = r21,  \
>>>> +       .radio_tx0_padg_boost_tune      = r22,  \
>>>> +       .radio_tx0_pgaa_boost_tune      = r23,  \
>>>> +       .radio_tx0_pgag_boost_tune      = r24,  \
>>>> +       .radio_tx0_mixa_boost_tune      = r25,  \
>>>> +       .radio_tx0_mixg_boost_tune      = r26,  \
>>>> +       .radio_rx1_lnaa_tune            = r27,  \
>>>> +       .radio_rx1_lnag_tune            = r28,  \
>>>> +       .radio_tx1_intpaa_boost_tune    = r29,  \
>>>> +       .radio_tx1_intpag_boost_tune    = r30,  \
>>>> +       .radio_tx1_pada_boost_tune      = r31,  \
>>>> +       .radio_tx1_padg_boost_tune      = r32,  \
>>>> +       .radio_tx1_pgaa_boost_tune      = r33,  \
>>>> +       .radio_tx1_pgag_boost_tune      = r34,  \
>>>> +       .radio_tx1_mixa_boost_tune      = r35,  \
>>>> +       .radio_tx1_mixg_boost_tune      = r36
>>>
>>> You might want to use parentheses around parameter names: e.g.:
>>> .radio_tx1_mixa_boost_tune = (r35), \
>>
>> We use this macro only for defining radio tables, only in this file.
>> Plus we don't use any math or sth as you can see in next patch (3/3).
>> That way it will not hit random developer using this macro in other
>> place of code.
>
> That's OK, but I believe that there is a coding style requirement to
> always parenthesize macro parameters. If there isn't, then it's OK.

There is "Chapter 12: Macros, Enums and RTL" in:
http://www.kernel.org/doc/Documentation/CodingStyle

Some quotes:
1) "Macros with multiple statements should be enclosed in a do - while block:"
2) "macros defining constants using expressions must enclose the
expression in parentheses"

Second one may sound like sth close, but it's just about expressions like:
#define CONSTEXP (CONSTANT | 3)

So there doesn't seem to be any "rule" in CodingStyle wanting us to
add parentheses when you suggested.

--
Rafał

2010-10-14 23:59:00

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

2010/10/14 Rafa? Mi?ecki <[email protected]>:
> Signed-off-by: Rafa? Mi?ecki <[email protected]>
> Cc: Henry Ptasinski <[email protected]>
> Cc: Brett Rudley <[email protected]>
> Cc: Nohee Ko <[email protected]>
> ---
> ?drivers/net/wireless/b43/radio_2056.h | ?522 +++++++++++++++++++++++++++++++++
> ?1 files changed, 522 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
> index 60341d7..462c9fd 100644
> --- a/drivers/net/wireless/b43/radio_2056.h
> +++ b/drivers/net/wireless/b43/radio_2056.h
> @@ -4,6 +4,9 @@
>
> ? Copyright (c) 2010 Rafa? Mi?ecki <[email protected]>
>
> + ?Some parts of the code in this file are derived from the brcm80211
> + ?driver ?Copyright (c) 2010 Broadcom Corporation
> +
> ? This program is free software; you can redistribute it and/or modify
> ? it under the terms of the GNU General Public License as published by
> ? the Free Software Foundation; either version 2 of the License, or
> @@ -28,6 +31,525 @@
>
> ?#include "tables_nphy.h"
>
> +#define RADIO_2056_SYN ? ? ? ? ? ? ? ? ? ? ? ? (0x0 << 12)
> +#define RADIO_2056_TX0 ? ? ? ? ? ? ? ? ? ? ? ? (0x2 << 12)
> +#define RADIO_2056_TX1 ? ? ? ? ? ? ? ? ? ? ? ? (0x3 << 12)

Please use B2056_ as the prefix. See LP-PHY.

> +#define RADIO_2056_RX0 ? ? ? ? ? ? ? ? ? ? ? ? (0x6 << 12)
> +#define RADIO_2056_RX1 ? ? ? ? ? ? ? ? ? ? ? ? (0x7 << 12)
> +#define RADIO_2056_ALLTX ? ? ? ? ? ? ? ? ? ? ? (0xE << 12)
> +#define RADIO_2056_ALLRX ? ? ? ? ? ? ? ? ? ? ? (0xF << 12)
> +
> +#define RADIO_2056_SYN_RESERVED_ADDR0 ? ? ? ? ?0x00
> +#define RADIO_2056_SYN_IDCODE ? ? ? ? ? ? ? ? ?0x01
> +#define RADIO_2056_SYN_RESERVED_ADDR2 ? ? ? ? ?0x02
> +#define RADIO_2056_SYN_RESERVED_ADDR3 ? ? ? ? ?0x03
> +#define RADIO_2056_SYN_RESERVED_ADDR4 ? ? ? ? ?0x04
> +#define RADIO_2056_SYN_RESERVED_ADDR5 ? ? ? ? ?0x05
> +#define RADIO_2056_SYN_RESERVED_ADDR6 ? ? ? ? ?0x06
> +#define RADIO_2056_SYN_RESERVED_ADDR7 ? ? ? ? ?0x07
> +#define RADIO_2056_SYN_COM_CTRL ? ? ? ? ? ? ? ? ? ? ? ?0x08
> +#define RADIO_2056_SYN_COM_PU ? ? ? ? ? ? ? ? ?0x09
> +#define RADIO_2056_SYN_COM_OVR ? ? ? ? ? ? ? ? 0x0A
> +#define RADIO_2056_SYN_COM_RESET ? ? ? ? ? ? ? 0x0B
> +#define RADIO_2056_SYN_COM_RCAL ? ? ? ? ? ? ? ? ? ? ? ?0x0C
> +#define RADIO_2056_SYN_COM_RC_RXLPF ? ? ? ? ? ?0x0D
> +#define RADIO_2056_SYN_COM_RC_TXLPF ? ? ? ? ? ?0x0E
> +#define RADIO_2056_SYN_COM_RC_RXHPF ? ? ? ? ? ?0x0F
> +#define RADIO_2056_SYN_RESERVED_ADDR16 ? ? ? ? 0x10
> +#define RADIO_2056_SYN_RESERVED_ADDR17 ? ? ? ? 0x11
> +#define RADIO_2056_SYN_RESERVED_ADDR18 ? ? ? ? 0x12
> +#define RADIO_2056_SYN_RESERVED_ADDR19 ? ? ? ? 0x13
> +#define RADIO_2056_SYN_RESERVED_ADDR20 ? ? ? ? 0x14
> +#define RADIO_2056_SYN_RESERVED_ADDR21 ? ? ? ? 0x15
> +#define RADIO_2056_SYN_RESERVED_ADDR22 ? ? ? ? 0x16
> +#define RADIO_2056_SYN_RESERVED_ADDR23 ? ? ? ? 0x17
> +#define RADIO_2056_SYN_RESERVED_ADDR24 ? ? ? ? 0x18
> +#define RADIO_2056_SYN_RESERVED_ADDR25 ? ? ? ? 0x19
> +#define RADIO_2056_SYN_RESERVED_ADDR26 ? ? ? ? 0x1A
> +#define RADIO_2056_SYN_RESERVED_ADDR27 ? ? ? ? 0x1B
> +#define RADIO_2056_SYN_RESERVED_ADDR28 ? ? ? ? 0x1C
> +#define RADIO_2056_SYN_RESERVED_ADDR29 ? ? ? ? 0x1D
> +#define RADIO_2056_SYN_RESERVED_ADDR30 ? ? ? ? 0x1E
> +#define RADIO_2056_SYN_RESERVED_ADDR31 ? ? ? ? 0x1F
> +#define RADIO_2056_SYN_GPIO_MASTER1 ? ? ? ? ? ?0x20
> +#define RADIO_2056_SYN_GPIO_MASTER2 ? ? ? ? ? ?0x21
> +#define RADIO_2056_SYN_TOPBIAS_MASTER ? ? ? ? ?0x22
> +#define RADIO_2056_SYN_TOPBIAS_RCAL ? ? ? ? ? ?0x23
> +#define RADIO_2056_SYN_AFEREG ? ? ? ? ? ? ? ? ?0x24
> +#define RADIO_2056_SYN_TEMPPROCSENSE ? ? ? ? ? 0x25
> +#define RADIO_2056_SYN_TEMPPROCSENSEIDAC ? ? ? 0x26
> +#define RADIO_2056_SYN_TEMPPROCSENSERCAL ? ? ? 0x27
> +#define RADIO_2056_SYN_LPO ? ? ? ? ? ? ? ? ? ? 0x28
> +#define RADIO_2056_SYN_VDDCAL_MASTER ? ? ? ? ? 0x29
> +#define RADIO_2056_SYN_VDDCAL_IDAC ? ? ? ? ? ? 0x2A
> +#define RADIO_2056_SYN_VDDCAL_STATUS ? ? ? ? ? 0x2B
> +#define RADIO_2056_SYN_RCAL_MASTER ? ? ? ? ? ? 0x2C
> +#define RADIO_2056_SYN_RCAL_CODE_OUT ? ? ? ? ? 0x2D
> +#define RADIO_2056_SYN_RCCAL_CTRL0 ? ? ? ? ? ? 0x2E
> +#define RADIO_2056_SYN_RCCAL_CTRL1 ? ? ? ? ? ? 0x2F
> +#define RADIO_2056_SYN_RCCAL_CTRL2 ? ? ? ? ? ? 0x30
> +#define RADIO_2056_SYN_RCCAL_CTRL3 ? ? ? ? ? ? 0x31
> +#define RADIO_2056_SYN_RCCAL_CTRL4 ? ? ? ? ? ? 0x32
> +#define RADIO_2056_SYN_RCCAL_CTRL5 ? ? ? ? ? ? 0x33
> +#define RADIO_2056_SYN_RCCAL_CTRL6 ? ? ? ? ? ? 0x34
> +#define RADIO_2056_SYN_RCCAL_CTRL7 ? ? ? ? ? ? 0x35
> +#define RADIO_2056_SYN_RCCAL_CTRL8 ? ? ? ? ? ? 0x36
> +#define RADIO_2056_SYN_RCCAL_CTRL9 ? ? ? ? ? ? 0x37
> +#define RADIO_2056_SYN_RCCAL_CTRL10 ? ? ? ? ? ?0x38
> +#define RADIO_2056_SYN_RCCAL_CTRL11 ? ? ? ? ? ?0x39
> +#define RADIO_2056_SYN_ZCAL_SPARE1 ? ? ? ? ? ? 0x3A
> +#define RADIO_2056_SYN_ZCAL_SPARE2 ? ? ? ? ? ? 0x3B
> +#define RADIO_2056_SYN_PLL_MAST1 ? ? ? ? ? ? ? 0x3C
> +#define RADIO_2056_SYN_PLL_MAST2 ? ? ? ? ? ? ? 0x3D
> +#define RADIO_2056_SYN_PLL_MAST3 ? ? ? ? ? ? ? 0x3E
> +#define RADIO_2056_SYN_PLL_BIAS_RESET ? ? ? ? ?0x3F
> +#define RADIO_2056_SYN_PLL_XTAL0 ? ? ? ? ? ? ? 0x40
> +#define RADIO_2056_SYN_PLL_XTAL1 ? ? ? ? ? ? ? 0x41
> +#define RADIO_2056_SYN_PLL_XTAL3 ? ? ? ? ? ? ? 0x42
> +#define RADIO_2056_SYN_PLL_XTAL4 ? ? ? ? ? ? ? 0x43
> +#define RADIO_2056_SYN_PLL_XTAL5 ? ? ? ? ? ? ? 0x44
> +#define RADIO_2056_SYN_PLL_XTAL6 ? ? ? ? ? ? ? 0x45
> +#define RADIO_2056_SYN_PLL_REFDIV ? ? ? ? ? ? ?0x46
> +#define RADIO_2056_SYN_PLL_PFD ? ? ? ? ? ? ? ? 0x47
> +#define RADIO_2056_SYN_PLL_CP1 ? ? ? ? ? ? ? ? 0x48
> +#define RADIO_2056_SYN_PLL_CP2 ? ? ? ? ? ? ? ? 0x49
> +#define RADIO_2056_SYN_PLL_CP3 ? ? ? ? ? ? ? ? 0x4A
> +#define RADIO_2056_SYN_PLL_LOOPFILTER1 ? ? ? ? 0x4B
> +#define RADIO_2056_SYN_PLL_LOOPFILTER2 ? ? ? ? 0x4C
> +#define RADIO_2056_SYN_PLL_LOOPFILTER3 ? ? ? ? 0x4D
> +#define RADIO_2056_SYN_PLL_LOOPFILTER4 ? ? ? ? 0x4E
> +#define RADIO_2056_SYN_PLL_LOOPFILTER5 ? ? ? ? 0x4F
> +#define RADIO_2056_SYN_PLL_MMD1 ? ? ? ? ? ? ? ? ? ? ? ?0x50
> +#define RADIO_2056_SYN_PLL_MMD2 ? ? ? ? ? ? ? ? ? ? ? ?0x51
> +#define RADIO_2056_SYN_PLL_VCO1 ? ? ? ? ? ? ? ? ? ? ? ?0x52
> +#define RADIO_2056_SYN_PLL_VCO2 ? ? ? ? ? ? ? ? ? ? ? ?0x53
> +#define RADIO_2056_SYN_PLL_MONITOR1 ? ? ? ? ? ?0x54
> +#define RADIO_2056_SYN_PLL_MONITOR2 ? ? ? ? ? ?0x55
> +#define RADIO_2056_SYN_PLL_VCOCAL1 ? ? ? ? ? ? 0x56
> +#define RADIO_2056_SYN_PLL_VCOCAL2 ? ? ? ? ? ? 0x57
> +#define RADIO_2056_SYN_PLL_VCOCAL4 ? ? ? ? ? ? 0x58
> +#define RADIO_2056_SYN_PLL_VCOCAL5 ? ? ? ? ? ? 0x59
> +#define RADIO_2056_SYN_PLL_VCOCAL6 ? ? ? ? ? ? 0x5A
> +#define RADIO_2056_SYN_PLL_VCOCAL7 ? ? ? ? ? ? 0x5B
> +#define RADIO_2056_SYN_PLL_VCOCAL8 ? ? ? ? ? ? 0x5C
> +#define RADIO_2056_SYN_PLL_VCOCAL9 ? ? ? ? ? ? 0x5D
> +#define RADIO_2056_SYN_PLL_VCOCAL10 ? ? ? ? ? ?0x5E
> +#define RADIO_2056_SYN_PLL_VCOCAL11 ? ? ? ? ? ?0x5F
> +#define RADIO_2056_SYN_PLL_VCOCAL12 ? ? ? ? ? ?0x60
> +#define RADIO_2056_SYN_PLL_VCOCAL13 ? ? ? ? ? ?0x61
> +#define RADIO_2056_SYN_PLL_VREG ? ? ? ? ? ? ? ? ? ? ? ?0x62
> +#define RADIO_2056_SYN_PLL_STATUS1 ? ? ? ? ? ? 0x63
> +#define RADIO_2056_SYN_PLL_STATUS2 ? ? ? ? ? ? 0x64
> +#define RADIO_2056_SYN_PLL_STATUS3 ? ? ? ? ? ? 0x65
> +#define RADIO_2056_SYN_LOGEN_PU0 ? ? ? ? ? ? ? 0x66
> +#define RADIO_2056_SYN_LOGEN_PU1 ? ? ? ? ? ? ? 0x67
> +#define RADIO_2056_SYN_LOGEN_PU2 ? ? ? ? ? ? ? 0x68
> +#define RADIO_2056_SYN_LOGEN_PU3 ? ? ? ? ? ? ? 0x69
> +#define RADIO_2056_SYN_LOGEN_PU5 ? ? ? ? ? ? ? 0x6A
> +#define RADIO_2056_SYN_LOGEN_PU6 ? ? ? ? ? ? ? 0x6B
> +#define RADIO_2056_SYN_LOGEN_PU7 ? ? ? ? ? ? ? 0x6C
> +#define RADIO_2056_SYN_LOGEN_PU8 ? ? ? ? ? ? ? 0x6D
> +#define RADIO_2056_SYN_LOGEN_BIAS_RESET ? ? ? ? ? ? ? ?0x6E
> +#define RADIO_2056_SYN_LOGEN_RCCR1 ? ? ? ? ? ? 0x6F
> +#define RADIO_2056_SYN_LOGEN_VCOBUF1 ? ? ? ? ? 0x70
> +#define RADIO_2056_SYN_LOGEN_MIXER1 ? ? ? ? ? ?0x71
> +#define RADIO_2056_SYN_LOGEN_MIXER2 ? ? ? ? ? ?0x72
> +#define RADIO_2056_SYN_LOGEN_BUF1 ? ? ? ? ? ? ?0x73
> +#define RADIO_2056_SYN_LOGENBUF2 ? ? ? ? ? ? ? 0x74
> +#define RADIO_2056_SYN_LOGEN_BUF3 ? ? ? ? ? ? ?0x75
> +#define RADIO_2056_SYN_LOGEN_BUF4 ? ? ? ? ? ? ?0x76
> +#define RADIO_2056_SYN_LOGEN_DIV1 ? ? ? ? ? ? ?0x77
> +#define RADIO_2056_SYN_LOGEN_DIV2 ? ? ? ? ? ? ?0x78
> +#define RADIO_2056_SYN_LOGEN_DIV3 ? ? ? ? ? ? ?0x79
> +#define RADIO_2056_SYN_LOGEN_ACL1 ? ? ? ? ? ? ?0x7A
> +#define RADIO_2056_SYN_LOGEN_ACL2 ? ? ? ? ? ? ?0x7B
> +#define RADIO_2056_SYN_LOGEN_ACL3 ? ? ? ? ? ? ?0x7C
> +#define RADIO_2056_SYN_LOGEN_ACL4 ? ? ? ? ? ? ?0x7D
> +#define RADIO_2056_SYN_LOGEN_ACL5 ? ? ? ? ? ? ?0x7E
> +#define RADIO_2056_SYN_LOGEN_ACL6 ? ? ? ? ? ? ?0x7F
> +#define RADIO_2056_SYN_LOGEN_ACLOUT ? ? ? ? ? ?0x80
> +#define RADIO_2056_SYN_LOGEN_ACLCAL1 ? ? ? ? ? 0x81
> +#define RADIO_2056_SYN_LOGEN_ACLCAL2 ? ? ? ? ? 0x82
> +#define RADIO_2056_SYN_LOGEN_ACLCAL3 ? ? ? ? ? 0x83
> +#define RADIO_2056_SYN_CALEN ? ? ? ? ? ? ? ? ? 0x84
> +#define RADIO_2056_SYN_LOGEN_PEAKDET1 ? ? ? ? ?0x85
> +#define RADIO_2056_SYN_LOGEN_CORE_ACL_OVR ? ? ?0x86
> +#define RADIO_2056_SYN_LOGEN_RX_DIFF_ACL_OVR ? 0x87
> +#define RADIO_2056_SYN_LOGEN_TX_DIFF_ACL_OVR ? 0x88
> +#define RADIO_2056_SYN_LOGEN_RX_CMOS_ACL_OVR ? 0x89
> +#define RADIO_2056_SYN_LOGEN_TX_CMOS_ACL_OVR ? 0x8A
> +#define RADIO_2056_SYN_LOGEN_VCOBUF2 ? ? ? ? ? 0x8B
> +#define RADIO_2056_SYN_LOGEN_MIXER3 ? ? ? ? ? ?0x8C
> +#define RADIO_2056_SYN_LOGEN_BUF5 ? ? ? ? ? ? ?0x8D
> +#define RADIO_2056_SYN_LOGEN_BUF6 ? ? ? ? ? ? ?0x8E
> +#define RADIO_2056_SYN_LOGEN_CBUFRX1 ? ? ? ? ? 0x8F
> +#define RADIO_2056_SYN_LOGEN_CBUFRX2 ? ? ? ? ? 0x90
> +#define RADIO_2056_SYN_LOGEN_CBUFRX3 ? ? ? ? ? 0x91
> +#define RADIO_2056_SYN_LOGEN_CBUFRX4 ? ? ? ? ? 0x92
> +#define RADIO_2056_SYN_LOGEN_CBUFTX1 ? ? ? ? ? 0x93
> +#define RADIO_2056_SYN_LOGEN_CBUFTX2 ? ? ? ? ? 0x94
> +#define RADIO_2056_SYN_LOGEN_CBUFTX3 ? ? ? ? ? 0x95
> +#define RADIO_2056_SYN_LOGEN_CBUFTX4 ? ? ? ? ? 0x96
> +#define RADIO_2056_SYN_LOGEN_CMOSRX1 ? ? ? ? ? 0x97
> +#define RADIO_2056_SYN_LOGEN_CMOSRX2 ? ? ? ? ? 0x98
> +#define RADIO_2056_SYN_LOGEN_CMOSRX3 ? ? ? ? ? 0x99
> +#define RADIO_2056_SYN_LOGEN_CMOSRX4 ? ? ? ? ? 0x9A
> +#define RADIO_2056_SYN_LOGEN_CMOSTX1 ? ? ? ? ? 0x9B
> +#define RADIO_2056_SYN_LOGEN_CMOSTX2 ? ? ? ? ? 0x9C
> +#define RADIO_2056_SYN_LOGEN_CMOSTX3 ? ? ? ? ? 0x9D
> +#define RADIO_2056_SYN_LOGEN_CMOSTX4 ? ? ? ? ? 0x9E
> +#define RADIO_2056_SYN_LOGEN_VCOBUF2_OVRVAL ? ?0x9F
> +#define RADIO_2056_SYN_LOGEN_MIXER3_OVRVAL ? ? 0xA0
> +#define RADIO_2056_SYN_LOGEN_BUF5_OVRVAL ? ? ? 0xA1
> +#define RADIO_2056_SYN_LOGEN_BUF6_OVRVAL ? ? ? 0xA2
> +#define RADIO_2056_SYN_LOGEN_CBUFRX1_OVRVAL ? ?0xA3
> +#define RADIO_2056_SYN_LOGEN_CBUFRX2_OVRVAL ? ?0xA4
> +#define RADIO_2056_SYN_LOGEN_CBUFRX3_OVRVAL ? ?0xA5
> +#define RADIO_2056_SYN_LOGEN_CBUFRX4_OVRVAL ? ?0xA6
> +#define RADIO_2056_SYN_LOGEN_CBUFTX1_OVRVAL ? ?0xA7
> +#define RADIO_2056_SYN_LOGEN_CBUFTX2_OVRVAL ? ?0xA8
> +#define RADIO_2056_SYN_LOGEN_CBUFTX3_OVRVAL ? ?0xA9
> +#define RADIO_2056_SYN_LOGEN_CBUFTX4_OVRVAL ? ?0xAA
> +#define RADIO_2056_SYN_LOGEN_CMOSRX1_OVRVAL ? ?0xAB
> +#define RADIO_2056_SYN_LOGEN_CMOSRX2_OVRVAL ? ?0xAC
> +#define RADIO_2056_SYN_LOGEN_CMOSRX3_OVRVAL ? ?0xAD
> +#define RADIO_2056_SYN_LOGEN_CMOSRX4_OVRVAL ? ?0xAE
> +#define RADIO_2056_SYN_LOGEN_CMOSTX1_OVRVAL ? ?0xAF
> +#define RADIO_2056_SYN_LOGEN_CMOSTX2_OVRVAL ? ?0xB0
> +#define RADIO_2056_SYN_LOGEN_CMOSTX3_OVRVAL ? ?0xB1
> +#define RADIO_2056_SYN_LOGEN_CMOSTX4_OVRVAL ? ?0xB2
> +#define RADIO_2056_SYN_LOGEN_ACL_WAITCNT ? ? ? 0xB3
> +#define RADIO_2056_SYN_LOGEN_CORE_CALVALID ? ? 0xB4
> +#define RADIO_2056_SYN_LOGEN_RX_CMOS_CALVALID ?0xB5
> +#define RADIO_2056_SYN_LOGEN_TX_CMOS_VALID ? ? 0xB6
> +
> +#define RADIO_2056_TX_RESERVED_ADDR0 ? ? ? ? ? 0x00
> +#define RADIO_2056_TX_IDCODE ? ? ? ? ? ? ? ? ? 0x01
> +#define RADIO_2056_TX_RESERVED_ADDR2 ? ? ? ? ? 0x02
> +#define RADIO_2056_TX_RESERVED_ADDR3 ? ? ? ? ? 0x03
> +#define RADIO_2056_TX_RESERVED_ADDR4 ? ? ? ? ? 0x04
> +#define RADIO_2056_TX_RESERVED_ADDR5 ? ? ? ? ? 0x05
> +#define RADIO_2056_TX_RESERVED_ADDR6 ? ? ? ? ? 0x06
> +#define RADIO_2056_TX_RESERVED_ADDR7 ? ? ? ? ? 0x07
> +#define RADIO_2056_TX_COM_CTRL ? ? ? ? ? ? ? ? 0x08
> +#define RADIO_2056_TX_COM_PU ? ? ? ? ? ? ? ? ? 0x09
> +#define RADIO_2056_TX_COM_OVR ? ? ? ? ? ? ? ? ?0x0A
> +#define RADIO_2056_TX_COM_RESET ? ? ? ? ? ? ? ? ? ? ? ?0x0B
> +#define RADIO_2056_TX_COM_RCAL ? ? ? ? ? ? ? ? 0x0C
> +#define RADIO_2056_TX_COM_RC_RXLPF ? ? ? ? ? ? 0x0D
> +#define RADIO_2056_TX_COM_RC_TXLPF ? ? ? ? ? ? 0x0E
> +#define RADIO_2056_TX_COM_RC_RXHPF ? ? ? ? ? ? 0x0F
> +#define RADIO_2056_TX_RESERVED_ADDR16 ? ? ? ? ?0x10
> +#define RADIO_2056_TX_RESERVED_ADDR17 ? ? ? ? ?0x11
> +#define RADIO_2056_TX_RESERVED_ADDR18 ? ? ? ? ?0x12
> +#define RADIO_2056_TX_RESERVED_ADDR19 ? ? ? ? ?0x13
> +#define RADIO_2056_TX_RESERVED_ADDR20 ? ? ? ? ?0x14
> +#define RADIO_2056_TX_RESERVED_ADDR21 ? ? ? ? ?0x15
> +#define RADIO_2056_TX_RESERVED_ADDR22 ? ? ? ? ?0x16
> +#define RADIO_2056_TX_RESERVED_ADDR23 ? ? ? ? ?0x17
> +#define RADIO_2056_TX_RESERVED_ADDR24 ? ? ? ? ?0x18
> +#define RADIO_2056_TX_RESERVED_ADDR25 ? ? ? ? ?0x19
> +#define RADIO_2056_TX_RESERVED_ADDR26 ? ? ? ? ?0x1A
> +#define RADIO_2056_TX_RESERVED_ADDR27 ? ? ? ? ?0x1B
> +#define RADIO_2056_TX_RESERVED_ADDR28 ? ? ? ? ?0x1C
> +#define RADIO_2056_TX_RESERVED_ADDR29 ? ? ? ? ?0x1D
> +#define RADIO_2056_TX_RESERVED_ADDR30 ? ? ? ? ?0x1E
> +#define RADIO_2056_TX_RESERVED_ADDR31 ? ? ? ? ?0x1F
> +#define RADIO_2056_TX_IQCAL_GAIN_BW ? ? ? ? ? ?0x20
> +#define RADIO_2056_TX_LOFT_FINE_I ? ? ? ? ? ? ?0x21
> +#define RADIO_2056_TX_LOFT_FINE_Q ? ? ? ? ? ? ?0x22
> +#define RADIO_2056_TX_LOFT_COARSE_I ? ? ? ? ? ?0x23
> +#define RADIO_2056_TX_LOFT_COARSE_Q ? ? ? ? ? ?0x24
> +#define RADIO_2056_TX_TX_COM_MASTER1 ? ? ? ? ? 0x25
> +#define RADIO_2056_TX_TX_COM_MASTER2 ? ? ? ? ? 0x26
> +#define RADIO_2056_TX_RXIQCAL_TXMUX ? ? ? ? ? ?0x27
> +#define RADIO_2056_TX_TX_SSI_MASTER ? ? ? ? ? ?0x28
> +#define RADIO_2056_TX_IQCAL_VCM_HG ? ? ? ? ? ? 0x29
> +#define RADIO_2056_TX_IQCAL_IDAC ? ? ? ? ? ? ? 0x2A
> +#define RADIO_2056_TX_TSSI_VCM ? ? ? ? ? ? ? ? 0x2B
> +#define RADIO_2056_TX_TX_AMP_DET ? ? ? ? ? ? ? 0x2C
> +#define RADIO_2056_TX_TX_SSI_MUX ? ? ? ? ? ? ? 0x2D
> +#define RADIO_2056_TX_TSSIA ? ? ? ? ? ? ? ? ? ?0x2E
> +#define RADIO_2056_TX_TSSIG ? ? ? ? ? ? ? ? ? ?0x2F
> +#define RADIO_2056_TX_TSSI_MISC1 ? ? ? ? ? ? ? 0x30
> +#define RADIO_2056_TX_TSSI_MISC2 ? ? ? ? ? ? ? 0x31
> +#define RADIO_2056_TX_TSSI_MISC3 ? ? ? ? ? ? ? 0x32
> +#define RADIO_2056_TX_PA_SPARE1 ? ? ? ? ? ? ? ? ? ? ? ?0x33
> +#define RADIO_2056_TX_PA_SPARE2 ? ? ? ? ? ? ? ? ? ? ? ?0x34
> +#define RADIO_2056_TX_INTPAA_MASTER ? ? ? ? ? ?0x35
> +#define RADIO_2056_TX_INTPAA_GAIN ? ? ? ? ? ? ?0x36
> +#define RADIO_2056_TX_INTPAA_BOOST_TUNE ? ? ? ? ? ? ? ?0x37
> +#define RADIO_2056_TX_INTPAA_IAUX_STAT ? ? ? ? 0x38
> +#define RADIO_2056_TX_INTPAA_IAUX_DYN ? ? ? ? ?0x39
> +#define RADIO_2056_TX_INTPAA_IMAIN_STAT ? ? ? ? ? ? ? ?0x3A
> +#define RADIO_2056_TX_INTPAA_IMAIN_DYN ? ? ? ? 0x3B
> +#define RADIO_2056_TX_INTPAA_CASCBIAS ? ? ? ? ?0x3C
> +#define RADIO_2056_TX_INTPAA_PASLOPE ? ? ? ? ? 0x3D
> +#define RADIO_2056_TX_INTPAA_PA_MISC ? ? ? ? ? 0x3E
> +#define RADIO_2056_TX_INTPAG_MASTER ? ? ? ? ? ?0x3F
> +#define RADIO_2056_TX_INTPAG_GAIN ? ? ? ? ? ? ?0x40
> +#define RADIO_2056_TX_INTPAG_BOOST_TUNE ? ? ? ? ? ? ? ?0x41
> +#define RADIO_2056_TX_INTPAG_IAUX_STAT ? ? ? ? 0x42
> +#define RADIO_2056_TX_INTPAG_IAUX_DYN ? ? ? ? ?0x43
> +#define RADIO_2056_TX_INTPAG_IMAIN_STAT ? ? ? ? ? ? ? ?0x44
> +#define RADIO_2056_TX_INTPAG_IMAIN_DYN ? ? ? ? 0x45
> +#define RADIO_2056_TX_INTPAG_CASCBIAS ? ? ? ? ?0x46
> +#define RADIO_2056_TX_INTPAG_PASLOPE ? ? ? ? ? 0x47
> +#define RADIO_2056_TX_INTPAG_PA_MISC ? ? ? ? ? 0x48
> +#define RADIO_2056_TX_PADA_MASTER ? ? ? ? ? ? ?0x49
> +#define RADIO_2056_TX_PADA_IDAC ? ? ? ? ? ? ? ? ? ? ? ?0x4A
> +#define RADIO_2056_TX_PADA_CASCBIAS ? ? ? ? ? ?0x4B
> +#define RADIO_2056_TX_PADA_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x4C
> +#define RADIO_2056_TX_PADA_BOOST_TUNE ? ? ? ? ?0x4D
> +#define RADIO_2056_TX_PADA_SLOPE ? ? ? ? ? ? ? 0x4E
> +#define RADIO_2056_TX_PADG_MASTER ? ? ? ? ? ? ?0x4F
> +#define RADIO_2056_TX_PADG_IDAC ? ? ? ? ? ? ? ? ? ? ? ?0x50
> +#define RADIO_2056_TX_PADG_CASCBIAS ? ? ? ? ? ?0x51
> +#define RADIO_2056_TX_PADG_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x52
> +#define RADIO_2056_TX_PADG_BOOST_TUNE ? ? ? ? ?0x53
> +#define RADIO_2056_TX_PADG_SLOPE ? ? ? ? ? ? ? 0x54
> +#define RADIO_2056_TX_PGAA_MASTER ? ? ? ? ? ? ?0x55
> +#define RADIO_2056_TX_PGAA_IDAC ? ? ? ? ? ? ? ? ? ? ? ?0x56
> +#define RADIO_2056_TX_PGAA_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x57
> +#define RADIO_2056_TX_PGAA_BOOST_TUNE ? ? ? ? ?0x58
> +#define RADIO_2056_TX_PGAA_SLOPE ? ? ? ? ? ? ? 0x59
> +#define RADIO_2056_TX_PGAA_MISC ? ? ? ? ? ? ? ? ? ? ? ?0x5A
> +#define RADIO_2056_TX_PGAG_MASTER ? ? ? ? ? ? ?0x5B
> +#define RADIO_2056_TX_PGAG_IDAC ? ? ? ? ? ? ? ? ? ? ? ?0x5C
> +#define RADIO_2056_TX_PGAG_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x5D
> +#define RADIO_2056_TX_PGAG_BOOST_TUNE ? ? ? ? ?0x5E
> +#define RADIO_2056_TX_PGAG_SLOPE ? ? ? ? ? ? ? 0x5F
> +#define RADIO_2056_TX_PGAG_MISC ? ? ? ? ? ? ? ? ? ? ? ?0x60
> +#define RADIO_2056_TX_MIXA_MASTER ? ? ? ? ? ? ?0x61
> +#define RADIO_2056_TX_MIXA_BOOST_TUNE ? ? ? ? ?0x62
> +#define RADIO_2056_TX_MIXG ? ? ? ? ? ? ? ? ? ? 0x63
> +#define RADIO_2056_TX_MIXG_BOOST_TUNE ? ? ? ? ?0x64
> +#define RADIO_2056_TX_BB_GM_MASTER ? ? ? ? ? ? 0x65
> +#define RADIO_2056_TX_GMBB_GM ? ? ? ? ? ? ? ? ?0x66
> +#define RADIO_2056_TX_GMBB_IDAC ? ? ? ? ? ? ? ? ? ? ? ?0x67
> +#define RADIO_2056_TX_TXLPF_MASTER ? ? ? ? ? ? 0x68
> +#define RADIO_2056_TX_TXLPF_RCCAL ? ? ? ? ? ? ?0x69
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF0 ? ? ? ? 0x6A
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF1 ? ? ? ? 0x6B
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF2 ? ? ? ? 0x6C
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF3 ? ? ? ? 0x6D
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF4 ? ? ? ? 0x6E
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF5 ? ? ? ? 0x6F
> +#define RADIO_2056_TX_TXLPF_RCCAL_OFF6 ? ? ? ? 0x70
> +#define RADIO_2056_TX_TXLPF_BW ? ? ? ? ? ? ? ? 0x71
> +#define RADIO_2056_TX_TXLPF_GAIN ? ? ? ? ? ? ? 0x72
> +#define RADIO_2056_TX_TXLPF_IDAC ? ? ? ? ? ? ? 0x73
> +#define RADIO_2056_TX_TXLPF_IDAC_0 ? ? ? ? ? ? 0x74
> +#define RADIO_2056_TX_TXLPF_IDAC_1 ? ? ? ? ? ? 0x75
> +#define RADIO_2056_TX_TXLPF_IDAC_2 ? ? ? ? ? ? 0x76
> +#define RADIO_2056_TX_TXLPF_IDAC_3 ? ? ? ? ? ? 0x77
> +#define RADIO_2056_TX_TXLPF_IDAC_4 ? ? ? ? ? ? 0x78
> +#define RADIO_2056_TX_TXLPF_IDAC_5 ? ? ? ? ? ? 0x79
> +#define RADIO_2056_TX_TXLPF_IDAC_6 ? ? ? ? ? ? 0x7A
> +#define RADIO_2056_TX_TXLPF_OPAMP_IDAC ? ? ? ? 0x7B
> +#define RADIO_2056_TX_TXLPF_MISC ? ? ? ? ? ? ? 0x7C
> +#define RADIO_2056_TX_TXSPARE1 ? ? ? ? ? ? ? ? 0x7D
> +#define RADIO_2056_TX_TXSPARE2 ? ? ? ? ? ? ? ? 0x7E
> +#define RADIO_2056_TX_TXSPARE3 ? ? ? ? ? ? ? ? 0x7F
> +#define RADIO_2056_TX_TXSPARE4 ? ? ? ? ? ? ? ? 0x80
> +#define RADIO_2056_TX_TXSPARE5 ? ? ? ? ? ? ? ? 0x81
> +#define RADIO_2056_TX_TXSPARE6 ? ? ? ? ? ? ? ? 0x82
> +#define RADIO_2056_TX_TXSPARE7 ? ? ? ? ? ? ? ? 0x83
> +#define RADIO_2056_TX_TXSPARE8 ? ? ? ? ? ? ? ? 0x84
> +#define RADIO_2056_TX_TXSPARE9 ? ? ? ? ? ? ? ? 0x85
> +#define RADIO_2056_TX_TXSPARE10 ? ? ? ? ? ? ? ? ? ? ? ?0x86
> +#define RADIO_2056_TX_TXSPARE11 ? ? ? ? ? ? ? ? ? ? ? ?0x87
> +#define RADIO_2056_TX_TXSPARE12 ? ? ? ? ? ? ? ? ? ? ? ?0x88
> +#define RADIO_2056_TX_TXSPARE13 ? ? ? ? ? ? ? ? ? ? ? ?0x89
> +#define RADIO_2056_TX_TXSPARE14 ? ? ? ? ? ? ? ? ? ? ? ?0x8A
> +#define RADIO_2056_TX_TXSPARE15 ? ? ? ? ? ? ? ? ? ? ? ?0x8B
> +#define RADIO_2056_TX_TXSPARE16 ? ? ? ? ? ? ? ? ? ? ? ?0x8C
> +#define RADIO_2056_TX_STATUS_INTPA_GAIN ? ? ? ? ? ? ? ?0x8D
> +#define RADIO_2056_TX_STATUS_PAD_GAIN ? ? ? ? ?0x8E
> +#define RADIO_2056_TX_STATUS_PGA_GAIN ? ? ? ? ?0x8F
> +#define RADIO_2056_TX_STATUS_GM_TXLPF_GAIN ? ? 0x90
> +#define RADIO_2056_TX_STATUS_TXLPF_BW ? ? ? ? ?0x91
> +#define RADIO_2056_TX_STATUS_TXLPF_RC ? ? ? ? ?0x92
> +#define RADIO_2056_TX_GMBB_IDAC0 ? ? ? ? ? ? ? 0x93
> +#define RADIO_2056_TX_GMBB_IDAC1 ? ? ? ? ? ? ? 0x94
> +#define RADIO_2056_TX_GMBB_IDAC2 ? ? ? ? ? ? ? 0x95
> +#define RADIO_2056_TX_GMBB_IDAC3 ? ? ? ? ? ? ? 0x96
> +#define RADIO_2056_TX_GMBB_IDAC4 ? ? ? ? ? ? ? 0x97
> +#define RADIO_2056_TX_GMBB_IDAC5 ? ? ? ? ? ? ? 0x98
> +#define RADIO_2056_TX_GMBB_IDAC6 ? ? ? ? ? ? ? 0x99
> +#define RADIO_2056_TX_GMBB_IDAC7 ? ? ? ? ? ? ? 0x9A
> +
> +#define RADIO_2056_RX_RESERVED_ADDR0 ? ? ? ? ? 0x00
> +#define RADIO_2056_RX_IDCODE ? ? ? ? ? ? ? ? ? 0x01
> +#define RADIO_2056_RX_RESERVED_ADDR2 ? ? ? ? ? 0x02
> +#define RADIO_2056_RX_RESERVED_ADDR3 ? ? ? ? ? 0x03
> +#define RADIO_2056_RX_RESERVED_ADDR4 ? ? ? ? ? 0x04
> +#define RADIO_2056_RX_RESERVED_ADDR5 ? ? ? ? ? 0x05
> +#define RADIO_2056_RX_RESERVED_ADDR6 ? ? ? ? ? 0x06
> +#define RADIO_2056_RX_RESERVED_ADDR7 ? ? ? ? ? 0x07
> +#define RADIO_2056_RX_COM_CTRL ? ? ? ? ? ? ? ? 0x08
> +#define RADIO_2056_RX_COM_PU ? ? ? ? ? ? ? ? ? 0x09
> +#define RADIO_2056_RX_COM_OVR ? ? ? ? ? ? ? ? ?0x0A
> +#define RADIO_2056_RX_COM_RESET ? ? ? ? ? ? ? ? ? ? ? ?0x0B
> +#define RADIO_2056_RX_COM_RCAL ? ? ? ? ? ? ? ? 0x0C
> +#define RADIO_2056_RX_COM_RC_RXLPF ? ? ? ? ? ? 0x0D
> +#define RADIO_2056_RX_COM_RC_TXLPF ? ? ? ? ? ? 0x0E
> +#define RADIO_2056_RX_COM_RC_RXHPF ? ? ? ? ? ? 0x0F
> +#define RADIO_2056_RX_RESERVED_ADDR16 ? ? ? ? ?0x10
> +#define RADIO_2056_RX_RESERVED_ADDR17 ? ? ? ? ?0x11
> +#define RADIO_2056_RX_RESERVED_ADDR18 ? ? ? ? ?0x12
> +#define RADIO_2056_RX_RESERVED_ADDR19 ? ? ? ? ?0x13
> +#define RADIO_2056_RX_RESERVED_ADDR20 ? ? ? ? ?0x14
> +#define RADIO_2056_RX_RESERVED_ADDR21 ? ? ? ? ?0x15
> +#define RADIO_2056_RX_RESERVED_ADDR22 ? ? ? ? ?0x16
> +#define RADIO_2056_RX_RESERVED_ADDR23 ? ? ? ? ?0x17
> +#define RADIO_2056_RX_RESERVED_ADDR24 ? ? ? ? ?0x18
> +#define RADIO_2056_RX_RESERVED_ADDR25 ? ? ? ? ?0x19
> +#define RADIO_2056_RX_RESERVED_ADDR26 ? ? ? ? ?0x1A
> +#define RADIO_2056_RX_RESERVED_ADDR27 ? ? ? ? ?0x1B
> +#define RADIO_2056_RX_RESERVED_ADDR28 ? ? ? ? ?0x1C
> +#define RADIO_2056_RX_RESERVED_ADDR29 ? ? ? ? ?0x1D
> +#define RADIO_2056_RX_RESERVED_ADDR30 ? ? ? ? ?0x1E
> +#define RADIO_2056_RX_RESERVED_ADDR31 ? ? ? ? ?0x1F
> +#define RADIO_2056_RX_RXIQCAL_RXMUX ? ? ? ? ? ?0x20
> +#define RADIO_2056_RX_RSSI_PU ? ? ? ? ? ? ? ? ?0x21
> +#define RADIO_2056_RX_RSSI_SEL ? ? ? ? ? ? ? ? 0x22
> +#define RADIO_2056_RX_RSSI_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x23
> +#define RADIO_2056_RX_RSSI_NB_IDAC ? ? ? ? ? ? 0x24
> +#define RADIO_2056_RX_RSSI_WB2I_IDAC_1 ? ? ? ? 0x25
> +#define RADIO_2056_RX_RSSI_WB2I_IDAC_2 ? ? ? ? 0x26
> +#define RADIO_2056_RX_RSSI_WB2Q_IDAC_1 ? ? ? ? 0x27
> +#define RADIO_2056_RX_RSSI_WB2Q_IDAC_2 ? ? ? ? 0x28
> +#define RADIO_2056_RX_RSSI_POLE ? ? ? ? ? ? ? ? ? ? ? ?0x29
> +#define RADIO_2056_RX_RSSI_WB1_IDAC ? ? ? ? ? ?0x2A
> +#define RADIO_2056_RX_RSSI_MISC ? ? ? ? ? ? ? ? ? ? ? ?0x2B
> +#define RADIO_2056_RX_LNAA_MASTER ? ? ? ? ? ? ?0x2C
> +#define RADIO_2056_RX_LNAA_TUNE ? ? ? ? ? ? ? ? ? ? ? ?0x2D
> +#define RADIO_2056_RX_LNAA_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x2E
> +#define RADIO_2056_RX_LNA_A_SLOPE ? ? ? ? ? ? ?0x2F
> +#define RADIO_2056_RX_BIASPOLE_LNAA1_IDAC ? ? ?0x30
> +#define RADIO_2056_RX_LNAA2_IDAC ? ? ? ? ? ? ? 0x31
> +#define RADIO_2056_RX_LNA1A_MISC ? ? ? ? ? ? ? 0x32
> +#define RADIO_2056_RX_LNAG_MASTER ? ? ? ? ? ? ?0x33
> +#define RADIO_2056_RX_LNAG_TUNE ? ? ? ? ? ? ? ? ? ? ? ?0x34
> +#define RADIO_2056_RX_LNAG_GAIN ? ? ? ? ? ? ? ? ? ? ? ?0x35
> +#define RADIO_2056_RX_LNA_G_SLOPE ? ? ? ? ? ? ?0x36
> +#define RADIO_2056_RX_BIASPOLE_LNAG1_IDAC ? ? ?0x37
> +#define RADIO_2056_RX_LNAG2_IDAC ? ? ? ? ? ? ? 0x38
> +#define RADIO_2056_RX_LNA1G_MISC ? ? ? ? ? ? ? 0x39
> +#define RADIO_2056_RX_MIXA_MASTER ? ? ? ? ? ? ?0x3A
> +#define RADIO_2056_RX_MIXA_VCM ? ? ? ? ? ? ? ? 0x3B
> +#define RADIO_2056_RX_MIXA_CTRLPTAT ? ? ? ? ? ?0x3C
> +#define RADIO_2056_RX_MIXA_LOB_BIAS ? ? ? ? ? ?0x3D
> +#define RADIO_2056_RX_MIXA_CORE_IDAC ? ? ? ? ? 0x3E
> +#define RADIO_2056_RX_MIXA_CMFB_IDAC ? ? ? ? ? 0x3F
> +#define RADIO_2056_RX_MIXA_BIAS_AUX ? ? ? ? ? ?0x40
> +#define RADIO_2056_RX_MIXA_BIAS_MAIN ? ? ? ? ? 0x41
> +#define RADIO_2056_RX_MIXA_BIAS_MISC ? ? ? ? ? 0x42
> +#define RADIO_2056_RX_MIXA_MAST_BIAS ? ? ? ? ? 0x43
> +#define RADIO_2056_RX_MIXG_MASTER ? ? ? ? ? ? ?0x44
> +#define RADIO_2056_RX_MIXG_VCM ? ? ? ? ? ? ? ? 0x45
> +#define RADIO_2056_RX_MIXG_CTRLPTAT ? ? ? ? ? ?0x46
> +#define RADIO_2056_RX_MIXG_LOB_BIAS ? ? ? ? ? ?0x47
> +#define RADIO_2056_RX_MIXG_CORE_IDAC ? ? ? ? ? 0x48
> +#define RADIO_2056_RX_MIXG_CMFB_IDAC ? ? ? ? ? 0x49
> +#define RADIO_2056_RX_MIXG_BIAS_AUX ? ? ? ? ? ?0x4A
> +#define RADIO_2056_RX_MIXG_BIAS_MAIN ? ? ? ? ? 0x4B
> +#define RADIO_2056_RX_MIXG_BIAS_MISC ? ? ? ? ? 0x4C
> +#define RADIO_2056_RX_MIXG_MAST_BIAS ? ? ? ? ? 0x4D
> +#define RADIO_2056_RX_TIA_MASTER ? ? ? ? ? ? ? 0x4E
> +#define RADIO_2056_RX_TIA_IOPAMP ? ? ? ? ? ? ? 0x4F
> +#define RADIO_2056_RX_TIA_QOPAMP ? ? ? ? ? ? ? 0x50
> +#define RADIO_2056_RX_TIA_IMISC ? ? ? ? ? ? ? ? ? ? ? ?0x51
> +#define RADIO_2056_RX_TIA_QMISC ? ? ? ? ? ? ? ? ? ? ? ?0x52
> +#define RADIO_2056_RX_TIA_GAIN ? ? ? ? ? ? ? ? 0x53
> +#define RADIO_2056_RX_TIA_SPARE1 ? ? ? ? ? ? ? 0x54
> +#define RADIO_2056_RX_TIA_SPARE2 ? ? ? ? ? ? ? 0x55
> +#define RADIO_2056_RX_BB_LPF_MASTER ? ? ? ? ? ?0x56
> +#define RADIO_2056_RX_AACI_MASTER ? ? ? ? ? ? ?0x57
> +#define RADIO_2056_RX_RXLPF_IDAC ? ? ? ? ? ? ? 0x58
> +#define RADIO_2056_RX_RXLPF_OPAMPBIAS_LOWQ ? ? 0x59
> +#define RADIO_2056_RX_RXLPF_OPAMPBIAS_HIGHQ ? ?0x5A
> +#define RADIO_2056_RX_RXLPF_BIAS_DCCANCEL ? ? ?0x5B
> +#define RADIO_2056_RX_RXLPF_OUTVCM ? ? ? ? ? ? 0x5C
> +#define RADIO_2056_RX_RXLPF_INVCM_BODY ? ? ? ? 0x5D
> +#define RADIO_2056_RX_RXLPF_CC_OP ? ? ? ? ? ? ?0x5E
> +#define RADIO_2056_RX_RXLPF_GAIN ? ? ? ? ? ? ? 0x5F
> +#define RADIO_2056_RX_RXLPF_Q_BW ? ? ? ? ? ? ? 0x60
> +#define RADIO_2056_RX_RXLPF_HP_CORNER_BW ? ? ? 0x61
> +#define RADIO_2056_RX_RXLPF_RCCAL_HPC ? ? ? ? ?0x62
> +#define RADIO_2056_RX_RXHPF_OFF0 ? ? ? ? ? ? ? 0x63
> +#define RADIO_2056_RX_RXHPF_OFF1 ? ? ? ? ? ? ? 0x64
> +#define RADIO_2056_RX_RXHPF_OFF2 ? ? ? ? ? ? ? 0x65
> +#define RADIO_2056_RX_RXHPF_OFF3 ? ? ? ? ? ? ? 0x66
> +#define RADIO_2056_RX_RXHPF_OFF4 ? ? ? ? ? ? ? 0x67
> +#define RADIO_2056_RX_RXHPF_OFF5 ? ? ? ? ? ? ? 0x68
> +#define RADIO_2056_RX_RXHPF_OFF6 ? ? ? ? ? ? ? 0x69
> +#define RADIO_2056_RX_RXHPF_OFF7 ? ? ? ? ? ? ? 0x6A
> +#define RADIO_2056_RX_RXLPF_RCCAL_LPC ? ? ? ? ?0x6B
> +#define RADIO_2056_RX_RXLPF_OFF_0 ? ? ? ? ? ? ?0x6C
> +#define RADIO_2056_RX_RXLPF_OFF_1 ? ? ? ? ? ? ?0x6D
> +#define RADIO_2056_RX_RXLPF_OFF_2 ? ? ? ? ? ? ?0x6E
> +#define RADIO_2056_RX_RXLPF_OFF_3 ? ? ? ? ? ? ?0x6F
> +#define RADIO_2056_RX_RXLPF_OFF_4 ? ? ? ? ? ? ?0x70
> +#define RADIO_2056_RX_UNUSED ? ? ? ? ? ? ? ? ? 0x71
> +#define RADIO_2056_RX_VGA_MASTER ? ? ? ? ? ? ? 0x72
> +#define RADIO_2056_RX_VGA_BIAS ? ? ? ? ? ? ? ? 0x73
> +#define RADIO_2056_RX_VGA_BIAS_DCCANCEL ? ? ? ? ? ? ? ?0x74
> +#define RADIO_2056_RX_VGA_GAIN ? ? ? ? ? ? ? ? 0x75
> +#define RADIO_2056_RX_VGA_HP_CORNER_BW ? ? ? ? 0x76
> +#define RADIO_2056_RX_VGABUF_BIAS ? ? ? ? ? ? ?0x77
> +#define RADIO_2056_RX_VGABUF_GAIN_BW ? ? ? ? ? 0x78
> +#define RADIO_2056_RX_TXFBMIX_A ? ? ? ? ? ? ? ? ? ? ? ?0x79
> +#define RADIO_2056_RX_TXFBMIX_G ? ? ? ? ? ? ? ? ? ? ? ?0x7A
> +#define RADIO_2056_RX_RXSPARE1 ? ? ? ? ? ? ? ? 0x7B
> +#define RADIO_2056_RX_RXSPARE2 ? ? ? ? ? ? ? ? 0x7C
> +#define RADIO_2056_RX_RXSPARE3 ? ? ? ? ? ? ? ? 0x7D
> +#define RADIO_2056_RX_RXSPARE4 ? ? ? ? ? ? ? ? 0x7E
> +#define RADIO_2056_RX_RXSPARE5 ? ? ? ? ? ? ? ? 0x7F
> +#define RADIO_2056_RX_RXSPARE6 ? ? ? ? ? ? ? ? 0x80
> +#define RADIO_2056_RX_RXSPARE7 ? ? ? ? ? ? ? ? 0x81
> +#define RADIO_2056_RX_RXSPARE8 ? ? ? ? ? ? ? ? 0x82
> +#define RADIO_2056_RX_RXSPARE9 ? ? ? ? ? ? ? ? 0x83
> +#define RADIO_2056_RX_RXSPARE10 ? ? ? ? ? ? ? ? ? ? ? ?0x84
> +#define RADIO_2056_RX_RXSPARE11 ? ? ? ? ? ? ? ? ? ? ? ?0x85
> +#define RADIO_2056_RX_RXSPARE12 ? ? ? ? ? ? ? ? ? ? ? ?0x86
> +#define RADIO_2056_RX_RXSPARE13 ? ? ? ? ? ? ? ? ? ? ? ?0x87
> +#define RADIO_2056_RX_RXSPARE14 ? ? ? ? ? ? ? ? ? ? ? ?0x88
> +#define RADIO_2056_RX_RXSPARE15 ? ? ? ? ? ? ? ? ? ? ? ?0x89
> +#define RADIO_2056_RX_RXSPARE16 ? ? ? ? ? ? ? ? ? ? ? ?0x8A
> +#define RADIO_2056_RX_STATUS_LNAA_GAIN ? ? ? ? 0x8B
> +#define RADIO_2056_RX_STATUS_LNAG_GAIN ? ? ? ? 0x8C
> +#define RADIO_2056_RX_STATUS_MIXTIA_GAIN ? ? ? 0x8D
> +#define RADIO_2056_RX_STATUS_RXLPF_GAIN ? ? ? ? ? ? ? ?0x8E
> +#define RADIO_2056_RX_STATUS_VGA_BUF_GAIN ? ? ?0x8F
> +#define RADIO_2056_RX_STATUS_RXLPF_Q ? ? ? ? ? 0x90
> +#define RADIO_2056_RX_STATUS_RXLPF_BUF_BW ? ? ?0x91
> +#define RADIO_2056_RX_STATUS_RXLPF_VGA_HPC ? ? 0x92
> +#define RADIO_2056_RX_STATUS_RXLPF_RC ? ? ? ? ?0x93
> +#define RADIO_2056_RX_STATUS_HPC_RC ? ? ? ? ? ?0x94
> +
> +#define RADIO_2056_LNA1_A_PU ? ? ? ? ? ? ? ? ? 0x01
> +#define RADIO_2056_LNA2_A_PU ? ? ? ? ? ? ? ? ? 0x02
> +#define RADIO_2056_LNA1_G_PU ? ? ? ? ? ? ? ? ? 0x01
> +#define RADIO_2056_LNA2_G_PU ? ? ? ? ? ? ? ? ? 0x02
> +#define RADIO_2056_MIXA_PU_I ? ? ? ? ? ? ? ? ? 0x01
> +#define RADIO_2056_MIXA_PU_Q ? ? ? ? ? ? ? ? ? 0x02
> +#define RADIO_2056_MIXA_PU_GM ? ? ? ? ? ? ? ? ?0x10
> +#define RADIO_2056_MIXG_PU_I ? ? ? ? ? ? ? ? ? 0x01
> +#define RADIO_2056_MIXG_PU_Q ? ? ? ? ? ? ? ? ? 0x02
> +#define RADIO_2056_MIXG_PU_GM ? ? ? ? ? ? ? ? ?0x10
> +#define RADIO_2056_TIA_PU ? ? ? ? ? ? ? ? ? ? ?0x01
> +#define RADIO_2056_BB_LPF_PU ? ? ? ? ? ? ? ? ? 0x20
> +#define RADIO_2056_W1_PU ? ? ? ? ? ? ? ? ? ? ? 0x02
> +#define RADIO_2056_W2_PU ? ? ? ? ? ? ? ? ? ? ? 0x04
> +#define RADIO_2056_NB_PU ? ? ? ? ? ? ? ? ? ? ? 0x08
> +#define RADIO_2056_RSSI_W1_SEL ? ? ? ? ? ? ? ? 0x02
> +#define RADIO_2056_RSSI_W2_SEL ? ? ? ? ? ? ? ? 0x04
> +#define RADIO_2056_RSSI_NB_SEL ? ? ? ? ? ? ? ? 0x08
> +#define RADIO_2056_VCM_MASK ? ? ? ? ? ? ? ? ? ?0x1C
> +#define RADIO_2056_RSSI_VCM_SHIFT ? ? ? ? ? ? ?0x02
> +
> ?struct b43_nphy_channeltab_entry_rev3 {
> ? ? ? ?/* The channel frequency in MHz */
> ? ? ? ?u16 freq;
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-10-14 22:39:55

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH 1/3] b43: N-PHY: define channel table struct for rev3+ devices

2010/10/14 Rafał Miłecki <[email protected]>:
> Signed-off-by: Rafał Miłecki <[email protected]>
> ---
>  drivers/net/wireless/b43/radio_2056.c |   51 +++++++++++++++++++++++++++++++++
>  drivers/net/wireless/b43/radio_2056.h |   40 ++++++++++++++++++++++++--
>  2 files changed, 88 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/radio_2056.c b/drivers/net/wireless/b43/radio_2056.c
> index d856319..f710c01 100644
> --- a/drivers/net/wireless/b43/radio_2056.c
> +++ b/drivers/net/wireless/b43/radio_2056.c
> @@ -24,9 +24,60 @@
>  #include "radio_2056.h"
>  #include "phy_common.h"
>
> +#define RADIOREGS3(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \
> +                  r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \
> +                  r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, \
> +                  r30, r31, r32, r33, r34, r35, r36) \
> +       .radio_syn_pll_vcocal1          = r00,  \
> +       .radio_syn_pll_vcocal2          = r01,  \
> +       .radio_syn_pll_refdiv           = r02,  \
> +       .radio_syn_pll_mmd2             = r03,  \
> +       .radio_syn_pll_mmd1             = r04,  \
> +       .radio_syn_pll_loopfilter1      = r05,  \
> +       .radio_syn_pll_loopfilter2      = r06,  \
> +       .radio_syn_pll_loopfilter3      = r07,  \
> +       .radio_syn_pll_loopfilter4      = r08,  \
> +       .radio_syn_pll_loopfilter5      = r09,  \
> +       .radio_syn_reserved_addr27      = r10,  \
> +       .radio_syn_reserved_addr28      = r11,  \
> +       .radio_syn_reserved_addr29      = r12,  \
> +       .radio_syn_logen_vcobuf1        = r13,  \
> +       .radio_syn_logen_mixer2         = r14,  \
> +       .radio_syn_logen_buf3           = r15,  \
> +       .radio_syn_logen_buf4           = r16,  \
> +       .radio_rx0_lnaa_tune            = r17,  \
> +       .radio_rx0_lnag_tune            = r18,  \
> +       .radio_tx0_intpaa_boost_tune    = r19,  \
> +       .radio_tx0_intpag_boost_tune    = r20,  \
> +       .radio_tx0_pada_boost_tune      = r21,  \
> +       .radio_tx0_padg_boost_tune      = r22,  \
> +       .radio_tx0_pgaa_boost_tune      = r23,  \
> +       .radio_tx0_pgag_boost_tune      = r24,  \
> +       .radio_tx0_mixa_boost_tune      = r25,  \
> +       .radio_tx0_mixg_boost_tune      = r26,  \
> +       .radio_rx1_lnaa_tune            = r27,  \
> +       .radio_rx1_lnag_tune            = r28,  \
> +       .radio_tx1_intpaa_boost_tune    = r29,  \
> +       .radio_tx1_intpag_boost_tune    = r30,  \
> +       .radio_tx1_pada_boost_tune      = r31,  \
> +       .radio_tx1_padg_boost_tune      = r32,  \
> +       .radio_tx1_pgaa_boost_tune      = r33,  \
> +       .radio_tx1_pgag_boost_tune      = r34,  \
> +       .radio_tx1_mixa_boost_tune      = r35,  \
> +       .radio_tx1_mixg_boost_tune      = r36

You might want to use parentheses around parameter names: e.g.:
.radio_tx1_mixa_boost_tune = (r35), \

> +
> +#define PHYREGS(r0, r1, r2, r3, r4, r5)        \
> +       .phy_regs.phy_bw1a      = r0,   \
> +       .phy_regs.phy_bw2       = r1,   \
> +       .phy_regs.phy_bw3       = r2,   \
> +       .phy_regs.phy_bw4       = r3,   \
> +       .phy_regs.phy_bw5       = r4,   \
> +       .phy_regs.phy_bw6       = r5
> +
>  static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev3[] = {
>  };
>
> +/* TODO: add support for rev4+ devices by searching in rev4+ tables */
>  const struct b43_nphy_channeltab_entry_rev3 *
>  b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq)
>  {
> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
> index fda6daf..60341d7 100644
> --- a/drivers/net/wireless/b43/radio_2056.h
> +++ b/drivers/net/wireless/b43/radio_2056.h
> @@ -29,12 +29,46 @@
>  #include "tables_nphy.h"
>
>  struct b43_nphy_channeltab_entry_rev3 {
> -       /* The channel number */
> -       u8 channel;
>        /* The channel frequency in MHz */
>        u16 freq;
>        /* Radio register values on channelswitch */
> -       /* TODO */
> +       u8 radio_syn_pll_vcocal1;
> +       u8 radio_syn_pll_vcocal2;
> +       u8 radio_syn_pll_refdiv;
> +       u8 radio_syn_pll_mmd2;
> +       u8 radio_syn_pll_mmd1;
> +       u8 radio_syn_pll_loopfilter1;
> +       u8 radio_syn_pll_loopfilter2;
> +       u8 radio_syn_pll_loopfilter3;
> +       u8 radio_syn_pll_loopfilter4;
> +       u8 radio_syn_pll_loopfilter5;
> +       u8 radio_syn_reserved_addr27;
> +       u8 radio_syn_reserved_addr28;
> +       u8 radio_syn_reserved_addr29;
> +       u8 radio_syn_logen_vcobuf1;
> +       u8 radio_syn_logen_mixer2;
> +       u8 radio_syn_logen_buf3;
> +       u8 radio_syn_logen_buf4;
> +       u8 radio_rx0_lnaa_tune;
> +       u8 radio_rx0_lnag_tune;
> +       u8 radio_tx0_intpaa_boost_tune;
> +       u8 radio_tx0_intpag_boost_tune;
> +       u8 radio_tx0_pada_boost_tune;
> +       u8 radio_tx0_padg_boost_tune;
> +       u8 radio_tx0_pgaa_boost_tune;
> +       u8 radio_tx0_pgag_boost_tune;
> +       u8 radio_tx0_mixa_boost_tune;
> +       u8 radio_tx0_mixg_boost_tune;
> +       u8 radio_rx1_lnaa_tune;
> +       u8 radio_rx1_lnag_tune;
> +       u8 radio_tx1_intpaa_boost_tune;
> +       u8 radio_tx1_intpag_boost_tune;
> +       u8 radio_tx1_pada_boost_tune;
> +       u8 radio_tx1_padg_boost_tune;
> +       u8 radio_tx1_pgaa_boost_tune;
> +       u8 radio_tx1_pgag_boost_tune;
> +       u8 radio_tx1_mixa_boost_tune;
> +       u8 radio_tx1_mixg_boost_tune;
>        /* PHY register values on channelswitch */
>        struct b43_phy_n_sfo_cfg phy_regs;
>  };
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-10-15 10:58:19

by Rafał Miłecki

[permalink] [raw]
Subject: Re: [PATCH 1/3] b43: N-PHY: define channel table struct for rev3+ devices

VyBkbml1IDE1IHBhxbpkemllcm5pa2EgMjAxMCAwMDozOSB1xbx5dGtvd25payBHw6Fib3IgU3Rl
ZmFuaWsKPG5ldHJvbGxsZXIuM2RAZ21haWwuY29tPiBuYXBpc2HFgjoKPiAyMDEwLzEwLzE0IFJh
ZmHFgiBNacWCZWNraSA8emFqZWM1QGdtYWlsLmNvbT46Cj4+IFNpZ25lZC1vZmYtYnk6IFJhZmHF
giBNacWCZWNraSA8emFqZWM1QGdtYWlsLmNvbT4KPj4gLS0tCj4+IMKgZHJpdmVycy9uZXQvd2ly
ZWxlc3MvYjQzL3JhZGlvXzIwNTYuYyB8IMKgIDUxICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwo+PiDCoGRyaXZlcnMvbmV0L3dpcmVsZXNzL2I0My9yYWRpb18yMDU2LmggfCDCoCA0
MCArKysrKysrKysrKysrKysrKysrKysrKystLQo+PiDCoDIgZmlsZXMgY2hhbmdlZCwgODggaW5z
ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0
L3dpcmVsZXNzL2I0My9yYWRpb18yMDU2LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9iNDMvcmFk
aW9fMjA1Ni5jCj4+IGluZGV4IGQ4NTYzMTkuLmY3MTBjMDEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl
cnMvbmV0L3dpcmVsZXNzL2I0My9yYWRpb18yMDU2LmMKPj4gKysrIGIvZHJpdmVycy9uZXQvd2ly
ZWxlc3MvYjQzL3JhZGlvXzIwNTYuYwo+PiBAQCAtMjQsOSArMjQsNjAgQEAKPj4gwqAjaW5jbHVk
ZSAicmFkaW9fMjA1Ni5oIgo+PiDCoCNpbmNsdWRlICJwaHlfY29tbW9uLmgiCj4+Cj4+ICsjZGVm
aW5lIFJBRElPUkVHUzMocjAwLCByMDEsIHIwMiwgcjAzLCByMDQsIHIwNSwgcjA2LCByMDcsIHIw
OCwgcjA5LCBcCj4+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByMTAsIHIxMSwgcjEyLCBy
MTMsIHIxNCwgcjE1LCByMTYsIHIxNywgcjE4LCByMTksIFwKPj4gKyDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoHIyMCwgcjIxLCByMjIsIHIyMywgcjI0LCByMjUsIHIyNiwgcjI3LCByMjgsIHIy
OSwgXAo+PiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcjMwLCByMzEsIHIzMiwgcjMzLCBy
MzQsIHIzNSwgcjM2KSBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9wbGxfdmNvY2FsMSDCoCDC
oCDCoCDCoCDCoD0gcjAwLCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fc3luX3BsbF92Y29jYWwy
IMKgIMKgIMKgIMKgIMKgPSByMDEsIMKgXAo+PiArIMKgIMKgIMKgIC5yYWRpb19zeW5fcGxsX3Jl
ZmRpdiDCoCDCoCDCoCDCoCDCoCA9IHIwMiwgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9w
bGxfbW1kMiDCoCDCoCDCoCDCoCDCoCDCoCA9IHIwMywgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlv
X3N5bl9wbGxfbW1kMSDCoCDCoCDCoCDCoCDCoCDCoCA9IHIwNCwgwqBcCj4+ICsgwqAgwqAgwqAg
LnJhZGlvX3N5bl9wbGxfbG9vcGZpbHRlcjEgwqAgwqAgwqA9IHIwNSwgwqBcCj4+ICsgwqAgwqAg
wqAgLnJhZGlvX3N5bl9wbGxfbG9vcGZpbHRlcjIgwqAgwqAgwqA9IHIwNiwgwqBcCj4+ICsgwqAg
wqAgwqAgLnJhZGlvX3N5bl9wbGxfbG9vcGZpbHRlcjMgwqAgwqAgwqA9IHIwNywgwqBcCj4+ICsg
wqAgwqAgwqAgLnJhZGlvX3N5bl9wbGxfbG9vcGZpbHRlcjQgwqAgwqAgwqA9IHIwOCwgwqBcCj4+
ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9wbGxfbG9vcGZpbHRlcjUgwqAgwqAgwqA9IHIwOSwgwqBc
Cj4+ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9yZXNlcnZlZF9hZGRyMjcgwqAgwqAgwqA9IHIxMCwg
wqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9yZXNlcnZlZF9hZGRyMjggwqAgwqAgwqA9IHIx
MSwgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9yZXNlcnZlZF9hZGRyMjkgwqAgwqAgwqA9
IHIxMiwgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3N5bl9sb2dlbl92Y29idWYxIMKgIMKgIMKg
IMKgPSByMTMsIMKgXAo+PiArIMKgIMKgIMKgIC5yYWRpb19zeW5fbG9nZW5fbWl4ZXIyIMKgIMKg
IMKgIMKgID0gcjE0LCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fc3luX2xvZ2VuX2J1ZjMgwqAg
wqAgwqAgwqAgwqAgPSByMTUsIMKgXAo+PiArIMKgIMKgIMKgIC5yYWRpb19zeW5fbG9nZW5fYnVm
NCDCoCDCoCDCoCDCoCDCoCA9IHIxNiwgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3J4MF9sbmFh
X3R1bmUgwqAgwqAgwqAgwqAgwqAgwqA9IHIxNywgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3J4
MF9sbmFnX3R1bmUgwqAgwqAgwqAgwqAgwqAgwqA9IHIxOCwgwqBcCj4+ICsgwqAgwqAgwqAgLnJh
ZGlvX3R4MF9pbnRwYWFfYm9vc3RfdHVuZSDCoCDCoD0gcjE5LCDCoFwKPj4gKyDCoCDCoCDCoCAu
cmFkaW9fdHgwX2ludHBhZ19ib29zdF90dW5lIMKgIMKgPSByMjAsIMKgXAo+PiArIMKgIMKgIMKg
IC5yYWRpb190eDBfcGFkYV9ib29zdF90dW5lIMKgIMKgIMKgPSByMjEsIMKgXAo+PiArIMKgIMKg
IMKgIC5yYWRpb190eDBfcGFkZ19ib29zdF90dW5lIMKgIMKgIMKgPSByMjIsIMKgXAo+PiArIMKg
IMKgIMKgIC5yYWRpb190eDBfcGdhYV9ib29zdF90dW5lIMKgIMKgIMKgPSByMjMsIMKgXAo+PiAr
IMKgIMKgIMKgIC5yYWRpb190eDBfcGdhZ19ib29zdF90dW5lIMKgIMKgIMKgPSByMjQsIMKgXAo+
PiArIMKgIMKgIMKgIC5yYWRpb190eDBfbWl4YV9ib29zdF90dW5lIMKgIMKgIMKgPSByMjUsIMKg
XAo+PiArIMKgIMKgIMKgIC5yYWRpb190eDBfbWl4Z19ib29zdF90dW5lIMKgIMKgIMKgPSByMjYs
IMKgXAo+PiArIMKgIMKgIMKgIC5yYWRpb19yeDFfbG5hYV90dW5lIMKgIMKgIMKgIMKgIMKgIMKg
PSByMjcsIMKgXAo+PiArIMKgIMKgIMKgIC5yYWRpb19yeDFfbG5hZ190dW5lIMKgIMKgIMKgIMKg
IMKgIMKgPSByMjgsIMKgXAo+PiArIMKgIMKgIMKgIC5yYWRpb190eDFfaW50cGFhX2Jvb3N0X3R1
bmUgwqAgwqA9IHIyOSwgwqBcCj4+ICsgwqAgwqAgwqAgLnJhZGlvX3R4MV9pbnRwYWdfYm9vc3Rf
dHVuZSDCoCDCoD0gcjMwLCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fdHgxX3BhZGFfYm9vc3Rf
dHVuZSDCoCDCoCDCoD0gcjMxLCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fdHgxX3BhZGdfYm9v
c3RfdHVuZSDCoCDCoCDCoD0gcjMyLCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fdHgxX3BnYWFf
Ym9vc3RfdHVuZSDCoCDCoCDCoD0gcjMzLCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fdHgxX3Bn
YWdfYm9vc3RfdHVuZSDCoCDCoCDCoD0gcjM0LCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9fdHgx
X21peGFfYm9vc3RfdHVuZSDCoCDCoCDCoD0gcjM1LCDCoFwKPj4gKyDCoCDCoCDCoCAucmFkaW9f
dHgxX21peGdfYm9vc3RfdHVuZSDCoCDCoCDCoD0gcjM2Cj4KPiBZb3UgbWlnaHQgd2FudCB0byB1
c2UgcGFyZW50aGVzZXMgYXJvdW5kIHBhcmFtZXRlciBuYW1lczogZS5nLjoKPiAucmFkaW9fdHgx
X21peGFfYm9vc3RfdHVuZSA9IChyMzUpLCBcCgpXZSB1c2UgdGhpcyBtYWNybyBvbmx5IGZvciBk
ZWZpbmluZyByYWRpbyB0YWJsZXMsIG9ubHkgaW4gdGhpcyBmaWxlLgpQbHVzIHdlIGRvbid0IHVz
ZSBhbnkgbWF0aCBvciBzdGggYXMgeW91IGNhbiBzZWUgaW4gbmV4dCBwYXRjaCAoMy8zKS4KVGhh
dCB3YXkgaXQgd2lsbCBub3QgaGl0IHJhbmRvbSBkZXZlbG9wZXIgdXNpbmcgdGhpcyBtYWNybyBp
biBvdGhlcgpwbGFjZSBvZiBjb2RlLgoKLS0gClJhZmHFggo=

2010-10-15 14:51:17

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 1/3] b43: N-PHY: define channel table struct for rev3+ devices

On 10/15/2010 09:27 AM, Rafał Miłecki wrote:
>
> There is "Chapter 12: Macros, Enums and RTL" in:
> http://www.kernel.org/doc/Documentation/CodingStyle
>
> Some quotes:
> 1) "Macros with multiple statements should be enclosed in a do - while block:"
> 2) "macros defining constants using expressions must enclose the
> expression in parentheses"
>
> Second one may sound like sth close, but it's just about expressions like:
> #define CONSTEXP (CONSTANT | 3)
>
> So there doesn't seem to be any "rule" in CodingStyle wanting us to
> add parentheses when you suggested.

I think that scripts/checkpatch would report any definitions that need parentheses.

As you have probably figured out, I'm back home. If you have spec questions ;),
I'm ready.

Larry

2010-10-14 21:24:13

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

2010/10/14 Rafał Miłecki <[email protected]>:
> Signed-off-by: Rafał Miłecki <[email protected]>
> Cc: Henry Ptasinski <[email protected]>
> Cc: Brett Rudley <[email protected]>
> Cc: Nohee Ko <[email protected]>
> ---
>  drivers/net/wireless/b43/radio_2056.h |  522 +++++++++++++++++++++++++++++++++
>  1 files changed, 522 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
> index 60341d7..462c9fd 100644
> --- a/drivers/net/wireless/b43/radio_2056.h
> +++ b/drivers/net/wireless/b43/radio_2056.h
> @@ -4,6 +4,9 @@
>
>   Copyright (c) 2010 Rafał Miłecki <[email protected]>
>
> +  Some parts of the code in this file are derived from the brcm80211
> +  driver  Copyright (c) 2010 Broadcom Corporation
> +

You forgot to include their full license here.

Luis

2010-10-15 14:29:43

by Rafał Miłecki

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

W dniu 15 października 2010 16:15 użytkownik Gábor Stefanik
<[email protected]> napisał:
> 2010/10/15 Rafał Miłecki <[email protected]>:
>> W dniu 15 października 2010 01:58 użytkownik Gábor Stefanik
>> <[email protected]> napisał:
>>> 2010/10/14 Rafał Miłecki <[email protected]>:
>>>> Signed-off-by: Rafał Miłecki <[email protected]>
>>>> Cc: Henry Ptasinski <[email protected]>
>>>> Cc: Brett Rudley <[email protected]>
>>>> Cc: Nohee Ko <[email protected]>
>>>> ---
>>>>  drivers/net/wireless/b43/radio_2056.h |  522 +++++++++++++++++++++++++++++++++
>>>>  1 files changed, 522 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
>>>> index 60341d7..462c9fd 100644
>>>> --- a/drivers/net/wireless/b43/radio_2056.h
>>>> +++ b/drivers/net/wireless/b43/radio_2056.h
>>>> @@ -4,6 +4,9 @@
>>>>
>>>>   Copyright (c) 2010 Rafał Miłecki <[email protected]>
>>>>
>>>> +  Some parts of the code in this file are derived from the brcm80211
>>>> +  driver  Copyright (c) 2010 Broadcom Corporation
>>>> +
>>>>   This program is free software; you can redistribute it and/or modify
>>>>   it under the terms of the GNU General Public License as published by
>>>>   the Free Software Foundation; either version 2 of the License, or
>>>> @@ -28,6 +31,525 @@
>>>>
>>>>  #include "tables_nphy.h"
>>>>
>>>> +#define RADIO_2056_SYN                         (0x0 << 12)
>>>> +#define RADIO_2056_TX0                         (0x2 << 12)
>>>> +#define RADIO_2056_TX1                         (0x3 << 12)
>>>
>>> Please use B2056_ as the prefix. See LP-PHY.
>>
>> What does it mean? This "B" prefix?
>
> AFAIK it is a contraction for BCM. (The actual radio is called
> BCM2056.) However, LP-PHY already uses B2062_ and B2063_ as its radio
> register prefixes, so it is a good idea to follow the convention here,
> too.

Thanks for explaining and generally keeping eye on my patches :) I'll
send modified version.

--
Rafał

2010-10-15 11:01:38

by Rafał Miłecki

[permalink] [raw]
Subject: Re: [PATCH 2/3] b43: N-PHY: define registers names for 2056 radio

W dniu 14 października 2010 23:23 użytkownik Luis R. Rodriguez
<[email protected]> napisał:
> 2010/10/14 Rafał Miłecki <[email protected]>:
>> Signed-off-by: Rafał Miłecki <[email protected]>
>> Cc: Henry Ptasinski <[email protected]>
>> Cc: Brett Rudley <[email protected]>
>> Cc: Nohee Ko <[email protected]>
>> ---
>>  drivers/net/wireless/b43/radio_2056.h |  522 +++++++++++++++++++++++++++++++++
>>  1 files changed, 522 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h
>> index 60341d7..462c9fd 100644
>> --- a/drivers/net/wireless/b43/radio_2056.h
>> +++ b/drivers/net/wireless/b43/radio_2056.h
>> @@ -4,6 +4,9 @@
>>
>>   Copyright (c) 2010 Rafał Miłecki <[email protected]>
>>
>> +  Some parts of the code in this file are derived from the brcm80211
>> +  driver  Copyright (c) 2010 Broadcom Corporation
>> +
>
> You forgot to include their full license here.

As discussed in another topic, I didn't add any copyrightable data
here. "Just numbers". I added info about source of defines as some
kind of over-kindness ;)

--
Rafał