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? > obj-$(CONFIG_USB_HSIC_USB3503) += usb3503.o > obj-$(CONFIG_USB_HSIC_USB4604) += usb4604.o And then put it in sorted order :) thanks, greg k-h