All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	netdev@vger.kernel.org
Cc: Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>
Subject: [RFC PATCH 0/6] Armada 38x comphy driver to support 2.5Gbps networking
Date: Mon, 12 Nov 2018 12:29:33 +0000	[thread overview]
Message-ID: <20181112122933.GD30658@n2100.armlinux.org.uk> (raw)

Hi,

This series adds support for dynamically switching between 1Gbps
and 2.5Gbps networking for the Marvell Armada 38x SoCs, tested on
Armada 388 on the Clearfog platform.

This is necessary to be able to connect (eg) a Clearfog platform
with a Macchiatobin platform via the SFP sockets, as Clearfog
currently only supports 1Gbps networking via the SFP socket and
Macchiatobin defaults to 2.5Gbps when using Fiberchannel SFPs.

In order to allow dynamic switching, we need to implement a common
phy driver to switch the ethernet serdes lane speed - 2.5Gbps is
just 1Gbps up-clocked by 2.5x.  We implement a simple comphy
driver to achieve this, which only supports networking.

With this, we are able to support both Fiberchannel SFPs operating
at 2.5Gbps or 1Gbps, and 1G ethernet SFPs plugged into the Clearfog
platform, dynamically selecting according to the SFPs abilities.

I'm aware of the proposed changes to the PHY layer, changing
phy_set_mode() to take the ethernet phy interface type, hence why
this is RFC - there's also the question about how this will be
merged.  This series is currently based on 4.20-rc1, but will
likely need to be rebased when the PHY layer changes hit.

 .../bindings/net/marvell-armada-370-neta.txt       |   2 +-
 .../bindings/phy/phy-armada38x-comphy.txt          |  40 ++++
 arch/arm/boot/dts/armada-388-clearfog.dtsi         |   2 +
 arch/arm/boot/dts/armada-38x.dtsi                  |  37 ++++
 drivers/net/ethernet/marvell/mvneta.c              |  58 ++++-
 drivers/phy/marvell/Kconfig                        |  10 +
 drivers/phy/marvell/Makefile                       |   1 +
 drivers/phy/marvell/phy-armada38x-comphy.c         | 236 +++++++++++++++++++++
 8 files changed, 378 insertions(+), 8 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-armada38x-comphy.txt
 create mode 100644 drivers/phy/marvell/phy-armada38x-comphy.c


-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

WARNING: multiple messages have this Message-ID (diff)
From: linux@armlinux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/6] Armada 38x comphy driver to support 2.5Gbps networking
Date: Mon, 12 Nov 2018 12:29:33 +0000	[thread overview]
Message-ID: <20181112122933.GD30658@n2100.armlinux.org.uk> (raw)

Hi,

This series adds support for dynamically switching between 1Gbps
and 2.5Gbps networking for the Marvell Armada 38x SoCs, tested on
Armada 388 on the Clearfog platform.

This is necessary to be able to connect (eg) a Clearfog platform
with a Macchiatobin platform via the SFP sockets, as Clearfog
currently only supports 1Gbps networking via the SFP socket and
Macchiatobin defaults to 2.5Gbps when using Fiberchannel SFPs.

In order to allow dynamic switching, we need to implement a common
phy driver to switch the ethernet serdes lane speed - 2.5Gbps is
just 1Gbps up-clocked by 2.5x.  We implement a simple comphy
driver to achieve this, which only supports networking.

With this, we are able to support both Fiberchannel SFPs operating
at 2.5Gbps or 1Gbps, and 1G ethernet SFPs plugged into the Clearfog
platform, dynamically selecting according to the SFPs abilities.

I'm aware of the proposed changes to the PHY layer, changing
phy_set_mode() to take the ethernet phy interface type, hence why
this is RFC - there's also the question about how this will be
merged.  This series is currently based on 4.20-rc1, but will
likely need to be rebased when the PHY layer changes hit.

 .../bindings/net/marvell-armada-370-neta.txt       |   2 +-
 .../bindings/phy/phy-armada38x-comphy.txt          |  40 ++++
 arch/arm/boot/dts/armada-388-clearfog.dtsi         |   2 +
 arch/arm/boot/dts/armada-38x.dtsi                  |  37 ++++
 drivers/net/ethernet/marvell/mvneta.c              |  58 ++++-
 drivers/phy/marvell/Kconfig                        |  10 +
 drivers/phy/marvell/Makefile                       |   1 +
 drivers/phy/marvell/phy-armada38x-comphy.c         | 236 +++++++++++++++++++++
 8 files changed, 378 insertions(+), 8 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-armada38x-comphy.txt
 create mode 100644 drivers/phy/marvell/phy-armada38x-comphy.c


