On 06/01/2013 11:42 AM, Aaro Koskinen wrote:
Add support for Octeon USB HCD. Tested on EdgeRouter Lite with USB
mass storage.
The driver has been extracted from GPL sources of EdgeRouter Lite firmware
(based on Linux 2.6.32.13). Some minor fixes and cleanups have been done
to make it work with 3.10-rc3.
$ uname -a
Linux (none) 3.10.0-rc3-edge-00005-g86cb5bc #41 SMP PREEMPT Sat Jun 1 20:41:46
EEST 2013 mips64 GNU/Linux
$ modprobe octeon-usb
[ 37.971683] octeon_usb: module is from the staging directory, the quality is
unknown, you have been warned.
[ 37.983649] OcteonUSB: Detected 1 ports
[ 37.999360] OcteonUSB OcteonUSB.0: Octeon Host Controller
[ 38.004847] OcteonUSB OcteonUSB.0: new USB bus registered, assigned bus
number 1
[ 38.012332] OcteonUSB OcteonUSB.0: irq 122, io mem 0x00000000
[ 38.019970] hub 1-0:1.0: USB hub found
[ 38.023851] hub 1-0:1.0: 1 port detected
[ 38.028101] OcteonUSB: Registered HCD for port 0 on irq 122
[ 38.391443] usb 1-1: new high-speed USB device number 2 using OcteonUSB
[ 38.586922] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 38.597375] scsi0 : usb-storage 1-1:1.0
[ 39.604111] scsi 0:0:0:0: Direct-Access USB DISK 2.0 PMAP
PQ: 0 ANSI: 4
[ 39.619113] sd 0:0:0:0: [sda] 7579008 512-byte logical blocks: (3.88 GB/3.61
GiB)
[ 39.630696] sd 0:0:0:0: [sda] Write Protect is off
[ 39.635945] sd 0:0:0:0: [sda] No Caching mode page present
[ 39.641464] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 39.651341] sd 0:0:0:0: [sda] No Caching mode page present
[ 39.656917] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 39.664296] sda: sda1 sda2
[ 39.675574] sd 0:0:0:0: [sda] No Caching mode page present
[ 39.681093] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 39.687223] sd 0:0:0:0: [sda] Attached SCSI removable disk
Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
---
drivers/staging/Kconfig | 2 +
drivers/staging/Makefile | 1 +
drivers/staging/octeon-usb/Kconfig | 10 +
drivers/staging/octeon-usb/Makefile | 3 +
drivers/staging/octeon-usb/TODO | 11 +
drivers/staging/octeon-usb/cvmx-usb.c | 3344 ++++++++++++++++++++++++++
drivers/staging/octeon-usb/cvmx-usb.h | 1085 +++++++++
drivers/staging/octeon-usb/cvmx-usbcx-defs.h | 3086 ++++++++++++++++++++++++
drivers/staging/octeon-usb/cvmx-usbnx-defs.h | 1596 ++++++++++++
drivers/staging/octeon-usb/octeon-hcd.c | 854 +++++++
10 files changed, 9992 insertions(+)
create mode 100644 drivers/staging/octeon-usb/Kconfig
create mode 100644 drivers/staging/octeon-usb/Makefile
create mode 100644 drivers/staging/octeon-usb/TODO
create mode 100644 drivers/staging/octeon-usb/cvmx-usb.c
create mode 100644 drivers/staging/octeon-usb/cvmx-usb.h
create mode 100644 drivers/staging/octeon-usb/cvmx-usbcx-defs.h
create mode 100644 drivers/staging/octeon-usb/cvmx-usbnx-defs.h
create mode 100644 drivers/staging/octeon-usb/octeon-hcd.c
FYI: This is an alternate, host only, driver for the DesignWare USB2
controller as found on some OCTEON SoCs. drivers/staging/dwc2 contains
the code supplied by Synopsys for the same controller.
One might ask why an alternate driver was ever written. The answer to
this question is: The octeon-hcd driver is much better than the dwc2
driver when running the hardware in host mode.
David Daney
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html