On Tue, Dec 05, 2023 at 11:01:13AM +0800, Kyle Tso wrote: > Commit 662a60102c12 ("usb: typec: Separate USB Power Delivery from USB > Type-C") allows userspace to configure the PD of a port by selecting > different set of predefined PD capabilities. Define the PD capability > sets in DT for better configurability in device modules. > > Define an optional child node "capabilities" to contain multiple USB > Power Delivery capabilities. > > Define child nodes with pattern (e.g. caps-0, caps-1) under > "capabilities". Each node contains PDO data of a selectable Power > Delivery capability. > > Also define common properties for source-pdos, sink-pdos, and > op-sink-microwatt that can be referenced. > > Signed-off-by: Kyle Tso <kyletso@xxxxxxxxxx> > --- > v4 -> v5: > - Fixed DT_CHECK errors > > .../bindings/connector/usb-connector.yaml | 88 +++++++++++++------ > 1 file changed, 59 insertions(+), 29 deletions(-) > > diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml > index 7c8a3e8430d3..7945d09d1f59 100644 > --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml > +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml > @@ -14,6 +14,8 @@ description: > of a USB interface controller or a separate node when it is attached to both > MUX and USB interface controller. > > +$ref: "#/$defs/capabilities" > + > properties: > compatible: > oneOf: > @@ -67,6 +69,15 @@ properties: > model it as a regulator. See bindings/regulator/fixed-regulator.yaml > > # The following are optional properties for "usb-c-connector". > + source-pdos: > + $ref: "#/$defs/capabilities/properties/source-pdos" > + > + sink-pdos: > + $ref: "#/$defs/capabilities/properties/sink-pdos" > + > + op-sink-microwatt: > + $ref: "#/$defs/capabilities/properties/op-sink-microwatt" With the $ref above, these aren't needed. But you have to use unevaluatedProperties instead of additionalProperties. I fixed this up and applied. Rob