public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/16] ALSA: hda/tas2781: Add tas2563 support
@ 2023-12-07  0:58 Gergo Koteles
  2023-12-06 23:59 ` [PATCH 01/16] ASoC: tas2781: add support for fw version 0x0503 Gergo Koteles
                   ` (17 more replies)
  0 siblings, 18 replies; 43+ messages in thread
From: Gergo Koteles @ 2023-12-07  0:58 UTC (permalink / raw)
  To: Shenghao Ding, Kevin Lu, Baojun Xu, Jaroslav Kysela, Takashi Iwai,
	Liam Girdwood, Mark Brown
  Cc: linux-kernel, alsa-devel, Gergo Koteles

The tas2781-hda driver can be modified to support tas2563 as well.
Before knowing this information, I created another series for a
new driver.
https://lore.kernel.org/lkml/cover.1701733441.git.soyer@irl.hu/

This series now extends tas2781-hda, addresses differences and
fixes various bugs.

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 14ARB7.
The captured registers extracted with TI's regtool:
https://github.com/soyersoyer/tas2563rca/raw/main/INT8866RCA2.bin


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

 include/sound/tas2781.h           |   8 +
 sound/pci/hda/tas2781_hda_i2c.c   | 364 +++++++++++++++++++-----------
 sound/soc/codecs/tas2781-comlib.c |  23 +-
 sound/soc/codecs/tas2781-fmwlib.c |  11 +-
 sound/soc/codecs/tas2781-i2c.c    |   2 +
 5 files changed, 270 insertions(+), 138 deletions(-)


base-commit: ffc253263a1375a65fa6c9f62a893e9767fbebfa
-- 
2.43.0


^ permalink raw reply	[flat|nested] 43+ messages in thread
* [PATCH 00/16] ALSA: hda/tas2781: Add tas2563 support
@ 2023-12-06 23:59 Gergo Koteles
  0 siblings, 0 replies; 43+ messages in thread
From: Gergo Koteles @ 2023-12-06 23:59 UTC (permalink / raw)
  To: Shenghao Ding, Kevin Lu, Baojun Xu, Jaroslav Kysela, Takashi Iwai,
	Liam Girdwood, Mark Brown
  Cc: linux-kernel, alsa-devel, Gergo Koteles

The tas2781-hda driver can be modified to support tas2563 as well.
Before knowing this information, I created another series for a
new driver.
https://lore.kernel.org/lkml/cover.1701733441.git.soyer@irl.hu/

This series now extends tas2781-hda, addresses differences and
fixes various bugs.

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 14ARB7.
The captured registers extracted with TI's regtool:
https://github.com/soyersoyer/tas2563rca/raw/main/INT8866RCA2.bin


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

 include/sound/tas2781.h           |   8 +
 sound/pci/hda/tas2781_hda_i2c.c   | 364 +++++++++++++++++++-----------
 sound/soc/codecs/tas2781-comlib.c |  23 +-
 sound/soc/codecs/tas2781-fmwlib.c |  11 +-
 sound/soc/codecs/tas2781-i2c.c    |   2 +
 5 files changed, 270 insertions(+), 138 deletions(-)


base-commit: ffc253263a1375a65fa6c9f62a893e9767fbebfa
-- 
2.43.0


^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2024-01-02 15:37 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-07  0:58 [PATCH 00/16] ALSA: hda/tas2781: Add tas2563 support Gergo Koteles
2023-12-06 23:59 ` [PATCH 01/16] ASoC: tas2781: add support for fw version 0x0503 Gergo Koteles
2023-12-06 23:59 ` [PATCH 02/16] ALSA: hda/tas2781: leave hda_component in usable state Gergo Koteles
2023-12-06 23:59 ` [PATCH 03/16] ASoC: tas2781: disable regmap regcache Gergo Koteles
2023-12-07 18:20   ` Mark Brown
2023-12-07 20:19     ` Gergo Koteles
2023-12-07 20:36       ` Mark Brown
2023-12-07 21:12         ` Gergo Koteles
2023-12-07 22:39           ` Mark Brown
2023-12-15  1:17             ` Gergo Koteles
2023-12-15 12:55               ` Mark Brown
2023-12-15 14:42                 ` Gergo Koteles
2023-12-15 15:02                   ` Mark Brown
2023-12-06 23:59 ` [PATCH 04/16] ALSA: hda/tas2781: handle missing calibration data Gergo Koteles
2023-12-06 23:59 ` [PATCH 05/16] ALSA: hda/tas2781: fix typos in comment Gergo Koteles
2023-12-06 23:59 ` [PATCH 06/16] ASoC: tas2781: add ptrs to calibration functions Gergo Koteles
2023-12-07 18:22   ` Mark Brown
2023-12-06 23:59 ` [PATCH 07/16] ALSA: hda/tas2781: load_calibration just load Gergo Koteles
2023-12-06 23:59 ` [PATCH 08/16] ASoC: tas2781: add configurable global_addr Gergo Koteles
2023-12-06 23:59 ` [PATCH 09/16] ALSA: hda/tas2781: add TAS2563 support for 14ARB7 Gergo Koteles
2023-12-07  0:04 ` [PATCH 10/16] ASoC: tas2781: check negative indexes Gergo Koteles
2023-12-07  0:04 ` [PATCH 11/16] ASoC: tas2781: use 0 as default prog/conf index Gergo Koteles
2023-12-07 18:28   ` Mark Brown
2023-12-09 18:20     ` Gergo Koteles
2023-12-07  0:04 ` [PATCH 12/16] ASoC: tas2781: move set_drv_data outside tasdevice_init Gergo Koteles
2023-12-07  0:04 ` [PATCH 13/16] ALSA: hda/tas2781: remove sound controls in unbind Gergo Koteles
2023-12-07 12:21   ` kernel test robot
2023-12-07 16:00   ` kernel test robot
2023-12-07  0:04 ` [PATCH 14/16] ALSA: hda/tas2781: call cleaner functions only once Gergo Koteles
2023-12-07  0:04 ` [PATCH 15/16] ALSA: hda/tas2781: reset the amp before component_add Gergo Koteles
2023-12-07  0:04 ` [PATCH 16/16] ALSA: hda/tas2781: configure the amp after firmware load Gergo Koteles
2023-12-07 13:55 ` [PATCH 00/16] ALSA: hda/tas2781: Add tas2563 support Mark Brown
2023-12-07 14:38   ` Takashi Iwai
2023-12-30  0:09 ` [PATCH v2 0/4] " Gergo Koteles
2023-12-30  0:09   ` [PATCH v2 1/4] ALSA: hda/tas2781: add ptrs to calibration functions Gergo Koteles
2023-12-30  0:09   ` [PATCH v2 2/4] ALSA: hda/tas2781: add configurable global i2c address Gergo Koteles
2023-12-30  0:09   ` [PATCH v2 3/4] ALSA: hda/tas2781: add TAS2563 support for 14ARB7 Gergo Koteles
2023-12-30  0:09   ` [PATCH v2 4/4] ALSA: hda/tas2781: add fixup for Lenovo 14ARB7 Gergo Koteles
2023-12-30 16:59   ` [PATCH v2 0/4] ALSA: hda/tas2781: Add tas2563 support Takashi Iwai
2023-12-30 20:18     ` Gergo Koteles
2023-12-31  8:33       ` Takashi Iwai
2024-01-02 15:37   ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2023-12-06 23:59 [PATCH 00/16] " Gergo Koteles

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox