mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: qcom: make dev boards prefer usb host mode
@ 2024-06-24 12:23 Caleb Connolly
  2024-06-24 12:23 ` [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi Caleb Connolly
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Caleb Connolly @ 2024-06-24 12:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, linux-kernel, Caleb Connolly

Many of the Qualcomm development boards feature DRD capable
type-c ports. However these boards differ from smartphones in their
usage, and it's generally preferred that they would enter host mode by
default when given the choice.

This doesn't affect connection to a host-only PC, since the controller
is still DRD capable.

The RB1/2 are a special case, since they feature an on-board USB hub and
a manual dip switch to toggle between it and the type-c port. Preferring
host mode offers a useful hint to the software if it doesn't feature a
fully DRD capable USB controller driver, it can just use the default
mode (rather than defaulting to peripheral mode unconditionally).

---
Caleb Connolly (3):
      arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi
      arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi
      arm64: dts: qcom: prefer host mode on dev boards

 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
 arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
 arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
 arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 3 +--
 arch/arm64/boot/dts/qcom/sm8350.dtsi         | 1 +
 arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
 arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 3 +--
 arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 3 +--
 arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 3 +--
 arch/arm64/boot/dts/qcom/sm8650.dtsi         | 1 +
 14 files changed, 29 insertions(+), 8 deletions(-)
---
change-id: 20240624-b4-rb2-fixes-1ad33cd72f3a
base-commit: f76698bd9a8ca01d3581236082d786e9a6b72bb7

// Caleb (they/them)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi
  2024-06-24 12:23 [PATCH 0/3] arm64: dts: qcom: make dev boards prefer usb host mode Caleb Connolly
@ 2024-06-24 12:23 ` Caleb Connolly
  2024-06-24 13:10   ` Dmitry Baryshkov
  2024-06-24 12:23 ` [PATCH 2/3] arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi Caleb Connolly
  2024-06-24 12:23 ` [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards Caleb Connolly
  2 siblings, 1 reply; 11+ messages in thread
From: Caleb Connolly @ 2024-06-24 12:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, linux-kernel, Caleb Connolly

All sm8650 boards have role switching capabilities, set it in the soc
dtsi to deduplicate things.
And drop the explicit dr_mode = "otg" since it's the default.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 5 -----
 arch/arm64/boot/dts/qcom/sm8650-mtp.dts | 5 -----
 arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 5 -----
 arch/arm64/boot/dts/qcom/sm8650.dtsi    | 1 +
 4 files changed, 1 insertion(+), 15 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
index eb2f910b4f58..092b78fd8a3b 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
@@ -1300,13 +1300,8 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
-&usb_1_dwc3 {
-	dr_mode = "otg";
-	usb-role-switch;
-};
-
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
index fa6c3b397f2d..d6f91580ba8d 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
@@ -839,13 +839,8 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
-&usb_1_dwc3 {
-	dr_mode = "otg";
-	usb-role-switch;
-};
-
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
index 6e3c4d8dcc19..bd60c2770da2 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
@@ -1285,13 +1285,8 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
-&usb_1_dwc3 {
-	dr_mode = "otg";
-	usb-role-switch;
-};
-
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index 8af151d924f9..8647ca314506 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -3857,8 +3857,9 @@ usb_1_dwc3: usb@a600000 {
 				snps,usb3_lpm_capable;
 				snps,usb2-lpm-disable;
 				snps,has-lpm-erratum;
 				tx-fifo-resize;
+				usb-role-switch;
 
 				dma-coherent;
 
 				ports {

-- 
2.45.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 2/3] arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi
  2024-06-24 12:23 [PATCH 0/3] arm64: dts: qcom: make dev boards prefer usb host mode Caleb Connolly
  2024-06-24 12:23 ` [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi Caleb Connolly
@ 2024-06-24 12:23 ` Caleb Connolly
  2024-06-24 13:11   ` Dmitry Baryshkov
  2024-06-24 12:23 ` [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards Caleb Connolly
  2 siblings, 1 reply; 11+ messages in thread
From: Caleb Connolly @ 2024-06-24 12:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, linux-kernel, Caleb Connolly

Since all boards with this soc are capable of role switching, move the
usb-role-switch property to the soc dtsi and stop explicitly setting
dr_mode to OTG since it's the default.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8350-hdk.dts | 5 -----
 arch/arm64/boot/dts/qcom/sm8350.dtsi    | 1 +
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
index 895adce59e75..e031ad4c19f4 100644
--- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
@@ -847,13 +847,8 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
-&usb_1_dwc3 {
-	dr_mode = "otg";
-	usb-role-switch;
-};
-
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 38ee0850c335..f88c4d66164b 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -2404,8 +2404,9 @@ usb_1_dwc3: usb@a600000 {
 				snps,dis_u2_susphy_quirk;
 				snps,dis_enblslpm_quirk;
 				phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
 				phy-names = "usb2-phy", "usb3-phy";
+				usb-role-switch;
 
 				ports {
 					#address-cells = <1>;
 					#size-cells = <0>;

-- 
2.45.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
  2024-06-24 12:23 [PATCH 0/3] arm64: dts: qcom: make dev boards prefer usb host mode Caleb Connolly
  2024-06-24 12:23 ` [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi Caleb Connolly
  2024-06-24 12:23 ` [PATCH 2/3] arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi Caleb Connolly
@ 2024-06-24 12:23 ` Caleb Connolly
  2024-06-24 12:28   ` neil.armstrong
  2 siblings, 1 reply; 11+ messages in thread
From: Caleb Connolly @ 2024-06-24 12:23 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, linux-kernel, Caleb Connolly

Generally, when given the choice these boards should prefer host mode
since they're SBCs. When attached to a laptop (which is host-only) they
should still fall back to peripheral mode.

Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
---
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
 arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
 arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
 arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
 arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 4 ++++
 arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 4 ++++
 12 files changed, 39 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index c4cde4328e3d..bac4ed5874b6 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -657,8 +657,9 @@ &usb_1 {
 
 &usb_1_dwc3 {
 	dr_mode = "otg";
 	usb-role-switch;
+	role-switch-default-mode = "host";
 };
 
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
index e19790464a11..bece4896ca23 100644
--- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
+++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
@@ -593,8 +593,12 @@ &uart4 {
 &usb {
 	status = "okay";
 };
 
+&usb_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_dwc3_hs {
 	remote-endpoint = <&pm4125_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 1c7de7f2db79..17d36f0ef5ab 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -661,8 +661,12 @@ &uart4 {
 &usb {
 	status = "okay";
 };
 
+&usb_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_dwc3_hs {
 	remote-endpoint = <&pmi632_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
index bac08f00b303..fe548d795490 100644
--- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
@@ -695,8 +695,9 @@ &usb_2 {
 
 &usb_1_dwc3 {
 	dr_mode = "otg";
 	usb-role-switch;
+	role-switch-default-mode = "host";
 };
 
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pm8150b_hs_in>;
diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
index e031ad4c19f4..20d5c54cfcf9 100644
--- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
@@ -847,8 +847,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
index a754b8fe9167..ebafcbe6859e 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
@@ -1098,8 +1098,9 @@ &usb_1 {
 
 &usb_1_dwc3 {
 	dr_mode = "otg";
 	usb-role-switch;
+	role-switch-default-mode = "host";
 };
 
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
index e0dc03a97771..1efda478b7b9 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
@@ -1252,8 +1252,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
index 26dfca0c3e05..7b05932f9c36 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
@@ -945,8 +945,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
index 361b0792db4f..744bdc846e70 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
@@ -1211,8 +1211,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
index 092b78fd8a3b..f07a56583e7d 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
@@ -1300,8 +1300,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
index d6f91580ba8d..1a9a31423af4 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
@@ -839,8 +839,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
index bd60c2770da2..031b7ada8eb1 100644
--- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
@@ -1285,8 +1285,12 @@ &ufs_mem_phy {
 &usb_1 {
 	status = "okay";
 };
 
+&usb_1_dwc3 {
+	role-switch-default-mode = "host";
+};
+
 &usb_1_dwc3_hs {
 	remote-endpoint = <&pmic_glink_hs_in>;
 };
 

-- 
2.45.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
  2024-06-24 12:23 ` [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards Caleb Connolly
@ 2024-06-24 12:28   ` neil.armstrong
  2024-06-24 12:31     ` Dmitry Baryshkov
  2024-06-24 12:34     ` Caleb Connolly
  0 siblings, 2 replies; 11+ messages in thread
From: neil.armstrong @ 2024-06-24 12:28 UTC (permalink / raw)
  To: Caleb Connolly, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, linux-kernel

On 24/06/2024 14:23, Caleb Connolly wrote:
> Generally, when given the choice these boards should prefer host mode
> since they're SBCs. When attached to a laptop (which is host-only) they
> should still fall back to peripheral mode.

It's really not what I observed on sm8550/sm8650 QRD/HDK, as the power
is setup for peripheral by the bootloader and without an actual UCSI/PD
negociation it would only be functionnal as peripheral mode.

So this is definitely untrue on sm8450/sm8550/sm8650 HDK/QRD/MTP.

Neil

> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> ---
>   arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
>   arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
>   arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
>   arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
>   arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 4 ++++
>   arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 4 ++++
>   12 files changed, 39 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> index c4cde4328e3d..bac4ed5874b6 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> @@ -657,8 +657,9 @@ &usb_1 {
>   
>   &usb_1_dwc3 {
>   	dr_mode = "otg";
>   	usb-role-switch;
> +	role-switch-default-mode = "host";
>   };
>   
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
> diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> index e19790464a11..bece4896ca23 100644
> --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> @@ -593,8 +593,12 @@ &uart4 {
>   &usb {
>   	status = "okay";
>   };
>   
> +&usb_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_dwc3_hs {
>   	remote-endpoint = <&pm4125_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> index 1c7de7f2db79..17d36f0ef5ab 100644
> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> @@ -661,8 +661,12 @@ &uart4 {
>   &usb {
>   	status = "okay";
>   };
>   
> +&usb_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_dwc3_hs {
>   	remote-endpoint = <&pmi632_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> index bac08f00b303..fe548d795490 100644
> --- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> @@ -695,8 +695,9 @@ &usb_2 {
>   
>   &usb_1_dwc3 {
>   	dr_mode = "otg";
>   	usb-role-switch;
> +	role-switch-default-mode = "host";
>   };
>   
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pm8150b_hs_in>;
> diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> index e031ad4c19f4..20d5c54cfcf9 100644
> --- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> @@ -847,8 +847,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> index a754b8fe9167..ebafcbe6859e 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> @@ -1098,8 +1098,9 @@ &usb_1 {
>   
>   &usb_1_dwc3 {
>   	dr_mode = "otg";
>   	usb-role-switch;
> +	role-switch-default-mode = "host";
>   };
>   
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> index e0dc03a97771..1efda478b7b9 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> @@ -1252,8 +1252,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> index 26dfca0c3e05..7b05932f9c36 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> @@ -945,8 +945,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> index 361b0792db4f..744bdc846e70 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> @@ -1211,8 +1211,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> index 092b78fd8a3b..f07a56583e7d 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> @@ -1300,8 +1300,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> index d6f91580ba8d..1a9a31423af4 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> @@ -839,8 +839,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> index bd60c2770da2..031b7ada8eb1 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> @@ -1285,8 +1285,12 @@ &ufs_mem_phy {
>   &usb_1 {
>   	status = "okay";
>   };
>   
> +&usb_1_dwc3 {
> +	role-switch-default-mode = "host";
> +};
> +
>   &usb_1_dwc3_hs {
>   	remote-endpoint = <&pmic_glink_hs_in>;
>   };
>   
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
  2024-06-24 12:28   ` neil.armstrong
@ 2024-06-24 12:31     ` Dmitry Baryshkov
  2024-06-24 12:33       ` neil.armstrong
  2024-06-24 12:34     ` Caleb Connolly
  1 sibling, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-06-24 12:31 UTC (permalink / raw)
  To: neil.armstrong
  Cc: Caleb Connolly, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

On Mon, 24 Jun 2024 at 15:28, <neil.armstrong@linaro.org> wrote:
>
> On 24/06/2024 14:23, Caleb Connolly wrote:
> > Generally, when given the choice these boards should prefer host mode
> > since they're SBCs. When attached to a laptop (which is host-only) they
> > should still fall back to peripheral mode.
>
> It's really not what I observed on sm8550/sm8650 QRD/HDK, as the power
> is setup for peripheral by the bootloader and without an actual UCSI/PD
> negociation it would only be functionnal as peripheral mode.
>
> So this is definitely untrue on sm8450/sm8550/sm8650 HDK/QRD/MTP.

But we now have the UCSI support for those platforms, don't we?

>
> Neil
>
> >
> > Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> > ---
> >   arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
> >   arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
> >   arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
> >   arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
> >   arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 4 ++++
> >   arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 4 ++++
> >   12 files changed, 39 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> > index c4cde4328e3d..bac4ed5874b6 100644
> > --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> > +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> > @@ -657,8 +657,9 @@ &usb_1 {
> >
> >   &usb_1_dwc3 {
> >       dr_mode = "otg";
> >       usb-role-switch;
> > +     role-switch-default-mode = "host";
> >   };
> >
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> > diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> > index e19790464a11..bece4896ca23 100644
> > --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> > +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> > @@ -593,8 +593,12 @@ &uart4 {
> >   &usb {
> >       status = "okay";
> >   };
> >
> > +&usb_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_dwc3_hs {
> >       remote-endpoint = <&pm4125_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> > index 1c7de7f2db79..17d36f0ef5ab 100644
> > --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> > +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> > @@ -661,8 +661,12 @@ &uart4 {
> >   &usb {
> >       status = "okay";
> >   };
> >
> > +&usb_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_dwc3_hs {
> >       remote-endpoint = <&pmi632_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> > index bac08f00b303..fe548d795490 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> > @@ -695,8 +695,9 @@ &usb_2 {
> >
> >   &usb_1_dwc3 {
> >       dr_mode = "otg";
> >       usb-role-switch;
> > +     role-switch-default-mode = "host";
> >   };
> >
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pm8150b_hs_in>;
> > diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> > index e031ad4c19f4..20d5c54cfcf9 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> > @@ -847,8 +847,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> > index a754b8fe9167..ebafcbe6859e 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> > @@ -1098,8 +1098,9 @@ &usb_1 {
> >
> >   &usb_1_dwc3 {
> >       dr_mode = "otg";
> >       usb-role-switch;
> > +     role-switch-default-mode = "host";
> >   };
> >
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> > diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> > index e0dc03a97771..1efda478b7b9 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> > @@ -1252,8 +1252,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> > index 26dfca0c3e05..7b05932f9c36 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> > @@ -945,8 +945,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> > index 361b0792db4f..744bdc846e70 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> > @@ -1211,8 +1211,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> > index 092b78fd8a3b..f07a56583e7d 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> > @@ -1300,8 +1300,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> > index d6f91580ba8d..1a9a31423af4 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> > @@ -839,8 +839,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> > index bd60c2770da2..031b7ada8eb1 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> > @@ -1285,8 +1285,12 @@ &ufs_mem_phy {
> >   &usb_1 {
> >       status = "okay";
> >   };
> >
> > +&usb_1_dwc3 {
> > +     role-switch-default-mode = "host";
> > +};
> > +
> >   &usb_1_dwc3_hs {
> >       remote-endpoint = <&pmic_glink_hs_in>;
> >   };
> >
> >
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
  2024-06-24 12:31     ` Dmitry Baryshkov
@ 2024-06-24 12:33       ` neil.armstrong
  2024-06-24 13:08         ` Dmitry Baryshkov
  0 siblings, 1 reply; 11+ messages in thread
From: neil.armstrong @ 2024-06-24 12:33 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Caleb Connolly, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

On 24/06/2024 14:31, Dmitry Baryshkov wrote:
> On Mon, 24 Jun 2024 at 15:28, <neil.armstrong@linaro.org> wrote:
>>
>> On 24/06/2024 14:23, Caleb Connolly wrote:
>>> Generally, when given the choice these boards should prefer host mode
>>> since they're SBCs. When attached to a laptop (which is host-only) they
>>> should still fall back to peripheral mode.
>>
>> It's really not what I observed on sm8550/sm8650 QRD/HDK, as the power
>> is setup for peripheral by the bootloader and without an actual UCSI/PD
>> negociation it would only be functionnal as peripheral mode.
>>
>> So this is definitely untrue on sm8450/sm8550/sm8650 HDK/QRD/MTP.
> 
> But we now have the UCSI support for those platforms, don't we?

UCSI doesn't care about role-switch-default-mode, it's the default
fallback role to set when no role was explicitely set by UCSI.

Setting host won't make it work because the power support is handled
by the UCSI firmware. setting role-switch-default-mode = "host" will
make the USB port unusable if UCSI fails to start since it's
physically set to peripheral mode.

Neil

> 
>>
>> Neil
>>
>>>
>>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
>>> ---
>>>    arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
>>>    arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
>>>    arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
>>>    arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
>>>    arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 4 ++++
>>>    arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 4 ++++
>>>    12 files changed, 39 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
>>> index c4cde4328e3d..bac4ed5874b6 100644
>>> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
>>> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
>>> @@ -657,8 +657,9 @@ &usb_1 {
>>>
>>>    &usb_1_dwc3 {
>>>        dr_mode = "otg";
>>>        usb-role-switch;
>>> +     role-switch-default-mode = "host";
>>>    };
>>>
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>> diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>>> index e19790464a11..bece4896ca23 100644
>>> --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>>> +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>>> @@ -593,8 +593,12 @@ &uart4 {
>>>    &usb {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_dwc3_hs {
>>>        remote-endpoint = <&pm4125_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>>> index 1c7de7f2db79..17d36f0ef5ab 100644
>>> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>>> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>>> @@ -661,8 +661,12 @@ &uart4 {
>>>    &usb {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_dwc3_hs {
>>>        remote-endpoint = <&pmi632_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>>> index bac08f00b303..fe548d795490 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>>> @@ -695,8 +695,9 @@ &usb_2 {
>>>
>>>    &usb_1_dwc3 {
>>>        dr_mode = "otg";
>>>        usb-role-switch;
>>> +     role-switch-default-mode = "host";
>>>    };
>>>
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pm8150b_hs_in>;
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
>>> index e031ad4c19f4..20d5c54cfcf9 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
>>> @@ -847,8 +847,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
>>> index a754b8fe9167..ebafcbe6859e 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
>>> @@ -1098,8 +1098,9 @@ &usb_1 {
>>>
>>>    &usb_1_dwc3 {
>>>        dr_mode = "otg";
>>>        usb-role-switch;
>>> +     role-switch-default-mode = "host";
>>>    };
>>>
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>>> index e0dc03a97771..1efda478b7b9 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>>> @@ -1252,8 +1252,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>>> index 26dfca0c3e05..7b05932f9c36 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>>> @@ -945,8 +945,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>>> index 361b0792db4f..744bdc846e70 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>>> @@ -1211,8 +1211,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>>> index 092b78fd8a3b..f07a56583e7d 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>>> @@ -1300,8 +1300,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>>> index d6f91580ba8d..1a9a31423af4 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>>> @@ -839,8 +839,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>>> index bd60c2770da2..031b7ada8eb1 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>>> @@ -1285,8 +1285,12 @@ &ufs_mem_phy {
>>>    &usb_1 {
>>>        status = "okay";
>>>    };
>>>
>>> +&usb_1_dwc3 {
>>> +     role-switch-default-mode = "host";
>>> +};
>>> +
>>>    &usb_1_dwc3_hs {
>>>        remote-endpoint = <&pmic_glink_hs_in>;
>>>    };
>>>
>>>
>>
> 
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
  2024-06-24 12:28   ` neil.armstrong
  2024-06-24 12:31     ` Dmitry Baryshkov
@ 2024-06-24 12:34     ` Caleb Connolly
  1 sibling, 0 replies; 11+ messages in thread
From: Caleb Connolly @ 2024-06-24 12:34 UTC (permalink / raw)
  To: neil.armstrong, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov
  Cc: linux-arm-msm, devicetree, linux-kernel



On 24/06/2024 14:28, neil.armstrong@linaro.org wrote:
> On 24/06/2024 14:23, Caleb Connolly wrote:
>> Generally, when given the choice these boards should prefer host mode
>> since they're SBCs. When attached to a laptop (which is host-only) they
>> should still fall back to peripheral mode.
> 
> It's really not what I observed on sm8550/sm8650 QRD/HDK, as the power
> is setup for peripheral by the bootloader and without an actual UCSI/PD
> negociation it would only be functionnal as peripheral mode.
> 
> So this is definitely untrue on sm8450/sm8550/sm8650 HDK/QRD/MTP.

Hmm, yeah in that case this change could break U-Boot.

Let me re-send and split out the rb1/2 since those are much more clear cut.
> 
> Neil
> 
>>
>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
>> ---
>>   arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
>>   arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
>>   arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
>>   arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
>>   arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 4 ++++
>>   arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 4 ++++
>>   12 files changed, 39 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts 
>> b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
>> index c4cde4328e3d..bac4ed5874b6 100644
>> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
>> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
>> @@ -657,8 +657,9 @@ &usb_1 {
>>   &usb_1_dwc3 {
>>       dr_mode = "otg";
>>       usb-role-switch;
>> +    role-switch-default-mode = "host";
>>   };
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>> diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts 
>> b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>> index e19790464a11..bece4896ca23 100644
>> --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>> +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
>> @@ -593,8 +593,12 @@ &uart4 {
>>   &usb {
>>       status = "okay";
>>   };
>> +&usb_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_dwc3_hs {
>>       remote-endpoint = <&pm4125_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts 
>> b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> index 1c7de7f2db79..17d36f0ef5ab 100644
>> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
>> @@ -661,8 +661,12 @@ &uart4 {
>>   &usb {
>>       status = "okay";
>>   };
>> +&usb_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_dwc3_hs {
>>       remote-endpoint = <&pmi632_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts 
>> b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>> index bac08f00b303..fe548d795490 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
>> @@ -695,8 +695,9 @@ &usb_2 {
>>   &usb_1_dwc3 {
>>       dr_mode = "otg";
>>       usb-role-switch;
>> +    role-switch-default-mode = "host";
>>   };
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pm8150b_hs_in>;
>> diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts 
>> b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
>> index e031ad4c19f4..20d5c54cfcf9 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
>> @@ -847,8 +847,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts 
>> b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
>> index a754b8fe9167..ebafcbe6859e 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
>> @@ -1098,8 +1098,9 @@ &usb_1 {
>>   &usb_1_dwc3 {
>>       dr_mode = "otg";
>>       usb-role-switch;
>> +    role-switch-default-mode = "host";
>>   };
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts 
>> b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>> index e0dc03a97771..1efda478b7b9 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>> @@ -1252,8 +1252,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts 
>> b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>> index 26dfca0c3e05..7b05932f9c36 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>> @@ -945,8 +945,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts 
>> b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>> index 361b0792db4f..744bdc846e70 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>> @@ -1211,8 +1211,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts 
>> b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>> index 092b78fd8a3b..f07a56583e7d 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>> @@ -1300,8 +1300,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts 
>> b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>> index d6f91580ba8d..1a9a31423af4 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>> @@ -839,8 +839,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts 
>> b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>> index bd60c2770da2..031b7ada8eb1 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>> @@ -1285,8 +1285,12 @@ &ufs_mem_phy {
>>   &usb_1 {
>>       status = "okay";
>>   };
>> +&usb_1_dwc3 {
>> +    role-switch-default-mode = "host";
>> +};
>> +
>>   &usb_1_dwc3_hs {
>>       remote-endpoint = <&pmic_glink_hs_in>;
>>   };
>>
> 

-- 
// Caleb (they/them)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
  2024-06-24 12:33       ` neil.armstrong
@ 2024-06-24 13:08         ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-06-24 13:08 UTC (permalink / raw)
  To: neil.armstrong
  Cc: Caleb Connolly, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

On Mon, 24 Jun 2024 at 15:33, <neil.armstrong@linaro.org> wrote:
>
> On 24/06/2024 14:31, Dmitry Baryshkov wrote:
> > On Mon, 24 Jun 2024 at 15:28, <neil.armstrong@linaro.org> wrote:
> >>
> >> On 24/06/2024 14:23, Caleb Connolly wrote:
> >>> Generally, when given the choice these boards should prefer host mode
> >>> since they're SBCs. When attached to a laptop (which is host-only) they
> >>> should still fall back to peripheral mode.
> >>
> >> It's really not what I observed on sm8550/sm8650 QRD/HDK, as the power
> >> is setup for peripheral by the bootloader and without an actual UCSI/PD
> >> negociation it would only be functionnal as peripheral mode.
> >>
> >> So this is definitely untrue on sm8450/sm8550/sm8650 HDK/QRD/MTP.
> >
> > But we now have the UCSI support for those platforms, don't we?
>
> UCSI doesn't care about role-switch-default-mode, it's the default
> fallback role to set when no role was explicitely set by UCSI.
>
> Setting host won't make it work because the power support is handled
> by the UCSI firmware. setting role-switch-default-mode = "host" will
> make the USB port unusable if UCSI fails to start since it's
> physically set to peripheral mode.

Let's not mix the source/sink and host/peripheral, those are
independent. But I see your point. Neither TCPM nor UCSI check this
property. So it seems it's incorrect to set it even for the TCPM
hosts.

>
> Neil
>
> >
> >>
> >> Neil
> >>
> >>>
> >>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> >>> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> >>> ---
> >>>    arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
> >>>    arch/arm64/boot/dts/qcom/qrb2210-rb1.dts     | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/qrb4210-rb2.dts     | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8150-hdk.dts      | 1 +
> >>>    arch/arm64/boot/dts/qcom/sm8350-hdk.dts      | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8450-hdk.dts      | 1 +
> >>>    arch/arm64/boot/dts/qcom/sm8550-hdk.dts      | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8550-mtp.dts      | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8550-qrd.dts      | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8650-hdk.dts      | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8650-mtp.dts      | 4 ++++
> >>>    arch/arm64/boot/dts/qcom/sm8650-qrd.dts      | 4 ++++
> >>>    12 files changed, 39 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> >>> index c4cde4328e3d..bac4ed5874b6 100644
> >>> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> >>> @@ -657,8 +657,9 @@ &usb_1 {
> >>>
> >>>    &usb_1_dwc3 {
> >>>        dr_mode = "otg";
> >>>        usb-role-switch;
> >>> +     role-switch-default-mode = "host";
> >>>    };
> >>>
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>> diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> >>> index e19790464a11..bece4896ca23 100644
> >>> --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
> >>> @@ -593,8 +593,12 @@ &uart4 {
> >>>    &usb {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_dwc3_hs {
> >>>        remote-endpoint = <&pm4125_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> >>> index 1c7de7f2db79..17d36f0ef5ab 100644
> >>> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> >>> @@ -661,8 +661,12 @@ &uart4 {
> >>>    &usb {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_dwc3_hs {
> >>>        remote-endpoint = <&pmi632_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> >>> index bac08f00b303..fe548d795490 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
> >>> @@ -695,8 +695,9 @@ &usb_2 {
> >>>
> >>>    &usb_1_dwc3 {
> >>>        dr_mode = "otg";
> >>>        usb-role-switch;
> >>> +     role-switch-default-mode = "host";
> >>>    };
> >>>
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pm8150b_hs_in>;
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> >>> index e031ad4c19f4..20d5c54cfcf9 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8350-hdk.dts
> >>> @@ -847,8 +847,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> >>> index a754b8fe9167..ebafcbe6859e 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> >>> @@ -1098,8 +1098,9 @@ &usb_1 {
> >>>
> >>>    &usb_1_dwc3 {
> >>>        dr_mode = "otg";
> >>>        usb-role-switch;
> >>> +     role-switch-default-mode = "host";
> >>>    };
> >>>
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> >>> index e0dc03a97771..1efda478b7b9 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> >>> @@ -1252,8 +1252,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> >>> index 26dfca0c3e05..7b05932f9c36 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> >>> @@ -945,8 +945,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> >>> index 361b0792db4f..744bdc846e70 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> >>> @@ -1211,8 +1211,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> >>> index 092b78fd8a3b..f07a56583e7d 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
> >>> @@ -1300,8 +1300,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> >>> index d6f91580ba8d..1a9a31423af4 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
> >>> @@ -839,8 +839,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> >>> index bd60c2770da2..031b7ada8eb1 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
> >>> @@ -1285,8 +1285,12 @@ &ufs_mem_phy {
> >>>    &usb_1 {
> >>>        status = "okay";
> >>>    };
> >>>
> >>> +&usb_1_dwc3 {
> >>> +     role-switch-default-mode = "host";
> >>> +};
> >>> +
> >>>    &usb_1_dwc3_hs {
> >>>        remote-endpoint = <&pmic_glink_hs_in>;
> >>>    };
> >>>
> >>>
> >>
> >
> >
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi
  2024-06-24 12:23 ` [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi Caleb Connolly
@ 2024-06-24 13:10   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-06-24 13:10 UTC (permalink / raw)
  To: Caleb Connolly
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Mon, Jun 24, 2024 at 02:23:42PM GMT, Caleb Connolly wrote:
> All sm8650 boards have role switching capabilities, set it in the soc
> dtsi to deduplicate things.
> And drop the explicit dr_mode = "otg" since it's the default.
> 
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 5 -----
>  arch/arm64/boot/dts/qcom/sm8650-mtp.dts | 5 -----
>  arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 5 -----
>  arch/arm64/boot/dts/qcom/sm8650.dtsi    | 1 +
>  4 files changed, 1 insertion(+), 15 deletions(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/3] arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi
  2024-06-24 12:23 ` [PATCH 2/3] arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi Caleb Connolly
@ 2024-06-24 13:11   ` Dmitry Baryshkov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2024-06-24 13:11 UTC (permalink / raw)
  To: Caleb Connolly
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Mon, Jun 24, 2024 at 02:23:43PM GMT, Caleb Connolly wrote:
> Since all boards with this soc are capable of role switching, move the
> usb-role-switch property to the soc dtsi and stop explicitly setting
> dr_mode to OTG since it's the default.
> 
> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8350-hdk.dts | 5 -----
>  arch/arm64/boot/dts/qcom/sm8350.dtsi    | 1 +
>  2 files changed, 1 insertion(+), 5 deletions(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-06-24 13:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-24 12:23 [PATCH 0/3] arm64: dts: qcom: make dev boards prefer usb host mode Caleb Connolly
2024-06-24 12:23 ` [PATCH 1/3] arm64: dts: qcom: sm8650: move usb-role-switch to sm8650.dtsi Caleb Connolly
2024-06-24 13:10   ` Dmitry Baryshkov
2024-06-24 12:23 ` [PATCH 2/3] arm64: dts: qcom: sm8350: move usb-role-switch to sm8350.dtsi Caleb Connolly
2024-06-24 13:11   ` Dmitry Baryshkov
2024-06-24 12:23 ` [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards Caleb Connolly
2024-06-24 12:28   ` neil.armstrong
2024-06-24 12:31     ` Dmitry Baryshkov
2024-06-24 12:33       ` neil.armstrong
2024-06-24 13:08         ` Dmitry Baryshkov
2024-06-24 12:34     ` Caleb Connolly

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®