Skip to content

Add the Lantiq PEF2256 audio support

Herve Codina alsa-devel linux-devicetree lkml oe-kbuild-all 6 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest7 patches 13 repliesIn review
  2. v55 patches 25 repliesSuperseded
  3. v45 patches 1 replySuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v36 patches11 repliesSuperseded
v27 patches24 repliesSuperseded
v17 patches0 repliesSuperseded

Changes in v6 from the cover letter

- Patch 1
Add 'Reviewed-by: Krzysztof Kozlowski <[email protected]>'

- Patch 2
New patch added fixing an MFD core issue.

- Patch 3 (patch 2 in v5)
Remove the pinmux part.
Move registers definition to a header file and rework the definition.
Use a regmap for register accesses
Various minor fixes (typos, comments, ...) Fixed issues raised by checkpatch.pl --strict Removed debug prints.

- Patch 4 (patch 3 in v5)
No changes

- Patch 5
New patch adding the PEF2256 pinmux part in the pinctrl subsystem.

- Patch 6 (patch 4 in v5)

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7dt-bindings: mfd: Add the Lantiq PEF2256 E1/T1/J1 framerDocumentation/devicetree/bindings/mfd/lantiq,pef2256.yaml+267 -00 replies
2/7mfd: core: Ensure disabled devices are skiped without abortingdrivers/mfd/mfd-core.c+13 -53 replies
3/7mfd: Add support for the Lantiq PEF2256 framerdrivers/mfd/Kconfig drivers/mfd/Makefile drivers/mfd/pef2256-regs.h +2 more+1269 -010 replies
4/7Documentation: sysfs: Document the Lantiq PEF2256 sysfs entryDocumentation/ABI/testing/sysfs-bus-platform-devices-pef2256+12 -00 replies
5/7pinctrl: Add support for the Lantic PEF2256 pinmuxdrivers/pinctrl/Kconfig drivers/pinctrl/Makefile drivers/pinctrl/pinctrl-pef2256-regs.h +1 more+390 -00 replies
6/7ASoC: codecs: Add support for the Lantiq PEF2256 codecsound/soc/codecs/Kconfig sound/soc/codecs/Makefile sound/soc/codecs/pef2256-codec.c+406 -00 replies
7/7MAINTAINERS: Add the Lantiq PEF2256 driver entryMAINTAINERS+12 -00 replies

Reviews trailers per patch

1 of 7 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchKrzysztof Kozlowski
SeriesR-b
1/7R-b
2/7
3/7
4/7
5/7
6/7
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v6 thread

Cover letter [PATCH v6 0/7] Add the Lantiq PEF2256 audio support

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 fixing a MFD core issue at patch 2.
The patch 5 adds the PEF2256 pinmux support.
The patch 6 adds the audio support using the Lantiq PEF2256 driver core. The last patch adds myself as the PEF2256 maintainer.

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/all/[email protected]/
This v6 series mainly:
- Use regmap
- Move the pinmux part to the pinctrl subsystem
- Move register definitions to header files.
- Split pef2256_setup_e1() in several parts.
- Fixed issues raised by checkpatch.pl.
- Removed debug prints.

Best regards,
Herve Codina

Changes v5 -> v6
- Patch 1
Add 'Reviewed-by: Krzysztof Kozlowski <[email protected]>'

- Patch 2
New patch added fixing an MFD core issue.

- Patch 3 (patch 2 in v5)
Remove the pinmux part.
Move registers definition to a header file and rework the definition.
Use a regmap for register accesses
Various minor fixes (typos, comments, ...) Fixed issues raised by checkpatch.pl --strict Removed debug prints.

- Patch 4 (patch 3 in v5)
No changes

- Patch 5
New patch adding the PEF2256 pinmux part in the pinctrl subsystem.

- Patch 6 (patch 4 in v5)

    Fixed issues raised by checkpatch.pl --strict

- Patch 7 (patch 5 in v5)
Updated according to files creation and move.

Changes v4 -> v5
- Patch 1
Fix 'additionalProperties' and 'unevaluatedProperties' positions Fix sub-nodes names suffixes

Changes v3 -> v4
- Patch 1
Merge the codec sub-node description.
Move the 'allOf' property after the 'required' property. Rework the example to be more complete.

- Patches 2 and 5
Drop of_match_ptr()

- Patch 2
Add 'depends on OF' as pinconf_generic_dt_node_to_map_pin() needs OF support to be compiled (error raised by the kernel test robot).

- Patch 4
Remove patch (merged in patch 1)

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 (7):
dt-bindings: mfd: Add the Lantiq PEF2256 E1/T1/J1 framer
mfd: core: Ensure disabled devices are skiped without aborting
mfd: Add support for the Lantiq PEF2256 framer
Documentation: sysfs: Document the Lantiq PEF2256 sysfs entry
pinctrl: Add support for the Lantic PEF2256 pinmux
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          | 267 +++++
 MAINTAINERS                                   |  12 +
 drivers/mfd/Kconfig                           |  16 +
 drivers/mfd/Makefile                          |   1 +
 drivers/mfd/mfd-core.c                        |  18 +-
 drivers/mfd/pef2256-regs.h                    | 250 +++++
 drivers/mfd/pef2256.c                         | 950 ++++++++++++++++++
 drivers/pinctrl/Kconfig                       |  14 +
 drivers/pinctrl/Makefile                      |   1 +
 drivers/pinctrl/pinctrl-pef2256-regs.h        |  65 ++
 drivers/pinctrl/pinctrl-pef2256.c             | 310 ++++++
 include/linux/mfd/pef2256.h                   |  52 +
 sound/soc/codecs/Kconfig                      |  14 +
 sound/soc/codecs/Makefile                     |   2 +
 sound/soc/codecs/pef2256-codec.c              | 390 +++++++
 16 files changed, 2369 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-platform-devices-pef2256
 create mode 100644 Documentation/devicetree/bindings/mfd/lantiq,pef2256.yaml
 create mode 100644 drivers/mfd/pef2256-regs.h
 create mode 100644 drivers/mfd/pef2256.c
 create mode 100644 drivers/pinctrl/pinctrl-pef2256-regs.h
 create mode 100644 drivers/pinctrl/pinctrl-pef2256.c
 create mode 100644 include/linux/mfd/pef2256.h
 create mode 100644 sound/soc/codecs/pef2256-codec.c
Signature · 1 line
2.39.2