Commit graph

437 commits

Author SHA1 Message Date
Rafaël Carré
c0eb9aeb9e add firmware/driver/sd.c which contains common code between SD drivers
ingenic SD driver needs more cleanup so it still doesn't use the common code
correct a comment in hotswap.c: card_extract_bits assume most significant word of register first (so, use this order)
fix debug menu which used MMC specific commands / bits positions in csd/cid
move the default block size of 512 into sd.h
move the mantissa & exponent table into a single file (sd.c) to reduce binsize. we don't need to export it anymore anyway

TODO : ingenic cleanup (will happen soon so building sd.c is not conditional)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21601 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 21:49:13 +00:00
Rafaël Carré
93f6e3df24 card_extract_bits() take the start bit argument as defined in public SanDisk specifications for SD and MMC, i.e. bit 0 is the lsb
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21600 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 19:13:01 +00:00
Rafaël Carré
e0e24cbf0a Merge tCardInfo struct (MMC) and tSDCardInfo struct (SD)
Put specific members under #ifdef (CONFIG_STORAGE & STORAGE_xx) (2 members for SD and 1 for MMC)
Fix a typo: tsac doesn't exist and must be read taac
Move card_get_info functions declaration inside hotswap.h to remove mutual inclusion of ata_mmc.h and hotswap.h
Move static const data structures from SD drivers into sd.h (sd_exponent and sd_mantissa)
Fix sd_command prototypes in SD drivers (card registers are unsigned long)
Fix speed calculation in Sansa AMS driver (PP SD driver needs to be checked)
Move ata-sd-target.h to sd-pp-target.h to reflect the PP specifity. Now it only contains declaration of microsd_int()
Remove unused ata-sd-target.h for injenic

