1
0
Fork 0
forked from len0rd/rockbox
Commit graph

7534 commits

Author SHA1 Message Date
Michael Sevakis
a36a498c57 i.MX31/Gigabeat S: This should fix stability problems. One problem was to start using the DVFS controller properly so that interrupts will be masked at the lowest and highest frequency indexes. Millions of useless interrupts were occurring at 132MHz because its index was 2, not 3, which masks it automatically when it can't go slower. Stopping the flood was enough to actually see the difference in general. IRQ must be disabled when fiddling with the CCM registers and only enabled when waiting for voltage ramp as having them enables also causes spurious DVFS ints. Implement interruptible ISR pro/epilogue more safely (always using IRQ stack even in SVC mode handling). Fix an improper inequality in DVFS code (which set regs for down when going up and v.v.). Misc. support changes. Have internal tables take less RAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25837 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 03:23:51 +00:00
Jack Halpin
8fd3ec9727 sd-as3525v2.c: Set MCI interrupt mask immediately prior to enabling DMA for the transfer.
These INT's shouldn't be unmasked until the transfer is just about to happen.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25836 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 20:04:16 +00:00
Rafaël Carré
1801768ae2 as3525v2: don't modify audioset2 as it seems the bits have changed
restore loud volume on Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25831 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 15:38:56 +00:00
Rafaël Carré
bc91c5a823 Clip+: current usage estimation based on battery bench
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25830 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 15:28:39 +00:00
Michael Sevakis
630b4fc555 i.MX31/Gigabeat S: The nested IRQ code was just totally wrong and not actually working anyway (which is why it wasn't crashing). AVIC doesn't seem truthful about priority of current ISR either :\. Sometimes there were channel swaps during really active DVFS due to FIFO underflow from a needed long delay in the ISR (100us, and IIS TX only has 45us reserve) and DMARQ *must* be serviced low-latency. Get it doing as was intended.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25822 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 07:15:20 +00:00
Michael Giacomelli
9dd81ae53d Use settings for DAC AGC, cpeaker driver bias current (which is unused in rockbox), dither, and headphone bias current taken from c200v2 firmware. These should result in several mA power savings on all as3525, and probably an improvement on AS3525v2 as well as the c200v1 and e200v1. RMAA tests on the e200v1, clipv1 and clipv2 show no measurable difference in output when driving a 16 ohm load.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25821 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:47:20 +00:00
Jack Halpin
08641941bb sd-as3525v2.c: Implement 4 bit widebus for SD Transfers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25820 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:35:08 +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
Rafaël Carré
aec0af5413 as3525 FM i2c : don't assume SCL and SDA are on the same GPIO
This seems to be the case for the Fuzev2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25817 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 02:27:18 +00:00
Rafaël Carré
e6bb174c62 Clip+: use correct 290mAh battery capacity
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25816 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 02:12:20 +00:00
Rafaël Carré
d11f5a7e5f as3525* : all as3525(v1) use ADC_BVDD for reading battery
all as3525v2 use ADC_CHG_IN because ADC_BVDD is way too high when charging
Fuzev2 now displays battery icon correctly when charging

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25815 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 01:28:37 +00:00
Jack Halpin
adcbb32966 sd-as3525v2: Check for response timeout error in addition to response crc error. Remove TODO comment.
Change SD_SELECT/DESELECT_CARD commands to MCI_NO_RESP as we don't need a response here.
Renumber some command errors.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25811 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 17:29:26 +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
Marcin Bukat
5bcdd92626 HD200 - remove fm glue code from bootloader build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25803 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 11:14:03 +00:00
Michael Sevakis
4048a1cf4b Merely correct a comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25802 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 10:43:32 +00:00
Michael Sevakis
5edcb11f44 i.MX31/Gigabeat S: Just a little paranoid change to switcher write to active regulators method, to keep things localized a bit more from global data pool, for safety's sake. It's going to Mars afterall.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25801 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 10:37:06 +00:00
Michael Sevakis
931e06de64 i.MX31/Gigabeat S: Actually enable DPTC which can set optimal voltage for 528MHz. Requires an SPI and PMIC interface rework because of the low-latency needs for the DPTC to work best with minimal panicing. SPI can work with multitasking and asynchronously from interrupt handlers or normal code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25800 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 10:07:53 +00:00
Rafaël Carré
7480afb3c5 as3525v2: Use CD Interrupt vs. CD polling in send_cmd()
Also enable write support, test_disk passes on all targets

Flyspray: FS#11140
Authors: Jack Halpin and myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25799 a1c6a512-1295-4272-9138-f99709370657
2010-05-03 22:15:56 +00:00
Rafaël Carré
1bc59454d5 rolo: make PP code pp6100-compatible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25798 a1c6a512-1295-4272-9138-f99709370657
2010-05-03 21:50:48 +00:00
Maurus Cuelenaere
056f608f78 Ingenic Jz4740: eliminate EP0 state machine + small cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25797 a1c6a512-1295-4272-9138-f99709370657
2010-05-03 20:36:34 +00:00
Maurus Cuelenaere
35f341464b Ingenic Jz4740: cleanup USB driver a bit (no externally visible functional changes)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25796 a1c6a512-1295-4272-9138-f99709370657
2010-05-03 19:18:10 +00:00
Michael Sevakis
b3f1eb8bba Gigabeat S: Those odd calls to irq_handler can still happen rarely after executing WFI. With no explanation forthcoming after trying many things, hide head in sand and ignore them and the IRQ will get vectored to the correct handler anyway. Have vector tables execute an immediate return and remove irq_handler from compilation altogether.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25792 a1c6a512-1295-4272-9138-f99709370657
2010-05-03 07:48:00 +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
Torne Wuff
5b4a84a4ce FS#11149: alternative fix for ipod startup/shutdown issue
Instead of using the OF's low-battery handler to force a shutdown which appears to have numerous unwanted side effects, just clear the end of IRAM before shutting down which appears to solve the original "ipod sometimes needs hard reset to turn on" issue.

If you experience the "need hard reset" issue after this commit, please let us know. It has been tested on several models but we still don't know for sure what the original problem was. ;)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25772 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 09:41:28 +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
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
Rafaël Carré
bc3c5c1657 sd-as3525v2: cosmetics
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25762 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 08:57:56 +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
Rafaël Carré
893180d47d as3525v2: crashless cpufreq switching
delays after modifying the registers seems not to be needed
moving RAM operation (cpu_frequency variable) before modifying the
register also seems to help

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25754 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 03:15:18 +00:00
Rafaël Carré
2a180e8039 as3525v2: effect of CGU_PROC on fclk is instant
We do not need any delay after modifying it in system_init(), so the
same applies in set_cpu_frequency()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25753 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 00:43:24 +00:00
Rafaël Carré
554ae245fd as3525v2: do not use IRAM for plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25750 a1c6a512-1295-4272-9138-f99709370657
2010-04-28 16:25:45 +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
Rafaël Carré
621cf62702 as3525v2: fix udelay()
detect wraps so we don't miss the value we were waiting for
fix audio stuttering on fuzev2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25740 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 18:18:30 +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é
f2f34881ec Remove pcm_mute() which has been unused since r19308
Remove audiohw_mute from header as well, and make this function static
to each driver (commented out when it was unused)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25733 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 00:05:02 +00:00
Rafaël Carré
5e88c4b4de as3525v2: fix volume setting (can now go very low)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25732 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 23:42:12 +00:00
Rafaël Carré
be177138d3 as3514: detail bit of AS3543_DAC_IF
it lets you select internal PLL or external MCLK and is not related to mute

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25731 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 23:26:08 +00:00
Rafaël Carré
7d8069d2e7 as3514: no need to cache volume
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25730 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 23:14:31 +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
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