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

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
# 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>;
};
};
...@@ -1274,6 +1274,8 @@ patternProperties: ...@@ -1274,6 +1274,8 @@ patternProperties:
description: Variscite Ltd. description: Variscite Ltd.
"^vdl,.*": "^vdl,.*":
description: Van der Laan b.v. description: Van der Laan b.v.
"^vertexcom,.*":
description: Vertexcom Technologies, Inc.
"^via,.*": "^via,.*":
description: VIA Technologies, Inc. description: VIA Technologies, Inc.
"^videostrong,.*": "^videostrong,.*":
......
...@@ -183,6 +183,7 @@ source "drivers/net/ethernet/tehuti/Kconfig" ...@@ -183,6 +183,7 @@ source "drivers/net/ethernet/tehuti/Kconfig"
source "drivers/net/ethernet/ti/Kconfig" source "drivers/net/ethernet/ti/Kconfig"
source "drivers/net/ethernet/toshiba/Kconfig" source "drivers/net/ethernet/toshiba/Kconfig"
source "drivers/net/ethernet/tundra/Kconfig" source "drivers/net/ethernet/tundra/Kconfig"
source "drivers/net/ethernet/vertexcom/Kconfig"
source "drivers/net/ethernet/via/Kconfig" source "drivers/net/ethernet/via/Kconfig"
source "drivers/net/ethernet/wiznet/Kconfig" source "drivers/net/ethernet/wiznet/Kconfig"
source "drivers/net/ethernet/xilinx/Kconfig" source "drivers/net/ethernet/xilinx/Kconfig"
......
...@@ -93,6 +93,7 @@ obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/ ...@@ -93,6 +93,7 @@ obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/
obj-$(CONFIG_NET_VENDOR_TI) += ti/ obj-$(CONFIG_NET_VENDOR_TI) += ti/
obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/ obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/
obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/ obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/
obj-$(CONFIG_NET_VENDOR_VERTEXCOM) += vertexcom/
obj-$(CONFIG_NET_VENDOR_VIA) += via/ obj-$(CONFIG_NET_VENDOR_VIA) += via/
obj-$(CONFIG_NET_VENDOR_WIZNET) += wiznet/ obj-$(CONFIG_NET_VENDOR_WIZNET) += wiznet/
obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/ obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/
......
# 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
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the Vertexcom network device drivers.
#
obj-$(CONFIG_MSE102X) += mse102x.o
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment