[PATCH 2/2] usb: misc: usb5744: Add support for USB hub controller

Michal Simek michal.simek at xilinx.com
Tue Feb 9 05:11:54 EST 2021



On 2/9/21 11:03 AM, Greg Kroah-Hartman wrote:
> On Tue, Feb 09, 2021 at 10:53:20AM +0100, Michal Simek wrote:
>> From: Piyush Mehta <piyush.mehta at xilinx.com>
>>
>> This patch adds a USB GPIO based hub reset for USB5744 hub. This usb5744
>> driver trigger hub reset signal after soft reset or core Reset. The HUB
>> needs to be resetted after completion of phy initialization. After the
>> toggling of gpio, hub configure using i2c usb attached command.
>>
>> USB5744 hub can be used without any I2C connection, is handled by a
>> simple platform device driver.
>>
>> As part of the reset, sets the direction of the pin to output before
>> toggling the pin. Delay of millisecond is added in between low and
>> high to meet the setup and hold time requirement of the reset.
>>
>> Signed-off-by: Piyush Mehta <piyush.mehta at xilinx.com>
>> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
>> ---
>>
>>  MAINTAINERS                |   1 +
>>  drivers/usb/misc/Kconfig   |   9 +++
>>  drivers/usb/misc/Makefile  |   1 +
>>  drivers/usb/misc/usb5744.c | 115 +++++++++++++++++++++++++++++++++++++
>>  4 files changed, 126 insertions(+)
>>  create mode 100644 drivers/usb/misc/usb5744.c
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 7439471b5d37..56d1fcdd24f6 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -2706,6 +2706,7 @@ F:	drivers/edac/synopsys_edac.c
>>  F:	drivers/i2c/busses/i2c-cadence.c
>>  F:	drivers/i2c/busses/i2c-xiic.c
>>  F:	drivers/mmc/host/sdhci-of-arasan.c
>> +F:	drivers/usb/misc/usb5744.c
>>  N:	zynq
>>  N:	xilinx
>>  
>> diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
>> index 8f1144359012..30335b5c4f88 100644
>> --- a/drivers/usb/misc/Kconfig
>> +++ b/drivers/usb/misc/Kconfig
>> @@ -242,6 +242,15 @@ config USB_HUB_USB251XB
>>  	  parameters may be set in devicetree or platform data.
>>  	  Say Y or M here if you need to configure such a device via SMBus.
>>  
>> +config USB_USB5744
>> +	tristate "Microchip USB5744 Hub driver"
>> +	depends on I2C
>> +	depends on GPIOLIB
>> +	help
>> +	  This option enables support for Microchip USB5744 Hub. This driver
>> +	  optionally reset the hub using gpio pin and configure hub via i2c if
>> +	  connected.
>> +
>>  config USB_HSIC_USB3503
>>  	tristate "USB3503 HSIC to USB20 Driver"
>>  	depends on I2C
>> diff --git a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile
>> index 5f4e598573ab..5920146a506a 100644
>> --- a/drivers/usb/misc/Makefile
>> +++ b/drivers/usb/misc/Makefile
>> @@ -25,6 +25,7 @@ obj-$(CONFIG_USB_USS720)		+= uss720.o
>>  obj-$(CONFIG_USB_SEVSEG)		+= usbsevseg.o
>>  obj-$(CONFIG_USB_YUREX)			+= yurex.o
>>  obj-$(CONFIG_USB_HUB_USB251XB)		+= usb251xb.o
>> +obj-$(CONFIG_USB_USB5744)		+= usb5744.o
> 
> Can you follow the convention of the config options we have already, and
> make this USB_HUB_USB5744 please?

Sure.

> 
>>  obj-$(CONFIG_USB_HSIC_USB3503)		+= usb3503.o
>>  obj-$(CONFIG_USB_HSIC_USB4604)		+= usb4604.o
> 
> And then put it in sorted order :)

Do you want me to sort the whole Makefile and Kconfig as separate patch?
It is pretty much unsorted now.

And any other problem with the driver itself?

Thanks,
Michal



More information about the linux-arm-kernel mailing list