From: Larry Finger <larry.finger@lwfinger.net>
To: Michael Buesch <mb@bu3sch.de>
Cc: John Linville <linville@tuxdriver.com>,
netdev@vger.kernel.org, Bcm43xx-dev@lists.berlios.de,
linux-wireless@vger.kernel.org
Subject: Re: [PATCH] bcm43xx: Fix code for spec changes of 2/7/2007
Date: Fri, 09 Feb 2007 12:11:32 -0600 [thread overview]
Message-ID: <45CCB954.1080400@lwfinger.net> (raw)
In-Reply-To: <200702091811.40683.mb@bu3sch.de>
Michael,
Michael Buesch wrote:
> On Friday 09 February 2007 17:32, Larry Finger wrote:
>> The specifications for the bcm43xx driver have been modified. This patch
>> incorporates these changes in the code, which results in the BCM4311 and
>> BCM4312 working. The name of one of the PHY parameters, previously known
>> as "version", has been changed to "analog core version" .
>>
>> Signed-off-by: Larry Finger<Larry.Finger@lwfinger.net>
>> ---
>
>> @@ -729,19 +729,19 @@ static void bcm43xx_phy_initb5(struct bc
>> struct bcm43xx_phyinfo *phy = bcm43xx_current_phy(bcm);
>> struct bcm43xx_radioinfo *radio = bcm43xx_current_radio(bcm);
>> u16 offset;
>> + u16 value;
>> + u8 old_channel;
>>
>> - if (phy->version == 1 &&
>> - radio->version == 0x2050) {
>
> Why do you delete the check to radio version.
> It's still there in latest specs:
> http://bcm-v4.sipsolutions.net/802.11/PHY/Init/B5
As I have no real understanding of the differences between V3 and V4 firmware, I only follow the V3
specs at http://bcm-specs.sipsolutions.net. My usage of the V4 specs is to checking if they can
clean a point of confusion in the V3 spec. The radio version check is eliminated at the beginning of
the phy_initb5 routine in http://bcm-specs.sipsolutions.net/B5PHY. As there are radio version checks
later in the routine, I think it was meant to be removed here.
>> + if (phy->analog == 1)
>> bcm43xx_radio_write16(bcm, 0x007A,
>> bcm43xx_radio_read16(bcm, 0x007A)
>> | 0x0050);
>> - }
>> if ((bcm->board_vendor != PCI_VENDOR_ID_BROADCOM) &&
>> (bcm->board_type != 0x0416)) {
>> + value = 0x2120;
>> for (offset = 0x00A8 ; offset < 0x00C7; offset++) {
>> - bcm43xx_phy_write(bcm, offset,
>> - (bcm43xx_phy_read(bcm, offset) + 0x2020)
>> - & 0x3F3F);
>> + bcm43xx_phy_write(bcm, offset, value);
>> + value += 0x0202;
>> }
>
> I don't see how this matches specs.
See step 2 of http://bcm-specs.sipsolutions.net/B5PHY.
>> }
>> bcm43xx_phy_write(bcm, 0x0035,
>> @@ -776,7 +776,7 @@ static void bcm43xx_phy_initb5(struct bc
>> bcm43xx_phy_read(bcm, BCM43xx_PHY_RADIO_BITFIELD) | (1 << 11));
>> }
>>
>> - if (phy->version == 1 && radio->version == 0x2050) {
>
> Dito.
Ibid Step 7.
>> + if (phy->analog == 1) {
>> bcm43xx_phy_write(bcm, 0x0026, 0xCE00);
>> bcm43xx_phy_write(bcm, 0x0021, 0x3763);
>> bcm43xx_phy_write(bcm, 0x0022, 0x1BC3);
>> @@ -787,14 +787,15 @@ static void bcm43xx_phy_initb5(struct bc
>> bcm43xx_phy_write(bcm, 0x0030, 0x00C6);
>> bcm43xx_write16(bcm, 0x03EC, 0x3F22);
>>
>> - if (phy->version == 1 && radio->version == 0x2050)
>
> Dito.
Step 11.
>> + if (phy->analog == 1)
>> bcm43xx_phy_write(bcm, 0x0020, 0x3E1C);
>> else
>> bcm43xx_phy_write(bcm, 0x0020, 0x301C);
>>
>> - if (phy->version == 0)
>> + if (phy->analog == 0)
>> bcm43xx_write16(bcm, 0x03E4, 0x3000);
>>
>> + old_channel = radio->channel;
>> /* Force to channel 7, even if not supported. */
>> bcm43xx_radio_selectchannel(bcm, 7, 0);
>>
>> @@ -816,11 +817,11 @@ static void bcm43xx_phy_initb5(struct bc
>>
>> bcm43xx_radio_write16(bcm, 0x007A, bcm43xx_radio_read16(bcm, 0x007A) | 0x0007);
>>
>> - bcm43xx_radio_selectchannel(bcm, BCM43xx_RADIO_DEFAULT_CHANNEL_BG, 0);
>> + bcm43xx_radio_selectchannel(bcm, old_channel, 0);
>>
>> bcm43xx_phy_write(bcm, 0x0014, 0x0080);
>> bcm43xx_phy_write(bcm, 0x0032, 0x00CA);
>> - bcm43xx_phy_write(bcm, 0x88A3, 0x002A);
>> + bcm43xx_phy_write(bcm, 0x002A, 0x88A3);
>
> Well, this seems correct, but specs are still different. From where did you get this?
Steps 14 - 26 of http://bcm-specs.sipsolutions.net/B5PHY
>
>
> Well, I don't review the rest until you say to which specs you did the changes. ;)
As I said earlier, everything came from http://bcm-specs.sipsolutions.net.
Larry
next prev parent reply other threads:[~2007-02-09 18:11 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-09 16:32 [PATCH] bcm43xx: Fix code for spec changes of 2/7/2007 Larry Finger
2007-02-09 17:11 ` Michael Buesch
2007-02-09 18:11 ` Larry Finger [this message]
2007-02-09 22:22 ` Joseph Jezak
2007-02-09 17:29 ` Michael Buesch
2007-02-09 18:21 ` Larry Finger
2007-02-09 18:48 ` Michael Buesch
2007-02-09 19:05 ` Joseph Jezak
2007-02-09 19:17 ` Michael Buesch
2007-02-09 19:55 ` Joseph Jezak
2007-02-09 20:30 ` Michael Buesch
2007-02-14 12:52 ` Johannes Berg
2007-02-14 19:13 ` Larry Finger
2007-02-14 19:26 ` Johannes Berg
2007-02-14 19:27 ` Johannes Berg
2007-02-14 21:52 ` Michael Buesch
2007-02-14 22:28 ` Larry Finger
2007-02-09 19:26 ` Larry Finger
2007-02-09 21:32 ` Matthew Garrett
2007-02-09 22:52 ` Martin Langer
2007-02-10 5:55 ` Michael Buesch
2007-02-10 12:57 ` Matthew Garrett
2007-02-27 17:00 ` Gavin McCullagh
2007-02-11 2:13 ` Joseph Jezak
2007-02-14 13:18 ` Johannes Berg
2007-02-14 21:40 ` Michael Buesch
2007-02-15 15:07 ` Johannes Berg
2007-02-15 15:13 ` Michael Buesch
2007-02-15 15:19 ` Johannes Berg
2007-02-15 16:51 ` Martin Langer
2007-02-15 16:53 ` Johannes Berg
2007-02-11 13:21 ` Johannes Berg
2007-02-09 18:45 ` Michael Buesch
2007-02-09 19:17 ` Joseph Jezak
2007-02-09 19:26 ` Michael Buesch
2007-02-09 19:58 ` Joseph Jezak
2007-02-09 22:24 ` Joseph Jezak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45CCB954.1080400@lwfinger.net \
--to=larry.finger@lwfinger.net \
--cc=Bcm43xx-dev@lists.berlios.de \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mb@bu3sch.de \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.