linux-sound.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
  2025-06-26 18:13 [PATCH v3 0/4] ASoc: tac5x1x: mixer-test report Niranjan H Y
@ 2025-06-26 18:13 ` Niranjan H Y
  2025-06-26 19:39   ` Rob Herring (Arm)
  2025-06-27  7:48   ` Krzysztof Kozlowski
  0 siblings, 2 replies; 6+ messages in thread
From: Niranjan H Y @ 2025-06-26 18:13 UTC (permalink / raw)
  To: broonie, krzk+dt, conor+dt
  Cc: andriy.shevchenko, tiwai, alsa-devel, baojun.xu, shenghao-ding,
	liam.r.girdwood, lgirdwood, robh, linux-sound, devicetree, navada,
	v-hampiholi, niranjan.hy

tac5x1x family are series of low-power and high performance
mono/stereo audio codecs consists of ADC and DAC combinations.
The family consist of Codecs(DAC & ADC), ADC only and DAC only
configurations. The documentation explains the list of devices
in the family, their power supply configurations and gpio
configuration options available for various functionality.

Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>

---
v2:
- Document newly added dts entries ti,adc1-impedance,
  ti,adc2-impedance, ti,out2x-vcom-cfg
v3:
- add documentation for ti,pdm-input-pins
- Update required section
---
 .../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++++++++++++++++++
 1 file changed, 262 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml

diff --git a/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
new file mode 100644
index 000000000000..5fea6513f97f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
@@ -0,0 +1,262 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+# Copyright (C) 2025 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TAC5X1X Codec
+
+description: |
+  TAC5X1X are series of low-power and high performance mono or stereo
+  audio codecs, as well as multiple inputs and outputs programmable in
+  single-ended or fully differential configurations. Device supports both
+  Microphone and Line In input on ADC Channel. DAC Output can be configured
+  for either Line Out or Head Phone Load.
+
+  The serial control bus supports SPI or I2C protocols, while the serial audio
+  data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
+
+  Specification about the codecs can be found at:
+    https://www.ti.com/lit/gpn/taa5212
+    https://www.ti.com/lit/gpn/taa5412-q1
+    https://www.ti.com/lit/gpn/tac5111
+    https://www.ti.com/lit/gpn/tac5112
+    https://www.ti.com/lit/gpn/tac5211
+    https://www.ti.com/lit/gpn/tac5212
+    https://www.ti.com/lit/gpn/tac5311-q1
+    https://www.ti.com/lit/gpn/tac5312-q1
+    https://www.ti.com/lit/gpn/tac5411-q1
+    https://www.ti.com/lit/gpn/tac5412-q1
+    https://www.ti.com/lit/gpn/tad5112
+    https://www.ti.com/lit/gpn/tad5212
+
+maintainers:
+  - Niranjan H Y <niranjan.hy@ti.com>
+  - Kevin Lu <kevin-lu@ti.com>
+
+properties:
+  compatible:
+    enum:
+      - ti,taa5212
+      - ti,taa5412
+      - ti,tac5111
+      - ti,tac5112
+      - ti,tac5211
+      - ti,tac5212
+      - ti,tac5311
+      - ti,tac5312
+      - ti,tac5411
+      - ti,tac5412
+      - ti,tad5112
+      - ti,tad5212
+
+  reg:
+    maxItems: 1
+
+  ti,vref:
+    description: VREF required voltage. If node is omitted then VREF is powered down.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    oneOf:
+      - const: 0
+        description: VREF output is powered to 2.75V.
+      - const: 1
+        description: VREF output is powered to 2.5V.
+      - const: 2
+        description: VREF output is powered to 1.375V.
+
+  ti,micbias-vg:
+    description: MicBias required voltage. If node is omitted then MicBias is powered down.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    oneOf:
+      - const: 0
+        description: MICBIAS output is same as the VREF output
+      - const: 1
+        description: MICBIAS output is 0.5 times the VREF output
+      - const: 3
+        description: MICBIAS output is same as the AVDD
+
+  avdd-supply:
+    description: Analog DAC voltage.
+
+  iovdd-supply:
+    description: I/O voltage.
+
+  ti,gpios-func:
+    description: |
+      Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
+      Each integer elemnent in the array represent the following
+      - 0  TAC5X1X_GPIO_DISABLE        - GPIO is Disabled
+      - 1  TAC5X1X_GPIO_GPI            - General Purpose Input
+      - 2  ADC3XXX_GPIO_GPO            - General Purpose Output
+      - 3  TAC5X1X_GPIO_IRQ            - Chip Interrupt
+      - 4  TAC5X1X_GPIO_PDMCLK         - PDM CLK Output
+      - 5  TAC5X1X_GPIO_P_DOUT         - Primary ASI DOUT
+      - 6  TAC5X1X_GPIO_P_DOUT2        - Primary ASI DOUT2
+      - 7  TAC5X1X_GPIO_S_DOUT         - Secondary ASI DOUT
+      - 8  TAC5X1X_GPIO_S_DOUT2        - Secondary ASI DOUT2
+      - 9  TAC5X1X_GPIO_S_BCLK         - Secondary BCLK Output
+      - 10 TAC5X1X_GPIO_S_FSYNC       - Secondary FSYNC Output
+      - 11 TAC5X1X_GPIO_CLKOUT        - General Purpose Output
+      - 12 TAC5X1X_GPIO_DOUT_MUX
+      - 13 TAC5X1X_GPIO_DAISY_OUT
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 3
+    maxItems: 3
+
+  ti,gpios-drive:
+    description: |
+      Array indicating the GPIO1, GPIO2, GPO1 Driver values
+      Each number in the array indicate the following driver values.
+      - 0 # Hi-Z Output
+      - 1 # Drive active low and active High
+      - 2 # Drive active low and weak High
+      - 3 # Drive acive low and Hi-Z
+      - 4 # Drive weak low and active High
+      - 5 # Drive Hi-Z and active High
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 3
+    maxItems: 3
+
+  ti,pdm-input-pins:
+    description: |
+      Array indicating the PDM Data Input for "Ch1 & Ch2" and "Ch3 & Ch4"
+      respectively. Each number in the array indicate the following
+      - 0 # PDM input disabled
+      - 1 # PDM input GPIO1
+      - 2 # PDM input GPIO2
+      - 3 # PDM input GPI1
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 2
+    maxItems: 2
+
+  ti,gpi1-func:
+    description: GPI1 Functionality
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # TAC5X1X_GPIO_DISABLE       - I/O buffers powered down and not used
+      - 1 # TAC5X1X_GPIO_GPI          - General purpose input
+    default: 0
+
+  '#sound-dai-cells':
+    const: 0
+
+  clocks:
+    maxItems: 1
+
+  ti,gpa-gpio:
+    description: GPA using GPIO1 configuration
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # GPA using GPIO1 is disabled
+      - 1 # GPA using GPIO1
+    default: 0
+
+  ti,in-ch-en:
+    description: Enable Input channel diagnostics for TAC54XX and TAC53XX device.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # Disable input channel diagnostics
+      - 1 # Enable input channel diagnostics
+
+  ti,out-ch-en:
+    description: Enable Output channel diagnostics for TAC54XX and TAC53XX device
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # Disable Output channel diagnostics
+      - 1 # Enable Output channel Diagnostics
+
+  ti,incl-se-inm:
+    description: INxM pin Diagnostics Scan Selection for Single Ended Configuration
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # INxM pin Diagnostics Scan Selection for Single Ended excluded for diagnosis
+      - 1 # INxM pin Diagnostics Scan Selection for Single Ended included for diagnosis
+
+  ti,incl-ac-coup:
+    description: AC coupled channels pins Scan Selection for Diagnostics
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # AC coupled channels pins Scan Selection for Diagnostics exluded for diagnosis
+      - 1 # AC coupled channels pins Scan Selection for Diagnostics included for diagnosis
+
+  ti,micbias-threshold:
+    description: Micbias Low and High threshold values for TAC54XX and TAC53XX series
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    maxItems: 2
+    minItems: 2
+    items:
+      minimum: 72
+      maximum: 162
+
+  ti,gpa-threshold:
+    description: GPA Low and High threshold Values
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    maxItems: 2
+    minItems: 2
+    items:
+      minimum: 75
+      maximum: 186
+
+  ti,adc1-impedance:
+    description: Channel 1 Input Impedance Value
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # 5 kOhm
+      - 1 # 10 kOhm
+      - 2 # 40 kOhm
+    default: 0
+
+  ti,adc2-impedance:
+    description: Channel 2 Input Impedance Value
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # 5 kOhm
+      - 1 # 10 kOhm
+      - 2 # 40 kOhm
+    default: 0
+
+  ti,out2x-vcom-cfg:
+    description: Channel OUT2x VCOM configuration
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum:
+      - 0 # 0.6 * Vref
+      - 1 # AVDD by 2
+    default: 0
+
+required:
+  - compatible
+  - reg
+  - ti,vref
+  - ti,micbias-vg
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      tac5x1x: tac5x1x@52 {
+        compatible = "ti,tac5212";
+        reg = <0x52>;
+        #sound-dai-cells = <0>;
+        avdd-supply = <&vdd_3v3_reg>;
+        iovdd-supply = <&vdd_3v3_reg>;
+        ti,vref = <0>;
+        ti,micbias-vg = <3>;
+        ti,gpi1-func = <0>;
+        ti,gpios-func = <4>, <1>, <0>;
+        ti,gpios-drive = <0>, <0>, <0>;
+        ti,gpa-gpio = <0>;
+        ti,in-ch-en = <1>;
+        ti,out-ch-en = <1>;
+        ti,incl-ac-coup = <0>;
+        ti,incl-se-inm = <0>;
+        ti,gpa-threshold = <75>, <186>;
+      };
+    };
+...
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
  2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
@ 2025-06-26 19:39   ` Rob Herring (Arm)
  2025-06-27  7:48   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2025-06-26 19:39 UTC (permalink / raw)
  To: Niranjan H Y
  Cc: tiwai, alsa-devel, lgirdwood, devicetree, krzk+dt, broonie,
	liam.r.girdwood, andriy.shevchenko, baojun.xu, shenghao-ding,
	linux-sound, v-hampiholi, conor+dt, navada


