diff mbox series

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

Message ID 20240203030504.1724-4-shenghao-ding@ti.com (mailing list archive)
State Superseded
Headers show
Series [v3,1/4] ASoc: PCM6240: Create PCM6240 Family driver code | expand

Commit Message

Shenghao Ding Feb. 3, 2024, 3:05 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.

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

---
Change in v3:
 - 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.
---
 .../devicetree/bindings/sound/ti,pcm6240.yaml | 214 ++++++++++++++++++
 1 file changed, 214 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm6240.yaml

Comments

Krzysztof Kozlowski Feb. 6, 2024, 1:52 p.m. UTC | #1
On 03/02/2024 04:05, Shenghao Ding wrote:
> +
> +      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,pcm6260
> +              - ti,pcm6140
> +              - ti,pcm3140
> +              - ti,pcm5140
> +          - const: ti,pcm6240
> +      - items:
> +          - const: ti,dix4192
> +          - const: ti,pcm6240

Why dix4192 is not part of previous enum?

> +      - items:
> +          - const: ti,adc6120
> +          - const: ti,pcmd512x
> +      - items:
> +          - const: ti,pcm1690
> +          - const: ti,pcm9211
> +      - items:
> +          - enum:
> +              - ti,pcmd3180
> +          - const: ti,pcmd3140
> +      - items:
> +          - enum:
> +              - ti,taa5412
> +          - const: ti,taa5212
> +      - items:
> +          - enum:
> +              - ti,tad5412
> +          - const: ti,tad5212
> +      - enum:
> +          - ti,pcm6240
> +          - ti,pcmd3140
> +          - ti,taa5212
> +          - ti,tad5212
> +          - ti,pcmd3180

This one is duplicated.

> +


Best regards,
Krzysztof
Shenghao Ding Feb. 7, 2024, 9:47 a.m. UTC | #2
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Tuesday, February 6, 2024 9:53 PM
> To: Ding, Shenghao <shenghao-ding@ti.com>; broonie@kernel.org;
> conor+dt@kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
> andriy.shevchenko@linux.intel.com; linux-sound@vger.kernel.org;
> liam.r.girdwood@intel.com; lgirdwood@gmail.com; linux-
> kernel@vger.kernel.org
> Cc: Lu, Kevin <kevin-lu@ti.com>; Xu, Baojun <baojun.xu@ti.com>; P O, Vijeth
> <v-po@ti.com>; Navada Kanyana, Mukund <navada@ti.com>;
> perex@perex.cz; McPherson, Jeff <j-mcpherson@ti.com>; pierre-
> louis.bossart@linux.intel.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>
> Subject: [EXTERNAL] Re: [PATCH v3 4/4] ASoc: dt-bindings: PCM6240: Add
> initial DT binding
> 
> On 03/02/2024 04: 05, Shenghao Ding wrote: > + > + ti,tad5212: Low-power
> stereo audio DAC with 120-dB dynamic range. > + oneOf: > + - items: > + -
> enum: > + - ti,adc3120 > + - ti,adc5120 > + - ti,pcm3120 > + - ti,pcm5120
> ZjQcmQRYFpfptBannerStart This message was sent from outside of Texas
> Instruments.
> Do not click links or open attachments unless you recognize the source of
> this email and know the content is safe.
> 
> ZjQcmQRYFpfptBannerEnd
> On 03/02/2024 04:05, Shenghao Ding wrote:
> > +
> > +      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,pcm6260
> > +              - ti,pcm6140
> > +              - ti,pcm3140
> > +              - ti,pcm5140
> > +          - const: ti,pcm6240
> > +      - items:
> > +          - const: ti,dix4192
> > +          - const: ti,pcm6240
> 
> Why dix4192 is not part of previous enum?

dix4192 is not traditional ADC or DAC, but an Integrated Digital Audio Interface 
Receiver and Transmitter, like an audio bridge to connect different digital audio 
protocol, compatible with the AES3, S/PDIF, IEC 60958, and EIAJ CP-1201 
interface standards, Left-Justified, Right-Justified, and Philips I2S™ Data Formats. 
So keep it alone for professional purpose. 

