diff options
author | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2007-10-07 00:34:07 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2007-10-07 00:34:07 +0000 |
commit | 2f8521c6d1173dd650d9ae2bba8c18e690fa3b1f (patch) | |
tree | 06bc2b997b60797bc42f696f3427f92890089d2b /packages/linux/linux-2.6.21/pxa2xx_udc.patch | |
parent | 0d0bf315513039bd8560ac91865c7174e789d675 (diff) | |
parent | 6e90aae26efa66553063b74b9afa9563b70fb982 (diff) |
merge of '603b2d0c7e4ad80e5779bd3bbdb822331cc0ea2b'
and '6ab53da82d157971966f5a17d0c29d54df22cac9'
Diffstat (limited to 'packages/linux/linux-2.6.21/pxa2xx_udc.patch')
-rw-r--r-- | packages/linux/linux-2.6.21/pxa2xx_udc.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.21/pxa2xx_udc.patch b/packages/linux/linux-2.6.21/pxa2xx_udc.patch new file mode 100644 index 0000000000..4489e701bf --- /dev/null +++ b/packages/linux/linux-2.6.21/pxa2xx_udc.patch @@ -0,0 +1,65 @@ +Index: linux-2.6.21gum/drivers/usb/gadget/pxa2xx_udc.c +=================================================================== +--- linux-2.6.21gum.orig/drivers/usb/gadget/pxa2xx_udc.c ++++ linux-2.6.21gum/drivers/usb/gadget/pxa2xx_udc.c +@@ -51,6 +51,7 @@ + #include <asm/mach-types.h> + #include <asm/unaligned.h> + #include <asm/hardware.h> ++#include <asm/mach/irq.h> + #ifdef CONFIG_ARCH_PXA + #include <asm/arch/pxa-regs.h> + #endif +@@ -101,6 +102,10 @@ static const char ep0name [] = "ep0"; + + #endif + ++#ifdef CONFIG_ARCH_GUMSTIX ++#undef CONFIG_USB_PXA2XX_SMALL ++#endif ++ + #include "pxa2xx_udc.h" + + +@@ -2541,6 +2546,41 @@ static int __init pxa2xx_udc_probe(struc + } + #endif + ++ /* Reset UDCCS register to be able to recover from whatever ++ * state UDC was previously in. */ ++ *dev->ep[ 2].reg_udccs = UDCCS_BO_RPC | UDCCS_BO_SST; ++#ifndef CONFIG_USB_PXA2XX_SMALL ++ *dev->ep[ 7].reg_udccs = UDCCS_BO_RPC | UDCCS_BO_SST; ++ *dev->ep[12].reg_udccs = UDCCS_BO_RPC | UDCCS_BO_SST; ++#endif ++ ++ *dev->ep[ 1].reg_udccs = UDCCS_BI_TPC | UDCCS_BI_FTF | ++ UDCCS_BI_TUR | UDCCS_BI_SST | UDCCS_BI_TSP; ++#ifndef CONFIG_USB_PXA2XX_SMALL ++ *dev->ep[ 6].reg_udccs = UDCCS_BI_TPC | UDCCS_BI_FTF | ++ UDCCS_BI_TUR | UDCCS_BI_SST | UDCCS_BI_TSP; ++ *dev->ep[11].reg_udccs = UDCCS_BI_TPC | UDCCS_BI_FTF | ++ UDCCS_BI_TUR | UDCCS_BI_SST | UDCCS_BI_TSP; ++ ++ *dev->ep[ 3].reg_udccs = UDCCS_II_TPC | UDCCS_II_FTF | ++ UDCCS_II_TUR | UDCCS_II_TSP; ++ *dev->ep[ 8].reg_udccs = UDCCS_II_TPC | UDCCS_II_FTF | ++ UDCCS_II_TUR | UDCCS_II_TSP; ++ *dev->ep[13].reg_udccs = UDCCS_II_TPC | UDCCS_II_FTF | ++ UDCCS_II_TUR | UDCCS_II_TSP; ++ ++ *dev->ep[ 4].reg_udccs = UDCCS_IO_RPC | UDCCS_IO_ROF; ++ *dev->ep[ 9].reg_udccs = UDCCS_IO_RPC | UDCCS_IO_ROF; ++ *dev->ep[11].reg_udccs = UDCCS_IO_RPC | UDCCS_IO_ROF; ++ ++ *dev->ep[ 5].reg_udccs = UDCCS_INT_TPC | UDCCS_INT_FTF | ++ UDCCS_INT_TUR | UDCCS_INT_SST; ++ *dev->ep[10].reg_udccs = UDCCS_INT_TPC | UDCCS_INT_FTF | ++ UDCCS_INT_TUR | UDCCS_INT_SST; ++ *dev->ep[15].reg_udccs = UDCCS_INT_TPC | UDCCS_INT_FTF | ++ UDCCS_INT_TUR | UDCCS_INT_SST; ++#endif ++ + /* other non-static parts of init */ + dev->dev = &pdev->dev; + dev->mach = pdev->dev.platform_data; |