Commit graph

115 commits

Author SHA1 Message Date
Rafaël Carré
b79ca59194 Try to fix problems on Clip+ (not sure why they appear randomly)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25421 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 08:21:21 +00:00
Rafaël Carré
a28a9210d0 Fix boosting on as3525v2
the arm926-ejs doesn't have synchronous/asynchronous/fastbus modes, so
just change CGU_PROC directly

Note: we could use a lower unboosted frequency now

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25417 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 04:37:17 +00:00
Rafaël Carré
49935f2fa8 as3525*: make sure fclk is 24MHz before using it as the clock source for pclk
Should fix Clip+ boot problems once for all

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25416 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 03:55:49 +00:00
Rafaël Carré
f4dcc69b51 as3525*: set up CGU_COUNT register before turning on / modifying PLLs
Write the setting before enabling the PLL
Fix booting problem (black screen) with Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25415 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 03:22:49 +00:00
Rafaël Carré
39e78993f3 as3525v2: adjustable CPU freq : CGU_PROC is identical to as3525 after all
Instead of modifying CGU_PROC to get 24MHz pclk, just switch to fastbus else Clip+ wouldn't boot
Tested on fuzev1/Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25413 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 02:39:25 +00:00
Tobias Diedrich
47ab95904e Add handler for audio irq.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25299 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 05:02:37 +00:00
Tobias Diedrich
946d3d177e Rewrite ascodec_as3514.c to use interrupts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25297 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 04:40:38 +00:00
Rafaël Carré
ab7365610b as3525*: revert r25198 and inline memory_init in crt0.S
We do not need a stack pointer at this step, and we are sure to not use
memory not initialized yet (like bss)

