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.openwrt.org/?p=openwrt%2Fstaging%2Fjow.git;a=commitdiff_plain;h=45bf3d4f248ea2d770a1625fdee8899dc40329af 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 d4fbbe29f1..e795aef0e3 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 0000000000..4b5d480d33 --- /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 f6f357253f..b3d854562d 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"; };