From: Pavel Kubelun Date: Fri, 23 Dec 2016 22:51:07 +0000 (+0300) Subject: ipq806x: disable usb3 phy suspend and add usb tcsr control X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=45bf3d4f248ea2d770a1625fdee8899dc40329af;p=openwrt%2Fstaging%2Fblogic.git ipq806x: disable usb3 phy suspend and add usb tcsr control 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 --- diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi index d4fbbe29f19b..e795aef0e315 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi @@ -863,6 +863,8 @@ clocks = <&gcc USB30_0_MASTER_CLK>; clock-names = "core"; + syscon-tcsr = <&tcsr 0xb0 1>; + ranges; status = "disabled"; @@ -876,6 +878,7 @@ phys = <&hs_phy_0>, <&ss_phy_0>; phy-names = "usb2-phy", "usb3-phy"; dr_mode = "host"; + snps,dis_u3_susphy_quirk; }; }; @@ -886,6 +889,8 @@ clocks = <&gcc USB30_1_MASTER_CLK>; clock-names = "core"; + syscon-tcsr = <&tcsr 0xb0 0>; + ranges; status = "disabled"; @@ -897,6 +902,7 @@ 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 index 000000000000..4b5d480d33d6 --- /dev/null +++ b/target/linux/ipq806x/patches-4.4/315-disable-usb3-phy-suspend.patch @@ -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; + }; + }; + diff --git a/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch b/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch index f6f357253fe3..b3d854562d43 100644 --- a/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch +++ b/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch @@ -121,7 +121,7 @@ Signed-off-by: Mathieu Olivari }; --- 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"; };