On Thu, 26 Jun 2025 23:43:31 +0530, Niranjan H Y wrote:
> tac5x1x family are series of low-power and high performance
> mono/stereo audio codecs consists of ADC and DAC combinations.
> The family consist of Codecs(DAC & ADC), ADC only and DAC only
> configurations. The documentation explains the list of devices
> in the family, their power supply configurations and gpio
> configuration options available for various functionality.
> 
> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
> 
> ---
> v2:
> - Document newly added dts entries ti,adc1-impedance,
>   ti,adc2-impedance, ti,out2x-vcom-cfg
> v3:
> - add documentation for ti,pdm-input-pins
> - Update required section
> ---
>  .../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++++++++++++++++++
>  1 file changed, 262 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Warning: Duplicate compatible "ti,taa5412" found in schemas matching "$id":
	http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
	http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
Warning: Duplicate compatible "ti,taa5212" found in schemas matching "$id":
	http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
	http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
Warning: Duplicate compatible "ti,tad5212" found in schemas matching "$id":
	http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
	http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/ti,tac5x1x.example.dtb: tac5x1x@52 (ti,tac5212): ti,gpa-gpio: 0 is not of type 'array'
	from schema $id: http://devicetree.org/schemas/gpio/gpio-consumer.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250626181334.1200-3-niranjan.hy@ti.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
