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. Best regards, Krzysztof