Michael Giacomelli
9f364a13c6
Increase button delays in preperation for frequency scaling.
...
When run at lower clock speeds, delays seem to need to be a little
longer in absolute time.
Change-Id: I5373f43094302e6fa3f0a79126e54cfccd90f5a4
2016-01-18 23:51:25 +01:00
Marcin Bukat
89ba7e818c
Get rid of stupid _backlight_* function names
...
_remote_backlight_* and _buttonlight_* are cleaned as well
Change-Id: I73653752831bbe170c26ba95d3bc04c2e3a5cf30
2015-01-12 11:09:27 +01:00
Thomas Martitz
281d1fadb3
Do not include kernel.h in system.h.
...
system.h doesn't need it on its own and this change makes it less
dependant on Rockbox internals.
Change-Id: I4e1e4108a52a7b599627a829204eb82b392fc6d6
2014-01-05 19:35:23 +01:00
Michael Sevakis
307cb04948
AS3525v1/2: Enable nested handling of interrupts
...
Mostly for the sake of reducing latency for audio servicing where other service
routines can take a long time to complete, leading to occasional drops of a
few samples, especially in recording, where they are fairly frequent.
One mystery that remains is GPIOA IRQ being interrupted causes strange
undefined instruction exceptions, most easily produced on my Fuze V2 with a
scrollwheel. Making GPIOA the top ISR for now, thus not interruptible, cures it.
SVC mode is used during the actual calls. Hopefully the SVC stack size is
sufficient. Prologue and epilogue code only uses the IRQ stack and is large
enough.
Any routine code that should not be interrupted should disable IRQ itself from
here on in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31642 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 22:29:25 +00:00
Rafaël Carré
8552824284
ascodec-target.h: remove
...
move prototypes to ascodec.h
move code to ascodec*.c
YPR0: use adc-as3514.c instead of duplicating it
TODO: merge as3514.h and ascodec.h ?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31626 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 01:43:16 +00:00
Rafaël Carré
95cf63b294
button-target.h : move prototypes to button.h
...
no need to define BUTTON_REMOTE anymore
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31620 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 00:07:19 +00:00
Bertrik Sikken
8d1d2f8982
AMS: consistently use bitclr32/bitset32/bitmod32 for register CCU_IO (instead of using |= or &= )
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29748 a1c6a512-1295-4272-9138-f99709370657
2011-04-18 21:13:40 +00:00
Bertrik Sikken
eab630a1e1
AMSv2: fix dependency between button light and sd card control for fuze v2 variant 0
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29667 a1c6a512-1295-4272-9138-f99709370657
2011-04-01 21:29:08 +00:00
Michael Sevakis
2da0f9bcfd
Fuze v2: Do button reading more efficiently by mapping button codes directly to the GPIO pin states where possible (all but 'home' and hold). This makes plugins incompatible; up the min version and sort things.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29097 a1c6a512-1295-4272-9138-f99709370657
2011-01-20 17:11:23 +00:00
Michael Sevakis
5f52f6ee01
Fuze V2: Fix hold switch behavior. Add a GPIOx_PIN_MASK macro to AS3525.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29096 a1c6a512-1295-4272-9138-f99709370657
2011-01-20 14:26:58 +00:00
Bertrik Sikken
4d6c816721
Sansa Clip+: detect AMSv2 variant (just like was already done for fuze v2), this makes SD transfers work for newer clip+ players ("COMBO4E" type). Variable fuzev2_variant has been renamed to amsv2_variant.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27520 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 13:47:09 +00:00
Rafaël Carré
ed616c604a
buttonlight for new fuzev2
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27501 a1c6a512-1295-4272-9138-f99709370657
2010-07-20 05:55:32 +00:00
Rafaël Carré
c57ba97246
newer Fuzev2 doesn't seem to use B5 for button light
...
playing from µSD now works to some degree
database update or copy between the 2 drives lock up
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27496 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 17:12:47 +00:00
Rafaël Carré
b221d6d4d4
as3525*: use atomic bit manipulation for CCU_IO
...
fuzev2 button_read_device() runs in interrupt context so writes are atomic
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27494 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 15:56:15 +00:00
Rafaël Carré
e44b65c806
Support new Fuzev2 revisions (fuzev2_variant == 1)
...
- Revert BUTTON_HOME
- Modifications to SD driver (µSD not working yet)
TODO: µSD and FM radio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27492 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 15:29:28 +00:00
Tobias Diedrich
68e2023184
Enable display and backlight on panic.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26917 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:45:24 +00:00
Rafaël Carré
6921a2b6b9
Merge common LCD code between fuzev1 & fuzev2
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26344 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 23:32:38 +00:00
Rafaël Carré
ddecf431e0
fuzev2: charging curve and voltage limits
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26190 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 12:53:20 +00:00
Thomas Martitz
0b28594036
Revert r26060. A better fix was found. The acceleration should be fixed once for all now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26175 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 17:34:12 +00:00
Rafaël Carré
d10bf7ab46
fuzev2: leave at least 3ms between scrollwheel events
...
fix insane acceleration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26060 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 16:34:14 +00:00
Rafaël Carré
79cfc221a5
fuzev2: fix buttonlight flashing on µSD access (2nd try)
...
it would still flash when the light was off
it turns out that if B5 is set to input the light can't be turned on
but we can still select between µSD slot and internal storage
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26059 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 16:21:47 +00:00
Rafaël Carré
235fc05e3b
Fuzev2: calibrated discharge curve
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25869 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 07:46:07 +00:00
Rafaël Carré
145135f99f
Fuzev2: don't disable interrupts in fm code, allow button tick to run
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25819 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:13:15 +00:00
Rafaël Carré
a69e1c4a44
Fuzev2: FM - tested on 2 different models
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25818 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:06:44 +00:00
Thomas Martitz
3adac47c61
Fix wrong udelay logic that made it be way off.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25770 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 02:30:06 +00:00
Rafaël Carré
d7cdc65854
Fuzev2: revert r25741 and r25746
...
Use longer delays instead
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25747 a1c6a512-1295-4272-9138-f99709370657
2010-04-28 00:23:25 +00:00
Rafaël Carré
bd7e71df3e
fix r25741: the 2nd delay needs to be present when the CPU is boosted
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25746 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 23:52:20 +00:00
Rafaël Carré
3e37460357
Fuzev2 button fixes
...
- remove udelay(1) and use the previous busy loop : the delay was too
long for proper hold detection
- remove the 2nd delay (unneeded)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25741 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 21:01:31 +00:00
Thomas Martitz
f96406c5f3
Two corrections to the previous commit (wrong timer was used, KERNEL_TIMER_FREQ is a more trustworthy).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25737 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 10:56:44 +00:00
Thomas Martitz
249aae587a
FS#11172 - Fuzev2: Read the scrollwheel scrollwheel via IRQ
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25736 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 10:11:52 +00:00
Thomas Martitz
845af676f8
as3525(v2): Add a somewhat inaccurate udelay (-0.5/+1.0µs). It should work good for some huge delays.
...
Use it in fuzev2 to improve some big delays (correct the biggest one to actually wait for the fifo to empty), and use it in the sd drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25734 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 09:34:29 +00:00
Rafaël Carré
fa5cd0d3bf
Fuzev2: button_read_dbop() doesn't exist
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25723 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 15:07:47 +00:00
Rafaël Carré
7e7b3c5ab3
Fuzev2: fix screen corruption
...
Revive the delay removed by r25636 (and make it longer so it works when
boosted)
Also read GPIOA pins 7 & 6 in one load
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25722 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 14:49:51 +00:00
Rafaël Carré
5521717958
fuzev2: remove some delays from button driver
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25638 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 19:34:47 +00:00
Rafaël Carré
e6934b86fd
Fuzev2: removed a useless GPIO op, add some whitespace
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25637 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 19:26:06 +00:00
Rafaël Carré
482fefd928
Fuzev2: simplify button_read_device()
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25636 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 19:06:21 +00:00
Thomas Martitz
ae69e92008
as2525(v2): We don't need yuv blitting/greylib support in the bootloader so don't compile it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25483 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:17:11 +00:00
Thomas Martitz
446a67698f
Fuzev2: Reduce code duplication by reusing Fuzev1 code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25481 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:01:44 +00:00
Rafaël Carré
eefdd430f1
Fuzev2: YUV output adapted from Fuzev1
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25479 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 07:47:31 +00:00
Rafaël Carré
0f951b1de8
Fuzev2: use RGB565SWAPPED (pointed out by amiconn) => 91fps
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25478 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 07:10:01 +00:00
Rafaël Carré
5b8aca84dc
Fuzev2: don't reinvent the wheel: swap pixels with existing swap_odd_even32
...
It is equally fast and doesn't need an additional mask
Thanks to amiconn for pointing to it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25477 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 06:35:23 +00:00
Rafaël Carré
69186f6f85
Fuzev2: write pixel swapping in assembly for a some speed up
...
Unboosted: 73 fps -> 87.5 fps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25476 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 05:41:51 +00:00
Thomas Martitz
f376fd2f4a
Fuzev2: Scrollwheel works like a charm :)
...
Move scrollwheel parsing function into separate file as it's reused.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25425 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 16:07:56 +00:00
Rafaël Carré
92411e8a96
Fuzev2 LCD: replace delays by calls to lcd_delay() (delays not changed)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25422 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 08:29:30 +00:00
Thomas Martitz
33e7e1d1c3
Fix bootloader red, it doesn't have backlight handling.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25394 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 23:14:44 +00:00
Thomas Martitz
71393c701c
Fuzev2: Preliminary button support. Scrollwheel does not work yet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25392 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 23:03:06 +00:00
Rafaël Carré
ba76e2870e
as3525v2: factorize writing to ascodec PMU
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25380 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 13:00:33 +00:00
Rafaël Carré
1bfffbcaaa
as3543: name 0x1b & 0x1c registers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25379 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 12:54:07 +00:00
Rafaël Carré
60cfc1ddff
Fuzev2: fix backlight brightness
...
PMU registers are write-only
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25377 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 12:10:43 +00:00
Rafaël Carré
f04ee9436c
Fuzev2: it seems we need to set bit 3 when selecting PMU subregister
...
backlight still not working properly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25371 a1c6a512-1295-4272-9138-f99709370657
2010-03-28 06:05:48 +00:00