RE: [EXTERNAL] Re: [PATCH v1 4/4] ASoc: dt-bindings: Create yaml file for pcm6240 codec driver

From: Ding, Shenghao
Date: Thu Jan 25 2024 - 02:41:29 EST




> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: Tuesday, January 23, 2024 7:25 PM
> To: Ding, Shenghao <shenghao-ding@xxxxxx>; broonie@xxxxxxxxxx;
> conor+dt@xxxxxxxxxx
> Cc: robh+dt@xxxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx; Lu, Kevin
> <kevin-lu@xxxxxx>; Xu, Baojun <baojun.xu@xxxxxx>;
> devicetree@xxxxxxxxxxxxxxx; lgirdwood@xxxxxxxxx; perex@xxxxxxxx;
> pierre-louis.bossart@xxxxxxxxxxxxxxx; 13916275206@xxxxxxx; linux-
> sound@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> liam.r.girdwood@xxxxxxxxx; soyer@xxxxxx; Huang, Jonathan
> <jkhuang3@xxxxxx>; tiwai@xxxxxxx; Djuandi, Peter <pdjuandi@xxxxxx>;
> McPherson, Jeff <j-mcpherson@xxxxxx>; Navada Kanyana, Mukund
> <navada@xxxxxx>
> Subject: [EXTERNAL] Re: [PATCH v1 4/4] ASoc: dt-bindings: Create yaml file
> for pcm6240 codec driver
>
> 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 ZjQcmQRYFpfptBannerStart This Message Is From an External
> Sender This message came from outside your organization.
>
> ZjQcmQRYFpfptBannerEnd
> 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@xxxxxx>
>
> 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:
> > +https://urldefense.com/v3/__http://devicetree.org/schemas/sound/ti,pc
> > +m6240.yaml*__;Iw!!G3vK!QZhdCaAh-suxnL97gv8Mo9tJ-
> fyaOPhGTFhz_k3OChSZUx
> > +mcQn32yvufRdtd0iMVyU68kXV-mSkyrVHRCzlwdqtrvfRV$
> > +$schema:
> > +https://urldefense.com/v3/__http://devicetree.org/meta-
> schemas/core.y
> > +aml*__;Iw!!G3vK!QZhdCaAh-suxnL97gv8Mo9tJ-
> fyaOPhGTFhz_k3OChSZUxmcQn32y
> > +vufRdtd0iMVyU68kXV-mSkyrVHRCzlwdo9WSaIa$
> > +
> > +title: Texas Instruments PCM6240 Family Audio ADC/DAC/Router
> > +
> > +maintainers:
> > + - Shenghao Ding <shenghao-ding@xxxxxx>
> > +
> > +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
How to convey ti,pcm1690 does not support interrupt, and others support if I remove this if
>
> > + items:
> > + minimum: 0x4c
> > + maximum: 0x4f
> > +

BR
Shenghao Ding