> 
> > +      - items:
> > +          - const: ti,adc6120
> > +          - const: ti,pcmd512x
> > +      - items:
> > +          - const: ti,pcm1690
> > +          - const: ti,pcm9211
> > +      - items:
> > +          - enum:
> > +              - ti,pcmd3180
> > +          - const: ti,pcmd3140
> > +      - items:
> > +          - enum:
> > +              - ti,taa5412
> > +          - const: ti,taa5212
> > +      - items:
> > +          - enum:
> > +              - ti,tad5412
> > +          - const: ti,tad5212
> > +      - enum:
> > +          - ti,pcm6240
> > +          - ti,pcmd3140
> > +          - ti,taa5212
> > +          - ti,tad5212
> > +          - ti,pcmd3180
> 
> This one is duplicated.
accept
> 
> > +
> 
> 
> Best regards,
> Krzysztof
Shenghao Ding Feb. 7, 2024, 9:50 a.m. UTC | #3
> -----Original Message-----
> From: Ding, Shenghao <shenghao-ding@ti.com>
> Sent: Wednesday, February 7, 2024 5:48 PM
> To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>;
> broonie@kernel.org; conor+dt@kernel.org; devicetree@vger.kernel.org;
> robh+dt@kernel.org; andriy.shevchenko@linux.intel.com; linux-
> sound@vger.kernel.org; liam.r.girdwood@intel.com; lgirdwood@gmail.com;
> linux-kernel@vger.kernel.org
> Cc: Lu, Kevin <kevin-lu@ti.com>; Xu, Baojun <baojun.xu@ti.com>; P O, Vijeth
> <v-po@ti.com>; Navada Kanyana, Mukund <navada@ti.com>;
> perex@perex.cz; McPherson, Jeff <j-mcpherson@ti.com>; pierre-
> louis.bossart@linux.intel.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>
> Subject: RE: [EXTERNAL] Re: [PATCH v3 4/4] ASoc: dt-bindings: PCM6240:
> Add initial DT binding
> 
> > -----Original Message----- > From: Krzysztof Kozlowski <krzysztof. 
> > kozlowski@ linaro. org> > Sent: Tuesday, February 6, 2024 9: 53 PM >
> > To: Ding, Shenghao <shenghao-ding@ ti. com>; broonie@ kernel. org; >
> > conor+dt@ kernel. org;
> ZjQcmQRYFpfptBannerStart
> This message was sent from outside of Texas Instruments.
> Do not click links or open attachments unless you recognize the source of
> this email and know the content is safe.
> 
> ZjQcmQRYFpfptBannerEnd
> 
> 
> > -----Original Message-----
> > From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Sent: Tuesday, February 6, 2024 9:53 PM
> > To: Ding, Shenghao <shenghao-ding@ti.com>; broonie@kernel.org;
> > conor+dt@kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
> > andriy.shevchenko@linux.intel.com; linux-sound@vger.kernel.org;
> > liam.r.girdwood@intel.com; lgirdwood@gmail.com; linux-
> > kernel@vger.kernel.org
> > Cc: Lu, Kevin <kevin-lu@ti.com>; Xu, Baojun <baojun.xu@ti.com>; P O,
> > Vijeth <v-po@ti.com>; Navada Kanyana, Mukund <navada@ti.com>;
> > perex@perex.cz; McPherson, Jeff <j-mcpherson@ti.com>; pierre-
> > louis.bossart@linux.intel.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>
> > Subject: [EXTERNAL] Re: [PATCH v3 4/4] ASoc: dt-bindings: PCM6240: Add
> > initial DT binding
> >
> > On 03/02/2024 04: 05, Shenghao Ding wrote: > + > + ti,tad5212:
> > Low-power stereo audio DAC with 120-dB dynamic range. > + oneOf: > + -
> > items: > + -
> > enum: > + - ti,adc3120 > + - ti,adc5120 > + - ti,pcm3120 > + -
> > ti,pcm5120 ZjQcmQRYFpfptBannerStart This message was sent from
> outside
> > of Texas Instruments.
> > Do not click links or open attachments unless you recognize the source
> > of this email and know the content is safe.
> >
> > ZjQcmQRYFpfptBannerEnd
> > On 03/02/2024 04:05, Shenghao Ding wrote:
> > > +
> > > +      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,pcm6260
> > > +              - ti,pcm6140
> > > +              - ti,pcm3140
> > > +              - ti,pcm5140
> > > +          - const: ti,pcm6240
> > > +      - items:
> > > +          - const: ti,dix4192
> > > +          - const: ti,pcm6240
> >
> > Why dix4192 is not part of previous enum?
> 
> dix4192 is not traditional ADC or DAC, but an Integrated Digital Audio
> Interface Receiver and Transmitter, like an audio bridge to connect different
> digital audio protocol, compatible with the AES3, S/PDIF, IEC 60958, and EIAJ
> CP-1201 interface standards, Left-Justified, Right-Justified, and Philips I2S™
> Data Formats.
> So keep it alone for professional purpose.
I will add detail dix4191 description in next patch.
> 
> >
> > > +      - items:
> > > +          - const: ti,adc6120
> > > +          - const: ti,pcmd512x
> > > +      - items:
> > > +          - const: ti,pcm1690
> > > +          - const: ti,pcm9211
> > > +      - items:
> > > +          - enum:
> > > +              - ti,pcmd3180
> > > +          - const: ti,pcmd3140
> > > +      - items:
> > > +          - enum:
> > > +              - ti,taa5412
> > > +          - const: ti,taa5212
> > > +      - items:
> > > +          - enum:
> > > +              - ti,tad5412
> > > +          - const: ti,tad5212
> > > +      - enum:
> > > +          - ti,pcm6240
> > > +          - ti,pcmd3140
> > > +          - ti,taa5212
> > > +          - ti,tad5212
> > > +          - ti,pcmd3180
> >
> > This one is duplicated.
> accept
> >
> > > +
> >
> >
> > Best regards,
> > Krzysztof
Krzysztof Kozlowski Feb. 7, 2024, 9:53 a.m. UTC | #4
On 07/02/2024 10:47, Ding, Shenghao wrote:
> 
> 
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Sent: Tuesday, February 6, 2024 9:53 PM
>> To: Ding, Shenghao <shenghao-ding@ti.com>; broonie@kernel.org;
>> conor+dt@kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
>> andriy.shevchenko@linux.intel.com; linux-sound@vger.kernel.org;
>> liam.r.girdwood@intel.com; lgirdwood@gmail.com; linux-
>> kernel@vger.kernel.org
>> Cc: Lu, Kevin <kevin-lu@ti.com>; Xu, Baojun <baojun.xu@ti.com>; P O, Vijeth
>> <v-po@ti.com>; Navada Kanyana, Mukund <navada@ti.com>;
>> perex@perex.cz; McPherson, Jeff <j-mcpherson@ti.com>; pierre-
>> louis.bossart@linux.intel.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>
>> Subject: [EXTERNAL] Re: [PATCH v3 4/4] ASoc: dt-bindings: PCM6240: Add
>> initial DT binding
>>
>> On 03/02/2024 04: 05, Shenghao Ding wrote: > + > + ti,tad5212: Low-power
>> stereo audio DAC with 120-dB dynamic range. > + oneOf: > + - items: > + -
>> enum: > + - ti,adc3120 > + - ti,adc5120 > + - ti,pcm3120 > + - ti,pcm5120
>> ZjQcmQRYFpfptBannerStart This message was sent from outside of Texas
>> Instruments.
>> Do not click links or open attachments unless you recognize the source of
>> this email and know the content is safe.
>>
>> ZjQcmQRYFpfptBannerEnd
>> On 03/02/2024 04:05, Shenghao Ding wrote:
>>> +
>>> +      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,pcm6260
>>> +              - ti,pcm6140
>>> +              - ti,pcm3140
>>> +              - ti,pcm5140
>>> +          - const: ti,pcm6240
>>> +      - items:
>>> +          - const: ti,dix4192
>>> +          - const: ti,pcm6240
>>
>> Why dix4192 is not part of previous enum?
> 
> dix4192 is not traditional ADC or DAC, but an Integrated Digital Audio Interface 
> Receiver and Transmitter, like an audio bridge to connect different digital audio 
> protocol, compatible with the AES3, S/PDIF, IEC 60958, and EIAJ CP-1201 
> interface standards, Left-Justified, Right-Justified, and Philips I2S™ Data Formats. 
> So keep it alone for professional purpose. 