@ 2025-06-27  4:57 Holalu Yogendra, Niranjan
  2025-06-27  5:50 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 6+ messages in thread
From: Holalu Yogendra, Niranjan @ 2025-06-27  4:57 UTC (permalink / raw)
  To: Rob Herring (Arm)
  Cc: tiwai@suse.de, alsa-devel@alsa-project.org, lgirdwood@gmail.com,
	devicetree@vger.kernel.org, krzk+dt@kernel.org,
	broonie@kernel.org, liam.r.girdwood@intel.com,
	andriy.shevchenko@linux.intel.com, Xu, Baojun, Ding, Shenghao,
	linux-sound@vger.kernel.org, Hampiholi, Vallabha,
	conor+dt@kernel.org, Navada Kanyana, Mukund

Thanks for quick review.
> From: Rob Herring (Arm) <robh@kernel.org>
> Sent: Friday, June 27, 2025 1:09 AM
> To: Holalu Yogendra, Niranjan <niranjan.hy@ti.com>
> Subject: Re: [PATCH v3 2/4] dt-bindings: sound: bindings for
> tac5x1x family of codecs
> On Thu, 26 Jun 2025 23:43:31 +0530, Niranjan H Y wrote:
> > Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
...
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> Warning: Duplicate compatible "ti,taa5412" found in schemas matching
> Warning: Duplicate compatible "ti,taa5212" found in schemas matching
> Warning: Duplicate compatible "ti,tad5212" found in schemas matching
The duplicate compatible are already removed as part of the patch series 
in patch [v3,4/4] dt-bindings: sound: device support list for pcm6240 .
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250626181334.1200-5-niranjan.hy@ti.com/
Please let me know if still additional action is required. 

