[0/5] ASoC: pcm179x: Add support for pcm1795 and pcm1796

Message ID 20261002090308.941453-1-roman@amarulasolutions.com
Headers
Series ASoC: pcm179x: Add support for pcm1795 and pcm1796 |

Message

Roman Smrž Oct. 2, 2026, 9:03 a.m. UTC
This adds support for the PCM1795 and the PCM1796 to the pcm179x driver.

The PCM1795 is register compatible with the PCM1792A, but it encodes two
of the register 18 FMT[2:0] values differently, so the format encoding is
described with a per-codec table instead of the width switches. Only the
PCM1795 has real 32-bit formats; on the PCM1792A and the PCM1796 a 32-bit
container keeps the 24-bit code, as it always has. Left-justified, which
the driver accepted but never programmed, is added on the way.

This series is based on a work done in 2016 by my collegue:
https://lore.kernel.org/all/20160311232856.GC27257@panicking/

Michael Trimarchi (2):
  ASoC: dt-bindings: Add ti,pcm1795 and ti,pcm1796
  ASoC: pcm179x: Add support for pcm1975

Roman Smrž (3):
  ASoC: pcm179x: Refactor regmap value lookup
  ASoC: pcm179x: Add left-justified formats for pcm1792a
  ASoC: pcm179x: Add pcm1796 as compatible with pcm1792a

 .../bindings/sound/trivial-codec.yaml         |   2 +
 sound/soc/codecs/pcm179x-i2c.c                |   2 +
 sound/soc/codecs/pcm179x-spi.c                |   2 +
 sound/soc/codecs/pcm179x.c                    | 116 +++++++++++++-----
 sound/soc/codecs/pcm179x.h                    |  12 +-
 5 files changed, 101 insertions(+), 33 deletions(-)