Commit graph

4970 commits

Author SHA1 Message Date
Andree Buschmann
df243a124b Undo r17095. A bug report clearly showed this power supply is also needed for accessories on 5G/5.5G. A more sophisticated solution is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17111 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 17:06:32 +00:00
Michael Sevakis
0257547d58 Gigabeat S: Make ADC battery voltage reading correct. Tiny tweak to ADC driver traffic limiting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17105 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 06:52:38 +00:00
Michael Sevakis
25ebc85842 Oops...simple math proves elusive at times. Get the array calcs right.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17104 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 04:22:47 +00:00
Michael Sevakis
b12c69bac7 ADC driver for Gigabeat S - a bit on the general side for now. Needs to have scales set properly (what physical value a reading represents isn't clear from the docs or I'm just lazy atm). Throw-in a _bunch_ more reg defines for the PMIC. Show all 16 raw channels values in debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17100 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 20:03:08 +00:00
Frank Gevaerts
be77cf5279 only reconnect mass storage if there is actually an active usb connection, with mass storage enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17098 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 17:16:50 +00:00
Andree Buschmann
b90a766d01 ASM optimization for fiq_playback(). Saves about 0.4MHz of CPU while playback on PP502x/PP5002.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17097 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 17:03:24 +00:00
Andree Buschmann
4c5a735a02 Further power saving for iPod Video (FS#8603). Do not enable D2REGC1 voltage for 5G/5.5G -- no changes for other iPods. Savings on a 5G/5.5G are about 1.5mA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17095 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 12:24:41 +00:00
Nils Wallménius
8c5d552ebd Charger detection for Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17093 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 10:04:21 +00:00
Jens Arnold
d055ffe715 Refine information and macros for clock skipping. Not functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17091 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 23:55:30 +00:00
Rob Purchase
8f464068af Fix cut'n'pasterelated yellows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17089 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 18:34:35 +00:00
Rob Purchase
b14c2de523 D2: Charging detection, plus basic PCF50606 interrupt handler.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17088 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 18:17:15 +00:00
Nils Wallménius
660dbac5c9 Make a couple of private functions static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17087 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 17:08:35 +00:00
Michael Sevakis
a7af9e4a7f Add GPIO manager. Get the PMIC interrupt handling working (along with power button and HP detect). Add some reg field defined instead of using raw numbers. Add PMIC info to debug ports screen. Refine PMIC driver ops a little bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17086 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 16:56:45 +00:00
Rob Purchase
ddfd787c54 D2: Implement battery voltage readout from PCF50606 (levels not yet calibrated). Adjust I2C delay to ensure this also works when boosted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17085 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 16:18:28 +00:00
Nils Wallménius
84dc8d2c7e Move a function to gwps-common.c because it belongs there
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17084 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 13:25:16 +00:00
Jens Arnold
00ac809cc7 LCD drivers: * Automatically optimise horizontal and vertical lines drawn via _drawline(), with debug message to show possible optimisations in the caller. * Get rid of the extra ICODE function declarations by putting the attribute into the definition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17081 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 07:53:33 +00:00
Nils Wallménius
02eb1d83a7 FS#8871 by Tomasz Wasilczyk, avoid negative runtime estimation (that would later be cast to an unsigned giving huge values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17080 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 07:14:13 +00:00
Michael Sevakis
ef97db1011 Big oops. Fix enum spi_module_number to set right enum values. :p.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17079 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 05:11:50 +00:00
Rob Purchase
b70239e15b D2: Remove USB detection as it's not actually on GPIOC26 (that's a charging indicator). Remove those warnings as I'm well aware USB isn't implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17078 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 21:23:51 +00:00
Michael Sevakis
57742e0ef7 Add a "View I/O Ports" screen for imx31. Show all GPIO contents.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17072 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 15:49:48 +00:00
Michael Sevakis
97e61198a5 iPod Video 30Gig doesn't seem to need the ata locking hack so we'll just attempt to remove it for this one. Works for me on 5.5g.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17071 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 10:39:24 +00:00
Michael Sevakis
0b1d7e76d7 Serial driver for imx31. Perhaps not 100% but maybe 80-90% (future developments will tell). Factor-out the mc13783 stuff and make that driver a layer above the SPI. TODO: start processing PMIC interrupts. Start a clkctl API for imx31 (we'll see if this sticks around but it seems reasonable here). Misc. stuff for convenience/neatness.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17070 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 08:51:27 +00:00
Bertrik Sikken
879c074656 Properly clear clear-on-write bits in the PP502x USB controller
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17066 a1c6a512-1295-4272-9138-f99709370657
2008-04-10 22:28:18 +00:00
Rob Purchase
159f8ee41a D2: Beginnings of a WM8985 driver (based on WM8758, using EQ1 and EQ5 as HW treble/bass). Untested, but harmless.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17057 a1c6a512-1295-4272-9138-f99709370657
2008-04-09 22:20:04 +00:00
Maurus Cuelenaere
8fef5a6022 Fix red + introduce new defines for DM320 targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17051 a1c6a512-1295-4272-9138-f99709370657
2008-04-09 15:47:33 +00:00
Maurus Cuelenaere
c02b183546 Add DM320 I²C driver, although not (yet) enabled in the sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17050 a1c6a512-1295-4272-9138-f99709370657
2008-04-09 15:25:20 +00:00
Rob Purchase
2fee08aff3 D2: Implement power-off by putting the PCF50606 to sleep (and reduce timeout to 10 ticks). Set PCF outputs on init as per OF. Fix erroneous BOOTDIR definition and make HW Info screen show some more useful info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17039 a1c6a512-1295-4272-9138-f99709370657
2008-04-08 20:43:04 +00:00
Rob Purchase
f4deea6027 D2: Update dual boot to use the hold switch. Update bootloader to show messages until HOLD released, keep holding POWER to show old debug screen (these modes will eventually be removed).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17032 a1c6a512-1295-4272-9138-f99709370657
2008-04-08 08:01:18 +00:00
Rob Purchase
d74117450c Make the TCC780x ADC driver work again in the bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17031 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 22:48:19 +00:00
Jens Arnold
ece03129b6 Make the greyscale library work on the m:robe 100. Testing on target done by Robert Kukla & Dominik Riebeling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17028 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 21:14:29 +00:00
Nicolas Pennequin
06c199e347 Some more debug output disabling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17026 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 19:33:48 +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
Steve Bavin
799e9489ca Remove some more simulator debugging output.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17019 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 17:19:53 +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
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
Jens Arnold
b1a49f83c6 Save a couple of bytes by using moveq.l where possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17007 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 00:01:03 +00:00
Jens Arnold
9737fc7c26 Iriver remote LCD driver: * Split out assembler parts. * Reintroduced the 2 transfer routine variants (low/high CPU clock), and made the version for high CPU clock a little slower because there were problems reported. The function can be slowed down more if there are still problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17006 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 23:57:37 +00:00
Michael Sevakis
9ba80c9641 Get device-specific code out of init_threads and add core_thread_init to be implemented for multicore devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17000 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 22:08:36 +00:00
Jens Arnold
94c6e6f337 1st/2nd Gen: Make backlight inversion adaption in the greyscale library work again. is_backlight_on() can now be called from COP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16988 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 15:15:44 +00:00
Michael Sevakis
4ab52c3456 Shorten the uncontended (expected) corelock_(try_)lock return path. Squeeze down corelock_try_lock by a couple instructions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16983 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 08:48:31 +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
Rob Purchase
36f8fba209 Tick/IRQ driven ADCs for TCC780x. Solves the weird button behaviour mentioned on the D2 wiki page.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16974 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 23:43:31 +00:00
Jens Arnold
32bd0f8ab1 Greyscale library: Optionally put the greyscale ISR on COP on portalplayertargets (only use with the grey_info structure in IRAM atm\!). This speeds up doom by ~50%, and makes mpegplayer work without stuttering audio on targets using it (measured on iPod 2nd Gen and Mini 2nd Gen). It needs corelocking certain functions in the LCD driver on 1st/2nd Gen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16973 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 22:13:53 +00:00
Rob Purchase
91202e1804 D2: Adjustable backlight brightness (sometimes fails when boosted, suggests I2C timing needs adjustment). Tweak lcd_enable() to behave more like other targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16967 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 20:55:58 +00:00
Rob Purchase
9b691d335a Split out the PCF5060x register defines into a common header and create a generic pcf50606.c using standard i2c read/writes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16966 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 20:24:08 +00:00
Jens Arnold
ac9b92716a Allow to select the core for running the user timer on portalplayer targets. * Incompatible plugin API change -> sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16965 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 19:38:46 +00:00
Jens Arnold
8399749412 1st/2nd Gen: Backlight inversion needs to be protected from interrupts, because it can happen any time, even while the greyscale lib or something else is writing to the LCD from an ISR. Also make backlight inversion only hit the LCD if necessary. * Use register definition in the 1st..3rd Gen backlight drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16962 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 17:33:39 +00:00
Jens Arnold
fbfe6d6674 Fix the PP5002 interrupt controller register definitions. The PP5002 interrupt controller matches the first half of the PP502x interrupt controller (the actual interrupt bits are different though).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16956 a1c6a512-1295-4272-9138-f99709370657
2008-04-03 21:48:41 +00:00