[PATCH 10/10] arm64: dts: qcom: msm8916: Move common USB properties to msm8916.dtsi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Right now we define "hnp-disable", "srp-disable", "adp-disable"
separately for every MSM8916 board that has USB working.

They are needed for USB to work properly if CONFIG_USB_OTG_FSM
is enabled. This is because the chipidea OTG FSM code waits for
interrupts regarding the VBUS state (AVVIS). Those never happen
on MSM8916 because VBUS is always connected to the PMIC instead
of the USB controller.

There was a patch [1] to work around this but ultimately it was
decided that it's easier to disable the OTG FSM altogether using
these properties. This works fine for most use cases, because the
OTG FSM isn't needed for simple dual role host/gadget operation.

Given that these properties are needed for every MSM8916 device,
move them to msm8916.dtsi so we can avoid some more duplication.

[1]: https://lore.kernel.org/lkml/20160707222114.1673-10-stephen.boyd@xxxxxxxxxx/

Signed-off-by: Stephan Gerhold <stephan@xxxxxxxxxxx>
---
 arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi                  | 3 ---
 arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts       | 4 ----
 arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi | 4 ----
 arch/arm64/boot/dts/qcom/msm8916.dtsi                      | 3 +++
 4 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index 1ecc49e36319..e4b655eb153b 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -379,9 +379,6 @@ codec {
 &usb {
 	status = "okay";
 	extcon = <&usb_id>, <&usb_id>;
-	adp-disable;
-	hnp-disable;
-	srp-disable;
 
 	pinctrl-names = "default", "device";
 	pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index dec5e3ba7df4..b9d3c5d98dd0 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -87,10 +87,6 @@ &usb {
 	status = "okay";
 	dr_mode = "peripheral";
 	extcon = <&usb_vbus>;
-
-	hnp-disable;
-	srp-disable;
-	adp-disable;
 };
 
 &usb_hs_phy {
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
index eb667f4b0e05..2ba649bffd4e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
@@ -153,10 +153,6 @@ &sdhc_2 {
 &usb {
 	status = "okay";
 	extcon = <&muic>, <&muic>;
-
-	hnp-disable;
-	srp-disable;
-	adp-disable;
 };
 
 &usb_hs_phy {
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 273faffab369..d6a5b60846d9 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -802,6 +802,9 @@ usb: usb@78d9000 {
 			reset-names = "core";
 			phy_type = "ulpi";
 			dr_mode = "otg";
+			hnp-disable;
+			srp-disable;
+			adp-disable;
 			ahb-burst-config = <0>;
 			phy-names = "usb-phy";
 			phys = <&usb_hs_phy>;
-- 
2.27.0




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux