mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Shenghao Ding <shenghao-ding@ti.com>,
	broonie@kernel.org, conor+dt@kernel.org
Cc: robh+dt@kernel.org, andriy.shevchenko@linux.intel.com,
	kevin-lu@ti.com, baojun.xu@ti.com, devicetree@vger.kernel.org,
	lgirdwood@gmail.com, perex@perex.cz,
	pierre-louis.bossart@linux.intel.com, 13916275206@139.com,
	linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
	liam.r.girdwood@intel.com, soyer@irl.hu, jkhuang3@ti.com,
	tiwai@suse.de, pdjuandi@ti.com, j-mcpherson@ti.com,
	navada@ti.com
Subject: Re: [PATCH v1 4/4] ASoc: dt-bindings: Create yaml file for pcm6240 codec driver
Date: Tue, 23 Jan 2024 12:25:04 +0100	[thread overview]
Message-ID: <92c1a3f3-6b3b-47cb-a4bf-0d20e4af95e5@linaro.org> (raw)
In-Reply-To: <20240123111411.850-4-shenghao-ding@ti.com>

On 23/01/2024 12:14, Shenghao Ding wrote:
> PCM6240 driver implements a flexible and configurable setting for register
> and filter coefficients, to one, two or even multiple PCM6240 Family Audio
> chips.
> 


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

Subject: ASoC
Subject: rewrite to match something similar to other commits.

> 
> ---
> Change in v1:
>  - Create yaml file for pcm6240 codec driver

I don't understand. v1 is the first version. Against what is this change?

> ---
>  .../devicetree/bindings/sound/ti,pcm6240.yaml | 303 ++++++++++++++++++
>  1 file changed, 303 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
> new file mode 100644
> index 000000000000..59fd48aa4445
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
> @@ -0,0 +1,303 @@
> +# 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/Router
> +
> +maintainers:
> +  - Shenghao Ding <shenghao-ding@ti.com>
> +
> +description: |
> +  The PCM6240 Family driver offer a flexible architecture to set the device

Describe hardware, not Linux driver.

> +  number, registers and params for different filters in a bin file.

I don't understand entire sentence in context of hardware.

> +
> +  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-BrownTM 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,pcm1690: 113dB SNR, 24-Bit, 192-kHz Sampling, Enhanced Multi-Level
> +      ?S, Eight-Channel Audio Digital-to-Analog Converter 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-BrownTM 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-BrownTM 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-BrownTM 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 Interface Transceiver (DIX)
> +      With Stereo ADC and Routing.
> +
> +      ti,pcmd3140: Four-channel PDM-input to TDM or I�S output converter.
> +
> +      ti,pcmd3180: Eight-channel pulse-density-modulation input to TDM or
> +      I�S 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.
> +    enum:
> +      - ti,adc3120
> +      - ti,adc5120
> +      - ti,adc6120
> +      - ti,dix4192
> +      - ti,pcm1690
> +      - ti,pcm3120
> +      - ti,pcm3140
> +      - ti,pcm5120
> +      - ti,pcm5140
> +      - ti,pcm6120
> +      - ti,pcm6140
> +      - ti,pcm6240
> +      - ti,pcm6260
> +      - ti,pcm9211
> +      - ti,pcmd3140
> +      - ti,pcmd3180
> +      - ti,pcmd512x
> +      - ti,taa5212
> +      - ti,taa5412
> +      - ti,tad5212
> +      - ti,tad5412

And none of them are compatible with something?

> +
> +  reg:
> +    description:
> +      I2C address, in multiple pcmdevices case, all the i2c address
> +      aggregate as one Audio Device to support multiple audio slots.
> +    maxItems: 4
> +    minItems: 1

minItems, then maxItems.

Please open existing bindings and look how it is done there.


> +
> +  reset-gpios:
> +    maxItems: 1
> +    description:
> +      A GPIO line handling reset of the chip. As the line is active high,
> +      it should be marked GPIO_ACTIVE_HIGH.

Drop description, it's obvious. Or write something useful.

> +
> +  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:
> +        reg:
> +          description:
> +            I2C address, in multiple pcmdevices case, all the i2c address
> +            aggregate as one Audio Device to support multiple audio slots.
> +          maxItems: 4
> +          minItems: 1
> +          items:
> +            minimum: 0x4c
> +            maximum: 0x4f

Why do you repeat the reg constraints? This does not seem needed.

> +        interrupts: false
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,pcm3140
> +              - ti,pcm5140
> +              - ti,pcm6140
> +              - ti,pcmd3180
> +    then:
> +      properties:
> +        reg:
> +          description:
> +            I2C address, in multiple pcmdevices case, all the i2c address
> +            aggregate as one Audio Device to support multiple audio slots.
> +          maxItems: 4
> +          minItems: 1

