aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/octeon/patches-3.10/0003-staging-MIPS-add-Octeon-USB-HCD-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/octeon/patches-3.10/0003-staging-MIPS-add-Octeon-USB-HCD-support.patch')
-rw-r--r--target/linux/octeon/patches-3.10/0003-staging-MIPS-add-Octeon-USB-HCD-support.patch87
1 files changed, 87 insertions, 0 deletions
diff --git a/target/linux/octeon/patches-3.10/0003-staging-MIPS-add-Octeon-USB-HCD-support.patch b/target/linux/octeon/patches-3.10/0003-staging-MIPS-add-Octeon-USB-HCD-support.patch
new file mode 100644
index 0000000000..260dc1b438
--- /dev/null
+++ b/target/linux/octeon/patches-3.10/0003-staging-MIPS-add-Octeon-USB-HCD-support.patch
@@ -0,0 +1,87 @@
+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
+
+diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
+index 4464f26..f64b662 100644
+--- 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"
+diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
+index f689b9d..1fb58a1 100644
+--- 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/