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@xxxxxxxxxx> >> >> 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@xxxxxxxxxx> >> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> >> --- >> >> 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