Commit graph

426 commits

Author SHA1 Message Date
Thomas Martitz
02660557ad Fix a bunch of boot.lds files so that they build with newer ld. The stack/bss sections need NOLOAD. otherwise the linker would try to include those into the binary. I don't know why this ever worked with our current ld version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25078 a1c6a512-1295-4272-9138-f99709370657
2010-03-08 23:16:57 +00:00
Rafaël Carré
8653c0a567 Sansa AMS: do not pretend we can power off the tuner
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25029 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 01:43:47 +00:00
Thomas Martitz
2ac962aceb Fix as3525 lowmem targets. They put the init code into the plugin buffer, but some init functions are grabbing it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25023 a1c6a512-1295-4272-9138-f99709370657
2010-03-04 12:32:12 +00:00
Thomas Martitz
f8edc32589 FS#10756 - Free unused init code
Introduce a new .init section for initialisation code, so that it can be copied to an area which is later overwritten before calling. The stack/bss can then overwrite that code, effectively freeing the code size that the initialisation routines need. Gives a few kB ram usage back.
Only implemented for PP and as3525 so far. More targets could be added, as well as more functions.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25013 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 23:20:32 +00:00
Jack Halpin
a872587a8d sd-as3525v2: Load CID info to cardinfo.cid[] correctly.
SD_ALL_SEND_CID was using cardinfo.cid to store the response instead of the temp array used for long responses.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24944 a1c6a512-1295-4272-9138-f99709370657
2010-02-27 17:07:54 +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
Jack Halpin
d95211a23d sd-as3525v2: Controller and card init much more reliably now.
Remove MCI_HCON read from init_controller() as it now appears unneccesary.
Make sd-init_card() use similar init sequence to the one in sd-as3525.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24903 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 06:46:16 +00:00
Michael Chicoine
b6033c9aa0 Revert r24898 and fix yellow properly so that register is still read
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24899 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 00:02:58 +00:00
Michael Chicoine
abacbbda6c Comment out unused variable (fix yellow)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24898 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 23:22:19 +00:00
Jack Halpin
241abf4bc5 sd-as3525v2.c: Correct some #defines, add comments, attempt to lower sd frequency to 400 khz during init.
I've left in some commented out code for now as this is still a bit experimental.....

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24891 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 20:24:48 +00:00
Jack Halpin
1c09c037f9 sd-as3525v2: Add some register bit descriptions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24872 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 21:31:54 +00:00
Rafaël Carré
8ca62f32aa sd-as3525v2: correct CGU_MEMSTICK setting, shift divider
Add a note about the unknown clock register

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24869 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 07:08:33 +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é
0af879c21a sd-as3525v2: unaligned transfers are handled properly (with memcpy)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24866 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 01:00:21 +00:00
Rafaël Carré
adf5bbdc46 Clip+: greylib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24860 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 10:35:51 +00:00
Rafaël Carré
355f38d30a sd-as3525v2: use an uncached buffer, disable write for the moment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24858 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 10:02:20 +00:00
Rafaël Carré
a92a059abe Clip+: fix buttons driver
Do not use a static variable for buttons, else they're never reset
Remove unneeded code
Move GPIO_DIR setting to init function

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24855 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 10:02:05 +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é
21ac9d23d0 sd-as3525v2: working bootloader
check all error bits
only signal wakeup on data transfers, not on commands
trim down send_cmd

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24851 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 07:31:45 +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é
c2c01ac34c Clip+ boots with iram mapped at 0x0, only the clipv2 is different
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24842 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 05:41:05 +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é
a012b185ac sd-as3525v2: working transfers, still awfully slow
not touching MCI_CTYPE (leaving bus width to 1) gives data transfers
ignore the hardware locked up while error bit for now
remove printf() helper & debug code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24838 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 02:42:46 +00:00
Rafaël Carré
1ae6307a5a sd-as3525v2: panic in case of error in the isr
Disable errors on response timeout since it can happen on SD_SEND_IF_COND
Disable errors on start bit error : it's ignored by the linux driver

