I've just received 14e4:4312 card which is G-PHY BCM4311.
I've checked for SSB rev in MMIO dump:
read32 0xfaafcff8 -> 0x100422c5
0x100422c5 & (SSB_IDLOW_SSBREV == 0xF0000000) = 0x10000000
So this is SSB rev 2.3:
#define SSB_IDLOW_SSBREV_23 0x10000000 /* 2.3 */
Currently we are using different REJECT bit for SSB rev 2.3:
#define SSB_TMSLOW_REJECT 0x00000002 /* Reject (Standard Backplane) */
#define SSB_TMSLOW_REJECT_23 0x00000004 /* Reject (Backplane rev 2.3) */
Does anyone know where did we get this from?
wl does never use this bit:
$ grep "ssb_write32(0xf98)" wl.4312.txt | sort | uniq
ssb_write32(0xf98) <- 0x00000003
ssb_write32(0xf98) <- 0x00010000
ssb_write32(0xf98) <- 0x00010002
ssb_write32(0xf98) <- 0x00030003
ssb_write32(0xf98) <- 0x00040003
ssb_write32(0xf98) <- 0x00070000
ssb_write32(0xf98) <- 0x00070001
ssb_write32(0xf98) <- 0x00070003
ssb_write32(0xf98) <- 0x20010000
ssb_write32(0xf98) <- 0x20010002
ssb_write32(0xf98) <- 0x20040003
ssb_write32(0xf98) <- 0x20070000
ssb_write32(0xf98) <- 0x20070001
ssb_write32(0xf98) <- 0x20070003
--
Rafał
2011/5/17 Rafał Miłecki <[email protected]>:
> Currently we are using different REJECT bit for SSB rev 2.3:
> #define SSB_TMSLOW_REJECT 0x00000002 /* Reject (Standard Backplane) */
> #define SSB_TMSLOW_REJECT_23 0x00000004 /* Reject (Backplane rev 2.3) */
>
> Does anyone know where did we get this from?
Broadcom public sources define it as follows:
#define SBTML_REJ_MASK 0x0006 /* reject field */
#define SBTML_REJ 0x0002 /* reject */
#define SBTML_TMPREJ 0x0004 /* temporary reject,
for error recovery */
>
> wl does never use this bit:
It seems neither do the public ssb sources:
# grep -r 'SBTML_TMPREJ' shared/ | wc -l
0
#
Jonas
W dniu 17 maja 2011 13:32 użytkownik Jonas Gorski
<[email protected]> napisał:
> 2011/5/17 Rafał Miłecki <[email protected]>:
>> Currently we are using different REJECT bit for SSB rev 2.3:
>> #define SSB_TMSLOW_REJECT 0x00000002 /* Reject (Standard Backplane) */
>> #define SSB_TMSLOW_REJECT_23 0x00000004 /* Reject (Backplane rev 2.3) */
>>
>> Does anyone know where did we get this from?
>
> Broadcom public sources define it as follows:
> #define SBTML_REJ_MASK 0x0006 /* reject field */
> #define SBTML_REJ 0x0002 /* reject */
> #define SBTML_TMPREJ 0x0004 /* temporary reject,
> for error recovery */
>
>>
>> wl does never use this bit:
>
> It seems neither do the public ssb sources:
> # grep -r 'SBTML_TMPREJ' shared/ | wc -l
> 0
> #
Where did you check this? AFAIK wl has only linux_osl.c public
available and brcmsmac does not support SSB at all. Do you find any
references to SBTML_REJ in this "shared/*"?
--
Rafał
On Tue, 2011-05-17 at 12:40 +0200, Rafał Miłecki wrote:
> Does anyone know where did we get this from?
Should be in the git history.
--
Greetings Michael.
W dniu 17 maja 2011 13:20 użytkownik Michael Büsch <[email protected]> napisał:
> On Tue, 2011-05-17 at 12:40 +0200, Rafał Miłecki wrote:
>> Does anyone know where did we get this from?
>
> Should be in the git history.
It's here since:
[SSB]: add Sonics Silicon Backplane bus support
Maybe bcm43xx does contain sth...
--
Rafał
W dniu 17 maja 2011 13:50 użytkownik Rafał Miłecki <[email protected]> napisał:
> W dniu 17 maja 2011 13:20 użytkownik Michael Büsch <[email protected]> napisał:
>> On Tue, 2011-05-17 at 12:40 +0200, Rafał Miłecki wrote:
>>> Does anyone know where did we get this from?
>>
>> Should be in the git history.
>
> It's here since:
> [SSB]: add Sonics Silicon Backplane bus support
>
> Maybe bcm43xx does contain sth...
This check was not present in bcm43xx. So I guess specs were updated
and ssb was written basing on updated specs.
--
Rafał
2011/5/17 Rafał Miłecki <[email protected]>:
> W dniu 17 maja 2011 13:32 użytkownik Jonas Gorski
> <[email protected]> napisał:
>> 2011/5/17 Rafał Miłecki <[email protected]>:
>>> Currently we are using different REJECT bit for SSB rev 2.3:
>>> #define SSB_TMSLOW_REJECT 0x00000002 /* Reject (Standard Backplane) */
>>> #define SSB_TMSLOW_REJECT_23 0x00000004 /* Reject (Backplane rev 2.3) */
>>>
>>> Does anyone know where did we get this from?
>>
>> Broadcom public sources define it as follows:
>> #define SBTML_REJ_MASK 0x0006 /* reject field */
>> #define SBTML_REJ 0x0002 /* reject */
>> #define SBTML_TMPREJ 0x0004 /* temporary reject,
>> for error recovery */
>>
>>>
>>> wl does never use this bit:
>>
>> It seems neither do the public ssb sources:
>> # grep -r 'SBTML_TMPREJ' shared/ | wc -l
>> 0
>> #
>
> Where did you check this? AFAIK wl has only linux_osl.c public
> available and brcmsmac does not support SSB at all. Do you find any
> references to SBTML_REJ in this "shared/*"?
This is from a bcm47xx router GPL tarball (the asus rt-n10 to be
specific), but it's also in the brcm80211 drivers:
<http://lxr.linux.no/#linux+v2.6.38/drivers/staging/brcm80211/include/sbconfig.h#L150>
and SBTML_REJ usage:
<http://lxr.linux.no/#linux+v2.6.38/drivers/staging/brcm80211/util/sbutils.c#L459>
Jonas