Add bindings documentation for Sunplus SP7021. Signed-off-by: Wells Lu <wells.lu@xxxxxxxxxxx> --- .../bindings/net/sunplus,sp7021-l2sw.yaml | 123 +++++++++++++++++++++ MAINTAINERS | 7 ++ 2 files changed, 130 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/sunplus,sp7021-l2sw.yaml diff --git a/Documentation/devicetree/bindings/net/sunplus,sp7021-l2sw.yaml b/Documentation/devicetree/bindings/net/sunplus,sp7021-l2sw.yaml new file mode 100644 index 0000000..1fc253d --- /dev/null +++ b/Documentation/devicetree/bindings/net/sunplus,sp7021-l2sw.yaml @@ -0,0 +1,123 @@ +# 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-l2sw.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sunplus SP7021 Dual Ethernet MAC Device Tree Bindings + +maintainers: + - Wells Lu <wells.lu@xxxxxxxxxxx> + +description: | + Sunplus SP7021 dual 10M/100M Ethernet MAC controller with Layer 2 switch. + The controller can operate at either dual Ethernet MAC mode or one Ethernet + MAC with layer 2 switch (daisy-chain) mode. + The device node of Sunplus SP7021 Ethernet (L2SW) MAC controller has + following properties. + +properties: + compatible: + const: sunplus,sp7021-l2sw + + reg: + items: + - description: Base address and length of the L2SW registers. + - description: Base address and length of the MOON5 registers. + + reg-names: + items: + - const: l2sw + - 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 + + mode: + description: | + Set operating modes of Sunplus Dual Ethernet MAC controller. + Please set one of the following modes: + 0: daisy-chain mode + 1: dual NIC mode + 2: daisy-chain mode but disable SA learning + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [ 0, 1, 2 ] + +additionalProperties: false + +required: + - compatible + - reg + - reg-names + - interrupts + - clocks + - resets + - phy-handle1 + - phy-handle2 + - pinctrl-names + - pinctrl-0 + - nvmem-cells + - nvmem-cell-names + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + l2sw: l2sw@9c108000 { + compatible = "sunplus,sp7021-l2sw"; + reg = <0x9c108000 0x400>, <0x9c000280 0x80>; + reg-names = "l2sw", "moon5"; + interrupt-parent = <&intc>; + interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkc 0xa7>; + resets = <&rstc 0x97>; + phy-handle1 = <ð_phy0>; + phy-handle2 = <ð_phy1>; + pinctrl-names = "default"; + pinctrl-0 = <&l2sw_demo_board_v3_pins>; + nvmem-cells = <&mac_addr0>, <&mac_addr1>; + nvmem-cell-names = "mac_addr0", "mac_addr1"; + mode = < 1 >; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index dcc1819..4669c16 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18000,6 +18000,13 @@ L: netdev@xxxxxxxxxxxxxxx S: Maintained F: drivers/net/ethernet/dlink/sundance.c +SUNPLUS ETHERNET DRIVER +M: Wells Lu <wells.lu@xxxxxxxxxxx> +L: netdev@xxxxxxxxxxxxxxx +S: Maintained +W: https://sunplus-tibbo.atlassian.net/wiki/spaces/doc/overview +F: Documentation/devicetree/bindings/net/sunplus,sp7021-l2sw.yaml + SUPERH M: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> M: Rich Felker <dalias@xxxxxxxx> -- 2.7.4