Commit graph

150 commits

Author SHA1 Message Date
Michael Giacomelli
fc0eca35c2 Rough battery calibration for the c200 based on results posted by Tomasz Wasilczyk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17152 a1c6a512-1295-4272-9138-f99709370657
2008-04-17 15:19:17 +00:00
Bertrik Sikken
a24f4b7a80 FS#8898 - Prefix AS3514 registers with AS3514_
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17130 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 21:33:32 +00:00
Robert Kukla
feb3b588e3 explicitly align the ibss section by adjusting _iramend - fixes hang on m:robe (and potential problem on other arm targets)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17024 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 18:24:23 +00:00
Michael Sevakis
1aaa89aa9b Wow. Fix those irq #defines for ARM and use the right one in power-c200_e200.c. How'd that happen?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17010 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 01:13:44 +00:00
Michael Sevakis
2f9f34e0ea Better sansa shutdown sequence in power_off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17009 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 01:05:51 +00:00
Michael Sevakis
22c8a25f5f e200: Get the UNCACHED_ADDR macro and phys_fb_address use out of the lcd driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16982 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 05:08:39 +00:00
Michael Sevakis
05099149f1 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 04:34:57 +00:00
Michael Sevakis
75f2d441e9 Change the remaining set_interrupt_status usage to the more parsimonious disable/enable/restore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16897 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 06:00:23 +00:00
Mark Arigo
2ea0206502 Fixes FS#8552. On some c200s, the second parameter in setting R_Y_ADDR_AREA was being interpreted as a separate command (most commonly initiating standby mode where the screen goes blank). While this may be a timing issue, some NOPs seem to fix it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16896 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 05:53:17 +00:00
Marcoen Hirschberg
82c52302bd split boot.lds and move it into the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16855 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 23:58:03 +00:00
Michael Sevakis
27cf677339 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 02:34:12 +00:00
Jens Arnold
68a21689ae Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Karl Kurbjun
ef62d6891a Split up app.lds to the respective target directories. The portalplayer devices replicate app.lds since their target tree doesn't follow a syntax typical to the newer arm targets - the portalplayers could be cleaned up further. boot.lds and plugin.lds still need to be cleaned up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16651 a1c6a512-1295-4272-9138-f99709370657
2008-03-13 03:48:23 +00:00
Michael Sevakis
f5921cface Really stop red. Whatever works atm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16639 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 11:59:10 +00:00
Michael Sevakis
e37044ff1d Hotswap code shuffling: Fix yellow. Simplify some target function access. Keep fat lock access from compiling for Ondios - think of a nicer way later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16637 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 11:08:41 +00:00
Michael Sevakis
06a5299aff Do some crackdown on kernel object reinitialization after they could be in use and use before initialization. For c200/e200: Be sure fat cache and ata locks are acquired in the proper order during hot swapping. Delay hotswap monitoring until after initial file mounting (address 2nd kobj concern + possible call of fat driver before init).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16636 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 10:03:52 +00:00
Michael Sevakis
2f5a37de5c Fix newly introduced race condition in SD driver. Make sure to force remount in case two SYS_HOTSWAP_INSERTED messages are received in a row. Be sure flags are reset to re-initialize the SD-card. Go back to locking out driver access during disk mount/unmount attempts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16635 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 02:50:07 +00:00
Jens Arnold
ed8402ca5e Sansa SD card driver: Simplify hotswap handling, and make it send the insert/remove events while filesystem access is blocked. Also use atomic GPIO bit manipulation where possible, and protect the interrupt level manipulation in the ISR from interrupts arriving at the same time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16592 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 14:49:10 +00:00
Frank Gevaerts
1dc9de9432 acknowledge USB disconnect. This wasn't always done anymore since the usb_wait_for_disconnect() is gone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16452 a1c6a512-1295-4272-9138-f99709370657
2008-02-28 22:51:39 +00:00
Frank Gevaerts
daf3ddc70d don't call usb_wait_for_disconnect() in the sd thread. The usb storage driver uses the sd driver, and wants to know about changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16449 a1c6a512-1295-4272-9138-f99709370657
2008-02-28 22:37:02 +00:00
Michael Sevakis
9811fc9abf Some misc. ATA stuff: Increase threads' priority (important for idle callbacks to get done faster). Use a simpler loop for ata thread. Add a balancing mutex_lock call to ata_init (oops).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16278 a1c6a512-1295-4272-9138-f99709370657
2008-02-11 07:42:11 +00:00
Jonas Häggqvist
f6f1127219 Use a fixed multiplier of 2^10 as required when calculating number of blocks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16256 a1c6a512-1295-4272-9138-f99709370657
2008-02-09 21:07:44 +00:00
Michael Giacomelli
b5acab1bcf Commit FS#8480 by Andree Buschmann. Updates battery calibration for the Sansa E series.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16122 a1c6a512-1295-4272-9138-f99709370657
2008-01-20 22:47:05 +00:00
Michael Sevakis
6a8379674c Finally, out goes struct spinlock for anything but mutiprocessor targets where it becomes a reenterable corelock.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16105 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 13:12:33 +00:00
Michael Sevakis
3b36b98ff8 Properly serialize ata_init with other threads. Fix a bug that always initialized the lock on every call to ata_init - that should be a one time init or else the lock could be corrupted on connect.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16104 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 12:32:03 +00:00
Jonathan Gordon
81ba146706 Accept FS#8341 - rename BUTTON_SCROLL_UP/DOWN to FWD/BACK on the e200 to make it consistant with the ipods. apart from removing a bit of confusion, it fixes the wheel in pictureflow and possibly elsewhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16045 a1c6a512-1295-4272-9138-f99709370657
2008-01-10 08:08:31 +00:00
Mark Arigo
66cd9ef385 Don't clear this bit. Helps c200 radios that have trouble tuning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16038 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 20:26:23 +00:00
Michael Sevakis
398d9fd8b4 Hopefully the last word on getting rid of yield_codecs loops (cut read chunk to 16kB). Sansa ata driver also didn't yield enough so buffering would starve other threads. Bump priority of audio thread to keep UI more responsive.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15724 a1c6a512-1295-4272-9138-f99709370657
2007-11-20 22:45:46 +00:00
Linus Nielsen Feltzing
e75327b332 FS#7738 - Scroll wheel acceleration for iPod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15681 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 11:05:54 +00:00
Jens Arnold
6ef2db2c11 Significant LCD speedup for all greyscale iPods and Sansa c200 (c200, 4th Gen, Mini 1st Gen: >3.3x speedup, 1st..3rd Gen: ~2x speedup, Mini 2nd Gen: ~30% speedup).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15655 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 12:49:24 +00:00
Jens Arnold
f4c5c6aa62 Fix bootloaders, and the backlight-modded Ondio build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15600 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 19:19:38 +00:00
Jens Arnold
ef12b3b5c6 Hardware controlled backlight brightness for iPod Video and Nano, retaining the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 18:49:53 +00:00
Michael Sevakis
d970c3d054 Portal player i2c driver: More struct spinlock phaseout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15593 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 07:58:54 +00:00
Michael Sevakis
57d71e4267 Add some CACHEALIGN_* macros and a helper function to assist in aligning data and buffers on PortalPlayer processors to cache line boundaries. They're noops when PROC_NEED_CACHEALIGN isn't defined. Go safe and increase the value to 32 since I'm not sure yet if 16 is sufficient - changing that is a one-liner. Add helper to plugin API which will be needed shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15523 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 05:17:20 +00:00
Jens Arnold
55398e934c c200: Make microSD cards finally work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15493 a1c6a512-1295-4272-9138-f99709370657
2007-11-06 07:21:08 +00:00
Barry Wardell
03dd35db0e Get rid of some more inl/outl. 0x70000084 seems to be GPO32_ENABLE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15477 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 17:19:00 +00:00
Barry Wardell
4ef3e821cb Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15476 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 16:12:13 +00:00
Barry Wardell
2d95fd524d Get rid of some more inl/outl and use the new GPO32 define instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15474 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 15:48:59 +00:00
Michael Sevakis
f29c4ccc6a e200/c200: Take advantage of mutex recursion for the tuner driver and dump the awkward *_nolock stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15468 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 07:01:32 +00:00
Jens Arnold
6fb4c53fb9 The GPIO interrupts are split into several port groups on all PP502x versions, so move those definitions into pp5020.h, and add the missing group. Make microSD hotswap detection work on Sansa c200. Note that microSD access itself does not work yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15460 a1c6a512-1295-4272-9138-f99709370657
2007-11-04 13:22:17 +00:00
Jens Arnold
b77893e4d5 C200: Reworked the LCD driver a bit, and fixed a bug with single column updates (was only visible in mandelbrot).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15343 a1c6a512-1295-4272-9138-f99709370657
2007-10-28 13:16:05 +00:00
Michael Sevakis
c266204aec e200: shorten some delays so the backlight turn on is snappier. Values seem to have a safe margin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15337 a1c6a512-1295-4272-9138-f99709370657
2007-10-28 00:39:01 +00:00
Barry Wardell
007563c93d FS#8023: Use of AS3514 #defines instead of magic values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15297 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 09:03:47 +00:00
Jens Arnold
c1051549b9 Implement YUV dithering for c200, and enable the option in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15246 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 13:46:26 +00:00
Barry Wardell
1d1a17c0db Improved H10 ADC driver. We now do things exactly as the OF does. This includes shifting the readings by 0x14 when PLL is enabled. Battery voltages and remote/scrollpad values adjusted accordingly. We also now wait for the ADC to indicate the conversion is complete before reading the data, so hopefully we will get more reliably steady readings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15141 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 10:48:16 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Jens Arnold
8aeed2d32e PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
2007-10-12 00:28:57 +00:00
Michael Sevakis
4c3897eb15 Hopefully take care of FS#7806 - Current Sansapatcher fails to boot OF by removing all hotswap support from the bootloader. It won't fully be closed until Sansapatcher is updated of course. There's still a report of the partition dump not working unless 20 bytes of padding are inserted at the start of main() but that's only a developer-enabled feature. Seems weird though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15038 a1c6a512-1295-4272-9138-f99709370657
2007-10-08 20:39:46 +00:00
Jens Arnold
d1e2f5240c c200: First implemention of lcd_yuv_blit(). mpegplayer works now, but speed can be optimized more and dithering is not yet implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15020 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 17:54:49 +00:00
Jens Arnold
1f0d06f085 * Use proper definitions for the PP (mono) LCD bridge. * Clean up pp5002.h a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15018 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 16:44:55 +00:00