Message ID | 20220414122250.158113-6-clement.leger@bootlin.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | add support for Renesas RZ/N1 ethernet subsystem devices | expand |
On Thu, 14 Apr 2022 14:22:43 +0200, Clément Léger wrote: > Add bindings for Renesas RZ/N1 Advanced 5 port switch. This switch is > present on Renesas RZ/N1 SoC and was probably provided by MoreThanIP. > This company does not exists anymore and has been bought by Synopsys. > Since this IP can't be find anymore in the Synospsy portfolio, lets use > Renesas as the vendor compatible for this IP. > > Signed-off-by: Clément Léger <clement.leger@bootlin.com> > --- > .../bindings/net/dsa/renesas,rzn1-a5psw.yaml | 128 ++++++++++++++++++ > 1 file changed, 128 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.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: schemas/net/dsa/mdio.yaml: ignoring, error parsing file schemas/net/dsa/mdio.yaml: ignoring, error parsing file Traceback (most recent call last): File "/usr/local/bin/dt-validate", line 176, in <module> sg.check_trees(filename, testtree) File "/usr/local/bin/dt-validate", line 123, in check_trees self.check_subtree(dt, subtree, False, "/", "/", filename) File "/usr/local/bin/dt-validate", line 112, in check_subtree self.check_subtree(tree, value, disabled, name, fullname + name, filename) File "/usr/local/bin/dt-validate", line 112, in check_subtree self.check_subtree(tree, value, disabled, name, fullname + name, filename) File "/usr/local/bin/dt-validate", line 107, in check_subtree self.check_node(tree, subtree, disabled, nodename, fullname, filename) File "/usr/local/bin/dt-validate", line 51, in check_node errors = sorted(dtschema.DTValidator(schema).iter_errors(node), key=lambda e: e.linecol) File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 1027, in iter_errors for error in super().iter_errors(instance, _schema): File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py", line 229, in iter_errors for error in errors: File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py", line 332, in properties yield from validator.descend( File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py", line 245, in descend for error in self.evolve(schema=schema).iter_errors(instance): File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 1027, in iter_errors for error in super().iter_errors(instance, _schema): File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py", line 229, in iter_errors for error in errors: File "/usr/local/lib/python3.8/dist-packages/jsonschema/_validators.py", line 298, in ref yield from validator.descend(instance, resolved) File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py", line 245, in descend for error in self.evolve(schema=schema).iter_errors(instance): File "/usr/local/lib/python3.8/dist-packages/dtschema/lib.py", line 1027, in iter_errors for error in super().iter_errors(instance, _schema): File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py", line 219, in iter_errors scope = id_of(_schema) File "/usr/local/lib/python3.8/dist-packages/jsonschema/validators.py", line 96, in _id_of return schema.get("$id", "") AttributeError: 'NoneType' object has no attribute 'get' doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. 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.
Hi Clément, On Thu, Apr 14, 2022 at 2:24 PM Clément Léger <clement.leger@bootlin.com> wrote: > Add bindings for Renesas RZ/N1 Advanced 5 port switch. This switch is > present on Renesas RZ/N1 SoC and was probably provided by MoreThanIP. > This company does not exists anymore and has been bought by Synopsys. > Since this IP can't be find anymore in the Synospsy portfolio, lets use > Renesas as the vendor compatible for this IP. > > Signed-off-by: Clément Léger <clement.leger@bootlin.com> Thanks for your patch! > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml > @@ -0,0 +1,128 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/dsa/renesas,rzn1-a5psw.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Renesas RZ/N1 Advanced 5 ports ethernet switch > + > +maintainers: > + - Clément Léger <clement.leger@bootlin.com> > + > +description: | > + The advanced 5 ports switch is present on the Renesas RZ/N1 SoC family and > + handles 4 ports + 1 CPU management port. > + > +allOf: > + - $ref: dsa.yaml# > + > +properties: > + compatible: > + const: renesas,rzn1-a5psw Please document an SoC-specific compatible value "renesas,r9a06g032-a5psw", too, so we can easily handle differences between members within the RZ/N1 family, if ever needed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Le Wed, 27 Apr 2022 14:20:33 +0200, Geert Uytterhoeven <geert@linux-m68k.org> a écrit : > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml > > @@ -0,0 +1,128 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/dsa/renesas,rzn1-a5psw.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Renesas RZ/N1 Advanced 5 ports ethernet switch > > + > > +maintainers: > > + - Clément Léger <clement.leger@bootlin.com> > > + > > +description: | > > + The advanced 5 ports switch is present on the Renesas RZ/N1 SoC family and > > + handles 4 ports + 1 CPU management port. > > + > > +allOf: > > + - $ref: dsa.yaml# > > + > > +properties: > > + compatible: > > + const: renesas,rzn1-a5psw > > Please document an SoC-specific compatible value > "renesas,r9a06g032-a5psw", too, so we can easily handle differences > between members within the RZ/N1 family, if ever needed. Hi Geert, Thanks, I already did that for the V2 after your first comment on the MII converter bindings ! I'll sent a V2 soon. Clément > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds
diff --git a/Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml b/Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml new file mode 100644 index 000000000000..54e7196a22b0 --- /dev/null +++ b/Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml @@ -0,0 +1,128 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/dsa/renesas,rzn1-a5psw.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas RZ/N1 Advanced 5 ports ethernet switch + +maintainers: + - Clément Léger <clement.leger@bootlin.com> + +description: | + The advanced 5 ports switch is present on the Renesas RZ/N1 SoC family and + handles 4 ports + 1 CPU management port. + +allOf: + - $ref: dsa.yaml# + +properties: + compatible: + const: renesas,rzn1-a5psw + + mdio: + $ref: mdio.yaml# + unevaluatedProperties: false + + clocks: + items: + - description: AHB clock used for the switch register interface + - description: Switch system clock + + clock-names: + items: + - const: hclk + - const: clk + +patternProperties: + "^(ethernet-)?ports$": + type: object + properties: + '#address-cells': + const: 1 + '#size-cells': + const: 0 + + patternProperties: + "^(ethernet-)?port@[0-6]$": + type: object + description: Ethernet switch ports + + properties: + pcs-handle: + description: + phandle pointing to a PCS sub-node compatible with + renesas,rzn1-miic.yaml# + $ref: /schemas/types.yaml#/definitions/phandle + +unevaluatedProperties: false + +required: + - compatible + - reg + - clocks + - clock-names + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/clock/r9a06g032-sysctrl.h> + + switch@44050000 { + compatible = "renesas,rzn1-a5psw"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x44050000 0x10000>; + clocks = <&sysctrl R9A06G032_HCLK_SWITCH>, <&sysctrl R9A06G032_CLK_SWITCH>; + clock-names = "hclk", "clk"; + pinctrl-names = "default"; + pinctrl-0 = <&pins_mdio1>, <&pins_eth3>, <&pins_eth4>; + + dsa,member = <0 0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + label = "lan0"; + phy-handle = <&switch0phy3>; + pcs-handle = <&mii_conv4>; + }; + + port@1 { + reg = <1>; + label = "lan1"; + phy-handle = <&switch0phy1>; + pcs-handle = <&mii_conv3>; + }; + + port@4 { + reg = <4>; + ethernet = <&gmac1>; + label = "cpu"; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + reset-gpios = <&gpio0a 2 GPIO_ACTIVE_HIGH>; + reset-delay-us = <15>; + clock-frequency = <2500000>; + + switch0phy1: ethernet-phy@1{ + reg = <1>; + }; + + switch0phy3: ethernet-phy@3{ + reg = <3>; + }; + }; + };
Add bindings for Renesas RZ/N1 Advanced 5 port switch. This switch is present on Renesas RZ/N1 SoC and was probably provided by MoreThanIP. This company does not exists anymore and has been bought by Synopsys. Since this IP can't be find anymore in the Synospsy portfolio, lets use Renesas as the vendor compatible for this IP. Signed-off-by: Clément Léger <clement.leger@bootlin.com> --- .../bindings/net/dsa/renesas,rzn1-a5psw.yaml | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml