Messages in this thread | | | Date | Tue, 16 Mar 2021 16:19:34 -0600 | From | Rob Herring <> | Subject | Re: [PATCH robh next] dt-bindings: usb: add USB controller port |
| |
On Tue, Mar 09, 2021 at 01:13:11PM +0100, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > USB bindings already allow specifying USB device hard wired to a > specific controller port but they don't allow describing port on its > own. > > This fixes: > arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml: usb@23000: port@1: 'compatible' is a required property > From schema: Documentation/devicetree/bindings/usb/generic-xhci.yaml > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > Please check if I got the $nodename part right. Somehow I don't see any > errors / warnings when using: > > something@1 { > reg = <1>; > };
$nodename may not work in child nodes of a schema.
> --- > .../devicetree/bindings/usb/usb-hcd.yaml | 4 +- > .../devicetree/bindings/usb/usb-port.yaml | 39 +++++++++++++++++++ > 2 files changed, 42 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/usb/usb-port.yaml > > diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml > index 56853c17af66..b0c6a79cad57 100644 > --- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml > +++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml > @@ -33,7 +33,9 @@ patternProperties: > "^.*@[0-9a-f]{1,2}$": > description: The hard wired USB devices > type: object > - $ref: /usb/usb-device.yaml > + oneOf: > + - $ref: /usb/usb-port.yaml > + - $ref: /usb/usb-device.yaml > > additionalProperties: true > > diff --git a/Documentation/devicetree/bindings/usb/usb-port.yaml b/Documentation/devicetree/bindings/usb/usb-port.yaml > new file mode 100644 > index 000000000000..68fe16c8703e > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/usb-port.yaml > @@ -0,0 +1,39 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/usb-port.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: USB port on USB controller > + > +maintainers: > + - Rafał Miłecki <rafal@milecki.pl> > + > +description: | > + This binding describes a single USB controller port that doesn't have any > + device hard wired. > + > +properties: > + $nodename: > + pattern: "^port@[0-9a-f]{1,2}$"
Unfortunately, 'port' is used elsewhere, so this would be applied any node that matches. That's not really a problem as this is simple enough, but then what does it buy us?
I'd be fine just dropping 'compatible' as required in usb-device.yaml.
> + > + reg: > + description: number of USB controller port > + maxItems: 1 > + > +required: > + - reg > + > +additionalProperties: true > + > +examples: > + - | > + usb@11270000 { > + reg = <0x11270000 0x1000>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + reg = <1>; > + }; > + }; > -- > 2.26.2 >
| |