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

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

b43: HT-PHY: init: add some AFE (Analog Frontend) operation

parent 357e24d2
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -169,6 +169,28 @@ static void b43_phy_ht_zero_extg(struct b43_wldev *dev)
		b43_phy_write(dev, B43_PHY_EXTG(base[i] + 0xc), 0);
}

/* Some unknown AFE (Analog Frondned) op */
static void b43_phy_ht_afe_unk1(struct b43_wldev *dev)
{
	u8 i;

	const u16 ctl_regs[3][2] = {
		{ B43_PHY_HT_AFE_CTL1, B43_PHY_HT_AFE_CTL2 },
		{ B43_PHY_HT_AFE_CTL3, B43_PHY_HT_AFE_CTL4 },
		{ B43_PHY_HT_AFE_CTL5, B43_PHY_HT_AFE_CTL6},
	};

	for (i = 0; i < 3; i++) {
		/* TODO: verify masks&sets */
		b43_phy_set(dev, ctl_regs[i][1], 0x4);
		b43_phy_set(dev, ctl_regs[i][0], 0x4);
		b43_phy_mask(dev, ctl_regs[i][1], ~0x1);
		b43_phy_set(dev, ctl_regs[i][0], 0x1);
		b43_httab_write(dev, B43_HTTAB16(8, 5 + (i * 0x10)), 0);
		b43_phy_mask(dev, ctl_regs[i][0], ~0x4);
	}
}

static void b43_phy_ht_bphy_init(struct b43_wldev *dev)
{
	unsigned int i;
@@ -332,6 +354,10 @@ static int b43_phy_ht_op_init(struct b43_wldev *dev)

	/* TODO: Some ops here */

	b43_phy_ht_afe_unk1(dev);

	/* TODO: Some ops here */

	b43_phy_maskset(dev, 0x0280, 0xff00, 0x3e);
	b43_phy_maskset(dev, 0x0283, 0xff00, 0x3e);
	b43_phy_maskset(dev, B43_PHY_OFDM(0x0141), 0xff00, 0x46);