From: neil.armstrong@linaro.org
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Caleb Connolly <caleb.connolly@linaro.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] arm64: dts: qcom: prefer host mode on dev boards
Date: Mon, 24 Jun 2024 14:33:43 +0200 [thread overview]
Message-ID: <95a69492-afc2-4215-aa50-5d7aedbb1556@linaro.org> (raw)
In-Reply-To: <CAA8EJpoifd-Z175ZX6f6Pw+bQHY4F-rX05YoqJNr810_1KLm9Q@mail.gmail.com>
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>;
>>> };
>>>
>>>
>>
>
>
next prev parent reply other threads:[~2024-06-24 12:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2024-06-24 13:08 ` Dmitry Baryshkov
2024-06-24 12:34 ` Caleb Connolly
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=95a69492-afc2-4215-aa50-5d7aedbb1556@linaro.org \
--to=neil.armstrong@linaro.org \
--cc=andersson@kernel.org \
--cc=caleb.connolly@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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®