writing to mac,bbp or rf registers not supported?

Ronak Chokshi rchokshi at marvell.com
Fri Dec 1 20:54:24 EST 2006


Marcelo,
Thanks for the additional info. Yes, the entire MAC, BBP and RF register
map are not writeable. I guess I am still confused as to what exactly
you are trying to accomplish through writing different values in these
registers. If you would just like to test whether the utility is working
or not, I can give you a set of registers that you could use for this.

Thanks
Ronak

-----Original Message-----
From: Marcelo Tosatti [mailto:marcelo at kvack.org] 
Sent: Thursday, November 30, 2006 9:02 PM
To: Marcelo Tosatti
Cc: Ronak Chokshi; Alan Cunningham; libertas-dev at lists.infradead.org
Subject: Re: writing to mac,bbp or rf registers not supported?

On Thu, Nov 30, 2006 at 04:08:50PM -0200, Marcelo Tosatti wrote:
> 
> On Wed, Nov 29, 2006 at 05:05:33AM -0800, Ronak Chokshi wrote:
> > Marcelo,
> > Have you tried writing to any other MAC, BBP, RF register? What are
the
> > other registers that you have tried writing?
> 
> Ronak,
> 
> I've only tried these three. As far as I can tell there is no support
> for any other register access.
> 
> There are some offsets of the BBP register which retain written values
> (don't recall which offset, board is temporarily unavailable).
> 
> Were written values to MAC register supposed to be retained?
> 
> One point here is that the meaning of these registers is not
documented
> anywhere, which is unfortunate (ie. no one except Marvell can easily
> understand whats going on).
> 
> These issues were present before, and this is a rather specialized
> debugging feature, so I don't consider it high priority, but still.

More info...

Only certain bits from certain offsets are retained:

-bash-3.1# pwd
/mnt/libertas_wireless/eth0/registers
-bash-3.1# echo "0x4" > rdrf ; cat rdrf
RF[0x4] = 0x00000000

(default value for 0x4 offset)

-bash-3.1# echo "0x4 0xffffffff" > wrrf
-bash-3.1# echo 0x4 > rdrf ; cat rdrf
RF[0x4] = 0x00000007
-bash-3.1#

Only the three first bits are writable.

While 0x0 offset seems read-only:

bash-3.1# echo 0 > rdrf ; cat rdrf
RF[0x0] = 0x00000005
-bash-3.1# echo "0x0 0xffffffff" > wrrf
-bash-3.1# echo 0 > rdrf ; cat rdrf
RF[0x0] = 0x00000005
-bash-3.1#

While others vary:

-bash-3.1# echo 0x8 > rdbbp ; cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x0000000b
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003
-bash-3.1# cat rdbbp
BBP[0x8] = 0x0000000b
-bash-3.1# cat rdbbp
BBP[0x8] = 0x00000003

So basically the current situation is that we have no clue on the
content of these registers. Is there documentation for that available?

Thanks



More information about the libertas-dev mailing list