octeon: add support for the octeon mips64 SoC
[openwrt/openwrt.git] / target / linux / octeon / patches-3.10 / 0003-staging-MIPS-add-Octeon-USB-HCD-support.patch
1 From b164935b38d64557a32892e7aa45e213e9d11ea8 Mon Sep 17 00:00:00 2001
2 From: Aaro Koskinen <aaro.koskinen@iki.fi>
3 Date: Sat, 1 Jun 2013 21:42:58 +0300
4 Subject: [PATCH] staging: MIPS: add Octeon USB HCD support
5
6 Add support for Octeon USB HCD. Tested on EdgeRouter Lite with USB
7 mass storage.
8
9 The driver has been extracted from GPL sources of EdgeRouter Lite firmware
10 (based on Linux 2.6.32.13). Some minor fixes and cleanups have been done
11 to make it work with 3.10-rc3.
12
13 $ uname -a
14 Linux (none) 3.10.0-rc3-edge-00005-g86cb5bc #41 SMP PREEMPT Sat Jun 1 20:41:46 EEST 2013 mips64 GNU/Linux
15 $ modprobe octeon-usb
16 [ 37.971683] octeon_usb: module is from the staging directory, the quality is unknown, you have been warned.
17 [ 37.983649] OcteonUSB: Detected 1 ports
18 [ 37.999360] OcteonUSB OcteonUSB.0: Octeon Host Controller
19 [ 38.004847] OcteonUSB OcteonUSB.0: new USB bus registered, assigned bus number 1
20 [ 38.012332] OcteonUSB OcteonUSB.0: irq 122, io mem 0x00000000
21 [ 38.019970] hub 1-0:1.0: USB hub found
22 [ 38.023851] hub 1-0:1.0: 1 port detected
23 [ 38.028101] OcteonUSB: Registered HCD for port 0 on irq 122
24 [ 38.391443] usb 1-1: new high-speed USB device number 2 using OcteonUSB
25 [ 38.586922] usb-storage 1-1:1.0: USB Mass Storage device detected
26 [ 38.597375] scsi0 : usb-storage 1-1:1.0
27 [ 39.604111] scsi 0:0:0:0: Direct-Access USB DISK 2.0 PMAP PQ: 0 ANSI: 4
28 [ 39.619113] sd 0:0:0:0: [sda] 7579008 512-byte logical blocks: (3.88 GB/3.61 GiB)
29 [ 39.630696] sd 0:0:0:0: [sda] Write Protect is off
30 [ 39.635945] sd 0:0:0:0: [sda] No Caching mode page present
31 [ 39.641464] sd 0:0:0:0: [sda] Assuming drive cache: write through
32 [ 39.651341] sd 0:0:0:0: [sda] No Caching mode page present
33 [ 39.656917] sd 0:0:0:0: [sda] Assuming drive cache: write through
34 [ 39.664296] sda: sda1 sda2
35 [ 39.675574] sd 0:0:0:0: [sda] No Caching mode page present
36 [ 39.681093] sd 0:0:0:0: [sda] Assuming drive cache: write through
37 [ 39.687223] sd 0:0:0:0: [sda] Attached SCSI removable disk
38
39 Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
40 Cc: David Daney <ddaney.cavm@gmail.com>
41 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
42 ---
43 drivers/staging/Kconfig | 2 +
44 drivers/staging/Makefile | 1 +
45 drivers/staging/octeon-usb/Kconfig | 10 +
46 drivers/staging/octeon-usb/Makefile | 3 +
47 drivers/staging/octeon-usb/TODO | 11 +
48 drivers/staging/octeon-usb/cvmx-usb.c | 3344 ++++++++++++++++++++++++++
49 drivers/staging/octeon-usb/cvmx-usb.h | 1085 +++++++++
50 drivers/staging/octeon-usb/cvmx-usbcx-defs.h | 3086 ++++++++++++++++++++++++
51 drivers/staging/octeon-usb/cvmx-usbnx-defs.h | 1596 ++++++++++++
52 drivers/staging/octeon-usb/octeon-hcd.c | 854 +++++++
53 10 files changed, 9992 insertions(+)
54 create mode 100644 drivers/staging/octeon-usb/Kconfig
55 create mode 100644 drivers/staging/octeon-usb/Makefile
56 create mode 100644 drivers/staging/octeon-usb/TODO
57 create mode 100644 drivers/staging/octeon-usb/cvmx-usb.c
58 create mode 100644 drivers/staging/octeon-usb/cvmx-usb.h
59 create mode 100644 drivers/staging/octeon-usb/cvmx-usbcx-defs.h
60 create mode 100644 drivers/staging/octeon-usb/cvmx-usbnx-defs.h
61 create mode 100644 drivers/staging/octeon-usb/octeon-hcd.c
62
63 diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
64 index 4464f26..f64b662 100644
65 --- a/drivers/staging/Kconfig
66 +++ b/drivers/staging/Kconfig
67 @@ -62,6 +62,8 @@ source "drivers/staging/line6/Kconfig"
68
69 source "drivers/staging/octeon/Kconfig"
70
71 +source "drivers/staging/octeon-usb/Kconfig"
72 +
73 source "drivers/staging/serqt_usb2/Kconfig"
74
75 source "drivers/staging/vt6655/Kconfig"
76 diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
77 index f689b9d..1fb58a1 100644
78 --- a/drivers/staging/Makefile
79 +++ b/drivers/staging/Makefile
80 @@ -25,6 +25,7 @@ obj-$(CONFIG_LINE6_USB) += line6/
81 obj-$(CONFIG_NETLOGIC_XLR_NET) += netlogic/
82 obj-$(CONFIG_USB_SERIAL_QUATECH2) += serqt_usb2/
83 obj-$(CONFIG_OCTEON_ETHERNET) += octeon/
84 +obj-$(CONFIG_OCTEON_USB) += octeon-usb/
85 obj-$(CONFIG_VT6655) += vt6655/
86 obj-$(CONFIG_VT6656) += vt6656/
87 obj-$(CONFIG_VME_BUS) += vme/