Commit graph

38 commits

Author SHA1 Message Date
Rafaël Carré
ef9aacb2e0 FS#10245 by Jack Halpin : Adjust Clocking scheme on Sansa AMS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21088 a1c6a512-1295-4272-9138-f99709370657
2009-05-26 18:44:02 +00:00
Rafaël Carré
adb978a44d Sansa AMS: Various fixes/enhancements for clock frequencies
Fix CGU_DBOP setting

Set PCLK to the exact frequency (62MHz, not the maximal frequency)

Use a better comment for CLK_DIV macro

Use preprocessor safety checks for clock divider sizes to avoid future mistakes (not for SD_IDENT frequency since that check is handled by mci_set_clock_divider)

Use maximal IDE frequency of 66MHz (like OF), not 90MHz like written in AS3525 datasheet. The IDE chip is somehow linked to internal storage, and a too high frequency could affect the storage driver.

Use the same DBOP frequency of 32MHz for all models (like OF, verified clip, fuze, e200v2 and m200v4), compromise between performance and battery life could be added in the future for each target
Performance increase on Sansa Fuze with DBOP freq. set to 64MHz: +12% fps for lcd_update, +1% fps for yuv

Thanks to daytona955 on the forums for his help

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20923 a1c6a512-1295-4272-9138-f99709370657
2009-05-13 08:27:20 +00:00
Rafaël Carré
b1d03ccee7 FS#10118 & FS#10165 : lcd_blit_yuv() for Sansa Fuze & Sansa e200v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20919 a1c6a512-1295-4272-9138-f99709370657
2009-05-12 13:22:39 +00:00
Thomas Martitz
e29358c154 Fix FS#10128 - The View IO Ports debug menu showed weird dbop values (sometimes FFFF prepended), due to sign-extension. Switch to unsigned short to fix it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20757 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 20:11:01 +00:00
Thomas Martitz
aef5731d71 FS#10148 by Dustin Skoracki, removes a redundant check for != BUTTON_NONE in the scrollwheel drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20744 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 17:05:36 +00:00
Thomas Martitz
42f5973177 Few Fuze/e200v2 button fixes. Don't read the scrollwheel when the hold button is active and rename a variable to describe better what it is for.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20701 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 17:10:52 +00:00
Thomas Martitz
e5e41c3a82 FS#10120 - fuze/e200v2: poll the wheel more often (every 5ms). This makes the scrollwheel behavior nearly perfect (decent acceleration, no direction changes if you turn to fast).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20699 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 10:28:06 +00:00
Thomas Martitz
487d78995a A bit of cleanup in config-fuze (don't define features we do not have yet), a bit of reordering. Cleanup in the lcd driver. Reintroduce the delay in the dbop read function, as it helps avoiding heavy hold button weirdness when boosted
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20583 a1c6a512-1295-4272-9138-f99709370657
2009-03-30 19:57:42 +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
Thomas Martitz
26306a8e91 Sansa Fuze Buttons: cleanup slightly, prevent button_counter from wrapping, and implement a (imo) decent wheel acceleration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20317 a1c6a512-1295-4272-9138-f99709370657
2009-03-13 16:18:56 +00:00
Thomas Martitz
7d0b9f7fb7 Fix occasional power button ghost presses and get rid of the delay which was needed to reduce the ghost presses (i.e. don't read power button too during lcd updates)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20058 a1c6a512-1295-4272-9138-f99709370657
2009-02-19 22:54:48 +00:00
Thomas Martitz
1cb3ff0ab0 Sansa Fuze buttons:
1) fix driver from reading invalid home button while lcd updates (use old value then)
2) put in a 1s delay for power button reading after releasing hold
3) revert r20028, I thought it wasn't needed, since I didn't update the bootloader
4) enable hold for the bootloader (even though not really needed, but is consistent with other targets)
5) let button_dbop return DBOP_DIN, and do the reading in button_read_device
6) various cleanups

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20054 a1c6a512-1295-4272-9138-f99709370657
2009-02-19 21:20:42 +00:00
Thomas Martitz
30255d53da Get rid of disabling irq. Simply blocking does it too, it also caused problems (particulary with scrolling lines).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20040 a1c6a512-1295-4272-9138-f99709370657
2009-02-18 16:38:16 +00:00
Thomas Martitz
5593de5e79 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20029 a1c6a512-1295-4272-9138-f99709370657
2009-02-17 03:03:06 +00:00
Thomas Martitz
e7718a711f Setting GPIOA_PIN 1 is apparently not needed (anymore)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20028 a1c6a512-1295-4272-9138-f99709370657
2009-02-17 02:41:30 +00:00
Thomas Martitz
be84fcffbd Some Sansa Fuze work: Get Home button working (no keymap changes yet, so it's not very noticeable) and "fix" debug menu from not showing the dbop data (see FIXME), some cleanup in the fuze's button driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20027 a1c6a512-1295-4272-9138-f99709370657
2009-02-17 02:36:48 +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
Michael Giacomelli
3db7893911 Commit second part of FS#9663 by Thomas Martitz. Enable button light on fuze and e200v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19792 a1c6a512-1295-4272-9138-f99709370657
2009-01-18 18:49:36 +00:00
Björn Stenberg
9e3844db07 Updated Fuze button code. FS#9645 by Thomas Martitz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19629 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 21:02:56 +00:00
Michael Giacomelli
f78bf7d9fc Commit FS#9623 by Thomas Martitz. General LCD clean up. Removes needless delays, fixes some glitches, updates comments, and brings LCD updates closer to procedure found in OF.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19452 a1c6a512-1295-4272-9138-f99709370657
2008-12-16 02:42:38 +00:00
Rafaël Carré
45711ac286 Sansa AMS: centralize clock settings in clock-target.h
Reorder system_init() to initialize peripherals not only in bootloader
Use a 65MHz PCLK (and memclk) which will be needed for realtime decoding

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19330 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 20:04:31 +00:00
Rafaël Carré
0b6d65b09e Sansa AMS: Use a valid PLL setting (248MHz aka maximum fclk)
Fix lcd drivers which stopped working after changing the PLL.
Move set_cpu_frequency() to a place where it is actually used.
Remove enable_irq() call already done by the bootloader

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19276 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 16:36:32 +00:00
Rafaël Carré
4a4c3c5cb0 Sansa Fuze: do not modify the CCU_IO register since we don't use GPIOD
Finding by Thomas Martitz

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19257 a1c6a512-1295-4272-9138-f99709370657
2008-11-28 11:51:09 +00:00
Rafaël Carré
82c5101e57 Sansa Fuze: remove left over copy-pasta (fix status bar flickering)
Patch by Daniel Weigl

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19256 a1c6a512-1295-4272-9138-f99709370657
2008-11-28 10:53:58 +00:00
Rafaël Carré
97e907538a Sansa AMS: implement set_cpu_frequency()
Use a 24MHz peripheral clock instead of 64MHz for battery life

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19234 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 16:46:12 +00:00
Rafaël Carré
a6ec0293cc Sansa AMS: correct timer definition (clk_main == 24MHz / 16)
make timer-target.h common to all AMS targets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19229 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 14:40:57 +00:00
Steve Bavin
b70f575023 Fix reds. Also note my r19221 commit message had a typo - shoudld have been e200/c200, not e100.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19224 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 10:21:03 +00:00
Björn Stenberg
8486cb96c1 Preliminary button driver for Sansa Fuze. FS#9575 by Thomas Martitz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19206 a1c6a512-1295-4272-9138-f99709370657
2008-11-24 20:51:05 +00:00
Bertrik Sikken
078753395d Implement a basic uncalibrated battery reading for all as3525 targets with a lithium battery.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19189 a1c6a512-1295-4272-9138-f99709370657
2008-11-23 15:00:44 +00:00
Dave Chapman
4c25c92a86 Partially apply FS#9569 by Michael Chicoine and Thomas Martitz: remove the GPIOD(7) setting in the Fuze and e200v2 LCD drivers - it's set in the buttonlight code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19182 a1c6a512-1295-4272-9138-f99709370657
2008-11-22 18:04:07 +00:00
Dave Chapman
de89a00cca Correct the xoffset used when display_flipped is false - fixes the display in the main Rockbox build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19128 a1c6a512-1295-4272-9138-f99709370657
2008-11-17 20:08:09 +00:00
Dave Chapman
e25c1c6e43 Add more driver stubs to make the Fuze and e200v2 main builds compile; Correct the memory definition for the Fuze (8MB)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19090 a1c6a512-1295-4272-9138-f99709370657
2008-11-11 14:46:13 +00:00
Jonathan Gordon
0d812dd235 FS#9535 - Sansa Fuze sim
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19086 a1c6a512-1295-4272-9138-f99709370657
2008-11-11 11:26:07 +00:00
Rafaël Carré
59a9699027 Fuze: remove an unused variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19066 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 11:14:09 +00:00
Dave Chapman
307d009cf1 Clean up the Fuze LCD driver. The only functional change is to write 0x7030 instead of 0x30 to register 0x03 (which seems to be a HD66789R-style R_ENTRY_MODE register) - this fixes the corrupted colours.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18968 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 23:31:05 +00:00
Dave Chapman
2a5d491480 Unify the e200v2 and Fuze backlight/buttonlight code - it is identical.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18966 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 22:05:35 +00:00
Dave Chapman
74c75e5c04 Add Sansa Fuze to the build system, including a first (untested) attempt at an LCD driver. Lots of things are just copied from the e200v2, so this code needs testing, and then drivers properly merged if they prove to be the same.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18957 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 10:29:23 +00:00