Commit a12af6f8 authored by Paolo Abeni's avatar Paolo Abeni
Browse files

Merge branch 'this-is-a-patch-series-for-ethernet-driver-of-sunplus-sp7021-soc'

Wells Lu says:

====================
This is a patch series for Ethernet driver of Sunplus SP7021 SoC.

Sunplus SP7021 is an ARM Cortex A7 (4 cores) based SoC. It integrates
many peripherals (ex: UART, I2C, SPI, SDIO, eMMC, USB, SD card and
etc.) into a single chip. It is designed for industrial control
applications.

Refer to:
https://sunplus.atlassian.net/wiki/spaces/doc/overview
https://tibbo.com/store/plus1.html
====================

Link: https://lore.kernel.org/r/1652004800-3212-1-git-send-email-wellslutw@gmail.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents 82763453 fd3040b9
Loading
Loading
Loading
Loading
+141 −0
Original line number Diff line number Diff line
# 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:
    maxItems: 1

  interrupts:
    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:
    $ref: mdio.yaml#
    unevaluatedProperties: false

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - resets
  - pinctrl-0
  - pinctrl-names
  - ethernet-ports
  - mdio

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    ethernet@9c108000 {
        compatible = "sunplus,sp7021-emac";
        reg = <0x9c108000 0x400>;
        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>;
            };
        };
    };
...
+8 −0
Original line number Diff line number Diff line
@@ -18908,6 +18908,14 @@ 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.atlassian.net/wiki/spaces/doc/overview
F:	Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml
F:	drivers/net/ethernet/sunplus/
SUNPLUS OCOTP DRIVER
M:	Vincent Shih <vincent.sunplus@gmail.com>
S:	Maintained
+1 −0
Original line number Diff line number Diff line
@@ -179,6 +179,7 @@ source "drivers/net/ethernet/smsc/Kconfig"
source "drivers/net/ethernet/socionext/Kconfig"
source "drivers/net/ethernet/stmicro/Kconfig"
source "drivers/net/ethernet/sun/Kconfig"
source "drivers/net/ethernet/sunplus/Kconfig"
source "drivers/net/ethernet/synopsys/Kconfig"
source "drivers/net/ethernet/tehuti/Kconfig"
source "drivers/net/ethernet/ti/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/
obj-$(CONFIG_NET_VENDOR_SOCIONEXT) += socionext/
obj-$(CONFIG_NET_VENDOR_STMICRO) += stmicro/
obj-$(CONFIG_NET_VENDOR_SUN) += sun/
obj-$(CONFIG_NET_VENDOR_SUNPLUS) += sunplus/
obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/
obj-$(CONFIG_NET_VENDOR_TI) += ti/
obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/
+35 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# Sunplus network device configuration
#

config NET_VENDOR_SUNPLUS
	bool "Sunplus devices"
	default y
	depends on ARCH_SUNPLUS || COMPILE_TEST
	help
	  If you have a network (Ethernet) card belonging to this
	  class, say Y here.

	  Note that the answer to this question doesn't directly
	  affect the kernel: saying N will just cause the configurator
	  to skip all the questions about Sunplus cards. If you say Y,
	  you will be asked for your specific card in the following
	  questions.

if NET_VENDOR_SUNPLUS

config SP7021_EMAC
	tristate "Sunplus Dual 10M/100M Ethernet devices"
	depends on SOC_SP7021 || COMPILE_TEST
	select PHYLIB
	select COMMON_CLK_SP7021
	select RESET_SUNPLUS
	select NVMEM_SUNPLUS_OCOTP
	help
	  If you have Sunplus dual 10M/100M Ethernet devices, say Y.
	  The network device creates two net-device interfaces.
	  To compile this driver as a module, choose M here. The
	  module will be called sp7021_emac.

endif # NET_VENDOR_SUNPLUS
Loading