Messages in this thread | | | Date | Thu, 16 Jul 2020 09:46:04 -0600 | From | Rob Herring <> | Subject | Re: [PATCH v6 1/2] dt-bindings: phy: add bcm63xx-usbh bindings |
| |
On Wed, Jul 15, 2020 at 03:18:02PM +0200, Álvaro Fernández Rojas wrote: > Document BCM63xx USBH PHY bindings. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > --- > v6: introduce changes suggested by Rob: > - Add another if case to device tree binding for SoCs with just 1 clock. > - Ignored "additionalProperties: false" suggestion since it triggers a > warning. This has been reported, but I haven't received any answer yet.
Ask your question here or I have to go look for it...
Looks like it is for 'clocks' though. The main schema has to define all the properties for 'additionalProperties: false'. More below...
> v5: no changes. > v4: conditionally require 1/2 clocks and fix clock/reset values. > v3: no changes. > v2: phy-cells changed to 1. > > .../bindings/phy/brcm,bcm63xx-usbh-phy.yaml | 97 +++++++++++++++++++ > 1 file changed, 97 insertions(+) > create mode 100644 Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml > > diff --git a/Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml b/Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml > new file mode 100644 > index 000000000000..8ab0ab3154ed > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/brcm,bcm63xx-usbh-phy.yaml > @@ -0,0 +1,97 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/phy/brcm,bcm63xx-usbh-phy.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: BCM63xx USBH PHY > + > +maintainers: > + - Álvaro Fernández Rojas <noltari@gmail.com> > + > +properties: > + compatible: > + enum: > + - brcm,bcm6318-usbh-phy > + - brcm,bcm6328-usbh-phy > + - brcm,bcm6358-usbh-phy > + - brcm,bcm6362-usbh-phy > + - brcm,bcm6368-usbh-phy > + - brcm,bcm63268-usbh-phy > + > + reg: > + maxItems: 1 > + > + resets: > + maxItems: 1 > + > + "#phy-cells": > + const: 1 > + > +required: > + - compatible > + - reg > + - resets > + - "#phy-cells" > + > +allOf: > + - if: > + properties: > + compatible: > + enum: > + - brcm,bcm6328-usbh-phy > + - brcm,bcm6358-usbh-phy > + - brcm,bcm6362-usbh-phy > + - brcm,bcm6368-usbh-phy > + then: > + properties: > + clocks: > + maxItems: 1 > + clock-names: > + items: > + - const: usbh
With the below changes, this can be:
then: properties: clocks: maxItems: 1 clock-names: maxItems: 1 else: properties: clocks: minItems: 2 clock-names: minItems: 2
> + required: > + - clocks > + - clock-names
Looks like these are always required and can be at the top level.
> + - if: > + properties: > + compatible: > + enum: > + - brcm,bcm6318-usbh-phy > + - brcm,bcm63268-usbh-phy > + then: > + properties: > + clocks: > + maxItems: 2 > + clock-names: > + items: > + - const: usbh > + - const: usb_ref
Move this to the main schema with {minItems: 1, maxItems: 2} for both.
> + required: > + - clocks > + - clock-names > + - if: > + properties: > + compatible: > + enum: > + - brcm,bcm6318-usbh-phy > + - brcm,bcm6328-usbh-phy > + - brcm,bcm6362-usbh-phy > + - brcm,bcm63268-usbh-phy > + then: > + properties: > + power-domains: > + maxItems: 1
This can be in the main section.
> + required: > + - power-domains
And then add to disallow power-domains:
else: properties: power-domains: false
> + > +examples: > + - | > + usbh: usb-phy@10001700 { > + compatible = "brcm,bcm6368-usbh-phy"; > + reg = <0x10001700 0x38>; > + clocks = <&periph_clk 15>; > + clock-names = "usbh"; > + resets = <&periph_rst 12>; > + #phy-cells = <1>; > + }; > -- > 2.27.0 >
| |