1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware
Amaury Pouly 775ab07d5e usb: add support for hardware handled SET ADDR/CONFIG
Some USB controllers like the one of the Rockchip 27xx handle some
requests in pure hardware. This is especially a problem for two
of them:
- SET ADDR which is used by our core to track the DEFAULT/ADDRESS
  state and is required for the drivers to work properly
- SET CONFIG which is used by our core to initialise the drivers
  by calling init_connection()
In these cases we need a way to notify the core that such requests
happened.
We do this by exporting two functions which directly notify the
core about these requests and perform the necessary init steps
required without doing the actual USB transfers. Special care is
needed because these functions could be called from an interrupt
handler. For this reason we still use the usb_queue and introduce
new IDs so that they are processed in order and safely.

No functional change is intended, both in the usbstack and on
targets without such quirks.

Change-Id: Ie42feffd4584e88bf37cff018b627f333dca1140
2012-12-07 13:37:26 +01:00
..
asm Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets" 2012-10-24 14:05:39 +02:00
common Fix database tool. 2012-07-31 10:33:27 +02:00
decompressor Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
drivers Fix uninitialized variable in decoding of RDS radio text 2012-11-09 19:09:39 +01:00
export usb: add support for hardware handled SET ADDR/CONFIG 2012-12-07 13:37:26 +01:00
include Fix database tool. 2012-07-31 10:33:27 +02:00
libc gmtime: avoid a modulus 2012-03-18 10:09:08 +01:00
target rk27xx: introduce meaningfull constants in usb driver 2012-12-04 09:18:12 +01:00
test Fix test fat failing on 64bit system (second bit of FS#12646) 2012-05-08 13:00:56 +02:00
usbstack usb: add support for hardware handled SET ADDR/CONFIG 2012-12-07 13:37:26 +01:00
arabjoin.c
arabjoin.h
ata_idle_notify.c
backlight-sw-fading.c
backlight.c All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one). 2011-02-14 11:27:45 +00:00
bidi.c Fix further tabs 2010-01-03 10:50:34 +00:00
buflib.c Stop the BDEBUGF format warnings in buflib.c 2012-05-02 17:37:10 -04:00
COPYING
core_alloc.c Integrate the warble tool in the regular build system. 2012-03-03 20:19:08 +01:00
debug.c Redirect (L)DEBUGFs to adb logcat in DEBUG enabled builds. 2010-09-20 17:38:47 +00:00
eeprom_settings.c
enc_base.c FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use. 2011-12-14 21:45:25 +00:00
events.c
firmware.make Add framework to let make automatically pick optimized asm implementations over generic C ones to firmware. 2012-01-22 18:46:45 +01:00
font.c Fix checks on buflib allocated handles (0 is not a valid handle value) 2012-06-10 17:15:47 +02:00
font_cache.c remove stray debugging line 2011-11-27 16:27:20 +00:00
general.c rbpaths: Add new special dir HOME_DIR for RaaA. 2011-12-25 20:11:18 +00:00
hangul.c
ifp_usb_serial.c firmware/ : use lcd_putsf() (only in debug code) 2010-08-28 23:12:11 +00:00
kernel.c kernel: Allow queue_wait_w_tmo() to be called with TIMEOUT_BLOCK. 2012-09-28 19:40:17 +02:00
load_code.c load_code: Get rid of win32 specific code in favor SDL_LoadFunction & friends APIs. 2012-05-26 22:46:56 +02:00
logf.c Remove copy/pasted preprocessor defines that shouldn't have been included. 2012-08-06 19:20:47 -04:00
lru.c Revert r30818 2011-10-22 08:02:38 +00:00
panic.c panicf(): fix wrong font and colors being displayed. 2012-03-30 11:23:07 +02:00
pcm.c Clean up peak calculating code. 2012-05-02 20:53:07 -04:00
pcm_mixer.c Add a true waveform display to the oscilloscope plugin. 2012-12-05 02:03:58 +01:00
pcm_sampr.c
powermgmt.c Add set_sleeptimer_duration function in minutes 2012-10-06 11:59:13 +02:00
profile.c Remove last traces of sprintf.h 2010-05-07 02:13:47 +00:00
README
rolo.c rename rkw.h header file 2012-03-04 00:36:02 +01:00
rom.lds Fix path to PP crt0 2012-01-03 04:44:27 +00:00
screendump.c lcd drivers: Convert lcd_[remote_]framebuffer to a pointer 2012-02-28 11:44:59 +11:00
scroll_engine.c Commit FS#12454 - Faster line scroll speed by Martin Sagmuller. 2012-01-09 03:26:03 +00:00
sdmmc.c Various minor cleanups 2010-08-01 10:07:05 +00:00
sound.c Make rbcodec/dsp includes more specific. 2012-04-29 17:31:30 -04:00
SOURCES min2440: make it build again 2012-10-17 09:33:31 +02:00
storage.c Remove ata_removable() and ata_present() from multidriver code. 2012-01-25 20:08:51 +01:00
system.c Fix reds. 2011-12-24 12:21:16 +00:00
thread.c Use commit_dcache() instead of commit_discard_idcache() where possible 2012-02-04 22:27:42 -05:00
timer.c
tuner.c Add stub STFM1000 tuner driver 2012-05-19 16:10:52 +02:00
usb.c usb: add support for hardware handled SET ADDR/CONFIG 2012-12-07 13:37:26 +01:00

See docs/README