mvebu: Add support for kernel 4.14
[openwrt/staging/kaloz.git] / target / linux / mvebu / patches-4.14 / 414-ARM-dts-armada388-clearfog-add-SFP-module-support.patch
diff --git a/target/linux/mvebu/patches-4.14/414-ARM-dts-armada388-clearfog-add-SFP-module-support.patch b/target/linux/mvebu/patches-4.14/414-ARM-dts-armada388-clearfog-add-SFP-module-support.patch
new file mode 100644 (file)
index 0000000..38c6f42
--- /dev/null
@@ -0,0 +1,81 @@
+From 74fa68669c88f73bceff523cb764297b7d1e132b Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Tue, 29 Nov 2016 10:13:44 +0000
+Subject: ARM: dts: armada388-clearfog: add SFP module support
+
+Add SFP module support for Clearfog using the SFP phylink support.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+ arch/arm/boot/dts/armada-388-clearfog.dtsi | 44 ++++++++----------------------
+ 1 file changed, 11 insertions(+), 33 deletions(-)
+
+--- a/arch/arm/boot/dts/armada-388-clearfog.dtsi
++++ b/arch/arm/boot/dts/armada-388-clearfog.dtsi
+@@ -117,6 +117,15 @@
+                       };
+               };
+       };
++
++      sfp: sfp {
++              compatible = "sff,sfp";
++              i2c-bus = <&i2c1>;
++              los-gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
++              moddef0-gpio = <&expander0 15 GPIO_ACTIVE_LOW>;
++              tx-disable-gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
++              tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
++      };
+ };
+ &eth1 {
+@@ -133,13 +142,10 @@
+       bm,pool-long = <3>;
+       bm,pool-short = <1>;
+       buffer-manager = <&bm>;
++      managed = "in-band-status";
+       phy-mode = "sgmii";
++      sfp = <&sfp>;
+       status = "okay";
+-
+-      fixed-link {
+-              speed = <1000>;
+-              full-duplex;
+-      };
+ };
+ &i2c0 {
+@@ -208,34 +214,6 @@
+                       output-low;
+                       line-name = "m.2 devslp";
+               };
+-              sfp_los {
+-                      /* SFP loss of signal */
+-                      gpio-hog;
+-                      gpios = <12 GPIO_ACTIVE_HIGH>;
+-                      input;
+-                      line-name = "sfp-los";
+-              };
+-              sfp_tx_fault {
+-                      /* SFP laser fault */
+-                      gpio-hog;
+-                      gpios = <13 GPIO_ACTIVE_HIGH>;
+-                      input;
+-                      line-name = "sfp-tx-fault";
+-              };
+-              sfp_tx_disable {
+-                      /* SFP transmit disable */
+-                      gpio-hog;
+-                      gpios = <14 GPIO_ACTIVE_HIGH>;
+-                      output-low;
+-                      line-name = "sfp-tx-disable";
+-              };
+-              sfp_mod_def0 {
+-                      /* SFP module present */
+-                      gpio-hog;
+-                      gpios = <15 GPIO_ACTIVE_LOW>;
+-                      input;
+-                      line-name = "sfp-mod-def0";
+-              };
+       };
+       /* The MCP3021 supports standard and fast modes */