Hm, it is a bit surprising to see some PCM6240-compatible devices 100%
different from other PCM6240-compatible. PCM6240 is ADC. DIX4192 is not
ADC, not even DAC. How can it be compatible with PCM6240 in such case?

Best regards,
Krzysztof
Shenghao Ding Feb. 7, 2024, 9:57 a.m. UTC | #5
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Wednesday, February 7, 2024 5:53 PM
> To: Ding, Shenghao <shenghao-ding@ti.com>; broonie@kernel.org;
> conor+dt@kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
> andriy.shevchenko@linux.intel.com; linux-sound@vger.kernel.org;
> liam.r.girdwood@intel.com; lgirdwood@gmail.com; linux-
> kernel@vger.kernel.org
> Cc: Lu, Kevin <kevin-lu@ti.com>; Xu, Baojun <baojun.xu@ti.com>; P O, Vijeth
> <v-po@ti.com>; Navada Kanyana, Mukund <navada@ti.com>;
> perex@perex.cz; McPherson, Jeff <j-mcpherson@ti.com>; pierre-
> louis.bossart@linux.intel.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>
> Subject: Re: [EXTERNAL] Re: [PATCH v3 4/4] ASoc: dt-bindings: PCM6240:
> Add initial DT binding
> 
> On 07/02/2024 10: 47, Ding, Shenghao wrote: > > >> -----Original Message---
> -- >> From: Krzysztof Kozlowski <krzysztof. kozlowski@ linaro. org> >> Sent:
> Tuesday, February 6, 2024 9: 53 PM >> To: Ding, Shenghao
> ZjQcmQRYFpfptBannerStart This message was sent from outside of Texas
> Instruments.
> Do not click links or open attachments unless you recognize the source of
> this email and know the content is safe.
> 
> ZjQcmQRYFpfptBannerEnd
> On 07/02/2024 10:47, Ding, Shenghao wrote:
> >
> >
> >> -----Original Message-----
> >> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >> Sent: Tuesday, February 6, 2024 9:53 PM
> >> To: Ding, Shenghao <shenghao-ding@ti.com>; broonie@kernel.org;
> >> conor+dt@kernel.org; devicetree@vger.kernel.org; robh+dt@kernel.org;
> >> andriy.shevchenko@linux.intel.com; linux-sound@vger.kernel.org;
> >> liam.r.girdwood@intel.com; lgirdwood@gmail.com; linux-
> >> kernel@vger.kernel.org
> >> Cc: Lu, Kevin <kevin-lu@ti.com>; Xu, Baojun <baojun.xu@ti.com>; P O,
> >> Vijeth <v-po@ti.com>; Navada Kanyana, Mukund <navada@ti.com>;
> >> perex@perex.cz; McPherson, Jeff <j-mcpherson@ti.com>; pierre-
> >> louis.bossart@linux.intel.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>
> >> Subject: [EXTERNAL] Re: [PATCH v3 4/4] ASoc: dt-bindings: PCM6240:
> >> Add initial DT binding
> >>
> >> On 03/02/2024 04: 05, Shenghao Ding wrote: > + > + ti,tad5212:
> >> Low-power stereo audio DAC with 120-dB dynamic range. > + oneOf: > +
> >> - items: > + -
> >> enum: > + - ti,adc3120 > + - ti,adc5120 > + - ti,pcm3120 > + -
> >> ti,pcm5120 ZjQcmQRYFpfptBannerStart This message was sent from
> >> outside of Texas Instruments.
> >> Do not click links or open attachments unless you recognize the
> >> source of this email and know the content is safe.
> >>
> >> ZjQcmQRYFpfptBannerEnd
> >> On 03/02/2024 04:05, Shenghao Ding wrote:
> >>> +
> >>> +      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,pcm6260
> >>> +              - ti,pcm6140
> >>> +              - ti,pcm3140
> >>> +              - ti,pcm5140
> >>> +          - const: ti,pcm6240
> >>> +      - items:
> >>> +          - const: ti,dix4192
> >>> +          - const: ti,pcm6240
> >>
> >> Why dix4192 is not part of previous enum?
> >
> > dix4192 is not traditional ADC or DAC, but an Integrated Digital Audio
> > Interface Receiver and Transmitter, like an audio bridge to connect
> > different digital audio protocol, compatible with the AES3, S/PDIF,
> > IEC 60958, and EIAJ CP-1201 interface standards, Left-Justified, Right-
> Justified, and Philips I2S™ Data Formats.
> > So keep it alone for professional purpose.
> 
> Hm, it is a bit surprising to see some PCM6240-compatible devices 100%
> different from other PCM6240-compatible. PCM6240 is ADC. DIX4192 is not
> ADC, not even DAC. How can it be compatible with PCM6240 in such case?
> 
They all belong to audio convertor family.
> Best regards,
> Krzysztof
>
Mark Brown Feb. 7, 2024, 10:28 a.m. UTC | #6
On Wed, Feb 07, 2024 at 10:53:28AM +0100, Krzysztof Kozlowski wrote:
> On 07/02/2024 10:47, Ding, Shenghao wrote:

