Hi, This series adds support for audio using the Lantiq PEF2256 framer. The Lantiq PEF2256 is a framer and line interface component designed to fulfill all required interfacing between an analog E1/T1/J1 line and the digital PCM system highway/H.100 bus. The first part of this series (patches 1 to 4) adds the Lantiq PEF2256 driver core. The second part (patches 5 to 7) adds the audio support using the Lantiq PEF2256 driver core. The consumer/provider relation between the codec and the driver core allows to use the PEF2256 framer for other purpose than audio support. Compared to the previous iteration https://lore.kernel.org/linux-kernel/20230316122741.577663-1-herve.codina@xxxxxxxxxxx/ This v3 series mainly: - takes into account pef2256.c modifications suggested by Christophe. - fixes binding - Moves to MFD. - Merges MAINTAINERS entries Best regards, Herve Codina Changes v2 -> v3 - Patch 1 Remove unneeded 'allOf' and quotes. Add several 'additionalProperties: false' Fix example (node name, interrupts and reg properties) Replace the lantiq,sysclk-rate-hz property by sclkr and sclkx clocks. Define 'lantiq,frame-format' property in top level. Move to MFD - Patch 2 Fix some #define. Compact the register accessor helpers. Rework pef2256_get_version(). Merge v1.2 and v2.x GCM setup functions into one pef2256_setup_gcm(). Update comments, avoid duplicates and change some conditionals. Remove the carrier spinlock and use atomic_t. Make exported symbol consistent and use EXPORT_SYMBOL_GPL. Remove the no more needed pef2256_get_byphandle() and devm_pef2256_get_byphandle(). Replace the lantiq,sysclk-rate-hz property by sclkr and sclkx clocks. Move to MFD - Patch 4 Remove, merged with patch 7 - Patch 4 (patch 5 in v2) Update title and description. Remove incorrect SPI reference. Remove the 'lantiq,pef2256' phandle. Fix commit log - Patch 5 (patch 6 in v2) Remove devm_pef2256_get_byphandle(). Fix commit log - Patch 6 (patch 7 in v2) Merge v2 patch 4. One entry only for PEF2256 Changes v1 -> v2 - Patch 2 Remove duplicate const qualifiers. Add HAS_IOMEM as a dependency - Patch 3 Fix a "Block quote ends without a blank line; unexpected unindent" syntax issue. Herve Codina (6): dt-bindings: mfd: Add the Lantiq PEF2256 E1/T1/J1 framer mfd: Add support for the Lantiq PEF2256 framer Documentation: sysfs: Document the Lantiq PEF2256 sysfs entry dt-bindings: sound: Add support for the Lantiq PEF2256 codec ASoC: codecs: Add support for the Lantiq PEF2256 codec MAINTAINERS: Add the Lantiq PEF2256 driver entry .../sysfs-bus-platform-devices-pef2256 | 12 + .../bindings/mfd/lantiq,pef2256.yaml | 205 +++ .../bindings/sound/lantiq,pef2256-codec.yaml | 54 + MAINTAINERS | 10 + drivers/mfd/Kconfig | 16 + drivers/mfd/Makefile | 1 + drivers/mfd/pef2256.c | 1355 +++++++++++++++++ include/linux/mfd/pef2256.h | 28 + sound/soc/codecs/Kconfig | 14 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/pef2256-codec.c | 390 +++++ 11 files changed, 2087 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-devices-pef2256 create mode 100644 Documentation/devicetree/bindings/mfd/lantiq,pef2256.yaml create mode 100644 Documentation/devicetree/bindings/sound/lantiq,pef2256-codec.yaml create mode 100644 drivers/mfd/pef2256.c create mode 100644 include/linux/mfd/pef2256.h create mode 100644 sound/soc/codecs/pef2256-codec.c -- 2.39.2