[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0198b64c-c0d1-465c-a1e7-85b7732d6268@kernel.org>
Date: Sat, 15 Feb 2025 10:34:43 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Marek Szyprowski <m.szyprowski@...sung.com>,
André Draszik <andre.draszik@...aro.org>,
Vinod Koul <vkoul@...nel.org>, Kishon Vijay Abraham I <kishon@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Sylwester Nawrocki <s.nawrocki@...sung.com>,
Alim Akhtar <alim.akhtar@...sung.com>
Cc: Peter Griffin <peter.griffin@...aro.org>,
Tudor Ambarus <tudor.ambarus@...aro.org>,
Sam Protsenko <semen.protsenko@...aro.org>,
Will McVicker <willmcvicker@...gle.com>, Roy Luo <royluo@...gle.com>,
kernel-team@...roid.com, linux-phy@...ts.infradead.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-samsung-soc@...r.kernel.org
Subject: Re: [PATCH v4 6/7] phy: exynos5-usbdrd: subscribe to orientation
notifier if required
On 15/02/2025 10:24, Krzysztof Kozlowski wrote:
> On 14/02/2025 20:30, Marek Szyprowski wrote:
>> On 06.12.2024 17:31, André Draszik wrote:
>>> gs101's SS phy needs to be configured differently based on the
>>> connector orientation, as the SS link can only be established if the
>>> mux is configured correctly.
>>>
>>> The code to handle programming of the mux is in place already, this commit
>>> now adds the missing pieces to subscribe to the Type-C orientation
>>> switch event.
>>>
>>> Note that for this all to work we rely on the USB controller
>>> re-initialising us. It should invoke our .exit() upon cable unplug, and
>>> during cable plug we'll receive the orientation event after which we
>>> expect our .init() to be called.
>>>
>>> Above reinitialisation happens if the DWC3 controller can enter runtime
>>> suspend automatically. For the DWC3 driver, this is an opt-in:
>>> echo auto > /sys/devices/.../11110000.usb/power/control
>>> Once done, things work as long as the UDC is not bound as otherwise it
>>> stays busy because it doesn't cancel / stop outstanding TRBs. For now
>>> we have to manually unbind the UDC in that case:
>>> echo "" > sys/kernel/config/usb_gadget/.../UDC
>>>
>>> Note that if the orientation-switch property is missing from the DT,
>>> the code will behave as before this commit (meaning for gs101 it will
>>> work in SS mode in one orientation only). Other platforms are not
>>> affected either way.
>>>
>>> Signed-off-by: André Draszik <andre.draszik@...aro.org>
>>>
>>> ---
>>> v3:
>>> * drop init to -1 of phy_drd->orientation (Vinod)
>>> * avoid #ifdef and switch to normal conditional IS_ENABLED() for
>>> CONFIG_TYPEC
>>>
>>> v2:
>>> * move #include typec_mux.h from parent patch into this one (Peter)
>>> ---
>>> drivers/phy/samsung/Kconfig | 1 +
>>> drivers/phy/samsung/phy-exynos5-usbdrd.c | 56 ++++++++++++++++++++++++++++++++
>>> 2 files changed, 57 insertions(+)
>>>
>>> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
>>> index f10afa3d7ff5..fc7bd1088576 100644
>>> --- a/drivers/phy/samsung/Kconfig
>>> +++ b/drivers/phy/samsung/Kconfig
>>> @@ -80,6 +80,7 @@ config PHY_EXYNOS5_USBDRD
>>> tristate "Exynos5 SoC series USB DRD PHY driver"
>>> depends on (ARCH_EXYNOS && OF) || COMPILE_TEST
>>> depends on HAS_IOMEM
>>> + depends on TYPEC || (TYPEC=n && COMPILE_TEST)
>>> depends on USB_DWC3_EXYNOS
>>> select GENERIC_PHY
>>> select MFD_SYSCON
>
>
> So that explains why on recent next some of my boards don't boot. I was
> about to dig over the weekend.
>
>>
>> I've just noticed that the above disables Exynos DRD PHY driver in the
>> default exynos_defconfig for arm 32bit. Enabling CONFIG_TYPEC is
>> exynos_defconfig probably is the easiest way to fix this. I will send a
>> patch then.
>
> No, it's just wrong. Nothing here depends on typec and ARMv7 does not
> have Typec.
>
I'll send a fix for this.
Best regards,
Krzysztof
Powered by blists - more mailing lists