Re: [PATCH net-next v4 1/2] devicetree: bindings: net: Add bindings doc for Sunplus SP7021.
From: Rob Herring <robh@kernel.org>
Date: 2021-12-10 21:34:02
Also in:
linux-devicetree, lkml
On Tue, Dec 07, 2021 at 04:06:58PM +0800, Wells Lu wrote:
quoted hunk ↗ jump to hunk
Add bindings documentation for Sunplus SP7021. Signed-off-by: Wells Lu <wellslutw@gmail.com> --- Changes in v4 - Addressed all comments from Mr. Andrew Lunn. - Moved properties 'nvmem-cells' and 'nvmem-cell-names' to port of ethernet-ports. - Changed value of property 'nvmem-cell-names' to "mac-address". .../bindings/net/sunplus,sp7021-emac.yaml | 172 +++++++++++++++++++++ MAINTAINERS | 7 + 2 files changed, 179 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yamldiff --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..efc987f --- /dev/null +++ b/Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml@@ -0,0 +1,172 @@ +# 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 <wellslutw@gmail.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: the EMAC registers + - description: the MOON5 registers + + reg-names: + items: + - const: emac + - const: moon5 + + interrupts: + description: | + Contains number and type of interrupt. Number should be 66.
Drop. That's every 'interrupts' and the exact number is outside the scope of the binding.
+ Type should be high-level trigger. + maxItems: 1 + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + ethernet-ports: + type: object + description: Ethernet ports to PHY + + properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + patternProperties: + "^port@[0-1]$": + type: object + description: Port to PHY + + properties: + reg: + minimum: 0 + maximum: 1 + + phy-handle: + maxItems: 1 + + phy-mode: + maxItems: 1 + + nvmem-cells: + items: + - description: nvmem cell address of MAC address + + nvmem-cell-names: + description: names corresponding to the nvmem cells + items: + - const: mac-address + + required: + - reg + - phy-handle + - phy-mode + - nvmem-cells + - nvmem-cell-names + + mdio:
Just need:
$ref: mdio.yaml#
unevaluatedProperties: false
and drop the rest.
+ type: object
+ description: external MDIO Bus
+
+ properties:
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ patternProperties:
+ "^ethernet-phy@[0-9a-f]+$":
+ type: object
+ description: external PHY node
+
+ properties:
+ reg:
+ minimum: 0
+ maximum: 30
+
+ required:
+ - reg
+
+additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - clocks
+ - resets
+ - pinctrl-0
+ - pinctrl-names
+ - ethernet-ports
+ - mdio
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ emac: emac@9c108000 {
ethernet@9c108000 {
quoted hunk ↗ jump to hunk
+ 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"; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + phy-handle = <ð_phy0>; + phy-mode = "rmii"; + nvmem-cells = <&mac_addr0>; + nvmem-cell-names = "mac-address"; + }; + + port@1 { + reg = <1>; + phy-handle = <ð_phy1>; + phy-mode = "rmii"; + nvmem-cells = <&mac_addr1>; + nvmem-cell-names = "mac-address"; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + eth_phy0: ethernet-phy@0 { + reg = <0>; + }; + + eth_phy1: ethernet-phy@1 { + reg = <1>; + }; + }; + }; +...diff --git a/MAINTAINERS b/MAINTAINERS index 0dc08cd..5b1ef9d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS@@ -18245,6 +18245,13 @@ L: netdev@vger.kernel.org S: Maintained F: drivers/net/ethernet/dlink/sundance.c +SUNPLUS ETHERNET DRIVER +M: Wells Lu <wellslutw@gmail.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>-- 2.7.4