diff mbox series

[v7,4/4] ASoc: dt-bindings: PCM6240: Add initial DT binding

Message ID 20240331021835.1470-5-shenghao-ding@ti.com (mailing list archive)
State Accepted
Commit cee56a8e9cf89fd690e18eb2e6f09d3f8a6442fb
Headers show
Series mixer-test report | expand

Commit Message

Shenghao Ding March 31, 2024, 2:18 a.m. UTC
PCM6240 family chips are popular among audio customers, in spite of only a
portion of the functionality of codec, such as ADC or DAC, and so on, for
different Specifications, range from Personal Electric to Automotive
Electric, even some professional fields. Yet their audio performance is far
superior to the codec's, and cost is lower than codec, and much easier to
program than codec.

Reviewed-by: Rob Herring <robh@kernel.org>

Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>

---
Change in v7:
 - Rewrite the subject to match something similar to other commits.
 - And none of them are compatible with something.
 - minItems, then maxItems.
 - Drop reset-gpios description
 - Remove the repeated reg descriptions and reg constraints.
 - Drop redundant spaces.
 - Add missing line breaks between blocks and additionalProperties.
 - Correct compatibility issue on adc6120 and pcm6240.
 - All these chips have only a portion of the functionality of codec,
   such as ADC or DAC, and so on, but their audio performance is far
   superior to the codec's, and cost is lower than codec, and much easier
   to program than codec. Simply one or two register settings can enable
   them to work. Init for these chips are hardware reset or software reset.
   As to some audio filter params for internal filters, it is up to the
   special user cases, which can be saved into the bin file. The default
   value also can work well.
 - Add blank line before reg.
 - remove unneeded items and if branches.
 - Add missing compatible devices, such as adc6120, etc.
 - Add necessary people into the list for DTS review
 - correct misaligned.
 - simplify the compatibility
 - remove sound-name-prefix and revert back
 - Add review information
---
 .../devicetree/bindings/sound/ti,pcm6240.yaml | 177 ++++++++++++++++++
 1 file changed, 177 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm6240.yaml

Comments

Krzysztof Kozlowski March 31, 2024, 8:15 a.m. UTC | #1
On 31/03/2024 04:18, Shenghao Ding wrote:
> PCM6240 family chips are popular among audio customers, in spite of only a
> portion of the functionality of codec, such as ADC or DAC, and so on, for
> different Specifications, range from Personal Electric to Automotive
> Electric, even some professional fields. Yet their audio performance is far
> superior to the codec's, and cost is lower than codec, and much easier to
> program than codec.
> 
> Reviewed-by: Rob Herring <robh@kernel.org>
> 
> Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
> 
> ---
> Change in v7:
>  - Rewrite the subject to match something similar to other commits.
>  - And none of them are compatible with something.
>  - minItems, then maxItems.
>  - Drop reset-gpios description
>  - Remove the repeated reg descriptions and reg constraints.
>  - Drop redundant spaces.
>  - Add missing line breaks between blocks and additionalProperties.
>  - Correct compatibility issue on adc6120 and pcm6240.
>  - All these chips have only a portion of the functionality of codec,
>    such as ADC or DAC, and so on, but their audio performance is far
>    superior to the codec's, and cost is lower than codec, and much easier
>    to program than codec. Simply one or two register settings can enable
>    them to work. Init for these chips are hardware reset or software reset.
>    As to some audio filter params for internal filters, it is up to the
>    special user cases, which can be saved into the bin file. The default
>    value also can work well.
>  - Add blank line before reg.
>  - remove unneeded items and if branches.
>  - Add missing compatible devices, such as adc6120, etc.
>  - Add necessary people into the list for DTS review
>  - correct misaligned.
>  - simplify the compatibility
>  - remove sound-name-prefix and revert back
>  - Add review information

All these changes in v7 and you still kept Rob's review? I think either
review was not given or your changelog is just incorrect.



