Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1439559
| From | Rafał Miłecki <zajec5@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH V2] bcma: define ChipCommon B MII registers |
| Date | 2016-07-08 17:20 +0200 |
| Message-ID | <rSFJn-6un-7@gated-at.bofh.it> (permalink) |
| References | <rSAgG-2PC-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
We don't have access to datasheets to document all the bits but we can
name these registers at least.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
V2: Fix mistake in V1 that used BCMA_CCB_MII_MNG_CMD_DATA instead of
BCMA_CCB_MII_MNG_CTL in the second bcma_wait_reg call.
---
drivers/bcma/driver_chipcommon_b.c | 9 +++++----
include/linux/bcma/bcma_driver_chipcommon.h | 3 +++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/bcma/driver_chipcommon_b.c b/drivers/bcma/driver_chipcommon_b.c
index c20b5f4..57f10b5 100644
--- a/drivers/bcma/driver_chipcommon_b.c
+++ b/drivers/bcma/driver_chipcommon_b.c
@@ -33,11 +33,12 @@ static bool bcma_wait_reg(struct bcma_bus *bus, void __iomem *addr, u32 mask,
void bcma_chipco_b_mii_write(struct bcma_drv_cc_b *ccb, u32 offset, u32 value)
{
struct bcma_bus *bus = ccb->core->bus;
+ void __iomem *mii = ccb->mii;
- writel(offset, ccb->mii + 0x00);
- bcma_wait_reg(bus, ccb->mii + 0x00, 0x0100, 0x0000, 100);
- writel(value, ccb->mii + 0x04);
- bcma_wait_reg(bus, ccb->mii + 0x00, 0x0100, 0x0000, 100);
+ writel(offset, mii + BCMA_CCB_MII_MNG_CTL);
+ bcma_wait_reg(bus, mii + BCMA_CCB_MII_MNG_CTL, 0x0100, 0x0000, 100);
+ writel(value, mii + BCMA_CCB_MII_MNG_CMD_DATA);
+ bcma_wait_reg(bus, mii + BCMA_CCB_MII_MNG_CTL, 0x0100, 0x0000, 100);
}
EXPORT_SYMBOL_GPL(bcma_chipco_b_mii_write);
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h
index a5ac2ca..b20e3d5 100644
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -504,6 +504,9 @@
#define BCMA_CC_PMU1_PLL0_PC2_NDIV_INT_MASK 0x1ff00000
#define BCMA_CC_PMU1_PLL0_PC2_NDIV_INT_SHIFT 20
+#define BCMA_CCB_MII_MNG_CTL 0x0000
+#define BCMA_CCB_MII_MNG_CMD_DATA 0x0004
+
/* BCM4331 ChipControl numbers. */
#define BCMA_CHIPCTL_4331_BT_COEXIST BIT(0) /* 0 disable */
#define BCMA_CHIPCTL_4331_SECI BIT(1) /* 0 SECI is disabled (JATG functional) */
--
1.8.4.5
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] bcma: define ChipCommon B MII registers Rafał Miłecki <zajec5@gmail.com> - 2016-07-08 11:30 +0200
[PATCH V2] bcma: define ChipCommon B MII registers Rafał Miłecki <zajec5@gmail.com> - 2016-07-08 17:20 +0200
Re: [V2] bcma: define ChipCommon B MII registers Kalle Valo <kvalo@codeaurora.org> - 2016-07-19 20:20 +0200
csiph-web