Hi,
I would like to get some guidance about this solution to support the 16ACHg6 laptop.
Hardware: - The 16ACHg6 laptop has two CS35L41 amplifiers, connected to Realtek ALC287 by an I2S bus and by and direct I2C to the CPU. - The ALC287 codec is connected to the CPU by an HDA bus. - The CS35L41 has a DSP which will require firmware to be loaded.
Architecture: - To load the firmware for CS35L41, this solution will require the wm_adsp library, which requires regmap, header definitions and register tables. - The HDA machine driver will find the registered ASoC by its dai name. - To minimize the duplication of the code, the HDA will call snd_soc_dai_ops from the ASoC driver.
Notes: - This is a work in progress, so the code is not functional, its only intent is to demonstrate the overall solution
Changes from V1:
- Split into multiple patches, separating ACPI, ASoC and HDA patches - Removed CS35L41 exported functions, moved code to snd_soc_dai_ops - Patch realtek uses dai ops functions
Lucas Tanure (3): sound: cs35l41: Allow HDA systems to use CS35l41 ASoC driver ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop Speakers ACPI / scan: Create platform device for INT3515 ACPI nodes
drivers/acpi/scan.c | 1 + drivers/platform/x86/i2c-multi-instantiate.c | 7 + include/sound/cs35l41.h | 1 + sound/pci/hda/patch_realtek.c | 109 ++++++++++++++- sound/soc/codecs/cs35l41.c | 139 +++++++++++++++++-- sound/soc/codecs/cs35l41.h | 1 + 6 files changed, 249 insertions(+), 9 deletions(-)