devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
	<linux@roeck-us.net>, <heikki.krogerus@linux.intel.com>,
	<gregkh@linuxfoundation.org>, <andersson@kernel.org>,
	<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
	<linux-usb@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	<devicetree@vger.kernel.org>
Cc: <caleb.connolly@linaro.org>, <konrad.dybcio@linaro.org>,
	<subbaram@quicinc.com>, <jackp@quicinc.com>,
	<robertom@qti.qualcomm.com>
Subject: Re: [PATCH v5 00/14] Add Qualcomm PMIC TPCM support
Date: Fri, 21 Apr 2023 12:26:25 +0200	[thread overview]
Message-ID: <CS2D1E4ZYKZ8.2CWDCP9VR0C11@otso> (raw)
In-Reply-To: <75d00efb-ff3c-b1f8-a141-3fa78a39557a@linaro.org>

Hi Bryan,

On Mon Apr 17, 2023 at 12:04 PM CEST, Bryan O'Donoghue wrote:
> On 17/04/2023 08:35, Luca Weiss wrote:
> > Do you have an idea in which part of the code to start debugging this?
> > Since orientation detection is working is it maybe in the phy code and
> > not in the tcpm driver? Or does that also touch crucial stuff for USB
> > apart from telling phy which direction to use?
>
> PHY - I'd almost just do the following
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c 
> b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> index edb788a71edeb..bbac82bd093f8 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> @@ -3369,7 +3369,7 @@ static int qmp_combo_typec_switch_set(struct 
> typec_switch_dev *sw,
>
>          dev_dbg(qmp->dev, "Toggling orientation current %d requested %d\n",
>                  qmp->orientation, orientation);
> -
> +return 0;
>
> In that case the PHY should "just work" for host or device in one 
> orientation.
>
> The other possibility is that the data role message is not hitting dwc3 
> drd on your platform.
>
> If you take the last commit on this branch - plus the updated PHY commit
>
> Commit: 171d7f507511 ("usb: dwc3: drd: Enable user-space triggered 
> role-switching")
>
> Commit: eb0daa19f3ad ("phy: qcom-qmp: Register as a typec switch for 
> orientation detection")
>
> https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-next-23-04-17-pm8150b-tcpm-qcom-wrapper-typec-mux
>
> cat /sys/class/usb_role/a600000.usb-role-switch/role
>
> On SM8250 it looks like this
>
> - Attach TypeC accessory with USB key plugged in [1]
>    Mount USB key, read/write some data
>    Unmount USB key
>
>    cat /sys/class/usb_role/a600000.usb-role-switch/role
>    host

It feels like I spent way too much time now trying to understand the
current behavior across the different patch versions, it's a bit messy,
but in short:

With the "user-space triggered role-switching" patch I can see that
whatever scenario the USB-C port is in, the role is stuck on "device". 

Nothing =
    Role: device, Orientation: unknown

USB(-A) cable to laptop (either direction) =
    Role: device, Orientation: unknown

USB stick up =
    Role: device, Orientation: reverse

USB stick down =
    Role: device, Orientation: normal

Sometimes/mostly when the USB cable is attached during boot I get USB
connection to the laptop until I unplug, then it won't reenable itself.

Also the early return in qmp_combo_typec_switch_set doesn't seem to
change much I believe? But for sure normally qmp_combo_dp_power_off/on
does not get called so I wouldn't be suprised if this reinit breaks
something in the phy.

> <snip>
>
> Yep its worth checking out that the data-role switch is working, we 
> might be looking at the wrong thing for you on the PHY.
>

So this seems to be the case? If that's useful, I can also go back to
the previous (v4?) TCPM revision where the switching mostly worked fine.

(btw the subject has a typo, TPCM instead of TCPM :) )

Regards
Luca

  parent reply	other threads:[~2023-04-21 10:26 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-13 11:34 [PATCH v5 00/14] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 01/14] dt-bindings: regulator: qcom,usb-vbus-regulator: Mark reg as required Bryan O'Donoghue
2023-04-16 17:43   ` Krzysztof Kozlowski
2023-04-13 11:34 ` [PATCH v5 02/14] dt-bindings: regulator: qcom,usb-vbus-regulator: Mark regulator-*-microamp required Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 03/14] dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add orientation-switch as optional Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 04/14] dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add ports as an optional Bryan O'Donoghue
2023-04-14  7:23   ` Marijn Suijten
2023-04-16 17:47   ` Krzysztof Kozlowski
2023-04-17  0:09     ` Bryan O'Donoghue
2023-04-17  6:16       ` Krzysztof Kozlowski
2023-04-13 11:34 ` [PATCH v5 05/14] dt-bindings: usb: Add Qualcomm PMIC Type-C YAML schema Bryan O'Donoghue
2023-04-14  7:27   ` Marijn Suijten
2023-04-16 17:49   ` Krzysztof Kozlowski
2023-04-13 11:34 ` [PATCH v5 06/14] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types Bryan O'Donoghue
2023-04-16 17:50   ` Krzysztof Kozlowski
2023-04-13 11:34 ` [PATCH v5 07/14] arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 08/14] arm64: dts: qcom: pm8150b: Add a TCPM description Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 09/14] arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 10/14] arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 11/14] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1 Bryan O'Donoghue
2023-04-22 14:52   ` Konrad Dybcio
2023-04-22 14:53     ` Konrad Dybcio
2023-04-13 11:34 ` [PATCH v5 12/14] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 13/14] usb: typec: qcom: Add Qualcomm PMIC TCPM support Bryan O'Donoghue
2023-04-24 13:11   ` Heikki Krogerus
2023-04-24 13:48     ` Bryan O'Donoghue
2023-04-13 11:34 ` [PATCH v5 14/14] phy: qcom-qmp: Register as a typec switch for orientation detection Bryan O'Donoghue
2023-04-18 12:57   ` Bjorn Andersson
2023-04-18 16:54     ` Bryan O'Donoghue
2023-04-13 14:19 ` [PATCH v5 00/14] Add Qualcomm PMIC TPCM support Luca Weiss
2023-04-13 15:08   ` Bryan O'Donoghue
2023-04-14  6:51     ` Luca Weiss
2023-04-17  0:30       ` Bryan O'Donoghue
2023-04-17  7:35         ` Luca Weiss
2023-04-17 10:04           ` Bryan O'Donoghue
2023-04-17 10:11             ` Bryan O'Donoghue
2023-04-21 10:26             ` Luca Weiss [this message]
2023-04-22 22:16               ` Bryan O'Donoghue
2023-04-25  7:29                 ` Luca Weiss
2023-09-20  2:13 ` Bjorn Andersson

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=CS2D1E4ZYKZ8.2CWDCP9VR0C11@otso \
    --to=luca.weiss@fairphone.com \
    --cc=andersson@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=caleb.connolly@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jackp@quicinc.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=robertom@qti.qualcomm.com \
    --cc=robh+dt@kernel.org \
    --cc=subbaram@quicinc.com \
    /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;
as well as URLs for NNTP newsgroup(s).