Best regards,
Krzysztof
Shenghao Ding March 31, 2024, 1:20 p.m. UTC | #2
Hi Krzysztof
Answer inline
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Sunday, March 31, 2024 4:15 PM
> To: Ding, Shenghao <shenghao-ding@ti.com>; linux-kernel@vger.kernel.org
> Cc: lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; linux-
> sound@vger.kernel.org; devicetree@vger.kernel.org; perex@perex.cz;
> tiwai@suse.com; 13916275206@139.com; Chawla, Mohit
> <mohit.chawla@ti.com>; soyer@irl.hu; Huang, Jonathan
> <jkhuang3@ti.com>; tiwai@suse.de; Djuandi, Peter <pdjuandi@ti.com>;
> Agrawal, Manisha <manisha.agrawal@ti.com>; Hari, Raj <s-hari@ti.com>;
> Yashar, Avi <aviel@ti.com>; Nagalla, Hari <hnagalla@ti.com>; Bajjuri,
> Praneeth <praneeth@ti.com>; Baojun.Xu@fpt.com; Rob Herring
> <robh@kernel.org>
> Subject: [EXTERNAL] Re: [PATCH v7 4/4] ASoc: dt-bindings: PCM6240: Add
> initial DT binding
> 
.............................
> >  - remove unneeded items and if branches.
> >  - Add missing compatible devices, such as adc6120, etc.
> >  - Add necessary people into the list for DTS review
> >  - correct misaligned.
> >  - simplify the compatibility
> >  - remove sound-name-prefix and revert back
> >  - Add review information
> 
> All these changes in v7 and you still kept Rob's review? I think either review
> was not given or your changelog is just incorrect.
Since Rob's review, nothing changed in yaml. Even in this patch, only removed kcontrol interfaces
in the code and added the mixer-test report in cover-letter as Mark suggested, which is no effect
on yaml file.
> 
> 
> 
> Best regards,
> Krzysztof
Krzysztof Kozlowski March 31, 2024, 7:42 p.m. UTC | #3
On 31/03/2024 15:20, Ding, Shenghao wrote:
> Hi Krzysztof
> Answer inline
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Sent: Sunday, March 31, 2024 4:15 PM
>> To: Ding, Shenghao <shenghao-ding@ti.com>; linux-kernel@vger.kernel.org
>> Cc: lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org;
>> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; linux-
>> sound@vger.kernel.org; devicetree@vger.kernel.org; perex@perex.cz;
>> tiwai@suse.com; 13916275206@139.com; Chawla, Mohit
>> <mohit.chawla@ti.com>; soyer@irl.hu; Huang, Jonathan
>> <jkhuang3@ti.com>; tiwai@suse.de; Djuandi, Peter <pdjuandi@ti.com>;
>> Agrawal, Manisha <manisha.agrawal@ti.com>; Hari, Raj <s-hari@ti.com>;
>> Yashar, Avi <aviel@ti.com>; Nagalla, Hari <hnagalla@ti.com>; Bajjuri,
>> Praneeth <praneeth@ti.com>; Baojun.Xu@fpt.com; Rob Herring
>> <robh@kernel.org>
>> Subject: [EXTERNAL] Re: [PATCH v7 4/4] ASoc: dt-bindings: PCM6240: Add
>> initial DT binding
>>
> .............................
>>>  - remove unneeded items and if branches.
>>>  - Add missing compatible devices, such as adc6120, etc.
>>>  - Add necessary people into the list for DTS review
>>>  - correct misaligned.
>>>  - simplify the compatibility
>>>  - remove sound-name-prefix and revert back
>>>  - Add review information
>>
>> All these changes in v7 and you still kept Rob's review? I think either review
>> was not given or your changelog is just incorrect.
> Since Rob's review, nothing changed in yaml. Even in this patch, only removed kcontrol interfaces
> in the code and added the mixer-test report in cover-letter as Mark suggested, which is no effect
> on yaml file.

