On Wed, 2020-11-11 at 12:08 +0300, Serge Semin wrote: > There can be three distinctive types of the USB controllers: USB hosts, > USB peripherals/gadgets and USB OTG, which can switch from one role to > another. In order to have that hierarchy handled in the DT binding files, > we need to collect common properties in a common DT schema and specific > properties in dedicated schemas. Seeing the usb-hcd.yaml DT schema is > dedicated for the USB host controllers only, let's move some common > properties from there into the usb.yaml schema. So the later would be > available to evaluate all currently supported types of the USB > controllers. > > While at it add an explicit "additionalProperties: true" into the > usb-hcd.yaml as setting the additionalProperties/unevaluateProperties > properties is going to be get mandatory soon. > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > --- > > Changelog v4: > - This is a new patch created as a result of the comment left > by Chunfeng Yun in v3 > --- > .../devicetree/bindings/usb/usb-hcd.yaml | 14 ++------- > .../devicetree/bindings/usb/usb.yaml | 29 +++++++++++++++++++ > 2 files changed, 32 insertions(+), 11 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/usb.yaml > > diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml > index 7263b7f2b510..81f3ad1419d8 100644 > --- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml > +++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml > @@ -9,18 +9,10 @@ title: Generic USB Host Controller Device Tree Bindings > maintainers: > - Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > -properties: > - $nodename: > - pattern: "^usb(@.*)?" > +allOf: > + - $ref: usb.yaml# > > - phys: > - $ref: /schemas/types.yaml#/definitions/phandle-array > - description: > - List of all the USB PHYs on this HCD > - > - phy-names: > - description: > - Name specifier for the USB PHY > +additionalProperties: true This seems already added by the applied patch 6a0e321ea735 "dt-bindings: Explicitly allow additional properties in common schemas" > > examples: > - | > diff --git a/Documentation/devicetree/bindings/usb/usb.yaml b/Documentation/devicetree/bindings/usb/usb.yaml > new file mode 100644 > index 000000000000..941ad59fbac5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/usb.yaml > @@ -0,0 +1,29 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/usb.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Generic USB Controller Device Tree Bindings > + > +maintainers: > + - Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > + > +select: false > + > +properties: > + $nodename: > + pattern: "^usb(@.*)?" > + > + phys: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + description: > + List of all the USB PHYs on this HCD > + > + phy-names: > + description: > + Name specifier for the USB PHY > + > +additionalProperties: true > + > +...