Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88cceab5 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

b43: define BCMA wireless specific PLLs

parent c722839c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -473,6 +473,12 @@ enum {
#define B43_MACCMD_CCA			0x00000008	/* Clear channel assessment */
#define B43_MACCMD_BGNOISE		0x00000010	/* Background noise */

/* See BCMA_CLKCTLST_EXTRESREQ and BCMA_CLKCTLST_EXTRESST */
#define B43_BCMA_CLKCTLST_80211_PLL_REQ	0x00000100
#define B43_BCMA_CLKCTLST_PHY_PLL_REQ	0x00000200
#define B43_BCMA_CLKCTLST_80211_PLL_ST	0x01000000
#define B43_BCMA_CLKCTLST_PHY_PLL_ST	0x02000000

/* BCMA 802.11 core specific IO Control (BCMA_IOCTL) flags */
#define B43_BCMA_IOCTL_PHY_CLKEN	0x00000004	/* PHY Clock Enable */
#define B43_BCMA_IOCTL_PHY_RESET	0x00000008	/* PHY Reset */
+6 −1
Original line number Diff line number Diff line
@@ -1189,10 +1189,15 @@ static void b43_bcma_phy_reset(struct b43_wldev *dev)

static void b43_bcma_wireless_core_reset(struct b43_wldev *dev, bool gmode)
{
	u32 req = B43_BCMA_CLKCTLST_80211_PLL_REQ |
		  B43_BCMA_CLKCTLST_PHY_PLL_REQ;
	u32 status = B43_BCMA_CLKCTLST_80211_PLL_ST |
		     B43_BCMA_CLKCTLST_PHY_PLL_ST;

	b43_device_enable(dev, B43_BCMA_IOCTL_PHY_CLKEN);
	bcma_core_set_clockmode(dev->dev->bdev, BCMA_CLKMODE_FAST);
	b43_bcma_phy_reset(dev);
	bcma_core_pll_ctl(dev->dev->bdev, 0x300, 0x3000000, true);
	bcma_core_pll_ctl(dev->dev->bdev, req, status, true);
}
#endif