Commit graph

1696 commits

Author SHA1 Message Date
Rafaël Carré
bdb5974c0e Revert r21912 : "Storage API : remove undeeded target-specific functions"
After a discussion mixed on mailing list and irc, it was agreed that
more abstraction for plugins is better (so developers don't have to add
a check to HAVE_DISK_STORAGE when writing disk-specific code)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21923 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 16:34:34 +00:00
Karl Kurbjun
c97a3bf180 M:Robe 500: Start of interrupt support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21913 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 03:44:01 +00:00
Rafaël Carré
8eba69f91b Storage API : remove undeeded target-specific functions
storage_sleep, storage_spin, storage_spindown are only defined if #defiend (HAVE_DISK_STORAGE), not for MMC/ATA/SD
remove already unneeded nand_disk_is_active, nand_soft_reset

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21912 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 00:09:14 +00:00
Nils Wallménius
5905b0be3e Missed one strncpy call
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21864 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 14:15:33 +00:00
Nils Wallménius
3d4701a6e4 FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Thomas Martitz
0dd0e4e072 Correct svn:keywords and svn:eol-style on a few more files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21798 a1c6a512-1295-4272-9138-f99709370657
2009-07-12 09:43:44 +00:00
Bertrik Sikken
1a519f52ac Add missing mutex_init to i2c driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21749 a1c6a512-1295-4272-9138-f99709370657
2009-07-10 17:46:35 +00:00
Bertrik Sikken
4e965b4b6c Meizu: implement i2c for the meizu fmradio and update the tea5760 tuner driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21703 a1c6a512-1295-4272-9138-f99709370657
2009-07-07 21:57:16 +00:00
Mark Arigo
fb224bd0f9 Philips SA9200: fix the buttons to work with flip screen mode (does anyone use this?). Change to conventional BUTTON_LEFT/BUTTON_RIGHT names and flip the remaining directional buttons.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21698 a1c6a512-1295-4272-9138-f99709370657
2009-07-07 03:26:57 +00:00
Bertrik Sikken
9431ea8c65 S35390a RTC: fix duplicate i2c initialisation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21679 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 20:10:38 +00:00
Maurus Cuelenaere
6dbf4cf827 Ingenic Jz4740: remove some unneeded stuff and simplify SD driver (also thanks to Rafaël Carré)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21621 a1c6a512-1295-4272-9138-f99709370657
2009-07-03 11:40:50 +00:00
Rafaël Carré
293b499093 Move sd_get_info() into common sd code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21610 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 23:39:57 +00:00
Maurus Cuelenaere
ccbd8f4f31 * Move some more stuff to the general SD driver
* Ingenic SD driver: cleanup DMA part a bit (not working yet)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21606 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 22:56:14 +00:00
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
7df759c951 Create an udacodec interface (similar to ascodec and wmcoded) and adapt/implement it for the iriver h1xx/h3xx and the meizus.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21546 a1c6a512-1295-4272-9138-f99709370657
2009-06-28 17:43:04 +00:00
Bertrik Sikken
ce5dc3ab96 Add RTC driver for Seiko S35390A (used in the Meizu M3 and possibly other Meizus)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21539 a1c6a512-1295-4272-9138-f99709370657
2009-06-28 09:58:05 +00:00
Karl Kurbjun
19cb444691 M:Robe 500: RTC is now working, Added some SPI flexibility per end device and modified the interrupt handler for the tsc2100 which should make it more reliable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21483 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 04:17:15 +00:00
Rafaël Carré
1a98e973fb c200v2 : fix FM radio, the c200v2 uses the internal oscillator like others Sansa AMS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21432 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 23:02:49 +00:00
Bertrik Sikken
fa4135e43d Fix delays in generic i2c driver, reduce delays in ams sansa fmradio i2c driver (tested on m200v4, clip, e200v2, fuze).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21421 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 21:45:04 +00:00
Bertrik Sikken
4120946f28 Fix e200v2 radio problem (missing Si4702 initialisation)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21416 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 21:34:27 +00:00
Mark Arigo
a61196fd3a Philips SA9200: Working touchpad and button lights! Also, improvements to the keymap (still needs work).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21346 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 03:23:38 +00:00
Mark Arigo
4c58ad26ba Clean up the Synaptics touchpad driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21344 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 02:48:15 +00:00
Maurus Cuelenaere
b8435f5446 Touchscreen targets: add calibration screen + rewrite calibration driver (FS#10295)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21312 a1c6a512-1295-4272-9138-f99709370657
2009-06-16 17:04:47 +00:00
Karl Kurbjun
4d41886caa M:Robe 500: Fix up 256 color blitting when in portrait mode, fix a mistake in the plugin linker script, reduce the amount of memory used by overwriting IRAM with bss after program has started, clean up some tabs and formatting, resize the simulator when building for 640x480
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21280 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 20:59:03 +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
Jens Arnold
1d6df54df2 Convert a number of places in core and plugins to use the BIT_N() macro instead of 1<<n. Speeds up things on SH1, and also reduces core binsize. Most notable speedups: 1 bit lcd driver: drawpixel +20%, drawline + 27%, hline +5%; jpeg viewer: +8% for 1/8 scaling. Other targets are unaffected.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21205 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 21:27:05 +00:00
Bertrik Sikken
9f7b0b9d1e Fix some delays in generic_i2c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21200 a1c6a512-1295-4272-9138-f99709370657
2009-06-06 21:05:54 +00:00
Jens Arnold
c1d27d105c Speed up mono bitmap drawing on horizontally packed greyscale targets (greyscale iPods). Average speedup is 80% on PP5002, and 55% on PP502x. * Simplify mono bitmap drawing in the 16 bit driver and the greylib a bit, also giving a slight speedup (3% on PP502x, 1.5% on coldfire).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21163 a1c6a512-1295-4272-9138-f99709370657
2009-06-01 21:28:03 +00:00
Bertrik Sikken
5212f03124 Add missing delay in i2c_start of the generic_i2c driver, used by ams targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21159 a1c6a512-1295-4272-9138-f99709370657
2009-06-01 19:45:19 +00:00
Jens Arnold
f31e86338a Use bit-doubled mask everywhere in mono bitmap drawing. ~2% speedup, and smaller.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21141 a1c6a512-1295-4272-9138-f99709370657
2009-05-31 07:27:43 +00:00
Jens Arnold
72061047d1 Two tiny optimisations for mono bitmap drawing on greyscale displays: (1) H1x0, M5: Manipulate destination masks directly for the aligned case - ~0.7% speedup. (2) Greyscale ipods: Use sentinel method for reloading data like the 16 bit driver does - ~1.5% speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21139 a1c6a512-1295-4272-9138-f99709370657
2009-05-30 23:35:44 +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
Bertrik Sikken
a968ddbb39 Fix tuner_power warning on ondio FM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21012 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 13:25:27 +00:00
Bertrik Sikken
0023943439 Fix duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +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
Maurus Cuelenaere
84ea3f2530 Ingenic Jz4740: add a delay between enabling the RTC clock and setting the RTC time
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20862 a1c6a512-1295-4272-9138-f99709370657
2009-05-06 19:45:33 +00:00
Karl Kurbjun
fe2319372a M:Robe 500 - Fix some of the Keymaps, touchscreen improvements to decrease inacurate reads, add support for dynamic frequency (was running at 87.5 MHz, now it runs at 175 MHz when boosted), disable clock to unneded modules (decreased power by 20 mA), LCD turnoff now works without graphic glitches, battery ADC read now returns scaled voltage, define backlight fading
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20846 a1c6a512-1295-4272-9138-f99709370657
2009-05-02 23:25:55 +00:00
Karl Kurbjun
bee99e496f M:Robe 500: Fix red, commit missing work, reduce lcd wakeup time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20819 a1c6a512-1295-4272-9138-f99709370657
2009-04-28 05:20:31 +00:00
Bertrik Sikken
dccdce6c3c Remove unnecessary #include "adc.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20791 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 22:24:59 +00:00
Bertrik Sikken
d4d121538d Remove unnecessary #include "backlight.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20790 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 21:32:55 +00:00
Jonathan Gordon
0eb5dc649f beginings of a working touchscreen interface for the WPS. 2 new tags:
%T|x|y|width|height|action| <- setup a region (relative to the current viewport) where if pressed the "action" will be done (currently play/stop/prev/next/menu/browse work, suggestions for others to add and better names welcome)
%Tl<timeout> <- used as a conditional to say if the touchscreen was touched in the last <timeout>, use this to enable/disable button viewports or something... same syntax as other timeout tags

cabbiev2 for the mr500 has been modified to demonstrate the new tags. press the pause/play button to pause playback. press the rockbox logo to get back to the menu. pretty icons needed to make this more usable :)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20753 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 01:41:56 +00:00
Boris Gjenero
0e74f75deb FS#9635 - On V1, V2 and FM Archos recorders, ensure instant backlight switch-off. (Formerly, backlight switch-off was unpredicrable on some of these devices. The backlight would either turn off instantly or brighten instantly and then fade.)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20707 a1c6a512-1295-4272-9138-f99709370657
2009-04-14 19:23:39 +00:00
Bertrik Sikken
7d0119fe81 FS#9985: The OF of AMS sansas seems to keep time in seconds since 1970-1-1 instead of 1980-1-1 used in earlier sansas, so apply an adjustment for this difference when reading/writing the RTC. This avoids resetting of date/time by the OF.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20697 a1c6a512-1295-4272-9138-f99709370657
2009-04-12 18:00:53 +00:00
Boris Gjenero
7c6194078c FS#10086 - Playback and recording sample rate setting on the 5G iPod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20635 a1c6a512-1295-4272-9138-f99709370657
2009-04-06 02:46:42 +00:00
Rob Purchase
1a6bcfa2c1 D2: Enable FM radio (based on FS#10035 by Michael Burtin with some changes by myself). Also updates the LV24020 driver to add optional logf debugging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20420 a1c6a512-1295-4272-9138-f99709370657
2009-03-21 00:13:20 +00:00
Rob Purchase
343c3b795a Implement udelay() for D2 and remove the old hacks from USB & FM drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20417 a1c6a512-1295-4272-9138-f99709370657
2009-03-20 23:14:05 +00:00
Thomas Martitz
4ed387d603 Fix reds and yellows (hopefully). Some targets apparently didn't properly #ifdef lcd_enable and lcd_sleep code out, so that it got partly active in the bootloader; rename the ui simulator stub fixes most reds; for the clip: move the hook code into lcd-1bit-vert.c which should fix the bootloader red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20333 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 03:36:36 +00:00
Thomas Martitz
b7739fbf1c Rework lcd_enabled and lcd_set/call_enable hook
a) lcd_enabled() is now lcd_active(), and is available for HAVE_LCD_SLEEP only targets (e.g. ipod video) too. It was depandent on HAVE_LCD_ENALE only before
b) rename the hook accordingly, and implement the hook for other other targets too (e.g. the clip [the only mono target with lcd_enable/lcd_sleep yet, so the code is still in the lcd driver], ipod, fuze, c200)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20331 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 02:43:47 +00:00