[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260122115934.GG3831112@google.com>
Date: Thu, 22 Jan 2026 11:59:34 +0000
From: Lee Jones <lee@...nel.org>
To: Maciej Strozek <mstrozek@...nsource.cirrus.com>
Cc: Mark Brown <broonie@...nel.org>, Takashi Iwai <tiwai@...e.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
linux-kernel@...r.kernel.org, linux-sound@...r.kernel.org,
patches@...nsource.cirrus.com, devicetree@...r.kernel.org
Subject: Re: [PATCH v2 3/4] mfd: cs42l43: Add support for the B variant
On Fri, 16 Jan 2026, Maciej Strozek wrote:
> Introducing CS42L43B codec, a variant of CS42L43 which can be driven by
> the same driver.
>
> Changes in CS42L43 driver specific for CS42L43B:
> - Decimator 1 and 2 are dedicated to ADC, can't be selected for PDM
> - Decimators 3 and 4 are connected to PDM1
> - Added Decimator 5 and 6 for PDM2
> - Supports SoundWire Clock Gearing
> - Updated ROM requiring no patching
> - Reduced RAM space
> - Each ISRC has 4 decimators now
>
> Signed-off-by: Maciej Strozek <mstrozek@...nsource.cirrus.com>
> ---
> Changes in v2:
> - Rework the mechanism to identify the new variant along with some
> error handling improvements.
> - Added some comments in cs42l43_readable_register() for clarity.
> - Add handling of the I2C path for the B variant
> ---
> drivers/mfd/cs42l43-i2c.c | 7 ++-
> drivers/mfd/cs42l43-sdw.c | 4 +-
> drivers/mfd/cs42l43.c | 93 +++++++++++++++++++++++++++-----
> drivers/mfd/cs42l43.h | 2 +-
> include/linux/mfd/cs42l43-regs.h | 76 ++++++++++++++++++++++++++
> include/linux/mfd/cs42l43.h | 1 +
> 6 files changed, 166 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/mfd/cs42l43-i2c.c b/drivers/mfd/cs42l43-i2c.c
> index a2ab001a600a..0a0ab5e549a5 100644
> --- a/drivers/mfd/cs42l43-i2c.c
> +++ b/drivers/mfd/cs42l43-i2c.c
> @@ -47,6 +47,7 @@ static int cs42l43_i2c_probe(struct i2c_client *i2c)
> cs42l43->irq = i2c->irq;
> /* A device on an I2C is always attached by definition. */
> cs42l43->attached = true;
> + cs42l43->variant_id = (long)device_get_match_data(cs42l43->dev);
[...]
> diff --git a/include/linux/mfd/cs42l43.h b/include/linux/mfd/cs42l43.h
> index 2239d8585e78..8313f9e8c722 100644
> --- a/include/linux/mfd/cs42l43.h
> +++ b/include/linux/mfd/cs42l43.h
> @@ -98,6 +98,7 @@ struct cs42l43 {
> bool sdw_pll_active;
> bool attached;
> bool hw_lock;
> + int variant_id;
> };
long != int
--
Lee Jones [李琼斯]
Powered by blists - more mailing lists