[PATCH 2/6] usb: chipidea: usb2: add optional reset support

Junzhong Pan panjunzhong at linux.spacemit.com
Tue Sep 8 02:42:04 PDT 2026



On 9/7/2026 4:29 PM, Troy Mitchell wrote:
> On Thu Aug 13, 2026 at 9:39 PM +08, Junzhong Pan wrote:
>> On 8/13/2026 5:55 PM, Peter Chen wrote:
>>> On 26-08-12 17:26:13, Junzhong Pan wrote:
>>>> The USB2 controller of SpacemiT K1 SoC requires reset support, to keep
>>>> compatibility, add optional reset support.
>>>>
>>>> Signed-off-by: Junzhong Pan <panjunzhong at linux.spacemit.com>
>>>> ---
>>>>  drivers/usb/chipidea/ci_hdrc_usb2.c | 8 ++++++++
>>>>  1 file changed, 8 insertions(+)
>>>>
>>>> diff --git a/drivers/usb/chipidea/ci_hdrc_usb2.c b/drivers/usb/chipidea/ci_hdrc_usb2.c
>>>> index 8ffa1e95d8e8..00d575cd2955 100644
>>>> --- a/drivers/usb/chipidea/ci_hdrc_usb2.c
>>>> +++ b/drivers/usb/chipidea/ci_hdrc_usb2.c
>>>> @@ -12,6 +12,7 @@
>>>>  #include <linux/phy/phy.h>
>>>>  #include <linux/platform_device.h>
>>>>  #include <linux/property.h>
>>>> +#include <linux/reset.h>
>>>>  #include <linux/usb/chipidea.h>
>>>>  #include <linux/usb/hcd.h>
>>>>  #include <linux/usb/ulpi.h>
>>>> @@ -21,6 +22,7 @@
>>>>  struct ci_hdrc_usb2_priv {
>>>>  	struct platform_device	*ci_pdev;
>>>>  	struct clk		*clk;
>>>> +	struct reset_control	*reset;
>>>>  };
>>>>  
>>>>  static const struct ci_hdrc_platform_data ci_default_pdata =
>>>> @@ -80,6 +82,12 @@ static int ci_hdrc_usb2_probe(struct platform_device *pdev)
>>>>  		return ret;
>>>>  	}
>>>>  
>>>> +	priv->reset =evm_reset_control_get_optional_exclusive_deasserted(dev, NULL);
>>>> +	if (IS_ERR(priv->reset)) {
>>>> +		ret =TR_ERR(priv->reset);
>>>> +		goto clk_err;
>>>> +	}
>>>> +
>>>
>>> You may update binding doc?
>>>
>>
>> Sure, I forgot it, will do in v2.
>>
>> Thanks.
> 
> Is the reset required for K1? If not, no binding change is needed. I checked the
> binding, and it already defines resets as an optional property.
> 
> Reviewed-by: Troy Mitchell <troy.mitchell at linux.spacemit.com>
> 
Yes, it is required. Ok, I see reset already defined in chipidea,usb2-common.yaml,
then I will add constraints for k1 only.

Thanks



More information about the linux-riscv mailing list