> > dix4192 is not traditional ADC or DAC, but an Integrated Digital Audio Interface 
> > Receiver and Transmitter, like an audio bridge to connect different digital audio 
> > protocol, compatible with the AES3, S/PDIF, IEC 60958, and EIAJ CP-1201 
> > interface standards, Left-Justified, Right-Justified, and Philips I2S™ Data Formats. 
> > So keep it alone for professional purpose. 

> Hm, it is a bit surprising to see some PCM6240-compatible devices 100%
> different from other PCM6240-compatible. PCM6240 is ADC. DIX4192 is not
> ADC, not even DAC. How can it be compatible with PCM6240 in such case?

I don't know about this specific example but many modern CODECs have a
substantial digital component which can usefully be used separately to
the analog components in some system designs, sometimes that's still got
the digital parts of the ADCs/DACs as PDM inputs and outputs are used
but not always even that.  We have some devices that are just pure
S/PDIF bridges in tree already, and the WM8996 is an example of a CODEC
with only PDM.
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..c0f8e8cf1d06
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
@@ -0,0 +1,214 @@ 
+# 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,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 Interface Transceiver (DIX)
+      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,pcm6260
+              - ti,pcm6140
+              - ti,pcm3140
+              - ti,pcm5140
+          - const: ti,pcm6240
+      - items:
+          - const: ti,dix4192
+          - const: ti,pcm6240
+      - items:
+          - const: ti,adc6120
+          - const: ti,pcmd512x
+      - items:
+          - const: ti,pcm1690
+          - const: ti,pcm9211
+      - items:
+          - enum:
+              - ti,pcmd3180
+          - const: ti,pcmd3140
+      - items:
+          - enum:
+              - ti,taa5412
+          - const: ti,taa5212
+      - items:
+          - enum:
+              - ti,tad5412
+          - const: ti,tad5212
+      - enum:
+          - ti,pcm6240
+          - ti,pcmd3140
+          - ti,taa5212
+          - ti,tad5212
+          - ti,pcmd3180
+
+  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
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - ti,adc3120
+              - ti,adc5120
+              - ti,adc6120
+              - ti,pcm3120
+              - ti,pcm5120
+              - ti,pcm6120
+              - ti,pcmd3140
+    then:
+      properties:
+        reg:
+          maxItems: 1
+          items:
+            maximum: 0x4e
+
+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>;
+     };
+   };
+  - |
+   #include <dt-bindings/gpio/gpio.h>
+   i2c {
+     /* example for one device without interrupt support*/
+     #address-cells = <1>;
+     #size-cells = <0>;
+     pcmd3180: audio-codec@4c {
+       compatible = "ti,pcmd3180";
+       reg = <0x4c>;
+       #sound-dai-cells = <0>;
+       reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+     };
+   };
+...