RE: [EXTERNAL] Re: [PATCH v4 1/4] ASoC: dt-bindings: move tas2563 from tas2562.yaml to tas2781.yaml

From: Ding, Shenghao
Date: Wed Jan 03 2024 - 10:12:04 EST




> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: Wednesday, January 3, 2024 3:38 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; tiwai@xxxxxxx; Gupta, Peeyush
> <peeyush@xxxxxx>; Navada Kanyana, Mukund <navada@xxxxxx>
> Subject: [EXTERNAL] Re: [PATCH v4 1/4] ASoC: dt-bindings: move tas2563
> from tas2562.yaml to tas2781.yaml
>
> On 28/12/2023 16:30, Shenghao Ding wrote:
> > Move tas2563 from tas2562.yaml to tas2781.yaml to unbind tas2563 from
> > tas2562 driver code and bind it to tas2781 driver code, because
> > tas2563 only work in bypass-DSP mode with tas2562 driver. In order to
> > enable DSP mode for tas2563, it has been moved to tas2781 driver. As
> > to the hardware part, such as register setting and DSP firmware, all
> > these are stored in the binary firmware. What tas2781 drivder dooes is
> > to parse the firmware and download it to the chip, then power on the
> > chip. So, tas2781 driver can be resued as tas2563 driver. Only
> > attention will be paid to downloading corresponding firmware.
> >
> > Signed-off-by: Shenghao Ding <shenghao-ding@xxxxxx>
> >
> > ---
> > Change in v4:
> > - remove tas2563, which will be move to tas2781 driver.
> > - Add more comments on why to move tas2563 to tas2781 driver.
> > - Provide rationale in terms of bindings and hardware, not in terms of
> driver.
> > Or at least not only.
> > - Reorder chip, tas2563 is first, tas2781 is second.
> > - Add datasheet linkings.
> > - squash both tas2562 and tas2781 binding patches.
> > - Put allOf: to the end of the file, after required: block.
> > ---
> > .../devicetree/bindings/sound/tas2562.yaml | 2 -
> > .../devicetree/bindings/sound/ti,tas2781.yaml | 85
> > ++++++++++++++-----
> > 2 files changed, 64 insertions(+), 23 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/sound/tas2562.yaml
> > b/Documentation/devicetree/bindings/sound/tas2562.yaml
> > index f01c0dde0cf7..d28c102c0ce7 100644
> > --- a/Documentation/devicetree/bindings/sound/tas2562.yaml
> > +++ b/Documentation/devicetree/bindings/sound/tas2562.yaml
> > @@ -18,7 +18,6 @@ description: |
> >
> > Specifications about the audio amplifier can be found at:
> > https://www.ti.com/lit/gpn/tas2562
> > - https://www.ti.com/lit/gpn/tas2563
> > https://www.ti.com/lit/gpn/tas2564
> > https://www.ti.com/lit/gpn/tas2110
> >
> > @@ -29,7 +28,6 @@ properties:
> > compatible:
> > enum:
> > - ti,tas2562
> > - - ti,tas2563
> > - ti,tas2564
> > - ti,tas2110
> >
> > diff --git a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> > b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> > index a69e6c223308..78d89008c36f 100644
> > --- a/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> > +++ b/Documentation/devicetree/bindings/sound/ti,tas2781.yaml
> > @@ -5,36 +5,41 @@
> > $id: http://devicetree.org/schemas/sound/ti,tas2781.yaml#
> > $schema: http://devicetree.org/meta-schemas/core.yaml#
> >
> > -title: Texas Instruments TAS2781 SmartAMP
> > +title: Texas Instruments TAS2563/TAS2781 SmartAMP
> >
> > maintainers:
> > - Shenghao Ding <shenghao-ding@xxxxxx>
> >
> > -description:
> > - The TAS2781 is a mono, digital input Class-D audio amplifier
> > - optimized for efficiently driving high peak power into small
> > - loudspeakers. An integrated on-chip DSP supports Texas Instruments
> > - Smart Amp speaker protection algorithm. The integrated speaker
> > - voltage and current sense provides for real time
> > +description: |
> > + The TAS2563/TAS2781 is a mono, digital input Class-D audio
> > + amplifier optimized for efficiently driving high peak power into
> > + small loudspeakers. An integrated on-chip DSP supports Texas
> > + Instruments Smart Amp speaker protection algorithm. The
> > + integrated speaker voltage and current sense provides for real time
> > monitoring of loudspeaker behavior.
> >
> > -allOf:
> > - - $ref: dai-common.yaml#
> > + Specifications about the audio amplifier can be found at:
> > + https://www.ti.com/lit/gpn/tas2563
> > + https://www.ti.com/lit/gpn/tas2781
> >
> > properties:
> > compatible:
> > - enum:
> > - - ti,tas2781
> > -
> > - reg:
> > - description:
> > - I2C address, in multiple tas2781s case, all the i2c address
> > - aggregate as one Audio Device to support multiple audio slots.
> > - maxItems: 8
> > - minItems: 1
> > - items:
> > - minimum: 0x38
> > - maximum: 0x3f
> > + description: |
> > + ti,tas2563: 6.1-W Boosted Class-D Audio Amplifier With Integrated
> > + DSP and IV Sense, 16/20/24/32bit stereo I2S or multichannel TDM.
> > +
> > + ti,tas2781: 24-V Class-D Amplifier with Real Time Integrated Speaker
> > + Protection and Audio Processing, 16/20/24/32bit stereo I2S or
> > + multichannel TDM.
> > + oneOf:
> > + - items:
> > + - enum:
> > + - ti,tas2563
> > + - const: ti,tas2781
> > + - enum:
> > + - ti,tas2781
> > +
> > + reg: true
>
> min/maxItems must stay here
>
> I already reminded this in v3.
How to express maxItems is 4 for tas2563 on the same i2c bus(only 4 different i2c addresses)
and maxItems is 8 for tas2781 on the same i2c bus (8 different i2c addresses) here.
>
>
> Best regards,
> Krzysztof