From: William McVicker <willmcvicker@google.com>
To: "André Draszik" <andre.draszik@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Alim Akhtar <alim.akhtar@samsung.com>,
Peter Griffin <peter.griffin@linaro.org>,
Tudor Ambarus <tudor.ambarus@linaro.org>,
Sam Protsenko <semen.protsenko@linaro.org>,
Roy Luo <royluo@google.com>,
kernel-team@android.com, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Subject: Re: [PATCH v4 0/7] USB31DRD phy updates for Google Tensor gs101 (orientation & DWC3 rpm)
Date: Thu, 26 Dec 2024 09:28:46 -0800 [thread overview]
Message-ID: <Z22STiGYnLdSkNnW@google.com> (raw)
In-Reply-To: <20241206-gs101-phy-lanes-orientation-phy-v4-0-f5961268b149@linaro.org>
On 12/06/2024, André Draszik wrote:
> Hi,
>
> This series enables USB3 Type-C lane orientation detection and
> configuration on platforms that support this (Google gs101), and it
> also allows the DWC3 core to enter runtime suspend even when UDC is
> active.
>
> For lane orientation, this driver now optionally (based on DT)
> subscribes to the TCPC's lane orientation notifier and remembers the
> orientation to later be used during phy_init().
>
> To enable DWC3 runtime suspend, the gadget needs to inform the core via
> dwc3_gadget_interrupt() with event type == DWC3_DEVICE_EVENT_DISCONNECT
> of a cable disconnect. For that to allow to happen, this driver
> therefore needs to stop forcing the Vbus and bvalid signals to active
> and instead change their state based on actual conditions. The same
> TCPC notifier is used to detect this, and program the hardware
> accordingly.
>
> That signal state is based on advice given by Thinh in
> https://lore.kernel.org/all/20240813230625.jgkatqstyhcmpezv@synopsys.com/
>
> Both changes together now allow cable orientation detection to work, as
> the DWC3 will now call phy_exit() on cable disconnect, and we can
> reprogram the lane mux in phy_init().
>
> On top of that, there are some small related cleanup patches.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
> Changes in v4:
> - separate out patch 5 'phy: exynos5-usbdrd: gs101: ensure power is
> gated to SS phy in phy_exit()' from this series, as a stable patch
> shouldn't be buried inside a series like this (Greg)
> Link: https://lore.kernel.org/all/20241205-gs101-usb-phy-fix-v4-1-0278809fb810@linaro.org/
> - Link to v3: https://lore.kernel.org/r/20241205-gs101-phy-lanes-orientation-phy-v3-0-32f721bed219@linaro.org
>
> Changes in v3:
> - patches 1 & 2: update as per Rob's suggestions
> - patch 7 & 8: drop init to -1 of phy_drd->orientation (Vinod)
> - patch 7: avoid an #ifdef
> - Link to v2: https://lore.kernel.org/r/20241203-gs101-phy-lanes-orientation-phy-v2-0-40dcf1b7670d@linaro.org
>
> Changes in v2:
> - squash patches #2 and #3 from v1 to actually disallow
> orientation-switch on !gs101 (not just optional) (Conor)
> - update bindings commit message to clarify that the intention for the
> driver is to work with old and new DTS (Conor)
> - add cc-stable and fixes tags to power gating patch (Krzysztof)
> - fix an #include and typo (Peter)
> - Link to v1: https://lore.kernel.org/r/20241127-gs101-phy-lanes-orientation-phy-v1-0-1b7fce24960b@linaro.org
>
> ---
> André Draszik (7):
> dt-bindings: phy: samsung,usb3-drd-phy: add blank lines between DT properties
> dt-bindings: phy: samsung,usb3-drd-phy: gs101: require Type-C properties
> phy: exynos5-usbdrd: convert to dev_err_probe
> phy: exynos5-usbdrd: fix EDS distribution tuning (gs101)
> phy: exynos5-usbdrd: gs101: configure SS lanes based on orientation
> phy: exynos5-usbdrd: subscribe to orientation notifier if required
> phy: exynos5-usbdrd: allow DWC3 runtime suspend with UDC bound (E850+)
>
> .../bindings/phy/samsung,usb3-drd-phy.yaml | 21 ++-
> drivers/phy/samsung/Kconfig | 1 +
> drivers/phy/samsung/phy-exynos5-usbdrd.c | 202 ++++++++++++++++-----
> 3 files changed, 182 insertions(+), 42 deletions(-)
> ---
> base-commit: c245a7a79602ccbee780c004c1e4abcda66aec32
> change-id: 20241127-gs101-phy-lanes-orientation-phy-29d20c6d84d2
>
> Best regards,
> --
> André Draszik <andre.draszik@linaro.org>
>
Thanks Andre for getting this working! I've tested this on my Pixel 6 Pro.
I was able to verify runtime PM works in both orientations with high-speed,
super-speed, and super-speed-plus. Feel free to include:
Tested-by: Will McVicker <willmcvicker@google.com>
Thanks,
Will
WARNING: multiple messages have this Message-ID (diff)
From: William McVicker <willmcvicker@google.com>
To: "André Draszik" <andre.draszik@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Alim Akhtar <alim.akhtar@samsung.com>,
Peter Griffin <peter.griffin@linaro.org>,
Tudor Ambarus <tudor.ambarus@linaro.org>,
Sam Protsenko <semen.protsenko@linaro.org>,
Roy Luo <royluo@google.com>,
kernel-team@android.com, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Subject: Re: [PATCH v4 0/7] USB31DRD phy updates for Google Tensor gs101 (orientation & DWC3 rpm)
Date: Thu, 26 Dec 2024 09:28:46 -0800 [thread overview]
Message-ID: <Z22STiGYnLdSkNnW@google.com> (raw)
In-Reply-To: <20241206-gs101-phy-lanes-orientation-phy-v4-0-f5961268b149@linaro.org>
On 12/06/2024, André Draszik wrote:
> Hi,
>
> This series enables USB3 Type-C lane orientation detection and
> configuration on platforms that support this (Google gs101), and it
> also allows the DWC3 core to enter runtime suspend even when UDC is
> active.
>
> For lane orientation, this driver now optionally (based on DT)
> subscribes to the TCPC's lane orientation notifier and remembers the
> orientation to later be used during phy_init().
>
> To enable DWC3 runtime suspend, the gadget needs to inform the core via
> dwc3_gadget_interrupt() with event type == DWC3_DEVICE_EVENT_DISCONNECT
> of a cable disconnect. For that to allow to happen, this driver
> therefore needs to stop forcing the Vbus and bvalid signals to active
> and instead change their state based on actual conditions. The same
> TCPC notifier is used to detect this, and program the hardware
> accordingly.
>
> That signal state is based on advice given by Thinh in
> https://lore.kernel.org/all/20240813230625.jgkatqstyhcmpezv@synopsys.com/
>
> Both changes together now allow cable orientation detection to work, as
> the DWC3 will now call phy_exit() on cable disconnect, and we can
> reprogram the lane mux in phy_init().
>
> On top of that, there are some small related cleanup patches.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
> Changes in v4:
> - separate out patch 5 'phy: exynos5-usbdrd: gs101: ensure power is
> gated to SS phy in phy_exit()' from this series, as a stable patch
> shouldn't be buried inside a series like this (Greg)
> Link: https://lore.kernel.org/all/20241205-gs101-usb-phy-fix-v4-1-0278809fb810@linaro.org/
> - Link to v3: https://lore.kernel.org/r/20241205-gs101-phy-lanes-orientation-phy-v3-0-32f721bed219@linaro.org
>
> Changes in v3:
> - patches 1 & 2: update as per Rob's suggestions
> - patch 7 & 8: drop init to -1 of phy_drd->orientation (Vinod)
> - patch 7: avoid an #ifdef
> - Link to v2: https://lore.kernel.org/r/20241203-gs101-phy-lanes-orientation-phy-v2-0-40dcf1b7670d@linaro.org
>
> Changes in v2:
> - squash patches #2 and #3 from v1 to actually disallow
> orientation-switch on !gs101 (not just optional) (Conor)
> - update bindings commit message to clarify that the intention for the
> driver is to work with old and new DTS (Conor)
> - add cc-stable and fixes tags to power gating patch (Krzysztof)
> - fix an #include and typo (Peter)
> - Link to v1: https://lore.kernel.org/r/20241127-gs101-phy-lanes-orientation-phy-v1-0-1b7fce24960b@linaro.org
>
> ---
> André Draszik (7):
> dt-bindings: phy: samsung,usb3-drd-phy: add blank lines between DT properties
> dt-bindings: phy: samsung,usb3-drd-phy: gs101: require Type-C properties
> phy: exynos5-usbdrd: convert to dev_err_probe
> phy: exynos5-usbdrd: fix EDS distribution tuning (gs101)
> phy: exynos5-usbdrd: gs101: configure SS lanes based on orientation
> phy: exynos5-usbdrd: subscribe to orientation notifier if required
> phy: exynos5-usbdrd: allow DWC3 runtime suspend with UDC bound (E850+)
>
> .../bindings/phy/samsung,usb3-drd-phy.yaml | 21 ++-
> drivers/phy/samsung/Kconfig | 1 +
> drivers/phy/samsung/phy-exynos5-usbdrd.c | 202 ++++++++++++++++-----
> 3 files changed, 182 insertions(+), 42 deletions(-)
> ---
> base-commit: c245a7a79602ccbee780c004c1e4abcda66aec32
> change-id: 20241127-gs101-phy-lanes-orientation-phy-29d20c6d84d2
>
> Best regards,
> --
> André Draszik <andre.draszik@linaro.org>
>
Thanks Andre for getting this working! I've tested this on my Pixel 6 Pro.
I was able to verify runtime PM works in both orientations with high-speed,
super-speed, and super-speed-plus. Feel free to include:
Tested-by: Will McVicker <willmcvicker@google.com>
Thanks,
Will
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2024-12-26 17:30 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-06 16:31 [PATCH v4 0/7] USB31DRD phy updates for Google Tensor gs101 (orientation & DWC3 rpm) André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-06 16:31 ` [PATCH v4 1/7] dt-bindings: phy: samsung,usb3-drd-phy: add blank lines between DT properties André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-06 16:31 ` [PATCH v4 2/7] dt-bindings: phy: samsung,usb3-drd-phy: gs101: require Type-C properties André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-11 15:47 ` Rob Herring (Arm)
2024-12-11 15:47 ` Rob Herring (Arm)
2024-12-06 16:31 ` [PATCH v4 3/7] phy: exynos5-usbdrd: convert to dev_err_probe André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-26 17:29 ` William McVicker
2024-12-26 17:29 ` William McVicker
2024-12-06 16:31 ` [PATCH v4 4/7] phy: exynos5-usbdrd: fix EDS distribution tuning (gs101) André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-26 17:31 ` William McVicker
2024-12-26 17:31 ` William McVicker
2024-12-06 16:31 ` [PATCH v4 5/7] phy: exynos5-usbdrd: gs101: configure SS lanes based on orientation André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-26 17:31 ` William McVicker
2024-12-26 17:31 ` William McVicker
2024-12-06 16:31 ` [PATCH v4 6/7] phy: exynos5-usbdrd: subscribe to orientation notifier if required André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-07 21:31 ` Peter Griffin
2024-12-07 21:31 ` Peter Griffin
2024-12-11 17:55 ` Peter Griffin
2024-12-11 17:55 ` Peter Griffin
2024-12-26 17:33 ` William McVicker
2024-12-26 17:33 ` William McVicker
2025-02-14 19:30 ` Marek Szyprowski
2025-02-14 19:30 ` Marek Szyprowski
2025-02-15 9:24 ` Krzysztof Kozlowski
2025-02-15 9:24 ` Krzysztof Kozlowski
2025-02-15 9:34 ` Krzysztof Kozlowski
2025-02-15 9:34 ` Krzysztof Kozlowski
2025-02-15 10:07 ` Krzysztof Kozlowski
2025-02-15 10:07 ` Krzysztof Kozlowski
2025-02-15 16:09 ` André Draszik
2025-02-15 16:09 ` André Draszik
2024-12-06 16:31 ` [PATCH v4 7/7] phy: exynos5-usbdrd: allow DWC3 runtime suspend with UDC bound (E850+) André Draszik
2024-12-06 16:31 ` André Draszik
2024-12-07 22:03 ` Peter Griffin
2024-12-07 22:03 ` Peter Griffin
2024-12-11 17:53 ` Peter Griffin
2024-12-11 17:53 ` Peter Griffin
2024-12-26 17:34 ` William McVicker
2024-12-26 17:34 ` William McVicker
2024-12-26 17:28 ` William McVicker [this message]
2024-12-26 17:28 ` [PATCH v4 0/7] USB31DRD phy updates for Google Tensor gs101 (orientation & DWC3 rpm) William McVicker
2025-01-06 14:26 ` André Draszik
2025-01-06 14:26 ` André Draszik
2025-02-13 6:59 ` André Draszik
2025-02-13 6:59 ` André Draszik
2025-02-13 18:16 ` Vinod Koul
2025-02-13 18:16 ` Vinod Koul
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=Z22STiGYnLdSkNnW@google.com \
--to=willmcvicker@google.com \
--cc=alim.akhtar@samsung.com \
--cc=andre.draszik@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel-team@android.com \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=peter.griffin@linaro.org \
--cc=robh@kernel.org \
--cc=royluo@google.com \
--cc=s.nawrocki@samsung.com \
--cc=semen.protsenko@linaro.org \
--cc=tudor.ambarus@linaro.org \
--cc=vkoul@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.