On 17/09/2023 17:26, Abdel Alkuor wrote: > From: Abdel Alkuor <abdelalkuor@xxxxxxxxxx> > > TPS25750 is USB TypeC PD controller which is a subset of TPS6598x. > > Signed-off-by: Abdel Alkuor <abdelalkuor@xxxxxxxxxx> > --- > .../devicetree/bindings/usb/ti,tps6598x.yaml | 70 +++++++++++++++++++ > 1 file changed, 70 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml b/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml > index 5497a60cddbc..e49bd92b5276 100644 > --- a/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml > +++ b/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml > @@ -20,6 +20,8 @@ properties: > enum: > - ti,tps6598x > - apple,cd321x > + - ti,tps25750 > + > reg: > maxItems: 1 > > @@ -32,10 +34,45 @@ properties: > items: > - const: irq > > + firmware-name: > + description: | > + Should contain the name of the default patch binary > + file located on the firmware search path which is > + used to switch the controller into APP mode. > + This is used when tps25750 doesn't have an EEPROM > + connected to it. > + maxItems: 1 > + > + ti,patch-address: > + description: | > + One of PBMs command data field is I2C slave address > + which is used when writing the patch for TPS25750. > + The slave address can be any value except 0x00, 0x20, > + 0x21, 0x22, and 0x23 Why this cannot be another entry in the reg? > + $ref: /schemas/types.yaml#/definitions/uint8 > + minimum: 1 > + maximum: 0x7e > + > required: > - compatible > - reg > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: ti,tps25750 > + then: > + required: > + - ti,patch-address > + - connector Why? Connector should be required or not required for both devices. What is different between them? Best regards, Krzysztof