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

Commit 3f039169 authored by John Hsu's avatar John Hsu Committed by Mark Brown
Browse files

ASoC: nau8825: assign DAC Ch to match headset L/R



The default value of DAC channel select is reverse in codec.
For normal usage, switch the channel select when codec bootup.

Signed-off-by: default avatarJohn Hsu <KCHSU0@nuvoton.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent eeef16ac
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -946,6 +946,11 @@ static void nau8825_init_regs(struct nau8825 *nau8825)
		NAU8825_RDAC_CLK_DELAY_MASK | NAU8825_RDAC_VREF_MASK,
		(0x2 << NAU8825_RDAC_CLK_DELAY_SFT) |
		(0x3 << NAU8825_RDAC_VREF_SFT));
	/* Config L/R channel */
	regmap_update_bits(nau8825->regmap, NAU8825_REG_DACL_CTRL,
		NAU8825_DACL_CH_SEL_MASK, NAU8825_DACL_CH_SEL_L);
	regmap_update_bits(nau8825->regmap, NAU8825_REG_DACR_CTRL,
		NAU8825_DACL_CH_SEL_MASK, NAU8825_DACL_CH_SEL_R);
}

static const struct regmap_config nau8825_regmap_config = {
+6 −0
Original line number Diff line number Diff line
@@ -257,9 +257,15 @@

/* DACL_CTRL (0x33) */
#define NAU8825_DACL_CH_SEL_SFT	9
#define NAU8825_DACL_CH_SEL_MASK (0x1 << NAU8825_DACL_CH_SEL_SFT)
#define NAU8825_DACL_CH_SEL_L    (0x0 << NAU8825_DACL_CH_SEL_SFT)
#define NAU8825_DACL_CH_SEL_R    (0x1 << NAU8825_DACL_CH_SEL_SFT)

/* DACR_CTRL (0x34) */
#define NAU8825_DACR_CH_SEL_SFT	9
#define NAU8825_DACR_CH_SEL_MASK (0x1 << NAU8825_DACR_CH_SEL_SFT)
#define NAU8825_DACR_CH_SEL_L    (0x0 << NAU8825_DACR_CH_SEL_SFT)
#define NAU8825_DACR_CH_SEL_R    (0x1 << NAU8825_DACR_CH_SEL_SFT)

/* CLASSG_CTRL (0x50) */
#define NAU8825_CLASSG_TIMER_SFT	8