public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Stephan Gerhold <stephan.gerhold@linaro.org>
To: Jonathan Marek <jonathan@marek.ca>
Cc: linux-arm-msm@vger.kernel.org,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	Abel Vesa <abel.vesa@linaro.org>, Johan Hovold <johan@kernel.org>
Subject: Re: [PATCH v2 2/3] arm64: dts: qcom: x1e80100-crd: enable otg on usb ports
Date: Mon, 21 Oct 2024 14:54:00 +0200	[thread overview]
Message-ID: <ZxZO6Prrm2ITUZMQ@linaro.org> (raw)
In-Reply-To: <20241011231624.30628-2-jonathan@marek.ca>

+Cc Abel and Johan

FYI, this landed in qcom for-next last week for CRD and T14s.

On Fri, Oct 11, 2024 at 07:16:22PM -0400, Jonathan Marek wrote:
> The 3 USB ports on x1e80100-crd are OTG-capable, remove the dr_mode
> override to enable OTG.
> 
> Signed-off-by: Jonathan Marek <jonathan@marek.ca>

This is a bit problematic, because dr_mode = "otg" seems to imply
gadget/peripheral mode by default and we are currently unable to detect
the role at runtime until the ADSP is started. Being in peripheral mode
by default will break USB installers; they won't be able find the rootfs
via USB. Unfortunately, they wouldn't be able to detect it once in the
rootfs either, because usually you first need to copy the ADSP firmware
from Windows (at least on the laptops).

I think the best quick fix would be to set

	role-switch-default-mode = "host";

for now to restore the old behavior in initrd, while still allowing to
switch to peripheral mode once detected by the ADSP later.

It would be nice to have gadget mode in initrd as well, since e.g.
postmarketOS needs that to set up the USB debug shell. But I'm not sure
how we could support that:

 - We could designate some of the ports as "peripheral by default" and
   some as "host by default". E.g. usb_1_ss0 is also used for EDL and
   Fastboot on CRD, so it's more likely to be used in peripheral mode.
   But there still would be users confused about why they cannot plug in
   their USB installer into one of the ports...

 - Long term, I wonder if there is any way we could reuse the reduced
   ADSP firmware from UEFI for USB detection until we start the full one
   later? Perhaps it provides a similar interface?

Thanks,
Stephan

> ---
>  arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
> index eb6b735c41453..bc66f4713b231 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
> @@ -1568,10 +1568,6 @@ &usb_1_ss0 {
>  	status = "okay";
>  };
>  
> -&usb_1_ss0_dwc3 {
> -	dr_mode = "host";
> -};
> -
>  &usb_1_ss0_dwc3_hs {
>  	remote-endpoint = <&pmic_glink_ss0_hs_in>;
>  };
> @@ -1600,10 +1596,6 @@ &usb_1_ss1 {
>  	status = "okay";
>  };
>  
> -&usb_1_ss1_dwc3 {
> -	dr_mode = "host";
> -};
> -
>  &usb_1_ss1_dwc3_hs {
>  	remote-endpoint = <&pmic_glink_ss1_hs_in>;
>  };
> @@ -1632,10 +1624,6 @@ &usb_1_ss2 {
>  	status = "okay";
>  };
>  
> -&usb_1_ss2_dwc3 {
> -	dr_mode = "host";
> -};
> -
>  &usb_1_ss2_dwc3_hs {
>  	remote-endpoint = <&pmic_glink_ss2_hs_in>;
>  };
> -- 
> 2.45.1
> 

  parent reply	other threads:[~2024-10-21 12:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-11 23:16 [PATCH v2 1/3] arm64: dts: qcom: x1e80100: enable OTG on USB-C controllers Jonathan Marek
2024-10-11 23:16 ` [PATCH v2 2/3] arm64: dts: qcom: x1e80100-crd: enable otg on usb ports Jonathan Marek
2024-10-12  7:33   ` Dmitry Baryshkov
2024-10-21 12:54   ` Stephan Gerhold [this message]
2024-10-22  4:25     ` Jonathan Marek
2024-10-11 23:16 ` [PATCH v2 3/3] arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports Jonathan Marek
2024-10-12  7:34   ` Dmitry Baryshkov
2024-10-12  6:17 ` [PATCH v2 1/3] arm64: dts: qcom: x1e80100: enable OTG on USB-C controllers Dmitry Baryshkov
2024-10-16 15:32 ` (subset) " Bjorn Andersson
2024-11-06 12:37 ` Dmitry Baryshkov
2024-11-06 15:17   ` Dmitry Baryshkov

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=ZxZO6Prrm2ITUZMQ@linaro.org \
    --to=stephan.gerhold@linaro.org \
    --cc=abel.vesa@linaro.org \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=johan@kernel.org \
    --cc=jonathan@marek.ca \
    --cc=konradybcio@kernel.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