Regards
Niranjan H Y

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
  2025-06-27  4:57 Holalu Yogendra, Niranjan
@ 2025-06-27  5:50 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-27  5:50 UTC (permalink / raw)
  To: Holalu Yogendra, Niranjan, Rob Herring (Arm)
  Cc: tiwai@suse.de, alsa-devel@alsa-project.org, lgirdwood@gmail.com,
	devicetree@vger.kernel.org, krzk+dt@kernel.org,
	broonie@kernel.org, liam.r.girdwood@intel.com,
	andriy.shevchenko@linux.intel.com, Xu, Baojun, Ding, Shenghao,
	linux-sound@vger.kernel.org, Hampiholi, Vallabha,
	conor+dt@kernel.org, Navada Kanyana, Mukund

On 27/06/2025 06:57, Holalu Yogendra, Niranjan wrote:
> Thanks for quick review.
>> From: Rob Herring (Arm) <robh@kernel.org>
>> Sent: Friday, June 27, 2025 1:09 AM
>> To: Holalu Yogendra, Niranjan <niranjan.hy@ti.com>
>> Subject: Re: [PATCH v3 2/4] dt-bindings: sound: bindings for
>> tac5x1x family of codecs
>> On Thu, 26 Jun 2025 23:43:31 +0530, Niranjan H Y wrote:
>>> Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> ...
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> Warning: Duplicate compatible "ti,taa5412" found in schemas matching
>> Warning: Duplicate compatible "ti,taa5212" found in schemas matching
>> Warning: Duplicate compatible "ti,tad5212" found in schemas matching
> The duplicate compatible are already removed as part of the patch series 
> in patch [v3,4/4] dt-bindings: sound: device support list for pcm6240 .
> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250626181334.1200-5-niranjan.hy@ti.com/
> Please let me know if still additional action is required. 

