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:
@@ -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) */
|
/* TX UC1: TX1: 1ch, TX2: 2chs, TX3: 1ch(MBHC) */
|
||||||
static struct port_params tx_frame_params_default[SWR_MSTR_PORT_LEN] = {
|
static struct port_params tx_frame_params_default[SWR_MSTR_PORT_LEN] = {
|
||||||
{1, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX1 */
|
{3, 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}, /* TX2 */
|
||||||
{3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX3 */
|
{3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX3 */
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct swr_mstr_port_map sm_port_map[] = {
|
static struct swr_mstr_port_map sm_port_map[] = {
|
||||||
|
@@ -119,8 +119,8 @@ struct va_macro_swr_ctrl_platform_data {
|
|||||||
int (*read)(void *handle, int reg);
|
int (*read)(void *handle, int reg);
|
||||||
int (*write)(void *handle, int reg, int val);
|
int (*write)(void *handle, int reg, int val);
|
||||||
int (*bulk_write)(void *handle, u32 *reg, u32 *val, size_t len);
|
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 (*clk)(void *handle, bool enable);
|
||||||
|
int (*core_vote)(void *handle, bool enable);
|
||||||
int (*handle_irq)(void *handle,
|
int (*handle_irq)(void *handle,
|
||||||
irqreturn_t (*swrm_irq_handler)(int irq,
|
irqreturn_t (*swrm_irq_handler)(int irq,
|
||||||
void *data),
|
void *data),
|
||||||
@@ -2541,6 +2541,15 @@ static int va_macro_init(struct snd_soc_component *component)
|
|||||||
}
|
}
|
||||||
va_priv->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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2462,6 +2462,7 @@ static int wcd937x_soc_codec_probe(struct snd_soc_component *component)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
wcd937x->component = component;
|
wcd937x->component = component;
|
||||||
|
snd_soc_component_init_regmap(component, wcd937x->regmap);
|
||||||
variant = (snd_soc_component_read32(
|
variant = (snd_soc_component_read32(
|
||||||
component, WCD937X_DIGITAL_EFUSE_REG_0) & 0x1E) >> 1;
|
component, WCD937X_DIGITAL_EFUSE_REG_0) & 0x1E) >> 1;
|
||||||
wcd937x->variant = variant;
|
wcd937x->variant = variant;
|
||||||
|
@@ -2538,6 +2538,7 @@ static int swrm_probe(struct platform_device *pdev)
|
|||||||
swr_master_add_boarddevices(&swrm->master);
|
swr_master_add_boarddevices(&swrm->master);
|
||||||
mutex_lock(&swrm->mlock);
|
mutex_lock(&swrm->mlock);
|
||||||
swrm_clk_request(swrm, true);
|
swrm_clk_request(swrm, true);
|
||||||
|
swrm->version = swr_master_read(swrm, SWRM_COMP_HW_VERSION);
|
||||||
ret = swrm_master_init(swrm);
|
ret = swrm_master_init(swrm);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&pdev->dev,
|
dev_err(&pdev->dev,
|
||||||
@@ -2546,7 +2547,6 @@ static int swrm_probe(struct platform_device *pdev)
|
|||||||
mutex_unlock(&swrm->mlock);
|
mutex_unlock(&swrm->mlock);
|
||||||
goto err_mstr_fail;
|
goto err_mstr_fail;
|
||||||
}
|
}
|
||||||
swrm->version = swr_master_read(swrm, SWRM_COMP_HW_VERSION);
|
|
||||||
|
|
||||||
mutex_unlock(&swrm->mlock);
|
mutex_unlock(&swrm->mlock);
|
||||||
INIT_WORK(&swrm->wakeup_work, swrm_wakeup_work);
|
INIT_WORK(&swrm->wakeup_work, swrm_wakeup_work);
|
||||||
|
Reference in New Issue
Block a user