You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.9 KiB
83 lines
3.9 KiB
From b164935b38d64557a32892e7aa45e213e9d11ea8 Mon Sep 17 00:00:00 2001
|
|
From: Aaro Koskinen <aaro.koskinen@iki.fi>
|
|
Date: Sat, 1 Jun 2013 21:42:58 +0300
|
|
Subject: [PATCH] staging: MIPS: add Octeon USB HCD support
|
|
|
|
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.koskinen@iki.fi>
|
|
Cc: David Daney <ddaney.cavm@gmail.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
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
|
|
|
|
--- a/drivers/staging/Kconfig
|
|
+++ b/drivers/staging/Kconfig
|
|
@@ -62,6 +62,8 @@ source "drivers/staging/line6/Kconfig"
|
|
|
|
source "drivers/staging/octeon/Kconfig"
|
|
|
|
+source "drivers/staging/octeon-usb/Kconfig"
|
|
+
|
|
source "drivers/staging/serqt_usb2/Kconfig"
|
|
|
|
source "drivers/staging/vt6655/Kconfig"
|
|
--- a/drivers/staging/Makefile
|
|
+++ b/drivers/staging/Makefile
|
|
@@ -25,6 +25,7 @@ obj-$(CONFIG_LINE6_USB) += line6/
|
|
obj-$(CONFIG_NETLOGIC_XLR_NET) += netlogic/
|
|
obj-$(CONFIG_USB_SERIAL_QUATECH2) += serqt_usb2/
|
|
obj-$(CONFIG_OCTEON_ETHERNET) += octeon/
|
|
+obj-$(CONFIG_OCTEON_USB) += octeon-usb/
|
|
obj-$(CONFIG_VT6655) += vt6655/
|
|
obj-$(CONFIG_VT6656) += vt6656/
|
|
obj-$(CONFIG_VME_BUS) += vme/
|
|
|