It's impossible to understand what this email references... but I still
think you need to fix your patchset. You have warnings here, don't you?

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
  2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
  2025-06-26 19:39   ` Rob Herring (Arm)
@ 2025-06-27  7:48   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-27  7:48 UTC (permalink / raw)
  To: Niranjan H Y
  Cc: broonie, krzk+dt, conor+dt, andriy.shevchenko, tiwai, alsa-devel,
	baojun.xu, shenghao-ding, liam.r.girdwood, lgirdwood, robh,
	linux-sound, devicetree, navada, v-hampiholi

On Thu, Jun 26, 2025 at 11:43:31PM +0530, Niranjan H Y wrote:
> tac5x1x family are series of low-power and high performance
> mono/stereo audio codecs consists of ADC and DAC combinations.
> The family consist of Codecs(DAC & ADC), ADC only and DAC only
> configurations. The documentation explains the list of devices
> in the family, their power supply configurations and gpio
> configuration options available for various functionality.
> 
> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
> 
> ---
> v2:
> - Document newly added dts entries ti,adc1-impedance,
>   ti,adc2-impedance, ti,out2x-vcom-cfg
> v3:
> - add documentation for ti,pdm-input-pins
> - Update required section
> ---
>  .../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++++++++++++++++++
>  1 file changed, 262 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> new file mode 100644
> index 000000000000..5fea6513f97f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> @@ -0,0 +1,262 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +# Copyright (C) 2025 Texas Instruments Incorporated
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments TAC5X1X Codec
> +
> +description: |
> +  TAC5X1X are series of low-power and high performance mono or stereo
> +  audio codecs, as well as multiple inputs and outputs programmable in
> +  single-ended or fully differential configurations. Device supports both
> +  Microphone and Line In input on ADC Channel. DAC Output can be configured
> +  for either Line Out or Head Phone Load.
> +
> +  The serial control bus supports SPI or I2C protocols, while the serial audio
> +  data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
> +
> +  Specification about the codecs can be found at:
> +    https://www.ti.com/lit/gpn/taa5212
> +    https://www.ti.com/lit/gpn/taa5412-q1
> +    https://www.ti.com/lit/gpn/tac5111
> +    https://www.ti.com/lit/gpn/tac5112
> +    https://www.ti.com/lit/gpn/tac5211
> +    https://www.ti.com/lit/gpn/tac5212
> +    https://www.ti.com/lit/gpn/tac5311-q1
> +    https://www.ti.com/lit/gpn/tac5312-q1
> +    https://www.ti.com/lit/gpn/tac5411-q1
> +    https://www.ti.com/lit/gpn/tac5412-q1
> +    https://www.ti.com/lit/gpn/tad5112
> +    https://www.ti.com/lit/gpn/tad5212
> +
> +maintainers:
> +  - Niranjan H Y <niranjan.hy@ti.com>
> +  - Kevin Lu <kevin-lu@ti.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ti,taa5212
> +      - ti,taa5412
> +      - ti,tac5111
> +      - ti,tac5112
> +      - ti,tac5211
> +      - ti,tac5212
> +      - ti,tac5311
> +      - ti,tac5312
> +      - ti,tac5411
> +      - ti,tac5412
> +      - ti,tad5112
> +      - ti,tad5212
> +
> +  reg:
> +    maxItems: 1
> +
> +  ti,vref:
> +    description: VREF required voltage. If node is omitted then VREF is powered down.
> +    $ref: /schemas/types.yaml#/definitions/uint32

Voltage is in microvolt. Use proper suffix/values.

> +    oneOf:
> +      - const: 0
> +        description: VREF output is powered to 2.75V.
> +      - const: 1
> +        description: VREF output is powered to 2.5V.
> +      - const: 2
> +        description: VREF output is powered to 1.375V.
> +
> +  ti,micbias-vg:
> +    description: MicBias required voltage. If node is omitted then MicBias is powered down.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    oneOf:
> +      - const: 0
> +        description: MICBIAS output is same as the VREF output
> +      - const: 1
> +        description: MICBIAS output is 0.5 times the VREF output
> +      - const: 3
> +        description: MICBIAS output is same as the AVDD
> +
> +  avdd-supply:
> +    description: Analog DAC voltage.
> +
> +  iovdd-supply:
> +    description: I/O voltage.
> +
> +  ti,gpios-func:
> +    description: |
> +      Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
> +      Each integer elemnent in the array represent the following
> +      - 0  TAC5X1X_GPIO_DISABLE        - GPIO is Disabled
> +      - 1  TAC5X1X_GPIO_GPI            - General Purpose Input
> +      - 2  ADC3XXX_GPIO_GPO            - General Purpose Output
> +      - 3  TAC5X1X_GPIO_IRQ            - Chip Interrupt
> +      - 4  TAC5X1X_GPIO_PDMCLK         - PDM CLK Output
> +      - 5  TAC5X1X_GPIO_P_DOUT         - Primary ASI DOUT
> +      - 6  TAC5X1X_GPIO_P_DOUT2        - Primary ASI DOUT2
> +      - 7  TAC5X1X_GPIO_S_DOUT         - Secondary ASI DOUT
> +      - 8  TAC5X1X_GPIO_S_DOUT2        - Secondary ASI DOUT2
> +      - 9  TAC5X1X_GPIO_S_BCLK         - Secondary BCLK Output
> +      - 10 TAC5X1X_GPIO_S_FSYNC       - Secondary FSYNC Output
> +      - 11 TAC5X1X_GPIO_CLKOUT        - General Purpose Output
> +      - 12 TAC5X1X_GPIO_DOUT_MUX
> +      - 13 TAC5X1X_GPIO_DAISY_OUT
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    minItems: 3
> +    maxItems: 3

Don't encode gpios and pins as some custom properties.

> +
> +  ti,gpios-drive:
> +    description: |
> +      Array indicating the GPIO1, GPIO2, GPO1 Driver values
> +      Each number in the array indicate the following driver values.
> +      - 0 # Hi-Z Output
> +      - 1 # Drive active low and active High
> +      - 2 # Drive active low and weak High
> +      - 3 # Drive acive low and Hi-Z
> +      - 4 # Drive weak low and active High
> +      - 5 # Drive Hi-Z and active High
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    minItems: 3
> +    maxItems: 3

Use standard pinctrl bindings.

> +
> +  ti,pdm-input-pins:
> +    description: |
> +      Array indicating the PDM Data Input for "Ch1 & Ch2" and "Ch3 & Ch4"
> +      respectively. Each number in the array indicate the following
> +      - 0 # PDM input disabled
> +      - 1 # PDM input GPIO1
> +      - 2 # PDM input GPIO2
> +      - 3 # PDM input GPI1
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    minItems: 2
> +    maxItems: 2
> +

This is v3, but changelog is scarce, no cover letter, no other lore
references. All this is questionable. Plus the style mixing vendor with
standard properties.


> +  ti,gpi1-func:
> +    description: GPI1 Functionality
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # TAC5X1X_GPIO_DISABLE       - I/O buffers powered down and not used
> +      - 1 # TAC5X1X_GPIO_GPI          - General purpose input
> +    default: 0
> +
> +  '#sound-dai-cells':

Missing ref to dai common. Look at other bindings.

> +    const: 0
> +
> +  clocks:
> +    maxItems: 1
> +
> +  ti,gpa-gpio:

Why this appeared here? Looks like totally random sorting.

First goes compatible, then reg, then standard properties, then vendor
properties. I have few more comments but this binding looks terrible. I
suggest you doing extensive initernal review, before you send next
version.


> +    description: GPA using GPIO1 configuration
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # GPA using GPIO1 is disabled
> +      - 1 # GPA using GPIO1
> +    default: 0
> +
> +  ti,in-ch-en:
> +    description: Enable Input channel diagnostics for TAC54XX and TAC53XX device.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # Disable input channel diagnostics
> +      - 1 # Enable input channel diagnostics
> +
> +  ti,out-ch-en:
> +    description: Enable Output channel diagnostics for TAC54XX and TAC53XX device
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # Disable Output channel diagnostics
> +      - 1 # Enable Output channel Diagnostics
> +
> +  ti,incl-se-inm:
> +    description: INxM pin Diagnostics Scan Selection for Single Ended Configuration
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # INxM pin Diagnostics Scan Selection for Single Ended excluded for diagnosis
> +      - 1 # INxM pin Diagnostics Scan Selection for Single Ended included for diagnosis
> +
> +  ti,incl-ac-coup:
> +    description: AC coupled channels pins Scan Selection for Diagnostics
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # AC coupled channels pins Scan Selection for Diagnostics exluded for diagnosis
> +      - 1 # AC coupled channels pins Scan Selection for Diagnostics included for diagnosis
> +
> +  ti,micbias-threshold:
> +    description: Micbias Low and High threshold values for TAC54XX and TAC53XX series
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    maxItems: 2
> +    minItems: 2
> +    items:
> +      minimum: 72
> +      maximum: 162
> +
> +  ti,gpa-threshold:
> +    description: GPA Low and High threshold Values
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    maxItems: 2
> +    minItems: 2
> +    items:
> +      minimum: 75
> +      maximum: 186
> +
> +  ti,adc1-impedance:
> +    description: Channel 1 Input Impedance Value

Use proper units.

> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # 5 kOhm
> +      - 1 # 10 kOhm
> +      - 2 # 40 kOhm
> +    default: 0
> +
> +  ti,adc2-impedance:
> +    description: Channel 2 Input Impedance Value
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # 5 kOhm
> +      - 1 # 10 kOhm
> +      - 2 # 40 kOhm
> +    default: 0
> +
> +  ti,out2x-vcom-cfg:
> +    description: Channel OUT2x VCOM configuration
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0 # 0.6 * Vref
> +      - 1 # AVDD by 2
> +    default: 0
> +
> +required:
> +  - compatible
> +  - reg
> +  - ti,vref
> +  - ti,micbias-vg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    i2c {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      tac5x1x: tac5x1x@52 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
@ 2025-07-28 10:22 Holalu Yogendra, Niranjan
  0 siblings, 0 replies; 6+ messages in thread
From: Holalu Yogendra, Niranjan @ 2025-07-28 10:22 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: broonie@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	andriy.shevchenko@linux.intel.com, tiwai@suse.de,
	alsa-devel@alsa-project.org, Xu, Baojun, Ding, Shenghao,
	liam.r.girdwood@intel.com, lgirdwood@gmail.com, robh@kernel.org,
	linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
	Navada Kanyana, Mukund, Hampiholi, Vallabha

Hi Krzysztof,

Thanks for the detailed review comments. 
Request you to take a look at comments below. 

On Fri, Jun 27, 2025 at 1:18 PM +0530, Krzysztof Kozlowski wrote:
> On Thu, Jun 26, 2025 at 11:43:31PM +0530, Niranjan H Y wrote:
> > +  ti,vref:
> > +    description: VREF required voltage. If node is omitted then VREF is
> Voltage is in microvolt. Use proper suffix/values.
Is this convention ? Is there any document on these I can refer ?
> 
> > +    oneOf:
> > +      - const: 0
> > +        description: VREF output is powered to 2.75V.
> > +      - const: 1
> > +        description: VREF output is powered to 2.5V.
> > +      - const: 2
> > +        description: VREF output is powered to 1.375V.

> > +  ti,gpios-func:
> > +    description: |
> > +      Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
> > +      Each integer elemnent in the array represent the following
> > +      - 0  TAC5X1X_GPIO_DISABLE        - GPIO is Disabled
> > +      - 1  TAC5X1X_GPIO_GPI            - General Purpose Input
> > +      - 2  ADC3XXX_GPIO_GPO            - General Purpose Output
> > +      - 3  TAC5X1X_GPIO_IRQ            - Chip Interrupt
> > +      - 4  TAC5X1X_GPIO_PDMCLK         - PDM CLK Output
> > +      - 5  TAC5X1X_GPIO_P_DOUT         - Primary ASI DOUT
> > +      - 6  TAC5X1X_GPIO_P_DOUT2        - Primary ASI DOUT2
> > +      - 7  TAC5X1X_GPIO_S_DOUT         - Secondary ASI DOUT
> > +      - 8  TAC5X1X_GPIO_S_DOUT2        - Secondary ASI DOUT2
> > +      - 9  TAC5X1X_GPIO_S_BCLK         - Secondary BCLK Output
> > +      - 10 TAC5X1X_GPIO_S_FSYNC       - Secondary FSYNC Output
> > +      - 11 TAC5X1X_GPIO_CLKOUT        - General Purpose Output
> > +      - 12 TAC5X1X_GPIO_DOUT_MUX
> > +      - 13 TAC5X1X_GPIO_DAISY_OUT
> > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > +    minItems: 3
> > +    maxItems: 3
> 
> Don't encode gpios and pins as some custom properties.
Could you please suggest what is the alternative.
Please suggest some example which I can refer ? 

Regards
Niranjan


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-07-28 10:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-28 10:22 [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Holalu Yogendra, Niranjan
  -- strict thread matches above, loose matches on Subject: below --
2025-06-27  4:57 Holalu Yogendra, Niranjan
2025-06-27  5:50 ` Krzysztof Kozlowski
2025-06-26 18:13 [PATCH v3 0/4] ASoc: tac5x1x: mixer-test report Niranjan H Y
2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
2025-06-26 19:39   ` Rob Herring (Arm)
2025-06-27  7:48   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).