ASoC: cs35l45: Connect DSP to the monitoring signals
Link VMON, IMON, TEMPMON, VDD_BSTMON and VDD_BATTMON to DSP1. The CSPL firmware uses them for the speaker calibration and monitoring. Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Acked-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230831162042.471801-3-vkarpovi@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
18050443b9
commit
3fecf69aa7
@ -433,17 +433,25 @@ static const struct snd_soc_dapm_widget cs35l45_dapm_widgets[] = {
|
||||
|
||||
SND_SOC_DAPM_SIGGEN("VMON_SRC"),
|
||||
SND_SOC_DAPM_SIGGEN("IMON_SRC"),
|
||||
SND_SOC_DAPM_SIGGEN("TEMPMON_SRC"),
|
||||
SND_SOC_DAPM_SIGGEN("VDD_BATTMON_SRC"),
|
||||
SND_SOC_DAPM_SIGGEN("VDD_BSTMON_SRC"),
|
||||
SND_SOC_DAPM_SIGGEN("ERR_VOL"),
|
||||
SND_SOC_DAPM_SIGGEN("AMP_INTP"),
|
||||
SND_SOC_DAPM_SIGGEN("IL_TARGET"),
|
||||
SND_SOC_DAPM_ADC("VMON", NULL, CS35L45_BLOCK_ENABLES, CS35L45_VMON_EN_SHIFT, 0),
|
||||
SND_SOC_DAPM_ADC("IMON", NULL, CS35L45_BLOCK_ENABLES, CS35L45_IMON_EN_SHIFT, 0),
|
||||
SND_SOC_DAPM_ADC("VDD_BATTMON", NULL, CS35L45_BLOCK_ENABLES,
|
||||
CS35L45_VDD_BATTMON_EN_SHIFT, 0),
|
||||
SND_SOC_DAPM_ADC("VDD_BSTMON", NULL, CS35L45_BLOCK_ENABLES,
|
||||
CS35L45_VDD_BSTMON_EN_SHIFT, 0),
|
||||
|
||||
SND_SOC_DAPM_SUPPLY("VMON_EN", CS35L45_BLOCK_ENABLES, CS35L45_VMON_EN_SHIFT, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY("IMON_EN", CS35L45_BLOCK_ENABLES, CS35L45_IMON_EN_SHIFT, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY("TEMPMON_EN", CS35L45_BLOCK_ENABLES, CS35L45_TEMPMON_EN_SHIFT, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY("VDD_BATTMON_EN", CS35L45_BLOCK_ENABLES, CS35L45_VDD_BATTMON_EN_SHIFT, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY("VDD_BSTMON_EN", CS35L45_BLOCK_ENABLES, CS35L45_VDD_BSTMON_EN_SHIFT, 0, NULL, 0),
|
||||
|
||||
SND_SOC_DAPM_ADC("VMON", NULL, SND_SOC_NOPM, 0, 0),
|
||||
SND_SOC_DAPM_ADC("IMON", NULL, SND_SOC_NOPM, 0, 0),
|
||||
SND_SOC_DAPM_ADC("TEMPMON", NULL, SND_SOC_NOPM, 0, 0),
|
||||
SND_SOC_DAPM_ADC("VDD_BATTMON", NULL, SND_SOC_NOPM, 0, 0),
|
||||
SND_SOC_DAPM_ADC("VDD_BSTMON", NULL, SND_SOC_NOPM, 0, 0),
|
||||
|
||||
|
||||
SND_SOC_DAPM_AIF_IN("ASP_RX1", NULL, 0, CS35L45_ASP_ENABLES1, CS35L45_ASP_RX1_EN_SHIFT, 0),
|
||||
SND_SOC_DAPM_AIF_IN("ASP_RX2", NULL, 1, CS35L45_ASP_ENABLES1, CS35L45_ASP_RX2_EN_SHIFT, 0),
|
||||
@ -503,9 +511,16 @@ static const struct snd_soc_dapm_route cs35l45_dapm_routes[] = {
|
||||
/* Feedback */
|
||||
{ "VMON", NULL, "VMON_SRC" },
|
||||
{ "IMON", NULL, "IMON_SRC" },
|
||||
{ "TEMPMON", NULL, "TEMPMON_SRC" },
|
||||
{ "VDD_BATTMON", NULL, "VDD_BATTMON_SRC" },
|
||||
{ "VDD_BSTMON", NULL, "VDD_BSTMON_SRC" },
|
||||
|
||||
{ "VMON", NULL, "VMON_EN" },
|
||||
{ "IMON", NULL, "IMON_EN" },
|
||||
{ "TEMPMON", NULL, "TEMPMON_EN" },
|
||||
{ "VDD_BATTMON", NULL, "VDD_BATTMON_EN" },
|
||||
{ "VDD_BSTMON", NULL, "VDD_BSTMON_EN" },
|
||||
|
||||
{ "Capture", NULL, "ASP_TX1"},
|
||||
{ "Capture", NULL, "ASP_TX2"},
|
||||
{ "Capture", NULL, "ASP_TX3"},
|
||||
@ -560,6 +575,12 @@ static const struct snd_soc_dapm_route cs35l45_dapm_routes[] = {
|
||||
{"DSP1", NULL, "DSP_RX7 Source"},
|
||||
{"DSP1", NULL, "DSP_RX8 Source"},
|
||||
|
||||
{"DSP1", NULL, "VMON_EN"},
|
||||
{"DSP1", NULL, "IMON_EN"},
|
||||
{"DSP1", NULL, "VDD_BATTMON_EN"},
|
||||
{"DSP1", NULL, "VDD_BSTMON_EN"},
|
||||
{"DSP1", NULL, "TEMPMON_EN"},
|
||||
|
||||
{"DSP1 Preload", NULL, "DSP1 Preloader"},
|
||||
{"DSP1", NULL, "DSP1 Preloader"},
|
||||
|
||||
|
@ -165,6 +165,7 @@
|
||||
/* BLOCK_ENABLES */
|
||||
#define CS35L45_IMON_EN_SHIFT 13
|
||||
#define CS35L45_VMON_EN_SHIFT 12
|
||||
#define CS35L45_TEMPMON_EN_SHIFT 10
|
||||
#define CS35L45_VDD_BSTMON_EN_SHIFT 9
|
||||
#define CS35L45_VDD_BATTMON_EN_SHIFT 8
|
||||
#define CS35L45_BST_EN_SHIFT 4
|
||||
|
Loading…
x
Reference in New Issue
Block a user