On Tue, Dec 07, 2021 at 04:06:58PM +0800, Wells Lu wrote: > Add bindings documentation for Sunplus SP7021. > > Signed-off-by: Wells Lu <wellslutw@xxxxxxxxx> > --- > 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.yaml > > 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..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@xxxxxxxxx> > + > +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 { > + 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@xxxxxxxxxxxxxxx > S: Maintained > F: drivers/net/ethernet/dlink/sundance.c > > +SUNPLUS ETHERNET DRIVER > +M: Wells Lu <wellslutw@xxxxxxxxx> > +L: netdev@xxxxxxxxxxxxxxx > +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@xxxxxxxxxxxxxxxxxxxx> > M: Rich Felker <dalias@xxxxxxxx> > -- > 2.7.4 > >