linux/arch/arm/plat-samsung
Ben Dooks 10aebc772a USB: s3c-hsotg: Add initial detection and setup for dedicated FIFO mode
Add support for the dedicated FIFO mode on newer SoCs such as the S5PV210
partly to improve support and to fix the bug where any non-EP0 IN endpoint
requires its own FIFO allocation.

To fix this, we ensure that any non-zero IN endpoint is given a TXFIFO
using the same allocation method as the periodic case (all our current
hardware has enough FIFOs and FIFO memory for a 1:1 mapping) and ensure
that the necessary transmission done interrupt is enabled.

The default settings from reset for the core point all EPs at FIFO0,
used for the control endpoint. However, the controller documentation
states that all IN endpoints _must_ have a unique FIFO to avoid any
contention during transmission.

Note, this leaves us with a large IN FIFO for EP0 (which re-uses the
old NPTXFIFO) for an endpoint which cannot shift more than a pair of
packets at a time... this is a waste, but it looks like we cannot
re-allocate space to the individual IN FIFOs as they are already
maxed out (to be confirmed).

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 14:35:42 -07:00
..
include/plat USB: s3c-hsotg: Add initial detection and setup for dedicated FIFO mode 2010-08-10 14:35:42 -07:00
adc.c ARM: SAMSUNG: Make ADC client SMP safe 2010-05-20 21:05:49 +09:00
clock-clksrc.c ARM: SAMSUNG: Fix bug in clksrc-clk round_rate call. 2010-01-18 16:00:56 +09:00
clock.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
dev-adc.c ARM: SAMSUNG: Moving ADC device definition to plat-samsung. 2010-05-18 13:38:44 +09:00
dev-fb.c ARM: SAMSUNG: Set S3C_FB_MAX_WIN in <plat/fb.h> 2010-05-18 18:46:27 +09:00
dev-hsmmc1.c ARM: SAMSUNG: Move device definitions in plat-samsung 2010-01-15 17:10:13 +09:00
dev-hsmmc2.c ARM: SAMSUNG: Move device definitions in plat-samsung 2010-01-15 17:10:13 +09:00
dev-hsmmc.c ARM: SAMSUNG: Move device definitions in plat-samsung 2010-01-15 17:10:13 +09:00
dev-hwmon.c ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung 2010-05-12 17:43:03 +09:00
dev-i2c0.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dev-i2c1.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dev-i2c2.c ARM: S5PV210: add common I2C device helpers 2010-05-20 18:21:34 +09:00
dev-nand.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dev-onenand.c ARM: SAMSUNG: Add platform support code for OneNAND controller 2010-05-20 17:48:36 +09:00
dev-rtc.c ARM: SAMSUNG: Move RTC device definitions in plat-samsung 2010-05-18 16:44:58 +09:00
dev-ts.c ARM: SAMSUNG: Move s3c64xx dev-ts.c to plat-samsung and rename configuration 2010-05-19 18:25:30 +09:00
dev-uart.c ARM: SAMSUNG: Make UART device code common 2010-01-19 09:23:50 +09:00
dev-usb-hsotg.c ARM: SAMSUNG: Add DMA masks to hsotg device 2010-02-03 01:54:54 +00:00
dev-usb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dev-wdt.c ARM: SAMSUNG: Move WDT device definitions in plat-samsung 2010-05-20 19:44:18 +09:00
dma.c ARM: SAMSUNG: Move the last build from plat-s3c to plat-samsung 2010-02-23 00:03:43 +00:00
gpio-config.c ARM: SAMSUNG: move driver strength gpio configuration helper to common dir 2010-05-19 18:15:02 +09:00
gpio.c ARM: SAMSUNG: Add spinlock locking to GPIO banks 2010-05-11 17:45:46 +09:00
gpiolib.c ARM: SAMSUNG: Staticise gpiolib implementation functions 2010-01-21 13:55:15 +09:00
init.c ARM: SAMSUNG: Move the last build from plat-s3c to plat-samsung 2010-02-23 00:03:43 +00:00
irq-uart.c ARM: SAMSUNG: Move IRQ UART handling for newer devices to plat-samsung 2010-01-15 17:10:14 +09:00
irq-vic-timer.c ARM: SAMSUNG: Move IRQ VIC timer handling out to common header files 2010-01-15 17:10:13 +09:00
Kconfig ARM: SAMSUNG: Add support for interrupt wakeup-sources 2010-05-20 21:07:01 +09:00
Makefile ARM: SAMSUNG: Add support for interrupt wakeup-sources 2010-05-20 21:07:01 +09:00
pm-check.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pm-gpio.c ARM: SAMSUNG: fix suspend/resume on if some GPIO banks not present 2010-05-23 16:26:04 +01:00
pm.c ARM: SAMSUNG: Move pm.c to plat-samsung 2010-02-23 00:03:43 +00:00
pwm-clock.c ARM: SAMSUNG: Move pwm-clock code into plat-samsung 2010-01-15 17:10:12 +09:00
pwm.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
s3c-pl330.c S3C: DMA: Add api driver for PL330 2010-05-18 18:00:12 +09:00
time.c ARM: SAMSUNG: Move the last build from plat-s3c to plat-samsung 2010-02-23 00:03:43 +00:00
wakeup-mask.c ARM: SAMSUNG: Add support for interrupt wakeup-sources 2010-05-20 21:07:01 +09:00