Commit graph

314 commits

Author SHA1 Message Date
Marcin Bukat
a316ebe65b HD200 - use line transfers in lcd_grey_data. This gives ~25% speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26856 a1c6a512-1295-4272-9138-f99709370657
2010-06-15 10:41:43 +00:00
Marcin Bukat
cc6747ca5b HD200 - make USB bridge handling more correct
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26843 a1c6a512-1295-4272-9138-f99709370657
2010-06-14 10:42:41 +00:00
Jens Arnold
f053b0d606 Port greylib blitting optimisation to MPIO HD200. ISR speedup is ~10%; further speedup should be possible by using line transfers for accessing the greylib buffers. Thanks to Marcin Bukat for testing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26793 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 19:53:17 +00:00
Marcin Bukat
2d788744ae HD200 - clean up usb related functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26768 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:41:33 +00:00
Marcin Bukat
2f7bd4d993 HD200 - power_init() rework based on latest power consumption measurements
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26767 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:41:29 +00:00
Marcin Bukat
b45a2d433b HD200 - small cleanup in button_init_device()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26766 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:41:24 +00:00
Marcin Bukat
12fa759aad HD200 - fix lcd power save command (not used currently)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26684 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 09:44:17 +00:00
Torne Wuff
991e92fd3d New USB charging system, part 1 - API rework and user-visible setting update
1) "Charge during USB connection" option is now tristate: off/on/force. Currently "force" behaves just like "on", but in future it will allow charging even when it was not possible to positively identify a charger.

2) The H300 code has been adjusted to use the new system but there should be no functional differences, it already had the USB charging option and its USB/charging support is hardware controlled.

3) The Gigabeat S code has been adjusted to use the new system: the player now has the USB charging option, which wasn't previously available. The player will only charge at full speed when allowed to do so by a working USB host, so USB AC adapters won't work very well; however, they didn't work before either, so this is not a change in functionality.

4) The iPod Nano 2G code has been adjusted to use the new system: it already had the USB charging option. Using a USB AC adapter won't charge at full speed any more (it did before) - the old implementation was equivalent to the not-yet-implemented "force" option in the new system.

