mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-25 17:25:13 +00:00
There is a desire to use the generic driver for the Synopsys XPCS located in drivers/net/pcs, and to achieve that, the sja1105 driver must expose an MDIO bus for the SGMII PCS, because the XPCS probes as an mdio_device. In preparation of the SJA1110 which in fact has a different access procedure for the SJA1105, we register this PCS MDIO bus once in the common code, but we implement function pointers for the read and write methods. In this patch there is a single implementation for them. There is exactly one MDIO bus for the PCS, this will contain all PCSes at MDIO addresses equal to the port number. We delete a bunch of hardware support code because the xpcs driver already does what we need. We need to hack up the MDIO reads for the PHY ID, since our XPCS instantiation returns zeroes and there are some specific fixups which need to be applied by the xpcs driver. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
47 lines
1.7 KiB
Plaintext
47 lines
1.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config NET_DSA_SJA1105
|
|
tristate "NXP SJA1105 Ethernet switch family support"
|
|
depends on NET_DSA && SPI
|
|
select NET_DSA_TAG_SJA1105
|
|
select PCS_XPCS
|
|
select PACKING
|
|
select CRC32
|
|
help
|
|
This is the driver for the NXP SJA1105 automotive Ethernet switch
|
|
family. These are 5-port devices and are managed over an SPI
|
|
interface. Probing is handled based on OF bindings and so is the
|
|
linkage to PHYLINK. The driver supports the following revisions:
|
|
- SJA1105E (Gen. 1, No TT-Ethernet)
|
|
- SJA1105T (Gen. 1, TT-Ethernet)
|
|
- SJA1105P (Gen. 2, No SGMII, No TT-Ethernet)
|
|
- SJA1105Q (Gen. 2, No SGMII, TT-Ethernet)
|
|
- SJA1105R (Gen. 2, SGMII, No TT-Ethernet)
|
|
- SJA1105S (Gen. 2, SGMII, TT-Ethernet)
|
|
|
|
config NET_DSA_SJA1105_PTP
|
|
bool "Support for the PTP clock on the NXP SJA1105 Ethernet switch"
|
|
depends on NET_DSA_SJA1105
|
|
depends on PTP_1588_CLOCK
|
|
help
|
|
This enables support for timestamping and PTP clock manipulations in
|
|
the SJA1105 DSA driver.
|
|
|
|
config NET_DSA_SJA1105_TAS
|
|
bool "Support for the Time-Aware Scheduler on NXP SJA1105"
|
|
depends on NET_DSA_SJA1105 && NET_SCH_TAPRIO
|
|
depends on NET_SCH_TAPRIO=y || NET_DSA_SJA1105=m
|
|
depends on NET_DSA_SJA1105_PTP
|
|
help
|
|
This enables support for the TTEthernet-based egress scheduling
|
|
engine in the SJA1105 DSA driver, which is controlled using a
|
|
hardware offload of the tc-tqprio qdisc.
|
|
|
|
config NET_DSA_SJA1105_VL
|
|
bool "Support for Virtual Links on NXP SJA1105"
|
|
depends on NET_DSA_SJA1105_TAS
|
|
help
|
|
This enables support for flow classification using capable devices
|
|
(SJA1105T, SJA1105Q, SJA1105S). The following actions are supported:
|
|
- redirect, trap, drop
|
|
- time-based ingress policing, via the tc-gate action
|