All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas Tanure <tanureal@opensource.cirrus.com>
To: "Rafael J . Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, Hans de Goede <hdegoede@redhat.com>,
	Mark Gross <markgross@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	Jaroslav Kysela <perex@perex.cz>, Mark Brown <broonie@kernel.org>,
	Takashi Iwai <tiwai@suse.com>, Kailang Yang <kailang@realtek.com>,
	Shuming Fan <shumingf@realtek.com>,
	"Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>,
	David Rhodes <david.rhodes@cirrus.com>,
	Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Cc: Jeremy Szu <jeremy.szu@canonical.com>,
	Hui Wang <hui.wang@canonical.com>,
	Werner Sembach <wse@tuxedocomputers.com>,
	Chris Chiu <chris.chiu@canonical.com>,
	Cameron Berkenpas <cam@neo-zeon.de>, Sami Loone <sami@loone.fi>,
	Elia Devito <eliadevito@gmail.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	Jack Yu <jack.yu@realtek.com>, "Arnd Bergmann" <arnd@arndb.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	<alsa-devel@alsa-project.org>, <linux-acpi@vger.kernel.org>,
	<patches@opensource.cirrus.com>,
	<platform-driver-x86@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	"Lucas Tanure" <tanureal@opensource.cirrus.com>
Subject: [PATCH v3 00/11] Add support for Legion 7 16ACHg6 laptop
Date: Tue, 23 Nov 2021 16:31:38 +0000	[thread overview]
Message-ID: <20211123163149.1530535-1-tanureal@opensource.cirrus.com> (raw)

Add support for laptops that have CS35L41 connected to an
HDA codec by I2S and direct I2C/SPI connection to the CPU

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:
 - Creation of a library of shared functions for CS35L41 ASoC and HDA
 - HDA codec driver (RealTek) and CS35L41 HDA driver are combined
 by using component binding, where it uses device names to find the
 components and bind to the master
 - The HDA CS35L41 driver applies pre-defined registers sequences
 for each action in playback for HDA Sound card

Changes from V2:
 - Not an RFC
 - Create a new HDA driver for CS35L41 instead of using the ASoC one
 - Use component binding and device names to find the CS35L41 driver
 - Create a shared library for ASoC and HDA CS35L41 drivers

Lucas Tanure (11):
  ASoC: cs35l41: Set the max SPI speed for the whole device
  ASoC: cs35l41: Convert tables to shared source code
  ASoC: cs35l41: Move regmap config struct to shared code
  ASoC: cs35l41: Create function for init array of Supplies
  ASoC: cs35l41: Move cs35l41_otp_unpack to shared code
  ASoC: cs35l41: Move power initializations to reg_sequence
  ASoC: cs35l41: Create shared function for errata patches
  ASoC: cs35l41: Create shared function for setting channels
  ASoC: cs35l41: Create shared function for boost configuration
  hda: cs35l41: Add support for CS35L41 in HDA systems
  ACPI / scan: Create platform device for CLSA0100 ACPI nodes

 MAINTAINERS                                   |   2 +
 drivers/acpi/scan.c                           |   1 +
 drivers/platform/x86/i2c-multi-instantiate.c  |   7 +
 include/sound/cs35l41.h                       | 741 ++++++++++++++++++
 sound/pci/hda/Kconfig                         |  10 +
 sound/pci/hda/Makefile                        |  28 +-
 sound/pci/hda/cs35l41_hda.c                   | 522 ++++++++++++
 sound/pci/hda/cs35l41_hda.h                   |  69 ++
 sound/pci/hda/cs35l41_hda_i2c.c               |  61 ++
 sound/pci/hda/hda_component.h                 |  20 +
 sound/pci/hda/patch_realtek.c                 | 103 +++
 sound/soc/codecs/Makefile                     |   4 +-
 sound/soc/codecs/cs35l41-i2c.c                |  16 -
 .../{cs35l41-tables.c => cs35l41-lib.c}       | 400 +++++++++-
 sound/soc/codecs/cs35l41-spi.c                |  49 +-
 sound/soc/codecs/cs35l41.c                    | 390 +--------
 sound/soc/codecs/cs35l41.h                    | 739 -----------------
 17 files changed, 1964 insertions(+), 1198 deletions(-)
 create mode 100644 sound/pci/hda/cs35l41_hda.c
 create mode 100644 sound/pci/hda/cs35l41_hda.h
 create mode 100644 sound/pci/hda/cs35l41_hda_i2c.c
 create mode 100644 sound/pci/hda/hda_component.h
 rename sound/soc/codecs/{cs35l41-tables.c => cs35l41-lib.c} (68%)

-- 
2.34.0


WARNING: multiple messages have this Message-ID (diff)
From: Lucas Tanure <tanureal@opensource.cirrus.com>
To: "Rafael J . Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, Hans de Goede <hdegoede@redhat.com>,
	Mark Gross <markgross@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	Jaroslav Kysela <perex@perex.cz>, Mark Brown <broonie@kernel.org>,
	Takashi Iwai <tiwai@suse.com>, Kailang Yang <kailang@realtek.com>,
	Shuming Fan <shumingf@realtek.com>,
	"Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>,
	David Rhodes <david.rhodes@cirrus.com>,
	Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Cc: Chris Chiu <chris.chiu@canonical.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Jack Yu <jack.yu@realtek.com>,
	Lucas Tanure <tanureal@opensource.cirrus.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Jeremy Szu <jeremy.szu@canonical.com>,
	patches@opensource.cirrus.com, Elia Devito <eliadevito@gmail.com>,
	alsa-devel@alsa-project.org,
	Werner Sembach <wse@tuxedocomputers.com>,
	platform-driver-x86@vger.kernel.org,
	Hui Wang <hui.wang@canonical.com>,
	linux-acpi@vger.kernel.org, Lars-Peter Clausen <lars@metafoo.de>,
	Sami Loone <sami@loone.fi>, Cameron Berkenpas <cam@neo-zeon.de>,
	linux-kernel@vger.kernel.org
Subject: [PATCH v3 00/11] Add support for Legion 7 16ACHg6 laptop
Date: Tue, 23 Nov 2021 16:31:38 +0000	[thread overview]
Message-ID: <20211123163149.1530535-1-tanureal@opensource.cirrus.com> (raw)

Add support for laptops that have CS35L41 connected to an
HDA codec by I2S and direct I2C/SPI connection to the CPU

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:
 - Creation of a library of shared functions for CS35L41 ASoC and HDA
 - HDA codec driver (RealTek) and CS35L41 HDA driver are combined
 by using component binding, where it uses device names to find the
 components and bind to the master
 - The HDA CS35L41 driver applies pre-defined registers sequences
 for each action in playback for HDA Sound card

Changes from V2:
 - Not an RFC
 - Create a new HDA driver for CS35L41 instead of using the ASoC one
 - Use component binding and device names to find the CS35L41 driver
 - Create a shared library for ASoC and HDA CS35L41 drivers

Lucas Tanure (11):
  ASoC: cs35l41: Set the max SPI speed for the whole device
  ASoC: cs35l41: Convert tables to shared source code
  ASoC: cs35l41: Move regmap config struct to shared code
  ASoC: cs35l41: Create function for init array of Supplies
  ASoC: cs35l41: Move cs35l41_otp_unpack to shared code
  ASoC: cs35l41: Move power initializations to reg_sequence
  ASoC: cs35l41: Create shared function for errata patches
  ASoC: cs35l41: Create shared function for setting channels
  ASoC: cs35l41: Create shared function for boost configuration
  hda: cs35l41: Add support for CS35L41 in HDA systems
  ACPI / scan: Create platform device for CLSA0100 ACPI nodes

 MAINTAINERS                                   |   2 +
 drivers/acpi/scan.c                           |   1 +
 drivers/platform/x86/i2c-multi-instantiate.c  |   7 +
 include/sound/cs35l41.h                       | 741 ++++++++++++++++++
 sound/pci/hda/Kconfig                         |  10 +
 sound/pci/hda/Makefile                        |  28 +-
 sound/pci/hda/cs35l41_hda.c                   | 522 ++++++++++++
 sound/pci/hda/cs35l41_hda.h                   |  69 ++
 sound/pci/hda/cs35l41_hda_i2c.c               |  61 ++
 sound/pci/hda/hda_component.h                 |  20 +
 sound/pci/hda/patch_realtek.c                 | 103 +++
 sound/soc/codecs/Makefile                     |   4 +-
 sound/soc/codecs/cs35l41-i2c.c                |  16 -
 .../{cs35l41-tables.c => cs35l41-lib.c}       | 400 +++++++++-
 sound/soc/codecs/cs35l41-spi.c                |  49 +-
 sound/soc/codecs/cs35l41.c                    | 390 +--------
 sound/soc/codecs/cs35l41.h                    | 739 -----------------
 17 files changed, 1964 insertions(+), 1198 deletions(-)
 create mode 100644 sound/pci/hda/cs35l41_hda.c
 create mode 100644 sound/pci/hda/cs35l41_hda.h
 create mode 100644 sound/pci/hda/cs35l41_hda_i2c.c
 create mode 100644 sound/pci/hda/hda_component.h
 rename sound/soc/codecs/{cs35l41-tables.c => cs35l41-lib.c} (68%)

