History

ASoC: cs35l41: Add ASP TX3/4 source to register patch

The mixer controls for ASP TX3/4 are set to values that are not included in their enumeration control. This will cause spurious event notifications when the controls are first changed, as the register value changes whilst the actual visible enumeration value does not. Use the register patch to set them to a known value, zero, which equates to zero fill, thereby avoiding the spurious notifications.

Charles Keepax committed 4 years ago

Commit 46b0d051 parent 11d7a121 file · +8 −2Browse files

Unified · Split

sound/soc/codecs/cs35l41-lib.c+8−2
@@ -37,8 +37,8 @@ static const struct reg_default cs35l41_reg[] = { · 36 unmodified lines
3737 { CS35L41_DAC_PCM1_SRC, 0x00000008 },
3838 { CS35L41_ASP_TX1_SRC, 0x00000018 },
3939 { CS35L41_ASP_TX2_SRC, 0x00000019 },
40− { CS35L41_ASP_TX3_SRC, 0x00000020 },
41− { CS35L41_ASP_TX4_SRC, 0x00000021 },
40+ { CS35L41_ASP_TX3_SRC, 0x00000000 },
41+ { CS35L41_ASP_TX4_SRC, 0x00000000 },
4242 { CS35L41_DSP1_RX1_SRC, 0x00000008 },
4343 { CS35L41_DSP1_RX2_SRC, 0x00000009 },
4444 { CS35L41_DSP1_RX3_SRC, 0x00000018 },
@@ -644,6 +644,8 @@ static const struct reg_sequence cs35l41_reva0_errata_patch[] = { · 599 unmodified lines
644644 { CS35L41_DSP1_XM_ACCEL_PL0_PRI, 0x00000000 },
645645 { CS35L41_PWR_CTRL2, 0x00000000 },
646646 { CS35L41_AMP_GAIN_CTRL, 0x00000000 },
647+ { CS35L41_ASP_TX3_SRC, 0x00000000 },
648+ { CS35L41_ASP_TX4_SRC, 0x00000000 },
647649 };
648650
649651 static const struct reg_sequence cs35l41_revb0_errata_patch[] = {
@@ -655,6 +657,8 @@ static const struct reg_sequence cs35l41_revb0_errata_patch[] = { · 5 unmodified lines
655657 { CS35L41_DSP1_XM_ACCEL_PL0_PRI, 0x00000000 },
656658 { CS35L41_PWR_CTRL2, 0x00000000 },
657659 { CS35L41_AMP_GAIN_CTRL, 0x00000000 },
660+ { CS35L41_ASP_TX3_SRC, 0x00000000 },
661+ { CS35L41_ASP_TX4_SRC, 0x00000000 },
658662 };
659663
660664 static const struct reg_sequence cs35l41_revb2_errata_patch[] = {
@@ -666,6 +670,8 @@ static const struct reg_sequence cs35l41_revb2_errata_patch[] = { · 5 unmodified lines
666670 { CS35L41_DSP1_XM_ACCEL_PL0_PRI, 0x00000000 },
667671 { CS35L41_PWR_CTRL2, 0x00000000 },
668672 { CS35L41_AMP_GAIN_CTRL, 0x00000000 },
673+ { CS35L41_ASP_TX3_SRC, 0x00000000 },
674+ { CS35L41_ASP_TX4_SRC, 0x00000000 },
669675 };
670676
671677 static const struct reg_sequence cs35l41_fs_errata_patch[] = {