All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Arend van Spriel" <arend@broadcom.com>
To: "Hauke Mehrtens" <hauke@hauke-m.de>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"Saul St. John" <saul.stjohn@gmail.com>,
	"Rafal Milecki" <zajec5@gmail.com>,
	"Larry Finger" <Larry.Finger@lwfinger.net>
Subject: Re: [RFC] bcma: add support for on-chip OTP memory used for SPROM storage
Date: Thu, 1 Mar 2012 22:26:33 +0100	[thread overview]
Message-ID: <4F4FE989.3090108@broadcom.com> (raw)
In-Reply-To: <4F4B571E.7040704@broadcom.com>

On 02/27/2012 11:12 AM, Arend van Spriel wrote:
> On 02/25/2012 01:52 PM, Hauke Mehrtens wrote:
>> On 02/23/2012 10:52 PM, Arend van Spriel wrote:
>>> Wireless Broadcom chips can have either their SPROM data stored
>>> on either external SPROM or on-chip OTP memory. Both are accessed
>>> through the same register space. This patch adds support for the
>>> on-chip OTP memory.
>>>
>>> Tested with:
>>> BCM43224 OTP and SPROM
>>> BCM4331 SPROM
>>> BCM4313 OTP
>>
>> Does bcma now support the same features regarding sprom and otp as
>> brcmsamc expect it does not read out all the attributes brcmsmac reads
>> out or are there any features still missing? I am just asking because
>> the code used in brcmsmac is ~4 times longer.
>
> I started on using bcma sprom content in brcmsmac and indeed there are
> some entries missing. The change in this patch only provides read-access
> to the srom data. As the chip comes up for read-access there is not much
> programming need to accomplish that. The only feature that is not there
> is that on some chips OTP can be powered down for power-saving. The
> current chips supported by BCMA don't have that.

With BCMA retrieving the SPROM data correctly, regardless how/where it 
is stored I went to change brcmsmac to make use of it. However, it 
turned out several attributes were missing.

Now I could go and extend the ssb_sprom structure, but there I got 
confused. The structure is filled by BCMA in the function 
bcma_sprom_extract_r8(). The name suggest it deals with SROM revision 8 
attributes, but:

	for (i = 0; i < 3; i++) {
		v = sprom[SPOFF(SSB_SPROM8_IL0MAC) + i];
		*(((__be16 *)bus->sprom.il0mac) + i) = cpu_to_be16(v);
	}

	SPEX(board_rev, SSB_SPROM8_BOARDREV, ~0, 0);

	SPEX(txpid2g[0], SSB_SPROM4_TXPID2G01, SSB_SPROM4_TXPID2G0,
	     SSB_SPROM4_TXPID2G0_SHIFT);
	SPEX(txpid2g[1], SSB_SPROM4_TXPID2G01, SSB_SPROM4_TXPID2G1,
	     SSB_SPROM4_TXPID2G1_SHIFT);

The attributes txpid2g that are filled here are deprecated for srom 
revision 8. Is b43 using these fields for boards with srom rev 8?

I propose to move to BCMA having its own sprom structure definition. 
Srom revision 10 is upcoming and it does only apply to BCMA-based cards.

Gr. AvS


  parent reply	other threads:[~2012-03-01 21:26 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-23 21:52 [RFC] bcma: add support for on-chip OTP memory used for SPROM storage Arend van Spriel
2012-02-24  2:42 ` Saul St. John
2012-02-24  9:55   ` Arend van Spriel
2012-02-24  7:52 ` Rafał Miłecki
2012-02-24 10:15   ` Arend van Spriel
2012-02-24 10:39   ` Arend van Spriel
2012-02-24 10:58     ` Johannes Berg
2012-02-24 11:18       ` Arend van Spriel
2012-02-25 12:52 ` Hauke Mehrtens
2012-02-25 14:29   ` Rafał Miłecki
2012-02-27 10:12   ` Arend van Spriel
2012-02-28 20:11     ` Hauke Mehrtens
2012-03-01 14:12       ` Arend van Spriel
2012-03-01 14:35         ` Hauke Mehrtens
2012-03-01 15:16           ` Arend van Spriel
2012-03-01 16:14             ` Hauke Mehrtens
2012-03-03 22:44       ` Rafał Miłecki
2012-03-05  9:16         ` Arend van Spriel
2012-03-06  8:52           ` Rafał Miłecki
2012-03-06 12:26             ` Arend van Spriel
2012-03-06 12:26               ` Arend van Spriel
2012-03-01 21:26     ` Arend van Spriel [this message]
2012-03-01 21:42       ` Larry Finger
2012-03-01 21:56       ` Hauke Mehrtens
2012-03-02 10:39         ` Arend van Spriel
2012-03-02 10:39           ` Arend van Spriel

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=4F4FE989.3090108@broadcom.com \
    --to=arend@broadcom.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=hauke@hauke-m.de \
    --cc=linux-wireless@vger.kernel.org \
    --cc=saul.stjohn@gmail.com \
    --cc=zajec5@gmail.com \
    /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.