public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Niranjan H Y <niranjan.hy@ti.com>
To: <linux-kernel@vger.kernel.org>, <linux-gpio@vger.kernel.org>,
	<linux-sound@vger.kernel.org>, <devicetree@vger.kernel.org>
Cc: <lee@kernel.org>, <linusw@kernel.org>, <lgirdwood@gmail.com>,
	<broonie@kernel.org>, <perex@perex.cz>, <tiwai@suse.com>,
	<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<niranjan.hy@ti.com>, <nb@tipi-net.de>, <navada@ti.com>,
	<v-hampiholi@ti.com>, <sandeepk@ti.com>, <baojun.xu@ti.com>,
	<shenghao-ding@ti.com>
Subject: [PATCH v1 0/8] ASoC: support TI's TAC5x1x audio codec family
Date: Fri, 13 Mar 2026 00:18:25 +0530	[thread overview]
Message-ID: <20260312184833.263-1-niranjan.hy@ti.com> (raw)

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/20250626181334.1200-2-niranjan.hy@ti.com/

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

-- 
2.34.1


             reply	other threads:[~2026-03-12 18:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-12 18:48 Niranjan H Y [this message]
2026-03-12 18:48 ` [PATCH v1 1/8] dt-bindings: mfd: Add bindings for TI TAC5x1x MFD core Niranjan H Y
2026-03-13 20:43   ` Rob Herring
2026-03-14 10:13   ` Krzysztof Kozlowski
2026-03-12 18:48 ` [PATCH v1 2/8] dt-bindings: pinctrl: Add bindings for TI TAC5x1x pinctrl Niranjan H Y
2026-03-14 10:10   ` Krzysztof Kozlowski
2026-03-14 10:12   ` Krzysztof Kozlowski
2026-03-12 18:48 ` [PATCH v1 3/8] dt-bindings: sound: Add bindings for TI TAC5x1x codec Niranjan H Y
2026-03-14 10:14   ` Krzysztof Kozlowski
2026-03-12 18:48 ` [PATCH v1 4/8] dt-bindings: sound: Update ti,pcm6240.yaml to remove TAC5x1x family Niranjan H Y
2026-03-14 10:15   ` Krzysztof Kozlowski
2026-03-12 18:48 ` [PATCH v1 5/8] mfd: tac5x1x: Add TI TAC5x1x MFD core driver Niranjan H Y
2026-03-14 10:20   ` Krzysztof Kozlowski
2026-03-12 18:48 ` [PATCH v1 6/8] pinctrl: pinctrl-tac5x1x: Add TI TAC5x1x pinctrl driver Niranjan H Y
2026-03-14 10:11   ` Krzysztof Kozlowski
2026-03-12 18:48 ` [PATCH v1 7/8] ASoC: tac5x1x: Add TI TAC5x1x codec driver Niranjan H Y
2026-03-12 19:56   ` Mark Brown
2026-03-12 18:48 ` [PATCH v1 8/8] ASoC: pcm6240: remove support for taac5x1x family Niranjan H Y

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260312184833.263-1-niranjan.hy@ti.com \
    --to=niranjan.hy@ti.com \
    --cc=baojun.xu@ti.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linusw@kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=navada@ti.com \
    --cc=nb@tipi-net.de \
    --cc=perex@perex.cz \
    --cc=robh@kernel.org \
    --cc=sandeepk@ti.com \
    --cc=shenghao-ding@ti.com \
    --cc=tiwai@suse.com \
    --cc=v-hampiholi@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox