Commit graph

176 commits

Author SHA1 Message Date
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
Frank Gevaerts
5ee28017fd Only enable drivers if they exist. This should probably be handled differently to avoid #ifdef hell, but at least this way works
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20074 a1c6a512-1295-4272-9138-f99709370657
2009-02-21 01:07:46 +00:00
Jens Arnold
11ad7b4bc8 Move screendump from apps to firmware, solving two nasty firmware-to-apps calls. This required to move the filename creation functions as well. * Fix bug in the BMP header of Clip screendumps. * Add remote screendump for targets with an LCD remote. * Simplify some ifdefs and rename a macro in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19967 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 23:43:37 +00:00
Michael Sevakis
da76a34694 Use bus reset detection for all ARC OTG devices. Remove conflict from LV24020LP driver with some GPIO-by-number macros for PP502x. Start monitoring for USB stack once all core threads and queues are created otherwise queues will likely be registered after USB acks. Putting PP502x system_reboot in IRAM (unmapped, uncached) memory seems to help it work more consistently. Hopefully I got all the PP USB connect handlers in the right spot in irq_handler. If device seems unresponsive to cable, check there first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19819 a1c6a512-1295-4272-9138-f99709370657
2009-01-22 22:05:04 +00:00
Michael Sevakis
616c98b38f USB detection changes. c200/e200: Consider USB to be powered when charger is plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
2009-01-19 13:41:25 +00:00
Michael Sevakis
d7d75b7fd4 Do penance. Fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19769 a1c6a512-1295-4272-9138-f99709370657
2009-01-14 07:23:41 +00:00
Michael Sevakis
e2a25592f8 Gigabeat S has no need for a USB tick. Put in a simple framework that allows USB monitoring by event. Also add a couple missed usb_enable calls when the connection is not for 'slave mode'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19768 a1c6a512-1295-4272-9138-f99709370657
2009-01-14 07:01:49 +00:00
Michael Sevakis
09484db740 Fix more red. Missed one other place it needed #ifdef HAVE_USB_POWER.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19764 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 17:04:31 +00:00
Michael Sevakis
6645e9b109 Fix red. Forgot to add a #ifdef HAVE_USB_POWER in one spot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19763 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 16:45:36 +00:00
Michael Sevakis
6da8b4eb49 USB retweaking: Take out the USB_REQUEST/RELEASE_DISK scheme and simply ask the USB core whether or not any drivers require exclusive access at the moment of connect. Doing anthing else just produces nasty effects on Windows because it expects some communication just for enabling the PHY and not allowing it to mount volumes if a thread doesn't ack causes annoying error message boxes. Make behavior of each USB type identical from the system perspective. Some miscellaneous changes (simplify, ata->storage naming, define only used USB_* enums values were possible).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19762 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 16:27:35 +00:00
Michael Sevakis
93572e2a9e Keyclick fixup take two. It is only 88 samples (2msec) long so keep a small static buffer around for beeps less than or equal to keyclick duration. This way it operates no matter the buffer state and still won't interfere with alternate PCM operations like recording or plugin playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19415 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 06:01:08 +00:00
Michael Sevakis
826688e699 PCM buffer beeping needs the audio buffer reset in order to work after operations that trash the buffer or keyclick won't be audible until playback is restarted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19413 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 02:48:36 +00:00
Michael Sevakis
f2f394793c Fix red and a couple other things I somehow missed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19378 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 09:11:43 +00:00
Michael Sevakis
8cfbd3604f Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 08:57:10 +00:00
Michael Sevakis
bc963c34ae Hopefully mop-up remaining red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19317 a1c6a512-1295-4272-9138-f99709370657
2008-12-03 21:15:44 +00:00
Michael Sevakis
58eb784a5d Straighten out some powermanagement stuff. Give target complete control over how power inputs are sensed. Clean SIMULATOR stuff out of target files. Get rid of USB charging option on targets that don't support it or don't implement it yet. Menu string remains to avoid language incompatibility but should be removed on next cleanup for targets not using it (notice in english.lang). global_settings becomes incompatible for some builds and so plugin API version is incremented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19315 a1c6a512-1295-4272-9138-f99709370657
2008-12-03 19:54:25 +00:00
Frank Gevaerts
ca123a1ad3 don't waste time and binsize enabling the usb controller just before rebooting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19277 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 20:39:53 +00:00
Maurus Cuelenaere
c0b43a5ac2 Commit some USB and ATA rework/refactoring (+ USB GPIO detection).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19165 a1c6a512-1295-4272-9138-f99709370657
2008-11-21 12:50:06 +00:00
Frank Gevaerts
c0ff14afe3 Properly guard usb_mmc_countdown with the proper #ifs everywhere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19053 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 14:40:42 +00:00
Frank Gevaerts
2f8a0081c6 Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Frank Gevaerts
19d1cacb1a cleanup storage defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18950 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 21:25:04 +00:00
Vitja Makarov
91b9c6139b telechips usb: not ready for use but, something is working, needs improvement.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18806 a1c6a512-1295-4272-9138-f99709370657
2008-10-14 05:13:21 +00:00
Frank Gevaerts
46573019a5 add HAVE_DISK_STORAGE, and use that instead of HAVE_FLASH_STORAGE when checking for an actual disk (i.e. related to spindown, skipping,...)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18735 a1c6a512-1295-4272-9138-f99709370657
2008-10-07 19:37:33 +00:00
Jens Arnold
e823b2e488 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18633 a1c6a512-1295-4272-9138-f99709370657
2008-09-24 21:17:53 +00:00
Jens Arnold
938ef22c02 Repair bootbox on the archoses (that bug went undetected for >2.5 years), and get rid of some old debug cruft in order to save space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18631 a1c6a512-1295-4272-9138-f99709370657
2008-09-24 21:09:46 +00:00
Jens Arnold
cf978b9fa3 Fix wrong #endif placement.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18534 a1c6a512-1295-4272-9138-f99709370657
2008-09-16 21:59:01 +00:00
Frank Gevaerts
b3bebc73d5 properly remount the filesystem after usb disconnect with software usb
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18323 a1c6a512-1295-4272-9138-f99709370657
2008-08-20 20:32:12 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Maurus Cuelenaere
e031db4b87 1) Use a separate config-<target>.h for Zen Vision(:M) (60GB)
2) Other unrelated cleanups


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17503 a1c6a512-1295-4272-9138-f99709370657
2008-05-14 18:55:19 +00:00
Michael Sevakis
80278e45aa Bring Gigabeat S bootloader one step close to a release version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17442 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 18:00:11 +00:00
Maurus Cuelenaere
95167e0177 Commit whole Creative Zen Vision:M target tree + all related firmware/
changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:08:28 +00:00
Michael Sevakis
94f7d0f290 UMS for the Gigabeat S. Bootloader USB mode. Has a couple quirks 1) First plug has problems if cold. Replug if it doesn't connect or not at high speed 2) Linux doesn't like the odd bootable flag value used in the partitions so it won't mount but Windows works. Fix minor OTG driver bugs and clean up device memory handling. Generic name for ARC controller driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17154 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 16:42:50 +00:00
Jonathan Gordon
95f7b4db01 Hopefully fix FS#8506 (OF cant be loaded on some PP targets). also hopefully fixes usb detection for at least e200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17017 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 13:00:28 +00:00
Michael Sevakis
af395f4db6 Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 01:50:41 +00:00
Frank Gevaerts
7e56df03bf Set usb_state to USB_POWERED on plugin for software usb device. Otherwise, the state would remain USB_EXTRACTED when connected to a charger
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16752 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 22:37:26 +00:00
Frank Gevaerts
7ee63e22c5 fix H10 not rebooting on usb connect. Apologies to H10 users who enjoyed their free but unintended USB stack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16734 a1c6a512-1295-4272-9138-f99709370657
2008-03-21 20:22:04 +00:00
Frank Gevaerts
1544b36966 move an #endif to its proper place. This should not actually change anything
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16732 a1c6a512-1295-4272-9138-f99709370657
2008-03-21 19:34:46 +00:00
Frank Gevaerts
ea5903dbf1 move boosting for usb around a bit, so the cpu is boosted for the entire duration of actual use of storage. On some setups just boosting for the actual transfers doesn't seem to work
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16726 a1c6a512-1295-4272-9138-f99709370657
2008-03-20 22:05:11 +00:00