Then for the future, please use some reasonable format of changelog, e.g.:
https://lore.kernel.org/all/20240210-topic-8280_pcie-v3-0-ee7af6f892a0@linaro.org/

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
new file mode 100644
index 000000000000..dd5b08e3d7a1
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
@@ -0,0 +1,177 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 - 2024 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments PCM6240 Family Audio ADC/DAC
+
+maintainers:
+  - Shenghao Ding <shenghao-ding@ti.com>
+
+description: |
+  The PCM6240 Family is a big family of Audio ADC/DAC for
+  different Specifications, range from Personal Electric
+  to Automotive Electric, even some professional fields.
+
+  Specifications about the audio chip can be found at:
+    https://www.ti.com/lit/gpn/tlv320adc3120
+    https://www.ti.com/lit/gpn/tlv320adc5120
+    https://www.ti.com/lit/gpn/tlv320adc6120
+    https://www.ti.com/lit/gpn/dix4192
+    https://www.ti.com/lit/gpn/pcm1690
+    https://www.ti.com/lit/gpn/pcm3120-q1
+    https://www.ti.com/lit/gpn/pcm3140-q1
+    https://www.ti.com/lit/gpn/pcm5120-q1
+    https://www.ti.com/lit/gpn/pcm6120-q1
+    https://www.ti.com/lit/gpn/pcm6260-q1
+    https://www.ti.com/lit/gpn/pcm9211
+    https://www.ti.com/lit/gpn/pcmd3140
+    https://www.ti.com/lit/gpn/pcmd3180
+    https://www.ti.com/lit/gpn/taa5212
+    https://www.ti.com/lit/gpn/tad5212
+
+properties:
+  compatible:
+    description: |
+      ti,adc3120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
+      digital converter (ADC) with 106-dB SNR.
+
+      ti,adc5120: 2-Channel, 768-kHz, Burr-Brown™ Audio ADC with 120-dB SNR.
+
+      ti,adc6120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
+      digital converter (ADC) with 123-dB SNR.
+
+      ti,dix4192: 216-kHz digital audio converter with Quad-Channel In
+      and One-Channel Out.
+
+      ti,pcm1690: Automotive Catalog 113dB SNR 8-Channel Audio DAC with
+      Differential Outputs.
+
+      ti,pcm3120: Automotive, stereo, 106-dB SNR, 768-kHz, low-power
+      software-controlled audio ADC.
+
+      ti,pcm3140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
+      with 106-dB SNR.
+
+      ti,pcm5120: Automotive, stereo, 120-dB SNR, 768-kHz, low-power
+      software-controlled audio ADC.
+
+      ti,pcm5140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
+      with 120-dB SNR.
+
+      ti,pcm6120: Automotive, stereo, 123-dB SNR, 768-kHz, low-power
+      software-controlled audio ADC.
+
+      ti,pcm6140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
+      with 123-dB SNR.
+
+      ti,pcm6240: Automotive 4-ch audio ADC with integrated programmable mic
+      bias, boost and input diagnostics.
+
+      ti,pcm6260: Automotive 6-ch audio ADC with integrated programmable mic
+      bias, boost and input diagnostics.
+
+      ti,pcm9211: 216-kHz digital audio converter With Stereo ADC and
+      Routing.
+
+      ti,pcmd3140: Four-channel PDM-input to TDM or I2S output converter.
+
+      ti,pcmd3180: Eight-channel pulse-density-modulation input to TDM or
+      I2S output converter.
+
+      ti,taa5212: Low-power high-performance stereo audio ADC with 118-dB
+      dynamic range.
+
+      ti,tad5212: Low-power stereo audio DAC with 120-dB dynamic range.
+    oneOf:
+      - items:
+          - enum:
+              - ti,adc3120
+              - ti,adc5120
+              - ti,pcm3120
+              - ti,pcm5120
+              - ti,pcm6120
+          - const: ti,adc6120
+      - items:
+          - enum:
+              - ti,pcmd512x
+              - ti,pcm9211
+              - ti,taa5212
+              - ti,tad5212
+          - const: ti,adc6120
+      - items:
+          - enum:
+              - ti,pcm3140
+              - ti,pcm5140
+              - ti,dix4192
+              - ti,pcm6140
+              - ti,pcm6260
+          - const: ti,pcm6240
+      - items:
+          - enum:
+              - ti,pcmd3140
+              - ti,pcmd3180
+              - ti,pcm1690
+              - ti,taa5412
+              - ti,tad5412
+          - const: ti,pcm6240
+      - enum:
+          - ti,adc6120
+          - ti,pcm6240
+
+  reg:
+    description:
+      I2C address, in multiple pcmdevices case, all the i2c address
+      aggregate as one Audio Device to support multiple audio slots.
+    minItems: 1
+    maxItems: 4
+
+  reset-gpios:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+    description:
+      Invalid only for ti,pcm1690 because of no INT pin.
+
+  '#sound-dai-cells':
+    const: 0
+
+required:
+  - compatible
+  - reg
+
+allOf:
+  - $ref: dai-common.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - ti,pcm1690
+    then:
+      properties:
+        interrupts: false
+
+additionalProperties: false
+
+examples:
+  - |
+   #include <dt-bindings/gpio/gpio.h>
+   i2c {
+     /* example for two devices with interrupt support */
+     #address-cells = <1>;
+     #size-cells = <0>;
+     pcm6240: audio-codec@48 {
+       compatible = "ti,pcm6240";
+       reg = <0x48>, /* primary-device */
+             <0x4b>; /* secondary-device */
+       #sound-dai-cells = <0>;
+       reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+       interrupt-parent = <&gpio1>;
+       interrupts = <15>;
+     };
+   };
+...