-- 
2.34.0


             reply	other threads:[~2021-11-23 16:33 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-23 16:31 Lucas Tanure [this message]
2021-11-23 16:31 ` [PATCH v3 00/11] Add support for Legion 7 16ACHg6 laptop Lucas Tanure
2021-11-23 16:31 ` [PATCH 01/11] ASoC: cs35l41: Set the max SPI speed for the whole device Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 18:02   ` Charles Keepax
2021-11-23 18:02     ` Charles Keepax
2021-11-23 16:31 ` [PATCH 02/11] ASoC: cs35l41: Convert tables to shared source code Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 17:53   ` Mark Brown
2021-11-23 17:53     ` Mark Brown
2021-11-23 18:05     ` Charles Keepax
2021-11-23 18:05       ` Charles Keepax
2021-11-24  1:34   ` kernel test robot
2021-11-24  1:34     ` kernel test robot
2021-11-23 16:31 ` [PATCH 03/11] ASoC: cs35l41: Move regmap config struct to shared code Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 17:20   ` Mark Brown
2021-11-23 17:20     ` Mark Brown
2021-11-23 16:31 ` [PATCH 04/11] ASoC: cs35l41: Create function for init array of Supplies Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 17:58   ` Mark Brown
2021-11-23 17:58     ` Mark Brown
2021-11-24 13:31     ` Mark Brown
2021-11-23 16:31 ` [PATCH 05/11] ASoC: cs35l41: Move cs35l41_otp_unpack to shared code Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 16:31 ` [PATCH 06/11] ASoC: cs35l41: Move power initializations to reg_sequence Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 16:31 ` [PATCH 07/11] ASoC: cs35l41: Create shared function for errata patches Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 16:31 ` [PATCH 08/11] ASoC: cs35l41: Create shared function for setting channels Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 16:31 ` [PATCH 09/11] ASoC: cs35l41: Create shared function for boost configuration Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 16:31 ` [PATCH 10/11] hda: cs35l41: Add support for CS35L41 in HDA systems Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 16:52   ` Takashi Iwai
2021-11-23 16:52     ` Takashi Iwai
2021-11-23 16:59   ` Pierre-Louis Bossart
2021-11-23 16:59     ` Pierre-Louis Bossart
2021-11-23 17:06     ` tanureal
2021-11-23 17:16       ` Pierre-Louis Bossart
2021-11-23 17:15   ` Mark Brown
2021-11-23 17:15     ` Mark Brown
2021-11-24  3:18   ` kernel test robot
2021-11-23 16:31 ` [PATCH 11/11] ACPI / scan: Create platform device for CLSA0100 ACPI nodes Lucas Tanure
2021-11-23 16:31   ` Lucas Tanure
2021-11-23 17:05   ` Hans de Goede
2021-11-23 17:05     ` Hans de Goede
2021-11-23 17:11     ` Lucas tanure
2021-11-23 17:11       ` Lucas tanure
2021-11-23 18:35       ` Hans de Goede
2021-11-23 18:35         ` Hans de Goede
2021-11-23 23:01         ` Andy Shevchenko
2021-11-23 23:01           ` Andy Shevchenko
2021-11-24 17:36 ` (subset) [PATCH v3 00/11] Add support for Legion 7 16ACHg6 laptop Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211123163149.1530535-1-tanureal@opensource.cirrus.com \
    --to=tanureal@opensource.cirrus.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=cam@neo-zeon.de \
    --cc=chris.chiu@canonical.com \
    --cc=david.rhodes@cirrus.com \
    --cc=eliadevito@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=hui.wang@canonical.com \
    --cc=jack.yu@realtek.com \
    --cc=jeremy.szu@canonical.com \
    --cc=kailang@realtek.com \
    --cc=lars@metafoo.de \
    --cc=lenb@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markgross@kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=sami@loone.fi \
    --cc=shumingf@realtek.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.com \
    --cc=vitalyr@opensource.cirrus.com \
    --cc=wse@tuxedocomputers.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.