Commit ed6fc70e authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'mse102x-support'

Stefan Wahren says:

====================
add Vertexcom MSE102x support

This patch series adds support for the Vertexcom MSE102x Homeplug GreenPHY
chips [1]. They can be connected either via RGMII, RMII or SPI to a host CPU.
These patches handles only the last one, with an Ethernet over SPI protocol
driver.

The code has been tested only on Raspberry Pi boards, but should work
on other platforms.

Changes in V3:
- drop IF_PORT_HOMEPLUG again, since it's actually not used

Changes in V2:
- improve lock handling for RX & TX path
- add new patch to introduce IF_PORT_HOMEPLUG as suggested by Andrew Lunn
- address all the comments by Jakub Kicinski, Andrew Lunn, Kernel test robot

[1] - http://www.vertexcom.com/p_homeplug_plc_en.html


====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 2106be4f 2f207cbf
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/net/vertexcom-mse102x.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: The Vertexcom MSE102x (SPI) Device Tree Bindings

maintainers:
  - Stefan Wahren <stefan.wahren@in-tech.com>

description:
  Vertexcom's MSE102x are a family of HomePlug GreenPHY chips.
  They can be connected either via RGMII, RMII or SPI to a host CPU.

  In order to use a MSE102x chip as SPI device, it must be defined as
  a child of an SPI master device in the device tree.

  More information can be found at
    http://www.vertexcom.com/doc/MSE1022%20Product%20Brief.pdf

allOf:
  - $ref: ethernet-controller.yaml#

properties:
  compatible:
    enum:
      - vertexcom,mse1021
      - vertexcom,mse1022

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  spi-cpha: true

  spi-cpol: true

  spi-max-frequency:
    minimum: 6000000
    maximum: 7142857

required:
  - compatible
  - reg
  - interrupts
  - spi-cpha
  - spi-cpol
  - spi-max-frequency

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    spi0 {
        #address-cells = <1>;
        #size-cells = <0>;

        ethernet@0 {
            compatible = "vertexcom,mse1021";
            reg = <0>;
            interrupt-parent = <&gpio>;
            interrupts = <23 IRQ_TYPE_EDGE_RISING>;
            spi-cpha;
            spi-cpol;
            spi-max-frequency = <7142857>;
        };
    };
+2 −0
Original line number Diff line number Diff line
@@ -1274,6 +1274,8 @@ patternProperties:
    description: Variscite Ltd.
  "^vdl,.*":
    description: Van der Laan b.v.
  "^vertexcom,.*":
    description: Vertexcom Technologies, Inc.
  "^via,.*":
    description: VIA Technologies, Inc.
  "^videostrong,.*":
+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ source "drivers/net/ethernet/tehuti/Kconfig"
source "drivers/net/ethernet/ti/Kconfig"
source "drivers/net/ethernet/toshiba/Kconfig"
source "drivers/net/ethernet/tundra/Kconfig"
source "drivers/net/ethernet/vertexcom/Kconfig"
source "drivers/net/ethernet/via/Kconfig"
source "drivers/net/ethernet/wiznet/Kconfig"
source "drivers/net/ethernet/xilinx/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/
obj-$(CONFIG_NET_VENDOR_TI) += ti/
obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/
obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/
obj-$(CONFIG_NET_VENDOR_VERTEXCOM) += vertexcom/
obj-$(CONFIG_NET_VENDOR_VIA) += via/
obj-$(CONFIG_NET_VENDOR_WIZNET) += wiznet/
obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/
+25 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
#
# Vertexcom network device configuration
#

config NET_VENDOR_VERTEXCOM
	bool "Vertexcom devices"
	default y
	help
	  If you have a network (Ethernet) card belonging to this class, say Y.

	  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 Vertexcom cards. If you say Y, you will be asked
	  for your specific card in the following questions.

if NET_VENDOR_VERTEXCOM

config MSE102X
	tristate "Vertexcom MSE102x SPI"
	depends on SPI
	help
	  SPI driver for Vertexcom MSE102x SPI attached network chip.

endif # NET_VENDOR_VERTEXCOM
Loading