Merge xburst target.
[openwrt-10.03/.git] / target / linux / xburst / patches-2.6.32 / 104-usb.patch
1 From ba0e3820ee1def7c358391df293551b726fb7014 Mon Sep 17 00:00:00 2001
2 From: Lars-Peter Clausen <lars@metafoo.de>
3 Date: Mon, 11 Jan 2010 04:29:45 +0100
4 Subject: [PATCH] /opt/Projects/openwrt/target/linux/xburst/patches-2.6.31/104-usb.patch
5
6 ---
7  drivers/usb/Kconfig               |    1 +
8  drivers/usb/gadget/Kconfig        |   14 ++++++++++++++
9  drivers/usb/gadget/Makefile       |    1 +
10  drivers/usb/gadget/gadget_chips.h |    9 +++++++++
11  4 files changed, 25 insertions(+), 0 deletions(-)
12
13 diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
14 index 2407508..dac9129 100644
15 --- a/drivers/usb/Kconfig
16 +++ b/drivers/usb/Kconfig
17 @@ -44,6 +44,7 @@ config USB_ARCH_HAS_OHCI
18         default y if PPC_MPC52xx
19         # MIPS:
20         default y if SOC_AU1X00
21 +       default y if JZSOC
22         # SH:
23         default y if CPU_SUBTYPE_SH7720
24         default y if CPU_SUBTYPE_SH7721
25 diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
26 index a18e3c5..c5c77e1 100644
27 --- a/drivers/usb/gadget/Kconfig
28 +++ b/drivers/usb/gadget/Kconfig
29 @@ -121,11 +121,25 @@ choice
30  #
31  # Integrated controllers
32  #
33 +config USB_GADGET_JZ4740
34 +       boolean "JZ4740 UDC"
35 +       depends on SOC_JZ4740
36 +       select USB_GADGET_SELECTED
37 +       select USB_GADGET_DUALSPEED
38 +       help
39 +          Select this to support the Ingenic JZ4740 processor
40 +           high speed USB device controller.
41 +
42 +config USB_JZ4740
43 +       tristate
44 +       depends on USB_GADGET_JZ4740
45 +       default USB_GADGET
46  
47  config USB_GADGET_AT91
48         boolean "Atmel AT91 USB Device Port"
49         depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 && !ARCH_AT91SAM9G45
50         select USB_GADGET_SELECTED
51 +
52         help
53            Many Atmel AT91 processors (such as the AT91RM2000) have a
54            full speed USB Device Port with support for five configurable
55 diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
56 index 9d7b87c..cb2920e 100644
57 --- a/drivers/usb/gadget/Makefile
58 +++ b/drivers/usb/gadget/Makefile
59 @@ -28,6 +28,7 @@ obj-$(CONFIG_USB_FSL_QE)      += fsl_qe_udc.o
60  obj-$(CONFIG_USB_CI13XXX)      += ci13xxx_udc.o
61  obj-$(CONFIG_USB_S3C_HSOTG)    += s3c-hsotg.o
62  obj-$(CONFIG_USB_LANGWELL)     += langwell_udc.o
63 +obj-$(CONFIG_USB_JZ4740)       += jz4740_udc.o
64  
65  #
66  # USB gadget drivers
67 diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
68 index f2d270b..369f20a 100644
69 --- a/drivers/usb/gadget/gadget_chips.h
70 +++ b/drivers/usb/gadget/gadget_chips.h
71 @@ -15,6 +15,12 @@
72  #ifndef __GADGET_CHIPS_H
73  #define __GADGET_CHIPS_H
74  
75 +#ifdef CONFIG_USB_GADGET_JZ4740
76 +#define        gadget_is_jz4740(g)     !strcmp("ingenic_hsusb", (g)->name)
77 +#else
78 +#define        gadget_is_jz4740(g)     0
79 +#endif
80 +
81  #ifdef CONFIG_USB_GADGET_NET2280
82  #define        gadget_is_net2280(g)    !strcmp("net2280", (g)->name)
83  #else
84 @@ -247,6 +253,9 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
85                 return 0x24;
86         else if (gadget_is_r8a66597(gadget))
87                 return 0x25;
88 +       else if (gadget_is_jz4740(gadget))
89 +               return 0x26;
90 +
91         return -ENOENT;
92  }
93  
94 -- 
95 1.5.6.5
96