From: Rob Herring <robh@kernel.org>
To: Niranjan H Y <niranjan.hy@ti.com>
Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
lee@kernel.org, linusw@kernel.org, lgirdwood@gmail.com,
broonie@kernel.org, perex@perex.cz, tiwai@suse.com,
krzk+dt@kernel.org, conor+dt@kernel.org, nb@tipi-net.de,
navada@ti.com, v-hampiholi@ti.com, sandeepk@ti.com,
baojun.xu@ti.com, shenghao-ding@ti.com
Subject: Re: [PATCH v1 1/8] dt-bindings: mfd: Add bindings for TI TAC5x1x MFD core
Date: Fri, 13 Mar 2026 15:43:54 -0500 [thread overview]
Message-ID: <20260313204354.GA3262647-robh@kernel.org> (raw)
In-Reply-To: <20260312184833.263-2-niranjan.hy@ti.com>
On Fri, Mar 13, 2026 at 12:18:26AM +0530, Niranjan H Y wrote:
> Add device tree bindings for the Texas Instruments TAC5x1x family of
> audio codecs with integrated GPIO controller, describing the MFD core
> device interface, power supplies, and clock configuration.
>
> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
> ---
> .../devicetree/bindings/mfd/ti,tac5x1x.yaml | 247 ++++++++++++++++++
> 1 file changed, 247 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml
This fails testing (not sure what happened to the email about it):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Warning: Duplicate compatible "ti,tad5212" found in schemas matching "$id":
http://devicetree.org/schemas/mfd/ti,tac5x1x.yaml
http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
Warning: Duplicate compatible "ti,taa5412" found in schemas matching "$id":
http://devicetree.org/schemas/mfd/ti,tac5x1x.yaml
http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
Warning: Duplicate compatible "ti,taa5212" found in schemas matching "$id":
http://devicetree.org/schemas/mfd/ti,tac5x1x.yaml
http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml references a file that doesn't exist: Documentation/devicetree/bindings/pinctrl/ti,tac5x1x-pinctrl.yaml
Warning: Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml references a file that doesn't exist: Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml: Documentation/devicetree/bindings/pinctrl/ti,tac5x1x-pinctrl.yaml
Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml: Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml b/Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml
> new file mode 100644
> index 000000000000..3d7943c0411f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,tac5x1x.yaml
> @@ -0,0 +1,247 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ti,tac5x1x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments TAC5x1x Multi-Function Audio Device
> +
> +maintainers:
> + - Niranjan H Y <niranjan.hy@ti.com>
> +
> +description: |
> + TAC5x1x family of low-power, high-performance audio codecs with integrated
> + GPIO controller and diagnostic capabilities.
> +
> + This is the parent binding. Child nodes are bound by these bindings:
> + - Pin controller: Documentation/devicetree/bindings/pinctrl/ti,tac5x1x-pinctrl.yaml
> + - Audio codec: Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> +
> + Hardware features:
> + - Audio ADC/DAC with configurable impedance and voltage references
> + - 4-pin GPIO controller with alternate functions (PDM, IRQ)
> + - Analog voltage and current monitoring circuits
> + - Diagnostic fault detection with interrupt generation
> +
> + Device datasheets can be found at:
> + TAA5212: https://www.ti.com/lit/ds/symlink/taa5212.pdf
> + TAA5412-Q1: https://www.ti.com/lit/ds/symlink/taa5412-q1.pdf
> + TAC5111: https://www.ti.com/lit/ds/symlink/tac5111.pdf
> + TAC5112: https://www.ti.com/lit/ds/symlink/tac5112.pdf
> + TAC5211: https://www.ti.com/lit/ds/symlink/tac5211.pdf
> + TAC5212: https://www.ti.com/lit/ds/symlink/tac5212.pdf
> + TAC5301: https://www.ti.com/lit/ds/symlink/tac5301-q1.pdf
> + TAC5311-Q1: https://www.ti.com/lit/ds/symlink/tac5311-q1.pdf
> + TAC5312-Q1: https://www.ti.com/lit/ds/symlink/tac5312-q1.pdf
> + TAC5411-Q1: https://www.ti.com/lit/ds/symlink/tac5411-q1.pdf
> + TAC5412-Q1: https://www.ti.com/lit/ds/symlink/tac5412-q1.pdf
> + TAD5112: https://www.ti.com/lit/ds/symlink/tad5112.pdf
> + TAD5212: https://www.ti.com/lit/ds/symlink/tad5212.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - ti,taa5212
> + - ti,taa5412
> + - ti,tac5111
> + - ti,tac5112
> + - ti,tac5211
> + - ti,tac5212
> + - ti,tac5301
> + - ti,tac5311
> + - ti,tac5312
> + - ti,tac5411
> + - ti,tac5412
> + - ti,tad5112
> + - ti,tad5212
> +
> + reg:
> + maxItems: 1
> + description: I2C slave address
> +
> + reset-gpios:
> + maxItems: 1
> + description: Hardware reset control pin (active low)
> +
> + interrupts:
> + maxItems: 1
> + description: |
> + Interrupt from device diagnostic circuits to host processor.
> + Generated on voltage/current fault conditions and other diagnostic events.
> +
> + clocks:
> + maxItems: 1
> + description: Master clock input (MCLK)
> +
> + clock-names:
> + items:
> + - const: mclk
> +
> + avdd-supply:
> + description: |
> + Analog supply voltage input (AVDD pin).
> + Typical voltages: 1.8V, 3.0V, 3.3V, 5.0V
> +
> + iovdd-supply:
> + description: |
> + Digital I/O supply voltage input (IOVDD pin).
> + Typical voltages: 1.8V, 3.3V
> +
> + ti,vref-voltage:
Use unit suffixes for things with units.
> + description: |
> + Internal voltage reference setting in microvolts.
> +
> + Supported values:
> + - 1375000: VREF = 1.375V
> + - 2500000: VREF = 2.5V
> + - 2750000: VREF = 2.75V
> +
> + Constraint: Selected VREF must be lower than AVDD supply voltage.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1375000, 2500000, 2750000]
> + default: 2500000
> +
> + ti,micbias-voltage:
> + description: |
> + Microphone bias output voltage in microvolts.
> +
> + Configuration options:
> + - VREF voltage: Set to same value as ti,vref-voltage
> + - 0.5 × VREF: Set to half of ti,vref-voltage value
> + - AVDD voltage: Set to AVDD supply voltage value
> +
> + Note: When set to AVDD voltage, hardware automatically overrides
> + VREF setting to 2.75V regardless of ti,vref-voltage property.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 687500
> + maximum: 3300000
> +
> + ti,adc1-impedance:
Same here.
Though maybe existing bindings are using these same properties. That's
fine then, but please state that at least. Really we should have a
single, common definition for them.
> + description: |
> + ADC Channel 1 input impedance in Ohms.
> + Supported impedance values:
> + - 5000: 5k input impedance
> + - 10000: 10k input impedance
> + - 40000: 40k input impedance
> + Available only for TAC5111, TAC5211, TAC5212, and TAA5212 variants.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [5000, 10000, 40000]
> + default: 10000
> +
> + ti,adc2-impedance:
> + description: |
> + ADC Channel 2 input impedance in Ohms.
> + Supported impedance values:
> + - 5000: 5k input impedance
> + - 10000: 10k input impedance
> + - 40000: 40k input impedance
> + Available on stereo variants only (TAA5212, TAC5212).
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [5000, 10000, 40000]
> + default: 10000
> +
> + ti,out2x-vcom-cfg:
> + description: |
> + Channel OUT2x VCOM reference voltage selection.
> +
> + Configuration options:
> + - 0: VCOM = 0.6 × VREF
> + - 1: VCOM = AVDD / 2
> +
> + Available on devices with stereo DAC output.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1]
> + default: 0
> +
> + ti,gpa-threshold:
> + description: |
> + General Purpose Analog voltage monitoring thresholds in millivolts.
> + Format: [low_threshold_mv, high_threshold_mv]
> +
> + Monitoring range: 0mV to 6000mV, Resolution: ~24mV per step
> + Default thresholds: 200mV (low), 2600mV (high)
> +
> + Generates interrupt on voltage fault conditions.
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 2
> + maxItems: 2
> + items:
> + minimum: 200
> + maximum: 6000
> + default: [200, 2600]
> +
> + ti,in-ch-en:
> + description: |
> + Enable input channel diagnostic monitoring circuits.
> +
> + When enabled (1), activates hardware monitoring for:
> + - Input channel fault detection
> + - Micbias current monitoring (if ti,micbias-threshold configured)
> + - Input overvoltage detection
> +
> + Available on: TAC5301, TAC5311, TAC5312, TAC5411, TAC5412, TAA5412
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1]
> + default: 0
> +
> + ti,out-ch-en:
> + description: |
> + Enable output channel diagnostic monitoring circuits.
> +
> + When enabled (1), activates hardware monitoring for:
> + - Output channel fault detection
> + - Driver fault monitoring
> + - Short circuit detection
> +
> + Available on: TAC5301, TAC5311, TAC5312, TAC5411, TAC5412, TAA5412
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1]
> + default: 0
> +
> + ti,incl-se-inm:
> + description: |
> + Include INxM pins in single-ended input diagnostic scan.
> +
> + When enabled (1), includes negative input pins (INxM) in diagnostic
> + monitoring for single-ended input configurations.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1]
> + default: 0
> +
> + ti,incl-ac-coup:
> + description: |
> + Include AC-coupled input channels in diagnostic scan.
> +
> + When enabled (1), includes AC-coupled input channels in the
> + diagnostic monitoring system.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1]
> + default: 0
> +
> + ti,micbias-threshold:
> + description: |
> + Microphone bias current monitoring thresholds in microamps.
> + Format: [low_threshold_ua, high_threshold_ua]
> +
> + Current monitoring range: 100uA to 33000uA, Resolution: ~132uA per step
> + Default thresholds: 2600uA (low), 18000uA (high)
> +
> + Hardware monitors actual current flow through MICBIAS pin.
> + Generates interrupts on fault conditions when ti,in-ch-en = <1>.
> +
> + Available on: TAC5301, TAC5311, TAC5312, TAC5411, TAC5412, TAA5412
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 2
> + maxItems: 2
> + items:
> + minimum: 100
> + maximum: 33000
> + default: [2600, 18000]
> +
> +required:
> + - compatible
> + - reg
> + - avdd-supply
> + - iovdd-supply
> +
> +unevaluatedProperties: false
> --
> 2.34.1
>
next prev parent reply other threads:[~2026-03-13 20:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-12 18:48 [PATCH v1 0/8] ASoC: support TI's TAC5x1x audio codec family Niranjan H Y
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 [this message]
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=20260313204354.GA3262647-robh@kernel.org \
--to=robh@kernel.org \
--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=niranjan.hy@ti.com \
--cc=perex@perex.cz \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.