mvebu: add linux 4.9 support
[openwrt/openwrt.git] / target / linux / mvebu / patches-4.9 / 220-ARM-dts-armada388-clearfog-add-SFP-module-support.patch
diff --git a/target/linux/mvebu/patches-4.9/220-ARM-dts-armada388-clearfog-add-SFP-module-support.patch b/target/linux/mvebu/patches-4.9/220-ARM-dts-armada388-clearfog-add-SFP-module-support.patch
new file mode 100644 (file)
index 0000000..e7aa5c4
--- /dev/null
@@ -0,0 +1,84 @@
+From 63ff73593c2f5d3fc1cba479321d192caaca48aa Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Sat, 12 Sep 2015 18:43:39 +0100
+Subject: [PATCH 738/744] 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.dts | 44 ++++++++-----------------------
+ 1 file changed, 11 insertions(+), 33 deletions(-)
+
+--- a/arch/arm/boot/dts/armada-388-clearfog.dts
++++ b/arch/arm/boot/dts/armada-388-clearfog.dts
+@@ -90,16 +90,12 @@
+                       };
+                       ethernet@34000 {
++                              managed = "in-band-status";
+                               phy-mode = "sgmii";
+                               buffer-manager = <&bm>;
+                               bm,pool-long = <3>;
+                               bm,pool-short = <1>;
+                               status = "okay";
+-
+-                              fixed-link {
+-                                      speed = <1000>;
+-                                      full-duplex;
+-                              };
+                       };
+                       i2c@11000 {
+@@ -183,34 +179,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 is 100kHz clock only */
+@@ -350,6 +318,16 @@
+               };
+       };
++      sfp: sfp {
++              compatible = "sff,sfp";
++              i2c-bus = <&i2c1>;
++              los-gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
++              moddef0-gpio = <&expander0 15 GPIO_ACTIVE_LOW>;
++              sfp,ethernet = <&eth2>;
++              tx-disable-gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
++              tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
++      };
++
+       dsa@0 {
+               compatible = "marvell,dsa";
+               dsa,ethernet = <&eth1>;