mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
ASoC: codecs: rk730: do soft reset in rk730_reset
The patch fix no sound when hot rebooting because of registers value mismatch Change-Id: I6c9b040b3cd025c4e27c391e0f539505e747aaa7 Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
This commit is contained in:
@@ -845,6 +845,12 @@ static int rk730_reset(struct snd_soc_component *component)
|
||||
|
||||
clk_prepare_enable(rk730->mclk);
|
||||
udelay(10);
|
||||
snd_soc_component_update_bits(component, RK730_DTOP_SRT,
|
||||
RK730_DTOP_SRST_MASK,
|
||||
RK730_DTOP_SRST_EN);
|
||||
snd_soc_component_update_bits(component, RK730_DTOP_SRT,
|
||||
RK730_DTOP_SRST_MASK,
|
||||
RK730_DTOP_SRST_DIS);
|
||||
/* WA: Initial micbias default, ADC stopped with micbias(>2.5v) */
|
||||
snd_soc_component_update_bits(component, RK730_MIC_BIAS,
|
||||
RK730_MIC_BIAS_VOLT_MASK,
|
||||
|
||||
@@ -247,6 +247,9 @@
|
||||
#define RK730_DTOP_DIGEN_CLKE_I2SRX_DIS 0
|
||||
|
||||
/* RK730_DTOP_SRT */
|
||||
#define RK730_DTOP_SRST_MASK BIT(7)
|
||||
#define RK730_DTOP_SRST_EN BIT(7)
|
||||
#define RK730_DTOP_SRST_DIS 0
|
||||
#define RK730_DTOP_DACSRT_MASK GENMASK(6, 4)
|
||||
#define RK730_DTOP_DACSRT(x) ((x) << 4)
|
||||
#define RK730_DTOP_ADCSRT_MASK GENMASK(2, 0)
|
||||
|
||||
Reference in New Issue
Block a user