Fixes FS#11114 (tested on Fuze)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25229 a1c6a512-1295-4272-9138-f99709370657
2010-03-17 05:02:42 +00:00
Thomas Martitz
0094b0500c Add Sansa Fuzev2 to the target tree. Bootloader builds, but is completely untested.
Compilation shows a warning for the first argument of the lcd_bitmap() call in show_logo().

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24911 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 13:26:46 +00:00
Rafaël Carré
e32e180244 as3525v2: share more of system_init() between the 2 SoCs
Differences remaining:
    - list of peripherals reset
    - CGU_PROC isn't modified on as3525v2
    - CGU_PLLA bits aren't known, but we use a known setting for 240MHz

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24868 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 06:59:58 +00:00
Rafaël Carré
ed55520985 as3525v2: do not modify CGU_PERI in rockbox.sansa
this prevented booting, we need to figure out CGU_PROC bits

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24854 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 08:29:02 +00:00
Rafaël Carré
b347245d7c as3525v2: init sdram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24849 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 07:31:37 +00:00
Rafaël Carré
31eda59720 as3525v2: build normal firmware properly (Clipv2/+)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24840 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 02:42:58 +00:00
Rafaël Carré
8b4ee2cfdd as3525: make clear the CCU bit we can't reset is the IDE interface
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24738 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 23:27:35 +00:00
Rafaël Carré
bd0b7363ca Sansa AMS: do not init memory for AS3525v2
(#ifdef rule was broken)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24549 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 18:37:15 +00:00
Bertrik Sikken
8d234fc9a3 as3525: add a few more CGU_PERI definitions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24537 a1c6a512-1295-4272-9138-f99709370657
2010-02-06 14:33:40 +00:00
Rafaël Carré
12af2926e5 Make Clip+ bootloader build
Now making the Fuzev2 bootloader build should be pretty easy

TODO:
    - write button driver (FlynDice found all buttons already)
    - find button light
    - decide if lcd-ssd1303.c must be modified for Clip+ using SSP or forked
    - check if backlight code works (I copied Clipv2 code)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24520 a1c6a512-1295-4272-9138-f99709370657
2010-02-05 12:40:25 +00:00
Jack Halpin
fefafebed6 SansaAMS: Disable voltage scaling.
Voltage scaling seems to be causing various problems mostly related to issues with the uSD cards.
The increased runtime benefit only amounts to ~30 minutes as currently implemented so it seems prudent to disable it once again at this time.
We still don't understand why the core voltage being lowered would impact the uSD card but in fact it does.  The internal cards do not seem to have problems.
I have simply #ifdef'd the voltage scaling code with HAVE_ADJUSTABLE_CPU_VOLTAGE so if you want to use voltage scaling simply define that and the voltage scaling code should run.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24217 a1c6a512-1295-4272-9138-f99709370657
2010-01-12 23:56:59 +00:00
Bertrik Sikken
ba9040a82b Sansa AMS: allow use of PLL B for more accurate audio sample rate (0.04% instead 0.15% error)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24211 a1c6a512-1295-4272-9138-f99709370657
2010-01-10 14:24:45 +00:00
Rafaël Carré
2392bb4199 FS#10047 : Clipv2
Reuse some code from Clip (LCD) and a lot of code from AS3525
Add a new CPU type : AS3525v2, identical to AS3525 except it's an ARMv5 (arm926-ejs)
SD code still not working
For an unknown reason LCD doesn't work anymore (to be investigated)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24131 a1c6a512-1295-4272-9138-f99709370657
2009-12-31 19:15:20 +00:00
Rafaël Carré
d06aafc03a Sansa AMS: fix system_exception_wait()
If a panicf() is called while a button is still pressed, the Sansa would
reboot immediately with no chance to see the message

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23490 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 07:42:42 +00:00
Rafaël Carré
fb126d4305 Sansa AMS : reduce size of interrupt source/isr mapping table
INT_GPIOB is not used
INT_MCI0 and INT_GPIOA are only put in the table if needed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23481 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 23:41:10 +00:00
Rafaël Carré
9b4057bbd4 Sansa AMS recording support (Microphone and FM)
Still disabled on all targets:
- Fuze and e200v2 see spurious interrupts with no source defined
- Clip/m200v4 deadlock instantly when starting recording (perhaps due to low memory size)

Having the code in SVN will make working on this feature easier

Also add keymaps for Fuze, and correct Frequency section of recording
options : the 22.05kHz limitation of e200v1 and c200v1 doesn't apply to
Sansa AMS (different I2S hardware, unrelated to as3514)

Flyspray: FS#10371
Authors: Fred Bauer and myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23476 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:51:31 +00:00
Jack Halpin
000cff5bae AMS Sansa: Lower ADC checkvalue for voltage scaling to 1.175V as some players run slightly low.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23205 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 17:44:23 +00:00
Jack Halpin
562e41bae5 AMS Sansa: FS#10669 Reimplement Voltage scaling.
Reimplement voltage scaling on AMS Sansas at 1.10v during unboosted operation to improve runtimes.  The voltage is now also boosted during disk access if a µSD is present.  This prevents the µSD problems we saw on the last implementation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23193 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 19:48:26 +00:00
Rafaël Carré
be6dd6dd0a Sansa AMS: identify interrupts with no source set
They would previously appear like coming from the (disabled) watchdog
module

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22251 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 13:20:55 +00:00
Thomas Martitz
cabd45086a sAMSa: Turn the backlight off before rebooting to avoid irritating lcd flash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21692 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 14:46:19 +00:00
Thomas Martitz
c292a8eb1f Sansa AMS: Disable voltage scaling for now until we found a way to make it reliable for everyone, it's causing problems with storage for many people.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21687 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 13:13:47 +00:00
Rafaël Carré
4368b59b09 Sansa AMS : don't reinvent adc_read(), patch by FlynDice
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21651 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 09:24:56 +00:00
Jack Halpin
c929310e55 AMSSansa: Corrects bug introduced with r21577 causing random lockups on AMSSansas.
The input to the ADC is now set to CVDD inside the while loop.  If the input gets changed while waiting for the voltage to be read it will now be reset to CVDD before the next read is attempted.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21584 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 04:47:36 +00:00
Jack Halpin
e905ca61d4 FS#10344 - AMSSansa Dynamically adjust core voltage to extend playtime.
Lower CVDD core voltage to 1.10 volts when the frequency is less than 200 MHz.

 

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21577 a1c6a512-1295-4272-9138-f99709370657
2009-06-30 17:56:21 +00:00
Rafaël Carré
02a53fd809 Sansa AMS: add a comment in sdram_init(), and use inline asm to set the SDRAM mode register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21282 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 23:52:13 +00:00
Rafaël Carré
f504153857 FS#10048 : enable MMU and data cache on Sansa AMS to give a major speed up
- cache IRAM and DRAM
- map IRAM just next to DRAM to remove the need for -mlong-calls and reduce binsize
- tweak delays in Fuze button code
- tweak delays in Clip button code (down button sometimes doesn't respond anyway : an alternate driver is being worked on)

Before reporting any problem, please check your filesystem or format your player from the OF

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21228 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 23:05:33 +00:00
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
Dominik Wenger
f5c5983c73 commit FS#10092 (cleanup AMS system init) by Rafaël Carré.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20640 a1c6a512-1295-4272-9138-f99709370657
2009-04-07 16:14:01 +00:00
Thomas Martitz
5876418343 SansaAMS: Add a comment to clarifing a bit that the dcache is inactive without mmu; Show the cp15 control register in the "View I/O Pots menu".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20324 a1c6a512-1295-4272-9138-f99709370657
2009-03-14 17:17:27 +00:00
Bertrik Sikken
ae351903a6 Commit stable parts of FS#9611 - Sansa Clip radio code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19813 a1c6a512-1295-4272-9138-f99709370657
2009-01-21 20:51:43 +00:00
Björn Stenberg
f1c9376cf7 Fixed broken boost on AMS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19766 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 22:04:01 +00:00
Michael Sevakis
4ed78f5c72 Clean up panicf and introduce system_exception_wait to do further target tasks and wait for a button when an unrecoverable error has occurred (panic, UIE, etc.). Returning from that function should reboot or don't return from it. Move UIE and __div0 for ARM to its own file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19716 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 10:15:32 +00:00
Björn Stenberg
5d3a035cb3 Implemented system_reboot().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19617 a1c6a512-1295-4272-9138-f99709370657
2008-12-30 23:53:35 +00:00
Michael Giacomelli
c97f640060 Commit FS#9679 by Thomas Martitz. Adds c200v2 to the target tree. Has some buttons defined, a bootloader, and stubs for most drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19574 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 04:10:18 +00:00
Rafaël Carré
ab64424598 Sansa AMS: use vectored interrupts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19351 a1c6a512-1295-4272-9138-f99709370657
2008-12-05 17:10:11 +00:00
Rafaël Carré
38e97057a9 Sansa AMS: Don't allocate stack in irq_handler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19338 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 21:55:20 +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é
4e4b1d00f9 Sansa AMS: make set_cpu_frequency() handle frequency 0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19240 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 23:19:13 +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é
c1f90b1881 Sansa AMS: Use DMA for SD transfers (read and write)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19211 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 13:38:32 +00:00
Rafaël Carré
aeb60e20a3 Sansa AMS: when not in the bootloader, disable fast hardware power off
A button press of ~10s will trigger the hardware power off instead of ~1s

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19123 a1c6a512-1295-4272-9138-f99709370657
2008-11-16 22:36:13 +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
Rafaël Carré
22c450a7f4 Merge target/arm/as3525/as3525-codec.h into target/arm/ascodec-target.h
The AMS Sansa use the same AS3514 registers (except USB_UTIL which was added)
Use the register defines in AMS Sansa code instead of hardcoded values

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19073 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 19:53:12 +00:00
Rafaël Carré
6b566568eb Fix Clip firmware building by adding missing symbols
Implement some of the new functions
Use as3514 rtc
Add AS3525 case in rolo.c
Copy card_get_info_target() from ata-sd-pp.c , and use the correct 32bits words order

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19064 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 11:04:43 +00:00
Daniel Stenberg
55634f7410 grrr, I need to learn to do case insensitive grepping when that's the better idea...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19062 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 09:50:25 +00:00
Bertrik Sikken
4ca4e523fe Rename functions as3525_codec_* to ascodec_* to prepare re-use of as3514 code for sansa v2 players
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19047 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 09:25:53 +00:00
Rafaël Carré
aef27e1f0c Sansav2 Bootloader
Adds read-only SD driver, largely copied from ata-sd-pp.c
Only tested on the embedded SD, on the Clip
First steps to build a Normal firmware

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19045 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 06:17:21 +00:00
Rafaël Carré
5bef735cf5 AS3525: disable interrupts
init_threads() requires that they are disabled when called
anyway they are not needed at the moment, so leave them disabled

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19029 a1c6a512-1295-4272-9138-f99709370657
2008-11-06 15:46:22 +00:00
Rafaël Carré
c3e667c198 AS3525: timer support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19025 a1c6a512-1295-4272-9138-f99709370657
2008-11-06 02:31:32 +00:00
Rafaël Carré
23d6df43f8 AS3525 : wait until PLLA is locked when changed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18996 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 22:48:56 +00:00
Rafaël Carré
aa061bc192 AS3525 : fix interrupts support (but leave them disabled)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18979 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 17:11:33 +00:00
Rafaël Carré
091f2a0c4f AS3525: disable interrupts, higher clock frequencies
fclk (CPU) at 240MHz
pclk (peripherals) at 64MHz

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18972 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 00:34:44 +00:00
Rafaël Carré
a85e2cd991 AS3525 : enable instruction and data cache
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18969 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 23:40:59 +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
Rafaël Carré
b3ee07c22e Sansav2 : initializes SDRAM
The AS3525 SoC ships with an ARM PL172 MPMC controller
Also correct the memory sizes in tools/configure

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18899 a1c6a512-1295-4272-9138-f99709370657
2008-10-28 11:24:29 +00:00
Dave Chapman
c5082f58c6 Remove some trailing whitespace - no functional change
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18879 a1c6a512-1295-4272-9138-f99709370657
2008-10-25 19:13:11 +00:00
Dave Chapman
da8bff107e Commit FS#9467 - initial work on port to Sansa Clip by Rafaël Carré and François Dinel. A few cosmetic changes were made by me prior to committing: 1) TAB policing in button-clip.c; 2) Add François Dinel to CREDITS; 3) Add François Dinel as (C) holder in button-target.h (it was previously blank); 4) Add Rockbox header to bootloader/sansa_as3525.c with Rafaël Carré as (C) holder; 5) Change target_id to 50 (next available number) in tools/configure and fixed indentation; 6) Change MODEL_NUMBER in config-clip.h to 50 (next available number); 7) Remove unused in/out macros from system-target.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18782 a1c6a512-1295-4272-9138-f99709370657
2008-10-12 16:46:01 +00:00