diff mbox series

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

Message ID 20200720085406.6716-11-stephan@gerhold.net (mailing list archive)
State New, archived
Headers show
Series Convert MSM8916 boards to use labels, reduce duplication | expand

Commit Message

Stephan Gerhold July 20, 2020, 8:54 a.m. UTC
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@linaro.org/

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 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 mbox series

Patch

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>;