[PATCH v5 3/5] phy: snps-eusb2: Set phy type to EUSB2
Krishna Kurapati
krishna.kurapati at oss.qualcomm.com
Sun Jul 26 10:08:43 PDT 2026
On 7/25/2026 3:21 AM, Sebastian Reichel wrote:
> Hi,
>
> On Thu, Jul 23, 2026 at 04:09:06PM +0530, Krishna Kurapati wrote:
>> USB controllers like DWC3 are agnostic of the kind of phy (USB2/eUSB2)
>> connected to it. Set the phy type to EUSB2 to let the controller know
>> the phy type when queried during its probe.
>>
>> Signed-off-by: Krishna Kurapati <krishna.kurapati at oss.qualcomm.com>
>> ---
>> drivers/phy/phy-snps-eusb2.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/phy/phy-snps-eusb2.c b/drivers/phy/phy-snps-eusb2.c
>> index f90bf7e95463..e139b17bcda5 100644
>> --- a/drivers/phy/phy-snps-eusb2.c
>> +++ b/drivers/phy/phy-snps-eusb2.c
>> @@ -13,6 +13,8 @@
>> #include <linux/regulator/consumer.h>
>> #include <linux/reset.h>
>>
>> +#include <dt-bindings/phy/phy.h>
>> +
>> #define EXYNOS_USB_PHY_HS_PHY_CTRL_RST (0x0)
>> #define USB_PHY_RST_MASK GENMASK(1, 0)
>> #define UTMI_PORT_RST_MASK GENMASK(5, 4)
>> @@ -597,6 +599,8 @@ static int snps_eusb2_hsphy_probe(struct platform_device *pdev)
>> return PTR_ERR(generic_phy);
>> }
>>
>> + phy_set_type(generic_phy, PHY_TYPE_EUSB2);
>
> Isn't there a potential race condition if it's handled in this way?
>
> 1. phy-snps-eusb2 probe: PHY is registered
> 2. dwc3 probes
> 3. phy-snps-eusb2 probe: PHY type is set
>
How about we do this get_type call after dwc3_probe call during
dwc3_qcom_probe. That way we can ensure phy is up for sure since core
init has to happen as part of dwc3_probe.
Regards,
Krishna,
> Greetings,
>
> -- Sebastian
>
>> +
>> dev_set_drvdata(dev, phy);
>> phy_set_drvdata(generic_phy, phy);
>>
>>
>> --
>> 2.34.1
>>
>>
More information about the linux-phy
mailing list