[PATCH v3 09/12] usb: cdns3: Handle otg mode as peripheral

Roger Quadros rogerq at kernel.org
Thu Aug 17 10:15:17 CEST 2023


Hi Tom,

On 14/08/2023 20:17, Tom Rini wrote:
> On Thu, Jul 13, 2023 at 03:45:42PM +0200, Julien Panis wrote:
> 
>> Override 'otg' to 'peripheral' mode, since 'otg' mode
>> is not yet supported by u-boot.
>>
>> Signed-off-by: Julien Panis <jpanis at baylibre.com>
>> Suggested-by: Roger Quadros <rogerq at kernel.org>
>> ---
>>  drivers/usb/cdns3/core.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c
>> index 644a9791b9c9..bd763fc593e1 100644
>> --- a/drivers/usb/cdns3/core.c
>> +++ b/drivers/usb/cdns3/core.c
>> @@ -149,6 +149,10 @@ static int cdns3_core_init_role(struct cdns3 *cdns)
>>  
>>  	dr_mode = best_dr_mode;
>>  
>> +	/* u-boot doesn't yet support OTG so limit to PERIPHERAL */
>> +	if (dr_mode == USB_DR_MODE_OTG)
>> +		dr_mode = USB_DR_MODE_PERIPHERAL;
>> +
>>  #if defined(CONFIG_SPL_USB_HOST) || !defined(CONFIG_SPL_BUILD)
>>  	if (dr_mode == USB_DR_MODE_OTG || dr_mode == USB_DR_MODE_HOST) {
>>  		ret = cdns3_host_init(cdns);
> 
> Julien, why don't we support otg mode here?
> 

dr_mode will never be OTG at this point as the previous if condition
would have forced it to PERIPHERAL.

My understanding was that u-boot USB framework doesn't support OTG mode
so we force it to PERIPHERAL.

-- 
cheers,
-roger


More information about the U-Boot mailing list