ipq806x: disable usb3 phy suspend and add usb tcsr control
authorPavel Kubelun <be.dissent@gmail.com>
Fri, 23 Dec 2016 22:51:07 +0000 (01:51 +0300)
committerJohn Crispin <john@phrozen.org>
Sun, 15 Jan 2017 19:56:30 +0000 (20:56 +0100)
According to Qualcomm SDK usb3 phy suspend should be disabled for
ipq806x.
This may solve issue on some ipq806x devices that breaks usb3
storage peripherals during system boot.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi
target/linux/ipq806x/patches-4.4/315-disable-usb3-phy-suspend.patch [new file with mode: 0644]
target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch

index d4fbbe29f19ba63a35577885dc621b22e0d44634..e795aef0e3154753f80d2945d62cb0346296488e 100644 (file)
                        clocks = <&gcc USB30_0_MASTER_CLK>;
                        clock-names = "core";
 
+                       syscon-tcsr = <&tcsr 0xb0 1>;
+
                        ranges;
 
                        status = "disabled";
                                phys = <&hs_phy_0>, <&ss_phy_0>;
                                phy-names = "usb2-phy", "usb3-phy";
                                dr_mode = "host";
+                               snps,dis_u3_susphy_quirk;
                        };
                };
 
                        clocks = <&gcc USB30_1_MASTER_CLK>;
                        clock-names = "core";
 
+                       syscon-tcsr = <&tcsr 0xb0 0>;
+
                        ranges;
 
                        status = "disabled";
                                phys = <&hs_phy_1>, <&ss_phy_1>;
                                phy-names = "usb2-phy", "usb3-phy";
                                dr_mode = "host";
+                               snps,dis_u3_susphy_quirk;
                        };
                };
 
diff --git a/target/linux/ipq806x/patches-4.4/315-disable-usb3-phy-suspend.patch b/target/linux/ipq806x/patches-4.4/315-disable-usb3-phy-suspend.patch
new file mode 100644 (file)
index 0000000..4b5d480
--- /dev/null
@@ -0,0 +1,36 @@
+--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
++++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
+@@ -678,6 +678,8 @@
+                       clocks = <&gcc USB30_0_MASTER_CLK>;
+                       clock-names = "core";
++                      syscon-tcsr = <&tcsr 0xb0 1>;
++
+                       ranges;
+                       status = "disabled";
+@@ -689,6 +691,7 @@
+                               phys = <&hs_phy_0>, <&ss_phy_0>;
+                               phy-names = "usb2-phy", "usb3-phy";
+                               dr_mode = "host";
++                              snps,dis_u3_susphy_quirk;
+                       };
+               };
+@@ -699,6 +702,8 @@
+                       clocks = <&gcc USB30_1_MASTER_CLK>;
+                       clock-names = "core";
++                      syscon-tcsr = <&tcsr 0xb0 0>;
++
+                       ranges;
+                       status = "disabled";
+@@ -710,6 +715,7 @@
+                               phys = <&hs_phy_1>, <&ss_phy_1>;
+                               phy-names = "usb2-phy", "usb3-phy";
+                               dr_mode = "host";
++                              snps,dis_u3_susphy_quirk;
+                       };
+               };
index f6f357253fe3d4005cf5c4768d5a6a8b27673a15..b3d854562d43bcba3eb560dec9e25d2f03030d62 100644 (file)
@@ -121,7 +121,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
  };
 --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-@@ -904,6 +904,92 @@
+@@ -910,6 +910,92 @@
  
                        status = "disabled";
                };