* [PATCH] b43: Add LP-PHY read/write phyops
@ 2008-08-30 9:49 Michael Buesch
0 siblings, 0 replies; only message in thread
From: Michael Buesch @ 2008-08-30 9:49 UTC (permalink / raw)
To: John Linville; +Cc: bcm43xx-dev, linux-wireless
This adds read/write phyops for the LP-PHY and LP-PHY radios.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
---
John, please queue for the next merge window.
Index: wireless-testing/drivers/net/wireless/b43/phy_lp.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/b43/phy_lp.c 2008-08-30 10:50:49.000000000 +0200
+++ wireless-testing/drivers/net/wireless/b43/phy_lp.c 2008-08-30 11:33:50.000000000 +0200
@@ -63,33 +63,44 @@ static void b43_lpphy_op_exit(struct b43
kfree(lpphy);
dev->phy.lp = NULL;
}
static u16 b43_lpphy_op_read(struct b43_wldev *dev, u16 reg)
{
- //TODO
- return 0;
+ b43_write16(dev, B43_MMIO_PHY_CONTROL, reg);
+ return b43_read16(dev, B43_MMIO_PHY_DATA);
}
static void b43_lpphy_op_write(struct b43_wldev *dev, u16 reg, u16 value)
{
- //TODO
+ b43_write16(dev, B43_MMIO_PHY_CONTROL, reg);
+ b43_write16(dev, B43_MMIO_PHY_DATA, value);
}
static u16 b43_lpphy_op_radio_read(struct b43_wldev *dev, u16 reg)
{
- //TODO
- return 0;
+ /* Register 1 is a 32-bit register. */
+ B43_WARN_ON(reg == 1);
+ /* LP-PHY needs a special bit set for read access */
+ if (dev->phy.rev < 2) {
+ if (reg != 0x4001)
+ reg |= 0x100;
+ } else
+ reg |= 0x200;
+
+ b43_write16(dev, B43_MMIO_RADIO_CONTROL, reg);
+ return b43_read16(dev, B43_MMIO_RADIO_DATA_LOW);
}
static void b43_lpphy_op_radio_write(struct b43_wldev *dev, u16 reg, u16 value)
{
/* Register 1 is a 32-bit register. */
B43_WARN_ON(reg == 1);
- //TODO
+ b43_write16(dev, B43_MMIO_RADIO_CONTROL, reg);
+ b43_write16(dev, B43_MMIO_RADIO_DATA_LOW, value);
}
static void b43_lpphy_op_software_rfkill(struct b43_wldev *dev,
enum rfkill_state state)
{
//TODO
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-08-30 9:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-30 9:49 [PATCH] b43: Add LP-PHY read/write phyops Michael Buesch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).