lkml.org 
[lkml]   [2021]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH net-next v4 1/2] devicetree: bindings: net: Add bindings doc for Sunplus SP7021.
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@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.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@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 {

> + 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 = <&eth_phy0>;
> + phy-mode = "rmii";
> + nvmem-cells = <&mac_addr0>;
> + nvmem-cell-names = "mac-address";
> + };
> +
> + port@1 {
> + reg = <1>;
> + phy-handle = <&eth_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
>
>

\
 
 \ /
  Last update: 2021-12-10 22:34    [W:0.099 / U:0.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site