asoc: Audio bringup changes for bengal

Update change for audio playback and record to work
on bengal target with wcd937x codec.

Change-Id: I2f781e2132b018995f30f4192efd08732196cd28
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
This commit is contained in:
Laxminath Kasam 2019-11-26 16:07:11 +05:30
parent 2949887cc6
commit 4696fffa8c
4 changed files with 15 additions and 5 deletions

View file

@ -31,9 +31,9 @@ static struct port_params rx_frame_params_dsd[SWR_MSTR_PORT_LEN] = {
/* TX UC1: TX1: 1ch, TX2: 2chs, TX3: 1ch(MBHC) */
static struct port_params tx_frame_params_default[SWR_MSTR_PORT_LEN] = {
{1, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX1 */
{1, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, /* TX2 */
{3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX3 */
{3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX1 */
{3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX2 */
{3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX3 */
};
static struct swr_mstr_port_map sm_port_map[] = {

View file

@ -119,8 +119,8 @@ struct va_macro_swr_ctrl_platform_data {
int (*read)(void *handle, int reg);
int (*write)(void *handle, int reg, int val);
int (*bulk_write)(void *handle, u32 *reg, u32 *val, size_t len);
int (*core_vote)(void *handle, bool enable);
int (*clk)(void *handle, bool enable);
int (*core_vote)(void *handle, bool enable);
int (*handle_irq)(void *handle,
irqreturn_t (*swrm_irq_handler)(int irq,
void *data),
@ -2541,6 +2541,15 @@ static int va_macro_init(struct snd_soc_component *component)
}
va_priv->component = component;
if (va_priv->version == BOLERO_VERSION_2_1) {
snd_soc_component_update_bits(component,
BOLERO_CDC_VA_TOP_CSR_SWR_MIC_CTL0, 0xEE, 0xCC);
snd_soc_component_update_bits(component,
BOLERO_CDC_VA_TOP_CSR_SWR_MIC_CTL1, 0xEE, 0xCC);
snd_soc_component_update_bits(component,
BOLERO_CDC_VA_TOP_CSR_SWR_MIC_CTL2, 0xEE, 0xCC);
}
return 0;
}

View file

@ -2462,6 +2462,7 @@ static int wcd937x_soc_codec_probe(struct snd_soc_component *component)
return -EINVAL;
wcd937x->component = component;
snd_soc_component_init_regmap(component, wcd937x->regmap);
variant = (snd_soc_component_read32(
component, WCD937X_DIGITAL_EFUSE_REG_0) & 0x1E) >> 1;
wcd937x->variant = variant;

View file

@ -2538,6 +2538,7 @@ static int swrm_probe(struct platform_device *pdev)
swr_master_add_boarddevices(&swrm->master);
mutex_lock(&swrm->mlock);
swrm_clk_request(swrm, true);
swrm->version = swr_master_read(swrm, SWRM_COMP_HW_VERSION);
ret = swrm_master_init(swrm);
if (ret < 0) {
dev_err(&pdev->dev,
@ -2546,7 +2547,6 @@ static int swrm_probe(struct platform_device *pdev)
mutex_unlock(&swrm->mlock);
goto err_mstr_fail;
}
swrm->version = swr_master_read(swrm, SWRM_COMP_HW_VERSION);
mutex_unlock(&swrm->mlock);
INIT_WORK(&swrm->wakeup_work, swrm_wakeup_work);