Commit graph

607 commits

Author SHA1 Message Date
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
Bertrik Sikken
51cb7eb5f2 Sansa c200v2: enable battery charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24257 a1c6a512-1295-4272-9138-f99709370657
2010-01-17 14:19:31 +00:00
Rafaël Carré
6c93570b90 Sansa AMS: remove "ata" from SD drivers filenames
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24237 a1c6a512-1295-4272-9138-f99709370657
2010-01-15 14:03:41 +00:00
Rafaël Carré
7478cfcbf7 Sansa as3525v2: move SD embryo code to a common dir
Select it based on as3535/as3525v2 so Clip+/Fuzev2 will be able to use
it too

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24222 a1c6a512-1295-4272-9138-f99709370657
2010-01-13 06:44:45 +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
f5f6af2fee Fix svn:keywords property in as3525 target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24212 a1c6a512-1295-4272-9138-f99709370657
2010-01-10 14:53:53 +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
Thomas Martitz
32b15fc08f Sansa e200v2/Fuze: Optimize YUV blitting by writing 2 pixel at once to the DBOP and removing a few unneeded busy polling status register for fifo empty. Speed up between 50% and 80%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24202 a1c6a512-1295-4272-9138-f99709370657
2010-01-08 16:41:36 +00:00
Rafaël Carré
64566ce775 Clivp2: Fix typo when applying FS#10047
Make LCD work again

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24199 a1c6a512-1295-4272-9138-f99709370657
2010-01-08 08:11:50 +00:00
Thomas Martitz
dc07c79263 Sansa AMS: Time has shown that switching between 16 and 32bit mode costs much time (due to the micro delay needed), so do 32bit transfers unconditionally for lcd updates at the cost of updating slightly larger rectangles (gives upto 15% speed up, nearly at maximum now).
Unify this optimized dbop transfer function and re-use it more often (it still handles 16bit transfers).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24198 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 22:21:41 +00:00
Thomas Martitz
5fd54dee4f e200v2/Fuze: Correct and simplify clipping clipping code in lcd_update_rect().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24197 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 19:35:36 +00:00
Rafaël Carré
57667c51cf Sansa AMS: refactor DBOP button reading (e200v2/Fuze/c200v2)
This gets rid of LCD glitches on Sansa Fuze, and now LCD transfers can
get interrupted by button reading

Flyspray: FS #10603
Author: Bertrik Sikken

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24192 a1c6a512-1295-4272-9138-f99709370657
2010-01-06 23:41:36 +00:00
Rafaël Carré
3992f18982 Sansa e200v2: LCD
- Cosmetics change to reduce the diff with lcd-fuze.c:
 - remove useless headers
 - move/remove/change comments
 - rename functions
 - fix casts

Now the differences with fuze lcd code are mostly:
- lcd_window* code
- _display_on() / as3525_dbop_init()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24182 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 21:35:31 +00:00
Rafaël Carré
98fa13cb29 Sansa Fuze: LCD
- add lcd_set_invert()
- add lcd_set_flip() commented out since not working fine yet:
  mpegplayer isn't flipped, and statusbar display is buggy
- use the registers list from e200v2
- cosmetics (indentation fix, comments changes, function names, casts,
  function moves, ...) to make the diff with lcd-e200v2.c shorter

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24181 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 21:35:26 +00:00
Andree Buschmann
56d972ad57 Fix tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24153 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 10:19:43 +00:00
Bertrik Sikken
5c4ef78cc9 Simplify some expressions using the ? operator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24136 a1c6a512-1295-4272-9138-f99709370657
2010-01-01 22:47:25 +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
Bertrik Sikken
5698674ece Code police: add missing header file, make some local functions static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24083 a1c6a512-1295-4272-9138-f99709370657
2009-12-20 16:28:15 +00:00
Jack Halpin
5a4ca2f04d Sansa AMS: Fix Red. Write delay is not included for non HAVE_MULTIDRIVE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24055 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 19:57:08 +00:00
Jack Halpin
7bce743218 Sansa AMS: Revert 4 bit widebus
For some reason 4 bit widebus is creating issues when writing to the .rockbox directory so revert 4 bit widebus and the revision to the write delay that was added as a fix.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24054 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 19:17:53 +00:00