mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
24e564d327
Kernel 5.4 receives a reduced set, just to make the SFP cage work. While we are at it, move the patches accepted upstream to the 0xx series. Reviewed-by: Noci <noci@noci.work> Reviewed-by: Justin van Steijn <jvs@fsfe.org> Reviewed-by: Nico Rikken <nico@nicorikken.eu> Reviewed-by: Julius Schwartzenberg <julius.schwartzenberg@gmail.com> Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com> (cherry picked from commit 8138cb8737d1475e6e8d57393500f30384e75a82)
91 lines
2.9 KiB
Diff
91 lines
2.9 KiB
Diff
From add2d65962977caf23ca2fa21a2457d31b636574 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
|
Date: Mon, 16 Nov 2020 13:24:22 +0100
|
|
Subject: ARM: dts: turris-omnia: add SFP node
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Turris Omnia has an SFP cage that, together with WAN PHY, is connected
|
|
to eth2 SerDes via a SerDes multiplexor. When a SFP module is present,
|
|
the multiplexor switches the SerDes signal from PHY to SFP.
|
|
|
|
Describe the SFP cage, but leave it disabled. Until phylink has support
|
|
for such configuration, we are leaving it to U-Boot to enable SFP and
|
|
disable WAN PHY at boot time depending on whether a SFP module is
|
|
present.
|
|
|
|
Signed-off-by: Marek Behún <kabel@kernel.org>
|
|
Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Cc: Russell King - ARM Linux admin <linux@armlinux.org.uk>
|
|
Cc: linux-arm-kernel@lists.infradead.org
|
|
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
|
|
Cc: Jason Cooper <jason@lakedaemon.net>
|
|
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
|
|
Cc: Andreas Färber <afaerber@suse.de>
|
|
Cc: Rob Herring <robh+dt@kernel.org>
|
|
Cc: devicetree@vger.kernel.org
|
|
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
|
---
|
|
arch/arm/boot/dts/armada-385-turris-omnia.dts | 30 ++++++++++++++++++++++++++-
|
|
1 file changed, 29 insertions(+), 1 deletion(-)
|
|
|
|
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
|
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
|
|
@@ -82,6 +82,24 @@
|
|
};
|
|
};
|
|
};
|
|
+
|
|
+ sfp: sfp {
|
|
+ compatible = "sff,sfp";
|
|
+ i2c-bus = <&sfp_i2c>;
|
|
+ tx-fault-gpios = <&pcawan 0 GPIO_ACTIVE_HIGH>;
|
|
+ tx-disable-gpios = <&pcawan 1 GPIO_ACTIVE_HIGH>;
|
|
+ rate-select0-gpios = <&pcawan 2 GPIO_ACTIVE_HIGH>;
|
|
+ los-gpios = <&pcawan 3 GPIO_ACTIVE_HIGH>;
|
|
+ mod-def0-gpios = <&pcawan 4 GPIO_ACTIVE_LOW>;
|
|
+ maximum-power-milliwatt = <3000>;
|
|
+
|
|
+ /*
|
|
+ * For now this has to be enabled at boot time by U-Boot when
|
|
+ * a SFP module is present. Read more in the comment in the
|
|
+ * eth2 node below.
|
|
+ */
|
|
+ status = "disabled";
|
|
+ };
|
|
};
|
|
|
|
&bm {
|
|
@@ -126,10 +144,20 @@
|
|
|
|
/* WAN port */
|
|
ð2 {
|
|
+ /*
|
|
+ * eth2 is connected via a multiplexor to both the SFP cage and to
|
|
+ * ethernet-phy@1. The multiplexor switches the signal to SFP cage when
|
|
+ * a SFP module is present, as determined by the mode-def0 GPIO.
|
|
+ *
|
|
+ * Until kernel supports this configuration properly, in case SFP module
|
|
+ * is present, U-Boot has to enable the sfp node above, remove phy
|
|
+ * handle and add managed = "in-band-status" property.
|
|
+ */
|
|
status = "okay";
|
|
phy-mode = "sgmii";
|
|
phy = <&phy1>;
|
|
phys = <&comphy5 2>;
|
|
+ sfp = <&sfp>;
|
|
buffer-manager = <&bm>;
|
|
bm,pool-long = <2>;
|
|
bm,pool-short = <3>;
|
|
@@ -195,7 +223,7 @@
|
|
/* routed to PCIe2 connector (CN62A) */
|
|
};
|
|
|
|
- i2c@4 {
|
|
+ sfp_i2c: i2c@4 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <4>;
|