Loading asoc/codecs/wcd937x/wcd937x-regmap.c +2 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, 2021, The Linux Foundation. All rights reserved. */ #include <linux/regmap.h> Loading Loading @@ -461,4 +461,5 @@ struct regmap_config wcd937x_regmap_config = { .writeable_reg = wcd937x_writeable_register, .volatile_reg = wcd937x_volatile_register, .can_multi_write = true, .use_single_read = true, }; asoc/codecs/wcd937x/wcd937x.c +16 −0 Original line number Diff line number Diff line Loading @@ -1055,6 +1055,22 @@ static int wcd937x_codec_enable_ear_pa(struct snd_soc_dapm_widget *w, snd_soc_component_update_bits(component, WCD937X_DIGITAL_PDM_WD_CTL0, 0x17, 0x00); usleep_range(10000, 10010); /* disable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x00); /* toggle EAR PA to let PA control registers take effect */ snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x80); snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x00); /* enable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x02); break; }; return ret; Loading asoc/codecs/wcd938x/wcd938x-regmap.c +2 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, 2021, The Linux Foundation. All rights reserved. */ #include <linux/regmap.h> Loading Loading @@ -512,4 +512,5 @@ struct regmap_config wcd938x_regmap_config = { .writeable_reg = wcd938x_writeable_register, .volatile_reg = wcd938x_volatile_register, .can_multi_write = true, .use_single_read = true, }; asoc/codecs/wsa883x/wsa883x-regmap.c +2 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015-2016, 2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2016, 2019, 2021, The Linux Foundation. All rights reserved. */ #include <linux/regmap.h> Loading Loading @@ -400,4 +400,5 @@ struct regmap_config wsa883x_regmap_config = { .reg_format_endian = REGMAP_ENDIAN_NATIVE, .val_format_endian = REGMAP_ENDIAN_NATIVE, .can_multi_write = true, .use_single_read = true, }; asoc/codecs/wsa883x/wsa883x.c +2 −0 Original line number Diff line number Diff line Loading @@ -1686,6 +1686,8 @@ static int wsa883x_swr_probe(struct swr_device *pdev) goto dev_err; } wsa883x->swr_slave->slave_irq = wsa883x->virq; wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_SAF2WAR, "WSA SAF2WAR", wsa883x_saf2war_handle_irq, NULL); Loading Loading
asoc/codecs/wcd937x/wcd937x-regmap.c +2 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, 2021, The Linux Foundation. All rights reserved. */ #include <linux/regmap.h> Loading Loading @@ -461,4 +461,5 @@ struct regmap_config wcd937x_regmap_config = { .writeable_reg = wcd937x_writeable_register, .volatile_reg = wcd937x_volatile_register, .can_multi_write = true, .use_single_read = true, };
asoc/codecs/wcd937x/wcd937x.c +16 −0 Original line number Diff line number Diff line Loading @@ -1055,6 +1055,22 @@ static int wcd937x_codec_enable_ear_pa(struct snd_soc_dapm_widget *w, snd_soc_component_update_bits(component, WCD937X_DIGITAL_PDM_WD_CTL0, 0x17, 0x00); usleep_range(10000, 10010); /* disable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x00); /* toggle EAR PA to let PA control registers take effect */ snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x80); snd_soc_component_update_bits(component, WCD937X_ANA_EAR, 0x80, 0x00); /* enable EAR CnP FSM */ snd_soc_component_update_bits(component, WCD937X_EAR_EAR_EN_REG, 0x02, 0x02); break; }; return ret; Loading
asoc/codecs/wcd938x/wcd938x-regmap.c +2 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, 2021, The Linux Foundation. All rights reserved. */ #include <linux/regmap.h> Loading Loading @@ -512,4 +512,5 @@ struct regmap_config wcd938x_regmap_config = { .writeable_reg = wcd938x_writeable_register, .volatile_reg = wcd938x_volatile_register, .can_multi_write = true, .use_single_read = true, };
asoc/codecs/wsa883x/wsa883x-regmap.c +2 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015-2016, 2019, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2016, 2019, 2021, The Linux Foundation. All rights reserved. */ #include <linux/regmap.h> Loading Loading @@ -400,4 +400,5 @@ struct regmap_config wsa883x_regmap_config = { .reg_format_endian = REGMAP_ENDIAN_NATIVE, .val_format_endian = REGMAP_ENDIAN_NATIVE, .can_multi_write = true, .use_single_read = true, };
asoc/codecs/wsa883x/wsa883x.c +2 −0 Original line number Diff line number Diff line Loading @@ -1686,6 +1686,8 @@ static int wsa883x_swr_probe(struct swr_device *pdev) goto dev_err; } wsa883x->swr_slave->slave_irq = wsa883x->virq; wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_SAF2WAR, "WSA SAF2WAR", wsa883x_saf2war_handle_irq, NULL); Loading