No panic on my side with those 2 bits unchecked, but no transfer
completion either.
Note: the Linux driver doesn't implement DMA

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24837 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:49:57 +00:00
Rafaël Carré
c6af5c962d sd-as3525v2: describe interrupt mask bits
Reset DMA before transfers and check data transfer over bit in isr
Still no error or data transfer over conditions

Read the correct status register in isr : there is a masked interrupt
status register and a general status register

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24836 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:49:53 +00:00
Rafaël Carré
e9cd0f1c7a sd-as3525v2: no limits on the amount of sectors to transfer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24832 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:37 +00:00
Rafaël Carré
f857fe1450 sd-as3525v2: MCI_HCON bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24831 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:33 +00:00
Rafaël Carré
95f063cc6f sd-as3525v2: MCI_FIFOTH bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24830 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:29 +00:00
Rafaël Carré
ad7d84d315 sd-as3525v2: command register bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24829 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:23 +00:00
Rafaël Carré
d19705f7fc sd-as3525v2: name interrupt bits (no description yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24828 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:18 +00:00
Rafaël Carré
ceae8748b8 sd-as3525v2: describe CTYPE bit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24827 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:13 +00:00
Rafaël Carré
4be56226c1 sd-as3525v2: detail MCI_CTRL bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24826 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:09 +00:00
Rafaël Carré
48ed5ad66e as3525v2: full list of registers + description
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24825 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:05 +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é
9f228d7662 as3525v2: use CGU_BASE instead of hardcoded address for unknown register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24737 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 23:27:31 +00:00
Rafaël Carré
04fef58210 as3525v2: make clear the SD code is debug only and display a message
comment out printing of registers in the isr

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24736 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 23:09:56 +00:00
Rafaël Carré
020322665b Clip+: LCD display (with FlynDice help)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24729 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 18:43:13 +00:00
Jack Halpin
3a60a6aa23 Sansa Clip+: Implement button driver.
Initial button driver for clip+.  I've followed the steps the OF uses to read the buttons.
There is no hold button on the clip+ so for now calling button_hold() siply returns false.
The OF actually sets an additional flag for the 2nd read from D6 and not BUTTON_POWER as I have done here. 

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24669 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 19:29:47 +00:00
Rafaël Carré
3f43765925 Sansa Clip+: use 8 bits transfers, like DMA transfers
The code assumed LCD pixels were packed on 16 bits values but for the
Clip we use 8 bits values.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24563 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 08:20:42 +00:00
Rafaël Carré
ec39555290 Add DMA line for SSP as used in Clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24562 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 08:13:52 +00:00
Rafaël Carré
71e77aaff8 Sansa Clip+: use correct SSP settings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24559 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 03:36:53 +00:00
Rafaël Carré
fbc59e2e28 Sansa Clip+ has no button light
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24558 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 02:35:42 +00:00
Rafaël Carré
1e6847db75 Sansa AMS AS3525v2 SD: remove a case which is never run
Reindent

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24552 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 19:09:59 +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é
c8ea43f095 Untested attempt at a Clip+ LCD driver using SSP (PrimeCell PL022)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24523 a1c6a512-1295-4272-9138-f99709370657
2010-02-05 15:12:08 +00:00
Rafaël Carré
f0d53ea8d6 Sansa ASM: clock-target.h needs to know the CPU
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24521 a1c6a512-1295-4272-9138-f99709370657
2010-02-05 12:48:39 +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
Rafaël Carré
dc3cc55b65 sd as3535v2 : remove functions already present in sd.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24364 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 12:04:17 +00:00
Thomas Martitz
fbc8f0c469 Update on even pixel boundaries on the e200v2 for best performance (was forgotten in r24198).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24337 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 21:31:53 +00:00