| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- From add2d65962977caf23ca2fa21a2457d31b636574 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <[email protected]>
- 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 <[email protected]>
- Fixes: 26ca8b52d6e1 ("ARM: dts: add support for Turris Omnia")
- Reviewed-by: Andrew Lunn <[email protected]>
- Cc: Russell King - ARM Linux admin <[email protected]>
- Cc: [email protected]
- Cc: Uwe Kleine-König <[email protected]>
- Cc: Jason Cooper <[email protected]>
- Cc: Gregory CLEMENT <[email protected]>
- Cc: Andreas Färber <[email protected]>
- Cc: Rob Herring <[email protected]>
- Cc: [email protected]
- Signed-off-by: Gregory CLEMENT <[email protected]>
- ---
- 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
- @@ -88,6 +88,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 {
- @@ -132,10 +150,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>;
- @@ -201,7 +229,7 @@
- /* routed to PCIe2 connector (CN62A) */
- };
-
- - i2c@4 {
- + sfp_i2c: i2c@4 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <4>;
|