#
fec9c7f6 |
|
02-Apr-2024 |
Zhang Yi <zhangyi@everest-semi.com> |
ASoC: codecs: ES8326: Removing the control of ADC_SCALE We removed the configuration of ES8326_ADC_SCALE in es8326_jack_detect_handler because user changed the configuration by snd_controls Signed-off-by: Zhang Yi <zhangyi@everest-semi.com> Link: https://msgid.link/r/20240402062043.20608-5-zhangyi@everest-semi.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
6e5f5bf8 |
|
02-Apr-2024 |
Zhang Yi <zhangyi@everest-semi.com> |
ASoC: codecs: ES8326: Solve a headphone detection issue after suspend and resume We got a headphone detection issue after suspend and resume. And we fixed it by modifying the configuration at es8326_suspend and invoke es8326_irq at es8326_resume. Signed-off-by: Zhang Yi <zhangyi@everest-semi.com> Link: https://msgid.link/r/20240402062043.20608-4-zhangyi@everest-semi.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
4581468d |
|
02-Apr-2024 |
Zhang Yi <zhangyi@everest-semi.com> |
ASoC: codecs: ES8326: modify clock table We got a digital microphone feature issue. And we fixed it by modifying the clock table. Also, we changed the marco ES8326_CLK_ON declaration Signed-off-by: Zhang Yi <zhangyi@everest-semi.com> Link: https://msgid.link/r/20240402062043.20608-3-zhangyi@everest-semi.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
8a655cee |
|
02-Apr-2024 |
Zhang Yi <zhangyi@everest-semi.com> |
ASoC: codecs: ES8326: Solve error interruption issue We got an error report about headphone type detection and button detection. We fixed the headphone type detection error by adjusting the debounce timer configuration. And we fixed the button detection error by disabling the button detection feature when the headphone are unplugged and enabling it when headphone are plugged in. Signed-off-by: Zhang Yi <zhangyi@everest-semi.com> Link: https://msgid.link/r/20240402062043.20608-2-zhangyi@everest-semi.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
bb698384 |
|
06-Mar-2024 |
Zhang Yi <zhangyi@everest-semi.com> |
ASoC: codecs: ES8326: Changing members of private structure We don't use mic1_src and mic2_src.so we delete these two members. We changed the default value of interrupt-clk for headphone detection Signed-off-by: Zhang Yi <zhangyi@everest-semi.com> Link: https://msgid.link/r/20240307051222.24010-2-zhangyi@everest-semi.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
966323dd |
|
23-Jan-2024 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Adding new volume kcontrols ES8326 features a headphone volume control register and four DAC volume control registers. We add new volume Kcontrols for these registers to enhance the configurability of the volume settings, providing users with greater flexibility. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://msgid.link/r/20240124064806.30511-2-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
92c02d74 |
|
21-Jan-2024 |
Fei Shao <fshao@chromium.org> |
ASoC: codecs: ES8326: Remove executable bit Remove the executable bit that was unintentionally turned on. Fixes: ee09084fbf9f ("ASoC: codecs: ES8326: Add chip version flag") Signed-off-by: Fei Shao <fshao@chromium.org> Link: https://msgid.link/r/20240122062055.1673597-1-fshao@chromium.org Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
8c99a0a6 |
|
20-Jan-2024 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: fix the capture noise issue We get a noise issue during the startup of recording. We update the register setting and dapm widgets to fix this issue. we change callback type of es8326_mute function to mute_stream. ES8326_ADC_MUTE is moved to es8326_mute function so it can be turned on at last and turned off at first. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://msgid.link/r/20240120101240.12496-6-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
a3aa9255 |
|
20-Jan-2024 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Minimize the pop noise on headphone We modify the register settings to minimize headphone pop noise during ES8326 power-up and music start/stop. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://msgid.link/r/20240120101240.12496-5-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
14a0a1ec |
|
20-Jan-2024 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Improving the THD+N performance We update the values of some registers in the initialization sequence in es8326_resume function to improve THD+N performance. THD+N performance decreases if the output level on headphone is close to full scale. So we change the register setting in es8326_jack_detect_handler function to improve THD+N performance if headphone pulgged. Also, the register setting should be restored when the headset is unplugged Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://msgid.link/r/20240120101240.12496-3-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
523d242d |
|
20-Jan-2024 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: improving crosstalk performance We change the crosstalk parameter in es8326_resume function to improve crosstalk performance. Adding crosstalk kcontrol to enhance the flexibility of crosstalk debugging in machine. Adding ES8326_DAC_CROSSTALK macro to declare the crosstalk register. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://msgid.link/r/20240120101240.12496-2-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
8a81491a |
|
01-Nov-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Changing the headset detection time The old headset detection time is not enough for the new chip version. An error occurs with the old detection time.According to tests, 400ms is the best detection time that does not trigger an error. The delay time after the trigger is reduced by 300ms to keep the whole detection time unchanged. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20231101072702.91316-4-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
fc702b2c |
|
01-Nov-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Changing initialisation and broadcasting New chip versions require new initialisation and playback processes. Changing the initialisation and playback process for better results. The old chip versions are going to work well with the new sequences. We've tested this with version_v0 and version_v3 chips under the new sequence and they both pass. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20231101072702.91316-3-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
ee09084f |
|
01-Nov-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Add chip version flag The new chip version requires the addition of a new clock table. We determine which clock table to choose based on the version. Newer versions of the chip have fewer processes to go through in the headset detection, so the version flag is used to skip them. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20231101072702.91316-2-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
04f96c93 |
|
16-Jul-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Update jact detection function The old jack detection function only supports fixed OMTP/CTIA hardware connection. The new one supports auto OMTP/CTIA headset detection Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230717033223.42506-5-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
0663286e |
|
16-Jul-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASOC: codecs: ES8326: Add calibration support for version_b Version_b requires a new way of calibrating headset offset. A new calibration function is added. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230717033223.42506-4-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
ac20a73d |
|
16-Jul-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Fix power-up sequence Old power-up sequence causes large pop noise during start-up. Using a new sequence instead. Also, the registers are now reset to default value in suspend function. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230717033223.42506-3-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
f1230a27 |
|
16-Jul-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Change Volatile Reg function The new calibration and headphone detection function require reading new volatile registers. Add them in the volatile register function. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230717033223.42506-2-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
4ddad00c |
|
16-Jul-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Change Hp_detect register names The old register naming method is confusing. The reg 0x57 decides the default headset hardware connection type, and the reg 0xfb is the headset detection status register, which changes during headset insertion. Change the name to ES8326_HPDET_TYPE and ES8326_HPDET_STA. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230717033223.42506-1-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
083912c2 |
|
13-Jul-2023 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: ES8326: Add es8326_mute function The internal analog power and hp Vref of es8326 should always be on to reduce pop noise. The HP_VOL and HP_CAL are moved to es8326_mute function so they are turned on at last and turned off at first. Also, the calibration should be done manually once during start-up to reduce DC offset on headphone. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230714032453.3334-1-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
9abcd240 |
|
25-Apr-2023 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
ASoC: Switch i2c drivers back to use .probe() After commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() call-back type"), all drivers being converted to .probe_new() and then 03c835f498b5 ("i2c: Switch .probe() to not take an id parameter") convert back to (the new) .probe() to be able to eventually drop .probe_new() from struct i2c_driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de Link: https://lore.kernel.org/r/20230425095716.331419-1-u.kleine-koenig@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org
|
#
fe1e7e8c |
|
04-Feb-2023 |
Alexey Firago <a.firago@yadro.com> |
ASoC: codecs: es8326: Fix DTS properties reading Seems like properties parsing and reading was copy-pasted, so "everest,interrupt-src" and "everest,interrupt-clk" are saved into the es8326->jack_pol variable. This might lead to wrong settings being saved into the reg 57 (ES8326_HP_DET). Fix this by using proper variables while reading properties. Signed-off-by: Alexey Firago <a.firago@yadro.com> Reviewed-by: Yang Yingliang <yangyingliang@huawei.com Link: https://lore.kernel.org/r/20230204195106.46539-1-a.firago@yadro.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
262b42e0 |
|
26-Jan-2023 |
Linus Torvalds <torvalds@linux-foundation.org> |
treewide: fix up files incorrectly marked executable I'm not exactly clear on what strange workflow causes people to do it, but clearly occasionally some files end up being committed as executable even though they clearly aren't. This is a reprise of commit 90fda63fa115 ("treewide: fix up files incorrectly marked executable"), just with a different set of files (but with the same trivial shell scripting). So apparently we need to re-do this every five years or so, and Joe needs to just keep reminding me to do so ;) Reported-by: Joe Perches <joe@perches.com> Fixes: 523375c943e5 ("drm/vmwgfx: Port vmwgfx to arm64") Fixes: 5c439937775d ("ASoC: codecs: add support for ES8326") Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
#
784252ba |
|
18-Nov-2022 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
ASoC: codecs: es8326: Convert to i2c's .probe_new() The probe function doesn't make use of the i2c_device_id * parameter so it can be trivially converted. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20221118224540.619276-602-uwe@kleine-koenig.org Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
5c69f11c |
|
17-Aug-2022 |
Yang Yingliang <yangyingliang@huawei.com> |
ASoC: codecs: es8326: change es8326_regmap_config to static es8326_regmap_config is only used in es8326.c now, change it to static. Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20220817091519.2487385-1-yangyingliang@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
5c439937 |
|
15-Aug-2022 |
Zhu Ning <zhuning0077@gmail.com> |
ASoC: codecs: add support for ES8326 The ES8326 codec is not compatible with ES8316 and requires a dedicated driver. ------ v6 remove rate 96000 remove HEX suffix Signed-off-by: David Yang <yangxiaohua@everest-semi.com> Signed-off-by: Zhu Ning <zhuning@everest-semi.com> Link: https://lore.kernel.org/r/20220816024456.4475-2-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
|