mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
ASoC: cs35l36: Add boost control for external supply
If supplying boost voltage externally you have to put the device in specific setting or damage may occur Add DAPM_POST events to setup the correct up/dn Add DT boolean to specify external or internal boost Change-Id: I449b18601757127d6570d6e5bca1db3f2c7938ae Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Ravi Vembu <raviv@motorola.com> Mot-CRs-fixed: (CR) Reviewed-on: https://gerrit.mot.com/1140358 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Submit-Approved: Jira Key
This commit is contained in:
parent
dd32b850b7
commit
ea2b640cb6
3 changed files with 18 additions and 0 deletions
|
|
@ -38,6 +38,7 @@ struct cs35l36_platform_data {
|
|||
int bst_vctl;
|
||||
int bst_vctl_sel;
|
||||
int bst_ipk;
|
||||
bool extern_boost;
|
||||
int temp_warn_thld;
|
||||
struct irq_cfg irq_config;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -202,6 +202,12 @@ static int cs35l36_main_amp_event(struct snd_soc_dapm_widget *w,
|
|||
|
||||
switch (event) {
|
||||
case SND_SOC_DAPM_POST_PMU:
|
||||
if (!cs35l36->pdata.extern_boost)
|
||||
regmap_update_bits(cs35l36->regmap, CS35L36_PWR_CTRL2,
|
||||
CS35L36_BST_EN_MASK,
|
||||
CS35L36_BST_EN <<
|
||||
CS35L36_BST_EN_SHIFT);
|
||||
|
||||
regmap_update_bits(cs35l36->regmap, CS35L36_PWR_CTRL1,
|
||||
CS35L36_GLOBAL_EN_MASK,
|
||||
1 << CS35L36_GLOBAL_EN_SHIFT);
|
||||
|
|
@ -218,6 +224,12 @@ static int cs35l36_main_amp_event(struct snd_soc_dapm_widget *w,
|
|||
0 << CS35L36_AMP_MUTE_SHIFT);
|
||||
break;
|
||||
case SND_SOC_DAPM_POST_PMD:
|
||||
if (!cs35l36->pdata.extern_boost)
|
||||
regmap_update_bits(cs35l36->regmap, CS35L36_PWR_CTRL2,
|
||||
CS35L36_BST_EN_MASK,
|
||||
CS35L36_BST_DIS_VP <<
|
||||
CS35L36_BST_EN_SHIFT);
|
||||
|
||||
regmap_update_bits(cs35l36->regmap, CS35L36_ASP_RX1_SEL,
|
||||
CS35L36_PCM_RX_SEL_MASK,
|
||||
CS35L36_PCM_RX_SEL_ZERO);
|
||||
|
|
|
|||
|
|
@ -307,6 +307,11 @@
|
|||
#define CS35L36_PLL_IGAIN_SHIFT 4
|
||||
#define CS35L36_PLL_IGAIN 0x04
|
||||
|
||||
#define CS35L36_BST_EN_MASK 0x30
|
||||
#define CS35L36_BST_EN 0x02
|
||||
#define CS35L36_BST_DIS_VP 0x01
|
||||
#define CS35L36_BST_DIS_EXTN 0x00
|
||||
#define CS35L36_BST_EN_SHIFT 4
|
||||
#define CS35L36_BST_MAN_IPKCOMP_MASK 0x200
|
||||
#define CS35L36_BST_MAN_IPKCOMP_SHIFT 9
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue