Message ID | 321e3b1a7dfca81f3ffae03b11099e8efeef92fa.1636620754.git.wells.lu@sunplus.com (mailing list archive) |
---|---|
State | Deferred |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | This is a patch series for pinctrl driver for Sunplus SP7021 SoC. | expand |
On Thu, 11 Nov 2021 17:04:20 +0800, Wells Lu wrote: > Add bindings documentation for Sunplus SP7021. > > Signed-off-by: Wells Lu <wells.lu@sunplus.com> > --- > Changes in V2 > - Added mdio and phy sub-nodes. > > .../bindings/net/sunplus,sp7021-emac.yaml | 152 +++++++++++++++++++++ > MAINTAINERS | 7 + > 2 files changed, 159 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/sunplus,sp7021-emac.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: ./Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml:94:12: [warning] wrong indentation: expected 10 but found 11 (indentation) dtschema/dtc warnings/errors: doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/1553831 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.
> +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + emac: emac@9c108000 { > + compatible = "sunplus,sp7021-emac"; > + reg = <0x9c108000 0x400>, <0x9c000280 0x80>; > + reg-names = "emac", "moon5"; > + interrupt-parent = <&intc>; > + interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clkc 0xa7>; > + resets = <&rstc 0x97>; > + phy-handle1 = <ð_phy0>; > + phy-handle2 = <ð_phy1>; > + pinctrl-0 = <&emac_demo_board_v3_pins>; > + pinctrl-names = "default"; > + nvmem-cells = <&mac_addr0>, <&mac_addr1>; > + nvmem-cell-names = "mac_addr0", "mac_addr1"; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + eth_phy0: ethernet-phy@0 { > + reg = <0>; > + phy-mode = "rmii"; This is in the wrong place. It is a MAC property. You usually put it next to phy-handle. > + }; > + eth_phy1: ethernet-phy@1 { > + reg = <1>; > + phy-mode = "rmii"; > + }; > + }; I would suggest you structure this differently to make it clear it is a two port switch: ethernet-ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; phy-handle = <ð_phy0>; phy-mode = "rmii"; } port@1 { reg = <1>; phy-handle = <ð_phy1>; phy-mode = "rmii"; } } Andrew
Hi, > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + emac: emac@9c108000 { > > + compatible = "sunplus,sp7021-emac"; > > + reg = <0x9c108000 0x400>, <0x9c000280 0x80>; > > + reg-names = "emac", "moon5"; > > + interrupt-parent = <&intc>; > > + interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; > > + clocks = <&clkc 0xa7>; > > + resets = <&rstc 0x97>; > > + phy-handle1 = <ð_phy0>; > > + phy-handle2 = <ð_phy1>; > > + pinctrl-0 = <&emac_demo_board_v3_pins>; > > + pinctrl-names = "default"; > > + nvmem-cells = <&mac_addr0>, <&mac_addr1>; > > + nvmem-cell-names = "mac_addr0", "mac_addr1"; > > + > > + mdio { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + eth_phy0: ethernet-phy@0 { > > + reg = <0>; > > + phy-mode = "rmii"; > > This is in the wrong place. It is a MAC property. You usually put it next to phy-handle. Yes, I'll move phy-mode to Ethernet-port next patch. > > + }; > > + eth_phy1: ethernet-phy@1 { > > + reg = <1>; > > + phy-mode = "rmii"; > > + }; > > + }; > > I would suggest you structure this differently to make it clear it is a two port switch: > > ethernet-ports { > #address-cells = <1>; > #size-cells = <0>; > > port@0 { > reg = <0>; > phy-handle = <ð_phy0>; > phy-mode = "rmii"; > } > > port@1 { > reg = <1>; > phy-handle = <ð_phy1>; > phy-mode = "rmii"; > } > } > > Andrew Yes, refer to new example: examples: - | #include <dt-bindings/interrupt-controller/irq.h> emac: emac@9c108000 { compatible = "sunplus,sp7021-emac"; reg = <0x9c108000 0x400>, <0x9c000280 0x80>; reg-names = "emac", "moon5"; interrupt-parent = <&intc>; interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clkc 0xa7>; resets = <&rstc 0x97>; pinctrl-0 = <&emac_demo_board_v3_pins>; pinctrl-names = "default"; nvmem-cells = <&mac_addr0>, <&mac_addr1>; nvmem-cell-names = "mac_addr0", "mac_addr1"; ethernet-ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; phy-handle = <ð_phy0>; phy-mode = "rmii"; }; port@1 { reg = <1>; phy-handle = <ð_phy1>; phy-mode = "rmii"; }; }; mdio { #address-cells = <1>; #size-cells = <0>; eth_phy0: ethernet-phy@0 { reg = <0>; }; eth_phy1: ethernet-phy@1 { reg = <1>; }; }; }; Is it correct? Thank you very much for your review.
Hi, > On Thu, 11 Nov 2021 17:04:20 +0800, Wells Lu wrote: > > Add bindings documentation for Sunplus SP7021. > > > > Signed-off-by: Wells Lu <wells.lu@sunplus.com> > > --- > > Changes in V2 > > - Added mdio and phy sub-nodes. > > > > .../bindings/net/sunplus,sp7021-emac.yaml | 152 +++++++++++++++++++++ > > MAINTAINERS | 7 + > > 2 files changed, 159 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/net/sunplus,sp7021-emac.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: > ./Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml:94:12: [warning] wrong > indentation: expected 10 but found 11 (indentation) > > dtschema/dtc warnings/errors: > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/patch/1553831 > > 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. Thank you very much for review and tests. I'll fix wrong indentation next patch.
diff --git a/Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml b/Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml new file mode 100644 index 0000000..9bb0b4a --- /dev/null +++ b/Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml @@ -0,0 +1,152 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) Sunplus Co., Ltd. 2021 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/sunplus,sp7021-emac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sunplus SP7021 Dual Ethernet MAC Device Tree Bindings + +maintainers: + - Wells Lu <wells.lu@sunplus.com> + +description: | + Sunplus SP7021 dual 10M/100M Ethernet MAC controller. + Device node of the controller has following properties. + +properties: + compatible: + const: sunplus,sp7021-emac + + reg: + items: + - description: Base address and length of the EMAC registers. + - description: Base address and length of the MOON5 registers. + + reg-names: + items: + - const: emac + - const: moon5 + + interrupts: + description: | + Contains number and type of interrupt. Number should be 66. + Type should be high-level trigger + maxItems: 1 + + clocks: + description: | + Clock controller selector for Ethernet MAC controller. + maxItems: 1 + + resets: + description: | + Reset controller selector for Ethernet MAC controller. + maxItems: 1 + + phy-handle1: + description: A handle to node of phy 1 in mdio node + maxItems: 1 + + phy-handle2: + description: A handle to node of phy 2 in mdio node + maxItems: 1 + + pinctrl-names: + description: | + Names corresponding to the numbered pinctrl states. + A pinctrl state named "default" must be defined. + const: default + + pinctrl-0: + description: A handle to the 'default' state of pin configuration + + nvmem-cells: + items: + - description: nvmem cell address of MAC address of MAC 1 + - description: nvmem cell address of MAC address of MAC 2 + + nvmem-cell-names: + description: names corresponding to the nvmem cells of MAC address + items: + - const: mac_addr0 + - const: mac_addr1 + + mdio: + type: object + description: Internal MDIO Bus + + properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + patternProperties: + "^ethernet-phy@[0-9]$": + type: object + + description: + Integrated PHY node + + properties: + reg: + maxItems: 1 + + phy-mode: + maxItems: 1 + + required: + - reg + - phy-mode + +additionalProperties: false + +required: + - compatible + - reg + - reg-names + - interrupts + - clocks + - resets + - phy-handle1 + - phy-handle2 + - pinctrl-0 + - pinctrl-names + - nvmem-cells + - nvmem-cell-names + - mdio + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + emac: emac@9c108000 { + compatible = "sunplus,sp7021-emac"; + reg = <0x9c108000 0x400>, <0x9c000280 0x80>; + reg-names = "emac", "moon5"; + interrupt-parent = <&intc>; + interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc 0xa7>; + resets = <&rstc 0x97>; + phy-handle1 = <ð_phy0>; + phy-handle2 = <ð_phy1>; + pinctrl-0 = <&emac_demo_board_v3_pins>; + pinctrl-names = "default"; + nvmem-cells = <&mac_addr0>, <&mac_addr1>; + nvmem-cell-names = "mac_addr0", "mac_addr1"; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + eth_phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "rmii"; + }; + eth_phy1: ethernet-phy@1 { + reg = <1>; + phy-mode = "rmii"; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index dcc1819..737b9d0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18000,6 +18000,13 @@ L: netdev@vger.kernel.org S: Maintained F: drivers/net/ethernet/dlink/sundance.c +SUNPLUS ETHERNET DRIVER +M: Wells Lu <wells.lu@sunplus.com> +L: netdev@vger.kernel.org +S: Maintained +W: https://sunplus-tibbo.atlassian.net/wiki/spaces/doc/overview +F: Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml + SUPERH M: Yoshinori Sato <ysato@users.sourceforge.jp> M: Rich Felker <dalias@libc.org>
Add bindings documentation for Sunplus SP7021. Signed-off-by: Wells Lu <wells.lu@sunplus.com> --- Changes in V2 - Added mdio and phy sub-nodes. .../bindings/net/sunplus,sp7021-emac.yaml | 152 +++++++++++++++++++++ MAINTAINERS | 7 + 2 files changed, 159 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml