Message ID | 1681863018-28006-2-git-send-email-justinpopo6@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Brcm ASP 2.0 Ethernet controller | expand |
On Tue, 18 Apr 2023 17:10:13 -0700, Justin Chen wrote: > From: Florian Fainelli <f.fainelli@gmail.com> > > Add a binding document for the Broadcom ASP 2.0 Ethernet > controller. > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > Signed-off-by: Justin Chen <justinpopo6@gmail.com> > --- > .../devicetree/bindings/net/brcm,asp-v2.0.yaml | 146 +++++++++++++++++++++ > 1 file changed, 146 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.example.dtb: asp@9c00000: mdio@c614:compatible:0: 'brcm,asp-v2.0-mdio' is not one of ['brcm,genet-mdio-v1', 'brcm,genet-mdio-v2', 'brcm,genet-mdio-v3', 'brcm,genet-mdio-v4', 'brcm,genet-mdio-v5', 'brcm,unimac-mdio'] From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.example.dtb: asp@9c00000: mdio@c614: Unevaluated properties are not allowed ('compatible' was unexpected) From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.example.dtb: asp@9c00000: mdio@ce14:compatible:0: 'brcm,asp-v2.0-mdio' is not one of ['brcm,genet-mdio-v1', 'brcm,genet-mdio-v2', 'brcm,genet-mdio-v3', 'brcm,genet-mdio-v4', 'brcm,genet-mdio-v5', 'brcm,unimac-mdio'] From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.example.dtb: asp@9c00000: mdio@ce14: Unevaluated properties are not allowed ('compatible' was unexpected) From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml Documentation/devicetree/bindings/net/brcm,asp-v2.0.example.dtb: /example-0/asp@9c00000/mdio@c614: failed to match any schema with compatible: ['brcm,asp-v2.0-mdio'] Documentation/devicetree/bindings/net/brcm,asp-v2.0.example.dtb: /example-0/asp@9c00000/mdio@ce14: failed to match any schema with compatible: ['brcm,asp-v2.0-mdio'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/1681863018-28006-2-git-send-email-justinpopo6@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 19/04/2023 02:10, Justin Chen wrote: > From: Florian Fainelli <f.fainelli@gmail.com> > > Add a binding document for the Broadcom ASP 2.0 Ethernet > controller. > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > Signed-off-by: Justin Chen <justinpopo6@gmail.com> > --- > .../devicetree/bindings/net/brcm,asp-v2.0.yaml | 146 +++++++++++++++++++++ > 1 file changed, 146 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > > diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > new file mode 100644 > index 000000000000..3817d722244f > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > @@ -0,0 +1,146 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" Drop quotes. > + > +title: Broadcom ASP 2.0 Ethernet controller > + > +maintainers: > + - Justin Chen <justinpopo6@gmail.com> > + - Florian Fainelli <f.fainelli@gmail.com> > + > +description: Broadcom Ethernet controller first introduced with 72165 > + > +properties: > + '#address-cells': > + const: 1 > + '#size-cells': > + const: 1 > + > + compatible: > + enum: > + - brcm,bcm72165-asp-v2.0 > + - brcm,asp-v2.0 > + - brcm,asp-v2.1 Is this part of SoC? If so, then SoC compatibles are preferred, not IP block versions. > + > + reg: > + maxItems: 1 > + description: ASP registers Drop description. > + > + ranges: true > + > + interrupts: > + minItems: 1 > + items: > + - description: RX/TX interrupt > + - description: Port 0 Wake-on-LAN > + - description: Port 1 Wake-on-LAN > + > + clocks: > + $ref: /schemas/types.yaml#/definitions/phandle-array Drop. > + description: Phandle to clock controller Drop. Instead maxItems. > + > + clock-names: > + const: sw_asp Drop entire property. > + > + ethernet-ports: > + type: object > + properties: > + '#address-cells': > + const: 1 > + '#size-cells': > + const: 0 Missing additionalProperties:false. Look at existing bindings how it is done. > + > + patternProperties: > + "^port@[0-9]+$": > + type: object > + > + $ref: ethernet-controller.yaml# > + > + properties: > + reg: > + maxItems: 1 > + description: Port number > + > + channel: > + maxItems: 1 > + description: ASP channel number > + > + required: > + - reg > + - channel > + > +patternProperties: > + "^mdio@[0-9a-f]+$": > + type: object > + $ref: "brcm,unimac-mdio.yaml" > + > + description: > + ASP internal UniMAC MDIO bus > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - ranges > + > +additionalProperties: false > + > +examples: > + - | > + asp@9c00000 { Node names should be generic. https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "brcm,asp-v2.0"; > + reg = <0x9c00000 0x1fff14>; > + interrupts = <0x0 0x33 0x4>; Use proper defines for flags. > + ranges; > + clocks = <&scmi 14>; > + clock-names = "sw_asp"; > + #address-cells = <1>; > + #size-cells = <1>; Best regards, Krzysztof
On Fri, Apr 21, 2023 at 12:29 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 19/04/2023 02:10, Justin Chen wrote: > > From: Florian Fainelli <f.fainelli@gmail.com> > > > > Add a binding document for the Broadcom ASP 2.0 Ethernet > > controller. > > > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > > Signed-off-by: Justin Chen <justinpopo6@gmail.com> > > --- > > .../devicetree/bindings/net/brcm,asp-v2.0.yaml | 146 +++++++++++++++++++++ > > 1 file changed, 146 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > > > > diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > > new file mode 100644 > > index 000000000000..3817d722244f > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > > @@ -0,0 +1,146 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: "http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#" > > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > > Drop quotes. > > > + > > +title: Broadcom ASP 2.0 Ethernet controller > > + > > +maintainers: > > + - Justin Chen <justinpopo6@gmail.com> > > + - Florian Fainelli <f.fainelli@gmail.com> > > + > > +description: Broadcom Ethernet controller first introduced with 72165 > > + > > +properties: > > + '#address-cells': > > + const: 1 > > + '#size-cells': > > + const: 1 > > + > > + compatible: > > + enum: > > + - brcm,bcm72165-asp-v2.0 > > + - brcm,asp-v2.0 > > + - brcm,asp-v2.1 > > Is this part of SoC? If so, then SoC compatibles are preferred, not IP > block versions. We have the same IP on different chips. So no, it isn't tied to a specific SoC. > > > + > > + reg: > > + maxItems: 1 > > + description: ASP registers > > Drop description. > > > + > > + ranges: true > > + > > + interrupts: > > + minItems: 1 > > + items: > > + - description: RX/TX interrupt > > + - description: Port 0 Wake-on-LAN > > + - description: Port 1 Wake-on-LAN > > + > > + clocks: > > + $ref: /schemas/types.yaml#/definitions/phandle-array > > Drop. > > > + description: Phandle to clock controller > > Drop. > > Instead maxItems. > > > + > > + clock-names: > > + const: sw_asp > > Drop entire property. > > > + > > + ethernet-ports: > > + type: object > > + properties: > > + '#address-cells': > > + const: 1 > > + '#size-cells': > > + const: 0 > > Missing additionalProperties:false. Look at existing bindings how it is > done. > > > + > > + patternProperties: > > + "^port@[0-9]+$": > > + type: object > > + > > + $ref: ethernet-controller.yaml# > > + > > + properties: > > + reg: > > + maxItems: 1 > > + description: Port number > > + > > + channel: > > + maxItems: 1 > > + description: ASP channel number > > + > > + required: > > + - reg > > + - channel > > + > > +patternProperties: > > + "^mdio@[0-9a-f]+$": > > + type: object > > + $ref: "brcm,unimac-mdio.yaml" > > + > > + description: > > + ASP internal UniMAC MDIO bus > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - clocks > > + - clock-names > > + - ranges > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + asp@9c00000 { > > Node names should be generic. > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > > > + compatible = "brcm,asp-v2.0"; > > + reg = <0x9c00000 0x1fff14>; > > + interrupts = <0x0 0x33 0x4>; > > Use proper defines for flags. Not understanding this comment. Can you elaborate? Thanks, Justin > > > + ranges; > > + clocks = <&scmi 14>; > > + clock-names = "sw_asp"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > > Best regards, > Krzysztof >
On 4/24/23 11:14, Justin Chen wrote: > On Fri, Apr 21, 2023 at 12:29 AM Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> >> On 19/04/2023 02:10, Justin Chen wrote: >>> From: Florian Fainelli <f.fainelli@gmail.com> >>> >>> Add a binding document for the Broadcom ASP 2.0 Ethernet >>> controller. >>> >>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> >>> Signed-off-by: Justin Chen <justinpopo6@gmail.com> >>> --- >>> .../devicetree/bindings/net/brcm,asp-v2.0.yaml | 146 +++++++++++++++++++++ >>> 1 file changed, 146 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml >>> new file mode 100644 >>> index 000000000000..3817d722244f >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml >>> @@ -0,0 +1,146 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: "http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#" >>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#" >> >> Drop quotes. >> >>> + >>> +title: Broadcom ASP 2.0 Ethernet controller >>> + >>> +maintainers: >>> + - Justin Chen <justinpopo6@gmail.com> >>> + - Florian Fainelli <f.fainelli@gmail.com> >>> + >>> +description: Broadcom Ethernet controller first introduced with 72165 >>> + >>> +properties: >>> + '#address-cells': >>> + const: 1 >>> + '#size-cells': >>> + const: 1 >>> + >>> + compatible: >>> + enum: >>> + - brcm,bcm72165-asp-v2.0 >>> + - brcm,asp-v2.0 >>> + - brcm,asp-v2.1 >> >> Is this part of SoC? If so, then SoC compatibles are preferred, not IP >> block versions. > We have the same IP on different chips. So no, it isn't tied to a specific SoC. > >> >>> + >>> + reg: >>> + maxItems: 1 >>> + description: ASP registers >> >> Drop description. >> >>> + >>> + ranges: true >>> + >>> + interrupts: >>> + minItems: 1 >>> + items: >>> + - description: RX/TX interrupt >>> + - description: Port 0 Wake-on-LAN >>> + - description: Port 1 Wake-on-LAN >>> + >>> + clocks: >>> + $ref: /schemas/types.yaml#/definitions/phandle-array >> >> Drop. >> >>> + description: Phandle to clock controller >> >> Drop. >> >> Instead maxItems. >> >>> + >>> + clock-names: >>> + const: sw_asp >> >> Drop entire property. >> >>> + >>> + ethernet-ports: >>> + type: object >>> + properties: >>> + '#address-cells': >>> + const: 1 >>> + '#size-cells': >>> + const: 0 >> >> Missing additionalProperties:false. Look at existing bindings how it is >> done. >> >>> + >>> + patternProperties: >>> + "^port@[0-9]+$": >>> + type: object >>> + >>> + $ref: ethernet-controller.yaml# >>> + >>> + properties: >>> + reg: >>> + maxItems: 1 >>> + description: Port number >>> + >>> + channel: >>> + maxItems: 1 >>> + description: ASP channel number >>> + >>> + required: >>> + - reg >>> + - channel >>> + >>> +patternProperties: >>> + "^mdio@[0-9a-f]+$": >>> + type: object >>> + $ref: "brcm,unimac-mdio.yaml" >>> + >>> + description: >>> + ASP internal UniMAC MDIO bus >>> + >>> +required: >>> + - compatible >>> + - reg >>> + - interrupts >>> + - clocks >>> + - clock-names >>> + - ranges >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + asp@9c00000 { >> >> Node names should be generic. >> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation >> >>> + compatible = "brcm,asp-v2.0"; >>> + reg = <0x9c00000 0x1fff14>; >>> + interrupts = <0x0 0x33 0x4>; >> >> Use proper defines for flags. > Not understanding this comment. Can you elaborate? I believe Krzysztof would prefer that you use: interrupts = <GIC_SPI 0x33 IRQ_TYPE_LEVEL_HIGH> here, which would require using defined from include/dt-bindings/interrupt-controller/{arm-gic.h,irq.h}
diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml new file mode 100644 index 000000000000..3817d722244f --- /dev/null +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml @@ -0,0 +1,146 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Broadcom ASP 2.0 Ethernet controller + +maintainers: + - Justin Chen <justinpopo6@gmail.com> + - Florian Fainelli <f.fainelli@gmail.com> + +description: Broadcom Ethernet controller first introduced with 72165 + +properties: + '#address-cells': + const: 1 + '#size-cells': + const: 1 + + compatible: + enum: + - brcm,bcm72165-asp-v2.0 + - brcm,asp-v2.0 + - brcm,asp-v2.1 + + reg: + maxItems: 1 + description: ASP registers + + ranges: true + + interrupts: + minItems: 1 + items: + - description: RX/TX interrupt + - description: Port 0 Wake-on-LAN + - description: Port 1 Wake-on-LAN + + clocks: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: Phandle to clock controller + + clock-names: + const: sw_asp + + ethernet-ports: + type: object + properties: + '#address-cells': + const: 1 + '#size-cells': + const: 0 + + patternProperties: + "^port@[0-9]+$": + type: object + + $ref: ethernet-controller.yaml# + + properties: + reg: + maxItems: 1 + description: Port number + + channel: + maxItems: 1 + description: ASP channel number + + required: + - reg + - channel + +patternProperties: + "^mdio@[0-9a-f]+$": + type: object + $ref: "brcm,unimac-mdio.yaml" + + description: + ASP internal UniMAC MDIO bus + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - ranges + +additionalProperties: false + +examples: + - | + asp@9c00000 { + compatible = "brcm,asp-v2.0"; + reg = <0x9c00000 0x1fff14>; + interrupts = <0x0 0x33 0x4>; + ranges; + clocks = <&scmi 14>; + clock-names = "sw_asp"; + #address-cells = <1>; + #size-cells = <1>; + + mdio@c614 { + compatible = "brcm,asp-v2.0-mdio"; + reg = <0xc614 0x8>; + reg-names = "mdio"; + #address-cells = <1>; + #size-cells = <0>; + + phy0: ethernet-phy@1 { + reg = <1>; + }; + }; + + mdio@ce14 { + compatible = "brcm,asp-v2.0-mdio"; + reg = <0xce14 0x8>; + reg-names = "mdio"; + #address-cells = <1>; + #size-cells = <0>; + + phy1: ethernet-phy@1 { + reg = <1>; + }; + }; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + channel = <8>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + + port@1 { + reg = <1>; + channel = <9>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + }; + }; + };