usb: dwc3: dwc3-octeon: Convert to glue driver
authorLadislav Michl <ladis@linux-mips.org>
Mon, 31 Jul 2023 09:30:45 +0000 (11:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Aug 2023 12:52:15 +0000 (14:52 +0200)
commit976f82e8aa3cfe557ee22a313bf48f418695bedf
tree0514f8a2d70929f07b2c97e3fe3769fadab34812
parentb35935d66a3a25848519b9bffc1fca0b6b1004c5
usb: dwc3: dwc3-octeon: Convert to glue driver

DWC3 as implemented in Cavium SoC is using UCTL bridge unit
between I/O interconnect and USB controller.

Currently there is no bond with dwc3 core code, so if anything goes
wrong in UCTL setup dwc3 is left in reset, which leads to bus error
while trying to read any device register. Thus any failure in UCTL
initialization ends with kernel panic.

To avoid this move Octeon DWC3 glue code from arch/mips and make it
proper glue driver which is used instead of dwc3-of-simple.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/ZMd/ReyiY7wS6DvN@lenoch
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/cavium-octeon/Makefile
arch/mips/cavium-octeon/octeon-platform.c
arch/mips/cavium-octeon/octeon-usb.c [deleted file]
drivers/usb/dwc3/Kconfig
drivers/usb/dwc3/Makefile
drivers/usb/dwc3/dwc3-octeon.c [new file with mode: 0644]
drivers/usb/dwc3/dwc3-of-simple.c