Message ID | cover.1701906455.git.soyer@irl.hu (mailing list archive) |
---|---|
Headers | show |
Series | ALSA: hda/tas2781: Add tas2563 support | expand |
On Thu, Dec 07, 2023 at 01:58:22AM +0100, Gergo Koteles wrote: > Gergo Koteles (16): > ASoC: tas2781: add support for fw version 0x0503 > ALSA: hda/tas2781: leave hda_component in usable state > ASoC: tas2781: disable regmap regcache > ALSA: hda/tas2781: handle missing calibration data > ALSA: hda/tas2781: fix typos in comment > ASoC: tas2781: add ptrs to calibration functions > ALSA: hda/tas2781: load_calibration just load > ASoC: tas2781: add configurable global_addr > ALSA: hda/tas2781: add TAS2563 support for 14ARB7 > ASoC: tas2781: check negative indexes > ASoC: tas2781: use 0 as default prog/conf index > ASoC: tas2781: move set_drv_data outside tasdevice_init > ALSA: hda/tas2781: remove sound controls in unbind > ALSA: hda/tas2781: call cleaner functions only once > ALSA: hda/tas2781: reset the amp before component_add > ALSA: hda/tas2781: configure the amp after firmware load Please don't randomly interleave ASoC and ALSA patches like this without some strong need, it just makes everything harder to manage.
On Thu, 07 Dec 2023 14:55:25 +0100, Mark Brown wrote: > > On Thu, Dec 07, 2023 at 01:58:22AM +0100, Gergo Koteles wrote: > > > Gergo Koteles (16): > > ASoC: tas2781: add support for fw version 0x0503 > > ALSA: hda/tas2781: leave hda_component in usable state > > ASoC: tas2781: disable regmap regcache > > ALSA: hda/tas2781: handle missing calibration data > > ALSA: hda/tas2781: fix typos in comment > > ASoC: tas2781: add ptrs to calibration functions > > ALSA: hda/tas2781: load_calibration just load > > ASoC: tas2781: add configurable global_addr > > ALSA: hda/tas2781: add TAS2563 support for 14ARB7 > > ASoC: tas2781: check negative indexes > > ASoC: tas2781: use 0 as default prog/conf index > > ASoC: tas2781: move set_drv_data outside tasdevice_init > > ALSA: hda/tas2781: remove sound controls in unbind > > ALSA: hda/tas2781: call cleaner functions only once > > ALSA: hda/tas2781: reset the amp before component_add > > ALSA: hda/tas2781: configure the amp after firmware load > > Please don't randomly interleave ASoC and ALSA patches like this without > some strong need, it just makes everything harder to manage. And, some look really like rather individual fixes; they deserve for Fixes tag and Cc-to-stable, at least. thanks, Takashi
The tas2781-hda driver can be modified to support tas2563 as well. Before knowing this information, I created another series for a new driver. Link: https://lore.kernel.org/lkml/cover.1701733441.git.soyer@irl.hu/ This series now extends tas2781-hda. The tas2563 is a smart amplifier. Similar to tas2562 but with DSP. Some Lenovo laptops have it to drive the bass speakers. By default, it is in software shutdown state. To make the DSP work it needs a firmware and some calibration data. The latter can be read from the EFI in Lenovo laptops. For the correct configuration it needs additional register data. It captured after running the Windows driver. The firmware can be extracted as TAS2563Firmware.bin from the Windows driver with innoextract. https://download.lenovo.com/consumer/mobiles/h5yd037fbfyy7kd0.exe The driver will search for it as TAS2XXX3870.bin with the Lenovo Yoga 7 14ARB7. The captured registers extracted with TI's regtool: https://github.com/soyersoyer/tas2563rca/raw/main/INT8866RCA2.bin Changes since v1: - fixes were sent as individual patches - rebased onto for-next - adding the missed fixup Gergo Koteles (4): ALSA: hda/tas2781: add ptrs to calibration functions ALSA: hda/tas2781: add configurable global i2c address ALSA: hda/tas2781: add TAS2563 support for 14ARB7 ALSA: hda/tas2781: add fixup for Lenovo 14ARB7 include/sound/tas2781.h | 8 +++ sound/pci/hda/patch_realtek.c | 14 ++++ sound/pci/hda/tas2781_hda_i2c.c | 115 ++++++++++++++++++++++++++---- sound/soc/codecs/tas2781-comlib.c | 15 ++++ 4 files changed, 137 insertions(+), 15 deletions(-) base-commit: 64bf8dec54cfe57f416884a6b3d54c7f4259e93f