TODO:
- check if CSD register bits are extracted correctly in PP driver
- correctly define read_timeout and write_timeout unit for MMC & SD, and use timeouts in Sansa AMS driver

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21586 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 10:07:22 +00:00
Bertrik Sikken
f81ce592e5 Enable charging on the Sansa Fuze (charging/discharging curves are still uncalibrated)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21394 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 14:29:21 +00:00
Mark Arigo
758bb3bc62 3 new ports: Samsung YH-820, YH-920, and YH-925. Mostly functional. Audio working on 820 & 925 (untested on the 920). No battery readings. No recording. No plugins. Keymap needs work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21083 a1c6a512-1295-4272-9138-f99709370657
2009-05-25 21:10:45 +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
b4e2db5cc5 Add HID related bits to the debug menu (work by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20976 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 13:45:14 +00:00
Frank Gevaerts
01ada299a3 Fix warning about unused functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20751 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 21:32:20 +00:00
Frank Gevaerts
2a085f4477 Add preliminary HID driver. It doesn't do anything yet, but that should change soon (FS#10116 by Tomer Shalev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20750 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 21:17:18 +00:00
Michael Sevakis
bc8cab4c24 Commit the common portion of FS#9708: ATA (IDE) DMA by Boris Gjenero with a couple cosmetic tweaks and without the inclusion of 'FS#9721: No error check after writes in ata.c'changes (which can be done separately). No code is changed for targets without HAVE_ATA_DMA defined other than to not display DMA modes in the View Disk Info debug screen if not using DMA (Gigabeat F/X/S were). No target uses the code yet but Gigabeat S use will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20298 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 02:01:25 +00:00
Maurus Cuelenaere
70cce5c03b Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20271 a1c6a512-1295-4272-9138-f99709370657
2009-03-09 22:32:10 +00:00
Maurus Cuelenaere
70ab3fca0d Onda VX747:
* Fix warnings
 * Add fake battery level information to make sure Rockbox doesn't shutdown
 * Enable switching between touch modes by pressing (VOL_DOWN|VOL_UP)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20269 a1c6a512-1295-4272-9138-f99709370657
2009-03-09 22:17:37 +00:00
Thomas Martitz
fd14cac7c2 Split HAVE_SCROLLWHEEL into HAVE_SCROLLWHEEL and HAVE_WHEEL_ACCELERATION, where the latter now activates the wheel acceleration code.
HAVE_SCROLLWHEEL plainly indicates the existence of a scrollwheel, thus all ipods define it now (in addition to the ones and some 
sansas which did before). Same applies to the manual.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20177 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 19:25:50 +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
Karl Kurbjun
9e1d00c9fb Get the M:Robe 500 main build booting again, fix a bug and commit the rest of Cat's work to get sound working. The code is messy right now, but it plays a file (test.raw) in a normal build when you go into the debug ports screen. Take 1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20118 a1c6a512-1295-4272-9138-f99709370657
2009-02-26 21:24:40 +00:00
Thomas Martitz
fcbfef8175 Show the watermark in the "Show buffering thread" screen (in bytes).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20096 a1c6a512-1295-4272-9138-f99709370657
2009-02-23 22:55:48 +00:00
Bertrik Sikken
01d4b4c997 Sansa Clip: enable battery charging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20006 a1c6a512-1295-4272-9138-f99709370657
2009-02-14 16:19:21 +00:00
Jonathan Gordon
036fb05dfd Accept a quick patch from Alexander Levin to neaten up the #defines and comments from my earlier commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19897 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 13:43:08 +00:00
Jonathan Gordon
80cb3551eb Statusbar handling fixes.
Fixes FS#9845 - %we/%wd wasnt working
WPS no longer resets the viewportmanger more than needed (was doing it twice/draw before)
screens can now enable/disable the statusbar easily ignoring the setting instead of needing special handling (fix for the radio screen coming soon)

minor glitch introduced in this commit... the statusbar in the WPS might disappear for a fraction of a second when it is entered, I need to track this down...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19894 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 11:34:16 +00:00
Thomas Martitz
a43b0db3d1 Sansa AMS: Debug screen, shows GPIO and (on the fuze) DBOP input for now, to be extended
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19866 a1c6a512-1295-4272-9138-f99709370657
2009-01-27 11:05:38 +00:00
Mark Arigo
ce7c62ce29 Philips HDD1630: add ADC info to debug screen. Make button_click work again (bad copy/paste job).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19822 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 03:14:34 +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
7d7969114d c200v1/e200v1: Add battery charging. This should be usable on v2 players but those should be evaluated for current, endpoint voltage and whether or not accurate battery readings may always be obtained (which determines algorithm setup and behavior).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19748 a1c6a512-1295-4272-9138-f99709370657
2009-01-11 10:07:22 +00:00
Björn Stenberg
6427d127aa Calculate watermark from bitrate and harddisk spinup time.
Use a smaller PCM buffer on targets with 2MB or less ram.
(FS#9703)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19743 a1c6a512-1295-4272-9138-f99709370657
2009-01-10 21:10:56 +00:00
Jonathan Gordon
f9329e4c92 Fix some wierdness with the debug menus...
Set the current viewport back to NULL after the list is finished drawing, Screens 
should be setting it before they start drawing so this probably only effects the debug menus.
Also change how the statusbars are handled there to make things easier. (this change also forces the bars back on (if enabled) in the simple list widget.. hopefully this doesnt cause problems later)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19703 a1c6a512-1295-4272-9138-f99709370657
2009-01-07 07:52:32 +00:00
Jonathan Gordon
1c924dbf08 fix red and yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19682 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 10:13:17 +00:00
Jonathan Gordon
8b9fdb540c redo how the statusbar updates are done. send the EVENT_GUI_ACTIONUPDATE event every time get_action() is called. The event wont be as realiable (timewise) as before, but seems to work better
This also fixes FS#9761.
Also set the lcd font back to the ui font from the debug screens which use sysfont


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19681 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 09:59:11 +00:00
Jonathan Gordon
e385ee18ce Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).

This commit also includes some menu/list viewport cleanups from kugel in FS#9603


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Michael Sevakis
11d5350977 Remove register indentation in si4700 debug screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19606 a1c6a512-1295-4272-9138-f99709370657
2008-12-28 17:34:44 +00:00
Michael Sevakis
1fea6f6b22 Make si4700 tuner driver more sane with bit and field defines and entirely hide strange i2c interface from code with write/set/clear/masked functionality. On Gigabeat S use by-the-book busmode selection and GPIO lines. Implement some primitive station detection, debug registers in screen, and misc. changes to tie things together.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19600 a1c6a512-1295-4272-9138-f99709370657
2008-12-27 19:18:50 +00:00
Michael Giacomelli
70e9c7aed3 Commit FS#8624 by Linus Nielsen, Ryan Press, Craig Elliott, and Kenderes Tamas. Adds preliminary support for numerous accessories that use the ipod serial port on the dock connector. See IpodAccessories for a list of tested devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19585 a1c6a512-1295-4272-9138-f99709370657
2008-12-25 01:46:16 +00:00
Michael Sevakis
3157e13956 Simplify powermgmt thread loops so it calls functions turn (no more power_thread_sleep). Do other target-friendly simplifications, generic battery switch handling and split sim-specific code. Whoever can, please verify charging on the Archos Recorder (due to change in the charger duty cycle code).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19579 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 16:58:41 +00:00
Michael Sevakis
5667682dd2 Gigabeat S: Implement charging and power control to charge from AC or USB. Hold MENU while plugging USB cable to charge from USB without connecting. Under Windows, plugging USB for charging only but not connecting still needs to be properly handled (driver popup issue) but it will charge when connected normally-- no issue under Linux. Some accomodating changes made to powermgmt.c will soon be made nicer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19547 a1c6a512-1295-4272-9138-f99709370657
2008-12-21 18:10:36 +00:00
Björn Stenberg
c6b3d38a15 New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 11:27:31 +00:00
Rafaël Carré
7ff0ef9020 debug menu : use debug-target.h for AS3525
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19074 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 20:35:46 +00:00
Frank Gevaerts
430343bca7 implement single-driver storage layer with macros instead of inlines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18975 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 01:14:46 +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
Dave Chapman
42f77d4eb0 Abstract the PortalPlayer AS3514 handling with an "ascodec" API - inspired by the wmcodec API used with the Wolfson codecs. The intention is to implement this API for the AS3525 and then share code with the Sansa V2 ports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18940 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 00:16:42 +00:00
Jens Arnold
b1a584a1b6 Simplify & fix the MMC driver. After more than 3 years I found that the MMC specs were a bit misleading, and the 'large' MMC which state a block size of 1024 or 2048 bytes and no partial read and/or partial write capability are happily accepting a block size of 512 bytes. So go KISS and remove all the variable/partial block handling code. This fixes the driver for the Transcend 4GB MMCplus, which doesn't cope when we actually set the 2048 byte block size it states. It also makes write operations involving small blocks faster and more reliable. * Note: The 4GB Transcend still doesn't work when plugged at boot, but works when hotplugged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18515 a1c6a512-1295-4272-9138-f99709370657
2008-09-14 20:33:24 +00:00
Bertrik Sikken
37a384c541 Minor missing #include and static function fixes for mrobe
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18487 a1c6a512-1295-4272-9138-f99709370657
2008-09-10 20:14:22 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Michael Giacomelli
b9eb18260f Too much on the last commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18085 a1c6a512-1295-4272-9138-f99709370657
2008-07-17 18:36:47 +00:00
Michael Giacomelli
1334738071 Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my test samples gave equivilent or better accuracy (>>16 bit), but there may still be problems. Code becomes somewhat less readable since the IMDCT has bits of Vorbis in it, but this is not a serious issue and the old ffmpeg transform remains in SVN if anyone wants it. Also, WMA now passes Vorbis as the fastest transform codec on ARM, although MPC remains the fastest lossy codec overall.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
2008-07-17 17:43:49 +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
Mark Arigo
22e7bf32b8 My Devcon 2008 contribution: port for Philips GoGear HDD1630 (PP5022-based). Current status is that the bootloader works to load Rockbox, but dual boot does not work: it freezes after decrypting the OF. When Rockbox boots, it freezes somewhere between showing the logo and the main menu. And there's no driver for the touchpad. So lots of work left.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17809 a1c6a512-1295-4272-9138-f99709370657
2008-06-27 18:40:25 +00:00
Jonathan Gordon
bdbdb97f19 FS#9051 - remove LCD margins... use viewports if you need them...
NOTE to WPS people....
%m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored.
Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected.

Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 13:20:35 +00:00
Linus Nielsen Feltzing
0cda59e939 Oops, not all PP targets have ADC_ACCESSORY.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17649 a1c6a512-1295-4272-9138-f99709370657
2008-05-29 06:46:09 +00:00
Linus Nielsen Feltzing
07bfba21ae Add the ADC_ACCESSORY channel on the ipod, to allow for accessory detection once we figure that out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17648 a1c6a512-1295-4272-9138-f99709370657
2008-05-29 06:12:08 +00:00
Michael Sevakis
d892214d88 Gigabeat S: Add charge current and battery temp readout in power management and display in the battery screen. Thermistor data was obtained experimentally from one pulled off a dead board and appears basically correct when read back on a working device (which requires letting it settle to ambient temperature - a long wait so not easy to do). Sending me more thermistors would help improve accuracy *fingers crossed that it's close enough*. :-) This commit does NOT add charging but is a step towards implementing it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17626 a1c6a512-1295-4272-9138-f99709370657
2008-05-25 01:38:08 +00:00