No other target should be affected. Support for the "force" mode and support for at least some other iPod models will come in a future commit :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26570 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 10:05:27 +00:00
Michael Sevakis
555ad6710f Threading: Split processor support code into respective target files. C files from /target/xxx are included into thread.c because of essential inlining and files are code, not declarations. Copyrights in each new file go to whoever implemented the first functional support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26479 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 12:45:36 +00:00
Jens Arnold
85fd2d8be9 Smaller & faster greylib blitting on iriver H1x0 and iAudio M5, based on the ARM version but using mulu.l for the bit shuffling. ISR speedup is ~10%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26434 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 19:56:21 +00:00
Michael Sevakis
d56999890f Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26253 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 16:42:32 +00:00
Marcin Bukat
6b5fc853b6 fix comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26189 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 12:12:27 +00:00
Marcin Bukat
f28187074b HD200 - increase sligtly wait states for lcd. This removes clicks in playback and lcd updates are fast anyway
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26188 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 12:05:24 +00:00
Marcin Bukat
2d0d08220f HD200 - fix button readings afrer PLL settings change
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26186 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 10:13:14 +00:00
Marcin Bukat
1102edb8f6 HD200 - fix PLL settings. This fixes looong standing bug heavily affecting performance
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26185 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 08:24:04 +00:00
Marcin Bukat
38136345f6 HD200 - lm339 response time is at best 300 ns so adcclk can not be too high
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26158 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 09:29:20 +00:00
Marcin Bukat
b627106392 HD200 - change how adc is scanned (inspired by amiconn)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26138 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 12:29:21 +00:00
Maurus Cuelenaere
64f5033574 Do s/SWAP_WORDS/ATA_SWAP_WORDS/ to prevent namespace clashes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26111 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 15:15:38 +00:00
Marcin Bukat
db59e671cc HD200 - use optimised read&write routines from ata-as-coldfire.S and drop hd200 specyfic ata-as-hd200.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26106 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 13:08:50 +00:00
Marcin Bukat
a619caa833 Integrate byte swap of ata word into ata-as-coldfire.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26105 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 13:07:55 +00:00
Marcin Bukat
1a25eddaa7 HD200 - decrease wait states for lcd when boosted
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26103 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 12:36:33 +00:00
Marcin Bukat
cce9c17902 HD200 minor lcd asm routines adjustments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26102 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 12:34:59 +00:00
Michael Sevakis
4d04132c76 PCM bottom layer simplification. pcm_rec_peak_addr variable no longer has to be handled there. Driver can just return current pointer for recording peaks. A new define, HAVE_PCM_REC_DMA_ADDRESS, specifies that physical addresses are being used for recording and translation is needed before starting a new block. The drivers need not worry about aligning start and size nor should care if either will be zero. All this will be checked in the logical layer first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25970 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 14:05:36 +00:00
Nils Wallménius
aa1e471f9a Coldfire strlen, slight optimization pointed out by amiconn, eliminate some unconditionla branches by rearranging the code handling the head bytes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25968 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 12:32:34 +00:00
Nils Wallménius
418c9eeb14 Faster assembler strlen for coldfire using the load-a-whole-word-and-test-i-for-nullbytes-at-one trick, benched 28% faster than the old version
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25959 a1c6a512-1295-4272-9138-f99709370657
2010-05-11 22:23:43 +00:00
Marcin Bukat
68da06f3dc HD200 - fix in asm optimised ATA reads&writes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25948 a1c6a512-1295-4272-9138-f99709370657
2010-05-11 11:35:58 +00:00
Marcin Bukat
fc330110c9 HD200 - Disable asm optimised reads as it showed to be broken. Enable asm optimised writes. test_disk was failing because of broken read routine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25931 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 13:24:44 +00:00
Marcin Bukat
4fad74e6f6 HD200 - Remove checks if driver is initialized. lcd_init_device() is always called first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25928 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 12:36:58 +00:00
Marcin Bukat
45c2a6d314 HD200 - Reduce wait states when writing to lcd.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25927 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 12:36:27 +00:00
Marcin Bukat
684c70bac5 HD200 - fix stupid bug in lcd_grey_data
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25842 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 14:33:19 +00:00
Marcin Bukat
6a2b516f48 HD200 - fix random partition corruption on USB unplug (hopefully)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25807 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 12:25:57 +00:00
Marcin Bukat
bccdcf2003 HD200 - move adc channel variable to iram as it is used in ISR
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25805 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 11:15:36 +00:00
Marcin Bukat
5ad4d138d7 HD200 - fix backlight flashes during startup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25804 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 11:14:59 +00:00
Jens Arnold
e891e90883 Save a few instructions by better use of conditions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25786 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 19:36:20 +00:00
Marcin Bukat
88baa4d4c7 HD200 - implement blit functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25767 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 14:13:52 +00:00
Marcin Bukat
572ac53359 HD200 - small fix in backlight code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25766 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 13:59:00 +00:00
Marcin Bukat
2a50270e44 HD200 - remove moving average filtering of ADC readouts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25765 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 12:42:51 +00:00
Marcin Bukat
c740af20e7 HD200 - add FM support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25757 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 13:14:43 +00:00
Marcin Bukat
28d54c6016 Add MPIO HD200 port - new files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25725 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:16 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Nils Wallménius
3925cfeede remove some useless lines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25721 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 11:37:59 +00:00
Torne Wuff
62321ed0bd Make ATA code not bother to retry requests that return IDNF (specified sector not valid).
There's no point retrying these requests for five seconds, the sector number isn't going to get any more valid. It interferes with being able to detect broken drives like the 5.5G 80GB iPod's.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25525 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 20:01:21 +00:00
Jens Arnold
2bc9b06702 Reset USB bridge properly when selecting bus powered mode. The bridge might have been set to self powered by the cowon loader, and switching the mode requires a reset. Makes USB work on X5s which were set to 'hub mode' in the OF for some reason.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25252 a1c6a512-1295-4272-9138-f99709370657
2010-03-19 23:39:00 +00:00
Andree Buschmann
260c0184de Set IRAM split to 48KB / 80KB (apps / plugins) for M5 and X5. This way codecs can be optimized further.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25057 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:22:49 +00:00
Nils Wallménius
aa32e55ce7 Remove unneeded instruction from the coldfire ffs function and fix a wrong comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24030 a1c6a512-1295-4272-9138-f99709370657
2009-12-16 16:39:24 +00:00
Andrew Mahone
81f72ddef6 Set DRMODE_SOLID, uniform colors, and sysfont before clearing LCD to display panic or exception messages - see FS#10665.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23623 a1c6a512-1295-4272-9138-f99709370657
2009-11-14 11:27:41 +00:00
Michael Chicoine
6e54cabd2c Remove svn:executable from firmware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23432 a1c6a512-1295-4272-9138-f99709370657
2009-10-31 02:26:40 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Nils Wallménius
f34a841b0c Revise r23225 a bit, removing the debug_printf function and implementing more generic lcd_(remote)_putsf function(s) instead and use those in more places
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23233 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 18:02:48 +00:00
Jens Arnold
e13c600133 H300 LCD update: Use interrupt driven background DMA transfers, giving other threads a
chance to run while the LCD updates. * Add an optimisation for partial updates with width == 
LCD_WIDTH.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23109 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 13:30:06 +00:00