[v3,0/8] ASoC: Initial support for Cirrus Logic CS35L56

Message ID 20230320112245.115720-1-rf@opensource.cirrus.com
Headers
Series ASoC: Initial support for Cirrus Logic CS35L56 |

Message

Richard Fitzgerald March 20, 2023, 11:22 a.m. UTC
  The CS35L56 is a high-performance boosted mono audio amplifier.
Supported control interfaces are I2C, SPI or SoundWire.
Supported audio interfaces are I2S/TDM or SoundWire.

The CS35L56 has a self-booting firmware in ROM, with the ability
to patch the firmware and/or apply tunings.
Patches #1 to #7 add support to cs_dsp and wm_adsp for self-booting
firmware and the ability to apply a .bin file without having to
apply a .wmfw.

Changes since v2:
- Fix Kconfig to prevent the driver being built-in if the SoundWire
  core is a module.

Changes since v1:
- Check for error when getting pm_runtime in cs35l56_irq().
- Use SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK instead of the old define.
- Re-word two comments in cs35l56-sdw.c.
- Add an comment explaining the wait for init_completion in
  cs35l56_dsp_work().
- Omit patches to Intel machine driver. These will be done as a
  separate thread.

Richard Fitzgerald (1):
  ASoC: cs35l56: Add driver for Cirrus Logic CS35L56

Simon Trimmer (7):
  firmware: cs_dsp: Introduce no_core_startstop for self-booting DSPs
  ASoC: wm_adsp: Use no_core_startstop to prevent creating preload
    control
  firmware: cs_dsp: Support DSPs that don't require firmware download
  ASoC: wm_adsp: Support DSPs that don't require firmware download
  ASoC: wm_adsp: Expose the DSP boot work actions as wm_adsp_power_up()
  ASoC: wm_adsp: Add support for loading bin files without wmfw
  ASoC: wm_adsp: Simplify the logging of requested firmware files

 MAINTAINERS                            |    1 +
 drivers/firmware/cirrus/cs_dsp.c       |   17 +-
 include/linux/firmware/cirrus/cs_dsp.h |    1 +
 include/sound/cs35l56.h                |  266 +++++
 sound/soc/codecs/Kconfig               |   40 +
 sound/soc/codecs/Makefile              |   10 +
 sound/soc/codecs/cs35l56-i2c.c         |   83 ++
 sound/soc/codecs/cs35l56-sdw.c         |  528 +++++++++
 sound/soc/codecs/cs35l56-shared.c      |  390 +++++++
 sound/soc/codecs/cs35l56-spi.c         |   81 ++
 sound/soc/codecs/cs35l56.c             | 1461 ++++++++++++++++++++++++
 sound/soc/codecs/cs35l56.h             |   77 ++
 sound/soc/codecs/wm_adsp.c             |   63 +-
 sound/soc/codecs/wm_adsp.h             |    3 +
 14 files changed, 3005 insertions(+), 16 deletions(-)
 create mode 100644 include/sound/cs35l56.h
 create mode 100644 sound/soc/codecs/cs35l56-i2c.c
 create mode 100644 sound/soc/codecs/cs35l56-sdw.c
 create mode 100644 sound/soc/codecs/cs35l56-shared.c
 create mode 100644 sound/soc/codecs/cs35l56-spi.c
 create mode 100644 sound/soc/codecs/cs35l56.c
 create mode 100644 sound/soc/codecs/cs35l56.h
  

Comments

Mark Brown March 21, 2023, 4:51 p.m. UTC | #1
On Mon, 20 Mar 2023 11:22:37 +0000, Richard Fitzgerald wrote:
> The CS35L56 is a high-performance boosted mono audio amplifier.
> Supported control interfaces are I2C, SPI or SoundWire.
> Supported audio interfaces are I2S/TDM or SoundWire.
> 
> The CS35L56 has a self-booting firmware in ROM, with the ability
> to patch the firmware and/or apply tunings.
> Patches #1 to #7 add support to cs_dsp and wm_adsp for self-booting
> firmware and the ability to apply a .bin file without having to
> apply a .wmfw.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/8] firmware: cs_dsp: Introduce no_core_startstop for self-booting DSPs
      commit: 7062e1c727ec99a9c5b40586964304d60a43f240
[2/8] ASoC: wm_adsp: Use no_core_startstop to prevent creating preload control
      commit: 0cd1fd571719e19bd6824a98855382a70e47d932
[3/8] firmware: cs_dsp: Support DSPs that don't require firmware download
      commit: 107c167419e75213e078e4f2468c0f2f55fdd11a
[4/8] ASoC: wm_adsp: Support DSPs that don't require firmware download
      commit: 65a314b7ddc09f6b1bad8decc6670e68d45ef07d
[5/8] ASoC: wm_adsp: Expose the DSP boot work actions as wm_adsp_power_up()
      commit: 11520b87e2232c6e3defed69ec94f0e28fb80f84
[6/8] ASoC: wm_adsp: Add support for loading bin files without wmfw
      commit: 0e7d82cbea8bc0db8ced613aea04da17ac0f0249
[7/8] ASoC: wm_adsp: Simplify the logging of requested firmware files
      commit: 991b1de830f61076b7dc29bec081a4d2e50724cf
[8/8] ASoC: cs35l56: Add driver for Cirrus Logic CS35L56
      commit: e496112529006ce0c2cfe67d1136186e2786d2e8

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark