Bertrik Sikken
575d00e3b7
Remove redundant assigment of variable to itself
...
Change-Id: Ibecd8c869280a55a0716e631f44ab556f7dbd8b5
2013-03-24 16:24:40 +01:00
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
Jens Arnold
449167b7a9
Undo f695681
(r30433). USB hardware must be initialized first.
...
This fixes flash/ MMC access on the Ondios when booting from ROM.
Add a comment what to pay attention for in the target specific
usb_init_device().
2012-05-20 10:56:40 +02:00
Amaury Pouly
279e90e654
usb: fix another typo
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31601 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:09:23 +00:00
Amaury Pouly
eb3e1756cf
usb: fix typo in DEBUGF
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31600 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:08:28 +00:00
Frank Gevaerts
57f8ae847c
Move some variable declarations to inside #ifdef USB_FULL_INIT, to avoid warnings for bootloaders that don't have the full USB state machine
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31583 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 22:07:09 +00:00
Frank Gevaerts
4fcffcbdf3
Reorganise USB initialisation to not depend on a specific enumeration sequence, by Bartosz Fabianowski, with minor tweaks by Michael Sevakis (FS#12497)
...
FreeBSD apparently sends a SET_ADDRESS first, which confused our code.
This patch fixes that, and also simplifies the connection handling a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31582 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 21:55:09 +00:00
Rafaël Carré
c003d6c332
fix r31502: USBOTG_AS3525v2 doesn't exist anymore
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31504 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 20:20:54 +00:00
Rafaël Carré
568c441fd8
usb-target.h: remove
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31498 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:55 +00:00
Michael Sevakis
47bade1437
Simplify and neaten-up usb.c a bit. USB_INSERTED and USB_EXTRACTED are always used as events to indicate cable state. USB_HOSTED is posted to indicated that a host was detected.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31263 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 00:14:36 +00:00
Michael Sevakis
bfd69f2aa1
Fix the real issue with AMS bootloader USB mode. A call to usb_enable was missing in usb.c when using the USB stack and USB_DETECT_BY_CORE was not enabled. Try to do it in a clean-ish way.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31245 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 09:19:50 +00:00
Rafaël Carré
8a7482dd89
Fix typo in comment
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31034 a1c6a512-1295-4272-9138-f99709370657
2011-11-20 17:57:24 +00:00
Thomas Martitz
1645c148e3
Simulate usb plugging on the sim better using sim_tasks.
...
Now all threads need to ack the connection like on real target, dircache is unloaded and playback stops accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31009 a1c6a512-1295-4272-9138-f99709370657
2011-11-17 18:40:00 +00:00
Amaury Pouly
320c3c2ca9
usb: add forgotten break in usb switch, this could lead to unwanted code being execute like USB_QUIT to be sent on hotswap !
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30843 a1c6a512-1295-4272-9138-f99709370657
2011-10-27 10:35:45 +00:00
Amaury Pouly
9d9de73693
usb: only declare usb_mmc_countdown on target which don't use the usb stack
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30733 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 13:00:04 +00:00
Michael Sevakis
c222f38c03
Remove obsolete USB_DETECT_BY_DRV define throughout.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30549 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 16:42:43 +00:00
Amaury Pouly
f695681d50
usb: make sure device init happens *after* queue/thread creation
...
Albeit unlikely, usb_init_devide() could cause de transfer completion before queue creation and the core would push onto a uninitialized queue !
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30433 a1c6a512-1295-4272-9138-f99709370657
2011-09-05 11:37:12 +00:00
Frank Gevaerts
bf34cdfacb
Add a 100ms delay before calling disk_mount_all(). Some players (especially some gigabeat Fs) seem to need a delay after disabling USB if we want disk access to work.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30316 a1c6a512-1295-4272-9138-f99709370657
2011-08-15 14:36:23 +00:00
Michael Giacomelli
e8c79d65e1
The gigabeat S needs special casing so that you can still hold vol down to access its firmware partition. Additionally, the same logic should apply to firewire on the iPods.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29890 a1c6a512-1295-4272-9138-f99709370657
2011-05-16 21:10:31 +00:00
Michael Giacomelli
84b4c46d74
Enter USB charging mode on devices that support it if any key is held down during USB insert (except on Archos where certain keys need to be avoided and players like the iRiver H1x0 which do not charge over USB and the iAudios/AMSv2 which do not yet support USB fully). Update the manual to explain the new behavior.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29889 a1c6a512-1295-4272-9138-f99709370657
2011-05-16 20:27:14 +00:00
Thomas Martitz
cc889e9d60
Change the thread api a bit.
...
* Remove THREAD_ID_CURRENT macro in favor of a thread_self() function, this allows thread functions to be simpler.
* thread_self_entry() shortcut for kernel.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29521 a1c6a512-1295-4272-9138-f99709370657
2011-03-05 17:48:06 +00:00
Michael Sparmann
1b5e31ed43
iPod Classic CE-ATA Support (Part 2 of 4: Remove on-stack sector buffers, and replace them with a single statically allocated sector buffer that's arbitrated amongst users)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29445 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:44:54 +00:00
Michael Sevakis
b15aa47c56
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).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29305 a1c6a512-1295-4272-9138-f99709370657
2011-02-14 11:27:45 +00:00
Michael Sevakis
088aaac985
USB: Thread must remember that a host has been detected since the POWERED state is ambiguous when waiting for host. Storage access is not yet actually exclusive if not USB_INSERTED. usb_start_monitoring seems better posting USB_UNPOWERED only if USB_EXTRACTED, interpreting POWERED/INSERTED as POWERED.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29153 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 00:22:42 +00:00
Michael Sevakis
b4fa66d7c7
Big oops. Should be broadcasting SYS_USB_DISCONNECTED _after_ remouting disks.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29150 a1c6a512-1295-4272-9138-f99709370657
2011-01-28 04:01:34 +00:00
Michael Sevakis
a3591827ad
Fix colors from r29084. Had some things in the wrong preprocessor blocks.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29085 a1c6a512-1295-4272-9138-f99709370657
2011-01-18 14:35:56 +00:00
Michael Sevakis
453550a687
Try to get some control over #ifdef hell in usb.c by refactoring and inline function use. SYS_USB_DISCONNECTED_ACK hasn't been doing anything useful for the USB thread; remove it. USB thread simply ignores that value. Observe only valid usb_state transitions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29084 a1c6a512-1295-4272-9138-f99709370657
2011-01-18 14:10:06 +00:00
Michael Sevakis
0ecb0fe6b1
One change in r29068 wasn't right. Clarify comments on why it's the way it is. :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29070 a1c6a512-1295-4272-9138-f99709370657
2011-01-17 13:12:22 +00:00
Michael Sevakis
05f6f3419a
Add a higher level USB detection that prevents fraudulent bus resets from causing USB mode to be entered. Enable for SA9200 only at this time. Also, for SA9200, use the bus power GPIO rather than the 'connector inserted' GPIO to detect the cable.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29068 a1c6a512-1295-4272-9138-f99709370657
2011-01-17 12:24:41 +00:00
Michael Sevakis
3a1127785b
Bootloader USB mode for PP502x. Enable only on GoGear SA9200 for the time being. Add HAVE_BOOTLOADER_USB_MODE to config if BOOTLOADER is defined to enable it. Clean up some kernel stuff a little to support it. Mess up a bunch of other stuff (hopefully not too badly).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29053 a1c6a512-1295-4272-9138-f99709370657
2011-01-15 08:19:30 +00:00
Frank Gevaerts
1db3dfdd75
Accept FS#11774 by Michael Hohmuth (with some own modifications to #ifdef conditions)
...
Unmount all filesystems before connecting USB. This ensures that all filehandles are closed, which avoids possible filesystem corruption
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28693 a1c6a512-1295-4272-9138-f99709370657
2010-11-28 15:22:51 +00:00
Michael Sparmann
77129ad3ec
Really fix yellow: Rename BMP_LINESIZE and BMP_BPP to get rid of the macro name collision
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28359 a1c6a512-1295-4272-9138-f99709370657
2010-10-25 12:52:02 +00:00
Michael Sparmann
01cdb6a21f
Fix screendump on iPod Nano 2G by increasing the usb thread stack size and reducing the stack usage of FAT and storage functions
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28356 a1c6a512-1295-4272-9138-f99709370657
2010-10-25 12:36:57 +00:00
Rafaël Carré
34fc7465ac
AMSv2: fix bootloader build with USB enabled
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28342 a1c6a512-1295-4272-9138-f99709370657
2010-10-24 11:58:00 +00:00
Rafaël Carré
b812465bff
as3525: bootloader USB mode
...
not working yet : an empty drive is detected
won't link on fuzev1: drivers allocated in usb_storage.c are too large
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26905 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:39 +00:00
Jens Arnold
860451927b
Put an #ifdef in the technically correct place. No functional change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26599 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 22:04:14 +00:00
Torne Wuff
2eb0142587
New USB charging system, part 2 - "Force" charging mode
...
Enable support for the "force" mode of USB charging. This should work on Gigabeat S and Nano2g (and any other future target which has a RB usb stack and supports charging) - if a host connection is not detected within 10 seconds of USB insertion, assume that the connected device is an AC charger and charge anyway, if the user has specified "force" as the mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26594 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 20:43:30 +00:00
Thomas Martitz
50a6ca39ad
Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
...
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Tomer Shalev
92737a3877
Revert disabling of USB HID while in charging mode (introduced by r23322), in
...
order to prevent having no interface at all when USB HID is disabled and the
DAP is connected in charge-only mode (thanks for gevaerts for noticing).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23323 a1c6a512-1295-4272-9138-f99709370657
2009-10-23 13:52:21 +00:00
Tomer Shalev
83d24f89df
FS#10704 - Make a configuration option to disable USB HID
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23322 a1c6a512-1295-4272-9138-f99709370657
2009-10-23 13:29:19 +00:00
Michael Sparmann
218314eb51
Fix red
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23286 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 07:21:08 +00:00
Michael Sparmann
d03fe64dcf
iPod Nano 2G USB support based on the S3C6400X datasheet. Disabled by default for now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23285 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 06:37:07 +00:00
Michael Sparmann
efeda72626
Fixed a confusing typo
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23150 a1c6a512-1295-4272-9138-f99709370657
2009-10-13 10:07:13 +00:00
Karl Kurbjun
4a483bb1bf
M:Robe 500: Mostly complete USB driver, supports BULK mode currently and gets about 2 MB/s writes vs 1.1 MB/s on the OF. Mostly tested against Linux, preliminary testing in Windows appears to work. There is currently a bug in the attach process where it only works once per boot that needs to be fixed. There are a few other minor M:Robe 500 changes as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21208 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 00:19:16 +00:00
Frank Gevaerts
c61a75173b
Reorganise USB stack defines. Now config.h decides which class drivers get enabled instead of usb_core.h
...
Also enable HID, and use that as the dummy class instead of charging-only for controllers that have working interrupt transfers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21053 a1c6a512-1295-4272-9138-f99709370657
2009-05-23 14:30:20 +00:00
Frank Gevaerts
3cb49f4ab7
fix DEBUGF statement to print variables that actually exist (FS#10212 by Tomer Shalev)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20964 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 15:33:22 +00:00
Frank Gevaerts
69a4117c1d
Add working USB HID driver, by Tomer Shalev (part of his GSoC work).
...
This needs support for usb interrupt transfers, so there are some changes in various USB drivers as well (only usb-drv-arc supports it at this point, others won't have working HID yet).
HID is disabled for now, as the apps/ part is not included yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20962 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 15:30:09 +00:00
Frank Gevaerts
00b407b04f
USB related Cosmetics, whitespace and readability fixes (FS#10147 by Tomer Shalev)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20737 a1c6a512-1295-4272-9138-f99709370657
2009-04-18 21:32:41 +00:00
Frank Gevaerts
afedfcf44e
Leave "usb mode" when all LUNs are ejected again
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20139 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 15:16:54 +00:00
Frank Gevaerts
c9e08ba01a
Don't use inverted button behaviour on H10 when using Rockbox USB (as opposed to the OF diskmode)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20104 a1c6a512-1295-4272-9138-f99709370657
2009-02-25 22:36:35 +00:00