ASoC: support TI's TAC5x1x audio codec family
Status from this message: NAK
Get series with b4
b4 am [email protected]Versions newest first
Patches in v1
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | dt-bindings: mfd: Add bindings for TI TAC5x1x MFD coreDocumentation/ | +247 | 2 replies | |
| 2/8 | dt-bindings: pinctrl: Add bindings for TI TAC5x1x pinctrlDocumentation/ include/ | +207 | 2 replies | |
| 3/8 | dt-bindings: sound: Add bindings for TI TAC5x1x codecDocumentation/ | +49 | 1 reply | |
| 4/8 | dt-bindings: sound: Update ti,pcm6240.yaml to remove TAC5x1x familyDocumentation/ | +5 | 1 reply | |
| 5/8 | mfd: tac5x1x: Add TI TAC5x1x MFD core driverdrivers/ drivers/ drivers/ +2 more | +1056 | 1 reply | |
| 6/8 | pinctrl: pinctrl-tac5x1x: Add TI TAC5x1x pinctrl driverdrivers/ drivers/ drivers/ | +901 | 1 reply | |
| 7/8 | ASoC: tac5x1x: Add TI TAC5x1x codec driversound/ sound/ sound/ +1 more | +2130 | 1 reply | |
| 8/8 | ASoC: pcm6240: remove support for taac5x1x familysound/ sound/ | +3 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH v1 0/8] ASoC: support TI's TAC5x1x audio codec family
This patch series adds support for the Texas Instruments TAC5x1x family of audio codecs. These devices are low-power, high-performance mono/stereo audio codecs with integrated GPIO functionality.
The TAC5x1x family includes various configurations:
- ADC-only devices (TAA5212, TAA5412)
- DAC-only devices (TAD5112, TAD5212)
- Codec solutions (TAC5111, TAC5112, TAC5211,
TAC5212 TAC5301, TAC5311, TAC5312,
TAC5411, TAC5412)The implementation follows the Multi-Function Device (MFD) approach with three main components:
1. MFD core driver: Handles device initialization, power management, and common resources
2. Pinctrl driver: Manages up to 5 configurable pins that can function as GPIO, PDM clock/data, or interrupt outputs
3. ASoC codec driver: Provides audio capture and playback functionality with support for various formats and sample rates
The series also removes duplicate support for these devices from the pcm6240 driver, as they are now properly supported by dedicated drivers.
Link to previous standalone implementation attempt:
* https://lore.kernel.org/all/[email protected]/
Changes since previous submissions:
- Restructured the driver to follow the MFD (Multi-Function Device) approach, separating core functionality from pinctrl and codec components
- Reorganized device tree bindings into separate files for MFD core, pinctrl, and codec to align with the driver architecture
- Reordered patches to define DT bindings before driver implementation
- Improved documentation for device tree bindings.
Niranjan H Y (8):
dt-bindings: mfd: Add bindings for TI TAC5x1x MFD core
dt-bindings: pinctrl: Add bindings for TI TAC5x1x pinctrl
dt-bindings: sound: Add bindings for TI TAC5x1x codec
dt-bindings: sound: Update ti,pcm6240.yaml to remove TAC5x1x family
mfd: tac5x1x: Add TI TAC5x1x MFD core driver
pinctrl: pinctrl-tac5x1x: Add TI TAC5x1x pinctrl driver
ASoC: tac5x1x: Add TI TAC5x1x codec driver
ASoC: pcm6240: remove support for taac5x1x family
.../devicetree/bindings/mfd/ti,tac5x1x.yaml | 247 ++ .../bindings/pinctrl/ti,tac5x1x-pinctrl.yaml | 163 ++ .../devicetree/bindings/sound/ti,pcm6240.yaml | 15 +- .../devicetree/bindings/sound/ti,tac5x1x.yaml | 49 + drivers/mfd/Kconfig | 8 + drivers/mfd/Makefile | 4 + drivers/mfd/tac5x1x-core.c | 684 ++++++ drivers/pinctrl/Kconfig | 11 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-tac5x1x.c | 889 +++++++ include/dt-bindings/pinctrl/tac5x1x.h | 44 + include/linux/mfd/tac5x1x/core.h | 69 + include/linux/mfd/tac5x1x/registers.h | 291 +++ sound/soc/codecs/Kconfig | 11 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/pcm6240.c | 126 +- sound/soc/codecs/pcm6240.h | 4 - sound/soc/codecs/tac5x1x.c | 2082 +++++++++++++++++ sound/soc/codecs/tac5x1x.h | 35 + 19 files changed, 4598 insertions(+), 137 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/ti,tac5x1x-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml create mode 100644 drivers/mfd/tac5x1x-core.c create mode 100644 drivers/pinctrl/pinctrl-tac5x1x.c create mode 100644 include/dt-bindings/pinctrl/tac5x1x.h create mode 100644 include/linux/mfd/tac5x1x/core.h create mode 100644 include/linux/mfd/tac5x1x/registers.h create mode 100644 sound/soc/codecs/tac5x1x.c create mode 100644 sound/soc/codecs/tac5x1x.h
Signature · 1 line
2.34.1