-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

             reply	other threads:[~2018-11-12 22:22 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-12 12:29 Russell King - ARM Linux [this message]
2018-11-12 12:29 ` [RFC PATCH 0/6] Armada 38x comphy driver to support 2.5Gbps networking Russell King - ARM Linux
2018-11-12 12:30 ` [RFC PATCH 1/6] dt-bindings: phy: Armada 38x common phy bindings Russell King
2018-11-12 12:30   ` Russell King
2018-12-03 23:53   ` Rob Herring
2018-12-03 23:53     ` Rob Herring
2018-11-12 12:30 ` [RFC PATCH 2/6] phy: armada38x: add common phy support Russell King
2018-11-12 12:30   ` Russell King
2018-11-12 17:03   ` Andrew Lunn
2018-11-12 17:03     ` Andrew Lunn
2018-11-14  8:42   ` Kishon Vijay Abraham I
2018-11-14  8:42     ` Kishon Vijay Abraham I
2018-11-14  8:42     ` Kishon Vijay Abraham I
2018-11-15 10:02   ` Maxime Chevallier
2018-11-15 10:02     ` Maxime Chevallier
2018-11-12 12:30 ` [RFC PATCH 3/6] ARM: dts: add description for Armada 38x common phy Russell King
2018-11-12 12:30   ` Russell King
2018-11-15 10:02   ` Maxime Chevallier
2018-11-15 10:02     ` Maxime Chevallier
2018-11-12 12:31 ` [RFC PATCH 4/6] dt-bindings: update mvneta binding document Russell King
2018-11-12 12:31   ` Russell King
2018-12-03 23:54   ` Rob Herring
2018-12-03 23:54     ` Rob Herring
2018-12-05 11:00     ` Russell King - ARM Linux
2018-12-05 11:00       ` Russell King - ARM Linux
2018-12-05 15:30       ` Rob Herring
2018-12-05 15:30         ` Rob Herring
2018-12-07  4:07         ` Kishon Vijay Abraham I
2018-12-07  4:07           ` Kishon Vijay Abraham I
2018-12-07 10:41           ` Russell King - ARM Linux
2018-12-07 10:41             ` Russell King - ARM Linux
2018-12-07 11:13             ` Kishon Vijay Abraham I
2018-12-07 11:13               ` Kishon Vijay Abraham I
2018-12-07 11:33               ` Russell King - ARM Linux
2018-12-07 11:33                 ` Russell King - ARM Linux
2018-12-07 12:00                 ` Kishon Vijay Abraham I
2018-12-07 12:00                   ` Kishon Vijay Abraham I
2018-12-07 12:17                   ` Russell King - ARM Linux
2018-12-07 12:17                     ` Russell King - ARM Linux
2018-11-12 12:31 ` [RFC PATCH 5/6] net: marvell: neta: add support for 2500base-X Russell King
2018-11-12 12:31   ` Russell King
2018-11-14  8:48   ` Kishon Vijay Abraham I
2018-11-14  8:48     ` Kishon Vijay Abraham I
2018-11-14  8:48     ` Kishon Vijay Abraham I
2018-11-14 11:11     ` Russell King - ARM Linux
2018-11-14 11:11       ` Russell King - ARM Linux
2018-11-21  9:38       ` Kishon Vijay Abraham I
2018-11-21  9:38         ` Kishon Vijay Abraham I
2018-11-15 10:02   ` Maxime Chevallier
2018-11-15 10:02     ` Maxime Chevallier
2018-11-12 12:31 ` [RFC PATCH 6/6] ARM: dts: clearfog: add comphy settings for Ethernet interfaces Russell King
2018-11-12 12:31   ` Russell King
2018-11-15 10:02   ` Maxime Chevallier
2018-11-15 10:02     ` Maxime Chevallier
2018-11-14  8:09 ` [RFC PATCH 0/6] Armada 38x comphy driver to support 2.5Gbps networking Kishon Vijay Abraham I
2018-11-14  8:09   ` Kishon Vijay Abraham I
2018-11-14  8:09   ` Kishon Vijay Abraham I
2018-11-14 10:56   ` Russell King - ARM Linux
2018-11-14 10:56     ` Russell King - ARM Linux
2018-11-21  9:41     ` Kishon Vijay Abraham I
2018-11-21  9:41       ` Kishon Vijay Abraham I
2018-11-15 10:02 ` Maxime Chevallier
2018-11-15 10:02   ` Maxime Chevallier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181112122933.GD30658@n2100.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=gregory.clement@bootlin.com \
    --cc=jason@lakedaemon.net \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.