[PATCH 9/9] phy: qualcomm: m31-eusb2: Make USB repeater optional
Wesley Cheng
wesley.cheng at oss.qualcomm.com
Mon Sep 22 18:03:54 PDT 2025
On 9/20/2025 8:42 AM, Dmitry Baryshkov wrote:
> On Fri, Sep 19, 2025 at 08:21:08PM -0700, Wesley Cheng wrote:
>> Change the notation of making the USB repeater a required DT parameter.
>> Issues were seen when supporting USB2 across different form
>> factor/platforms, which led to enumeration issues due to improper eUSB2
>> repeater tuning. By making the repeater optional, for SMB/QC PMIC based
>> repeaters, it can utilize repeater settings done in the bootloader,
>> which cover a wider range of platforms.
>
> No, please don't depend on the bootloader settings. Instead we need to
> implement proper prgramming / tuning for eUSB2 repeaters
>
Hi Dmitry,
Will update the next rev with the entries to support the SM2370 repeater.
Thanks
Wesley Cheng
>>
>> For other repeater vendors outside of the SMB/QC PMICs the repeater
>> should be defined and managed within the kernel.
>>
>> Signed-off-by: Wesley Cheng <wesley.cheng at oss.qualcomm.com>
>> ---
>> drivers/phy/qualcomm/phy-qcom-m31-eusb2.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c b/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
>> index f4355d38aad9..b8ddadf78c53 100644
>> --- a/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
>> +++ b/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
>> @@ -285,7 +285,7 @@ static int m31eusb2_phy_probe(struct platform_device *pdev)
>>
>> phy_set_drvdata(phy->phy, phy);
>>
>> - phy->repeater = devm_of_phy_get_by_index(dev, dev->of_node, 0);
>> + phy->repeater = devm_phy_optional_get(dev, NULL);
>> if (IS_ERR(phy->repeater))
>> return dev_err_probe(dev, PTR_ERR(phy->repeater),
>> "failed to get repeater\n");
>
More information about the linux-phy
mailing list