Drop entire if

> +          items:
> +            minimum: 0x4c
> +            maximum: 0x4f
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,adc3120
> +              - ti,adc5120
> +              - ti,adc6120
> +              - ti,pcm3120
> +              - ti,pcm5120
> +              - ti,pcm6120
> +              - ti,pcmd3140
> +    then:
> +      properties:
> +        reg:
> +          description:
> +            I2C address.

Just drop description, it is obvious.

> +          maxItems: 1
> +          items:
> +            maximum: 0x4e
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,dix4192
> +    then:
> +      properties:
> +        reg:
> +          description:
> +            I2C address, in multiple pcmdevices case, all the i2c address
> +            aggregate as one Audio Device to support multiple audio slots.
> +          maxItems: 4
> +          minItems: 1
> +          items:
> +            minimum: 0x70
> +            maximum: 0x73
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,pcm6240
> +              - ti,pcm6260
> +    then:
> +      properties:
> +        reg:
> +          description:
> +            I2C address, in multiple pcmdevices case, all the i2c address
> +            aggregate as one Audio Device to support multiple audio slots.
> +          maxItems: 4
> +          minItems: 1
> +          items:
> +            minimum: 0x48
> +            maximum: 0x4b
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,pcm9211
> +    then:
> +      properties:
> +        reg:
> +          description:
> +            I2C address, in multiple pcmdevices case, all the i2c address
> +            aggregate as one Audio Device to support multiple audio slots.
> +          maxItems: 4
> +          minItems: 1
> +          items:
> +            minimum: 0x40
> +            maximum: 0x43
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - ti,taa5212
> +              - ti,taa5412
> +              - ti,tad5212
> +              - ti,tad5412
> +    then:
> +      properties:
> +        reg:
> +          description:
> +            I2C address, in multiple pcmdevices case, all the i2c address
> +            aggregate as one Audio Device to support multiple audio slots.
> +          maxItems: 4
> +          minItems: 1
> +          items:
> +            minimum: 0x50
> +            maximum: 0x53
> +additionalProperties: false
> +
> +examples:
> +  - |
> +   #include <dt-bindings/gpio/gpio.h>
> +   i2c {
> +     /* example for two devices with interrupt support */
> +     #address-cells = <1>;
> +     #size-cells = <0>;
> +     two: pcmdevice@48 {

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


> +       compatible = "ti,pcm6240";
> +       reg = <0x48>, /* primary-device */
> +            <0x4b>; /* secondary-device */
> +       #sound-dai-cells = <0>;
> +       reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH >;

Drop redundant spaces.



Best regards,
Krzysztof


  reply	other threads:[~2024-01-23 11:25 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-23 11:14 [PATCH v1 1/4] ASoc: pcm6240: Create pcm6240 codec driver code Shenghao Ding
2024-01-23 11:14 ` [PATCH v1 2/4] ASoc: pcm6240: Create header file for " Shenghao Ding
2024-01-23 11:14 ` [PATCH v1 3/4] ASoc: pcm6240: Add compile item for pcm6240 codec driver Shenghao Ding
2024-01-23 11:25   ` Krzysztof Kozlowski
2024-01-23 19:13     ` Mark Brown
2024-01-23 11:14 ` [PATCH v1 4/4] ASoc: dt-bindings: Create yaml file " Shenghao Ding
2024-01-23 11:25   ` Krzysztof Kozlowski [this message]
2024-01-23 15:01     ` Mark Brown
2024-01-23 15:04       ` Krzysztof Kozlowski
2024-01-24 10:10         ` [EXTERNAL] " Ding, Shenghao
2024-01-25  7:39     ` Ding, Shenghao
2024-01-25  7:50       ` Krzysztof Kozlowski
2024-01-25  8:46         ` Ding, Shenghao
2024-01-25  8:57           ` Krzysztof Kozlowski
2024-01-28 15:11 ` [PATCH v1 1/4] ASoc: pcm6240: Create pcm6240 codec driver code Andy Shevchenko

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=92c1a3f3-6b3b-47cb-a4bf-0d20e4af95e5@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=13916275206@139.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=baojun.xu@ti.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=j-mcpherson@ti.com \
    --cc=jkhuang3@ti.com \
    --cc=kevin-lu@ti.com \
    --cc=lgirdwood@gmail.com \
    --cc=liam.r.girdwood@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=navada@ti.com \
    --cc=pdjuandi@ti.com \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=robh+dt@kernel.org \
    --cc=shenghao-ding@ti.com \
    --cc=soyer@irl.hu \
    --cc=tiwai@suse.de \
    /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

all inboxes | Powered by JetHome®