Commit graph

935 commits

Author SHA1 Message Date
Amaury Pouly
03d391d57a as3525v2-usb: don't disable data transfers !
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28030 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 21:01:16 +00:00
Amaury Pouly
f140930714 as3525v2-usb: fix red and fix stupid typo about endpoint status
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28029 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 20:50:23 +00:00
Amaury Pouly
f20d11c718 as3525v2-usb: all control operations are working, there is a problem with UMS: the IN transfer to respond to inquiry does not start, resulting in not lun being detected
- implement request_endpoint
- setup nextep chain for in endpoints
- remove useless dcache operation on IN transfer completion
- fix transfers to use correct max packet size

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28028 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 20:44:26 +00:00
Amaury Pouly
025112fc7b as3525v2-usb:
- use uncached address to access setup packet
- implement driver exit
- stop forcing full speed
- change fifo sizes on init
- don't call invalid_dache() on setup packet because it makes everything fail

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28027 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 18:41:12 +00:00
Rafaël Carré
2ac5153236 AMS: make dma_disable_channel() not inline
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28017 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 08:40:08 +00:00
Rafaël Carré
9b491752b1 debug-as3525.c : fix include, remove comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28016 a1c6a512-1295-4272-9138-f99709370657
2010-09-06 19:23:00 +00:00
Rafaël Carré
c196da2cee FS#11597 : decrease FCLK frequency when unboosted
FCLK is unused because we use fastbus clocking: CPU clock = PCLK
Base PCLK off PLLA and use the lowest frqeuency for FCLK (24MHz source,
maximum divider)
Save a bit of power, adjust Clipv1/e200v2/Fuzev1 current usage accordingly

Note: the power saving (in mA) is a bit less on e200v2/Fuzev1 than on Clipv1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28000 a1c6a512-1295-4272-9138-f99709370657
2010-09-05 15:34:34 +00:00
Rafaël Carré
173044d8c4 revert r27991
I misread the register defines in linux source code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27995 a1c6a512-1295-4272-9138-f99709370657
2010-09-03 22:18:04 +00:00
Rafaël Carré
e93ba5a724 Clipv1: update CHARGER_TOTAL_TIMER
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27993 a1c6a512-1295-4272-9138-f99709370657
2010-09-03 06:42:11 +00:00
Rafaël Carré
c576e4acdb Clipv1: draw 150mA from the charger, like Clipv2/+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27992 a1c6a512-1295-4272-9138-f99709370657
2010-09-03 06:26:42 +00:00
Rafaël Carré
4e739b406a USB AMSv2: fix bit position in DCFG register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27991 a1c6a512-1295-4272-9138-f99709370657
2010-09-03 04:40:54 +00:00
Amaury Pouly
f3da8d0ee3 as3525v2: revert the USB_DEVBSS_ATTR and the panicf redefinition, don't protected #undef of USB_NUM_ENDPOINTS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27987 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 13:46:34 +00:00
Amaury Pouly
e09a0857e8 as3525v2:
- change buffer alignement to 32 bytes (not sure if it's useful)
- flush rx fifo on reset
- use AS3525_PHYSICAL_ADDR for DMA
- reset endpoints structure states on reset
- force full speed for debugging purpose
- add more debugging code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27986 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 13:00:16 +00:00
Rafaël Carré
b9201e3c6f include lcd.h , forgotten in r27957
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27958 a1c6a512-1295-4272-9138-f99709370657
2010-08-31 06:53:28 +00:00
Rafaël Carré
67cf859b42 AMS: update the LCD on system exception to be sure the content is up to date
Without this change the backlight would be enabled but the screen would
show the last content displayed before the screen went off

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27957 a1c6a512-1295-4272-9138-f99709370657
2010-08-31 06:49:08 +00:00
Rafaël Carré
63c1769701 AMSv2: remove a bunch of panicf() in SD driver
The driver is stable so we can use error codes for debugging

Fix 2 problems in error code path:
    - release sd mutex
    - release dma module when needed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27915 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 11:22:58 +00:00
Rafaël Carré
26de96cad8 typo in r27876
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27878 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 11:15:06 +00:00
Rafaël Carré
e20fb32862 usb-drv-as3525: only give physical addresses to USB HW
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27877 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 11:10:48 +00:00
Rafaël Carré
8de2af7b9c sd-as3525*: use AS3525_PHYSICAL_ADDR
fix DMA buffers when the src/dst is in IRAM
It worked fine because all the buffers are in DRAM, and the virtual
address happens to be the physical address

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27876 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 11:10:40 +00:00
Rafaël Carré
65c4fc2ad2 Sansa AMSv2: don't prevent USB detection to work when rockbox USB stack is used
(USB stack is not used by default)
This makes debugging the USB driver easier

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27847 a1c6a512-1295-4272-9138-f99709370657
2010-08-19 16:52:08 +00:00
Bertrik Sikken
b73d15e9c6 Sansa AMSv2: enable PLLB and use it to generate a more accurate PCM frequency (playback rate error improves from 1.1% to 0.04%) - FS #10906 by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27845 a1c6a512-1295-4272-9138-f99709370657
2010-08-18 21:42:03 +00:00
Rafaël Carré
322fdaa316 AMSv2: don't reboot on USB plug
Users will have to reboot to OF manually or to power off, and then plug USB
No message is displayed because usb_detect() is run from a tick

This lacks documentation but should be OK for Unstable devices, and
will hopefully prevent clueless users from opening their devices and
breaking them definitely, instead of waiting for the battery to power
off.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27837 a1c6a512-1295-4272-9138-f99709370657
2010-08-17 16:43:43 +00:00
Thomas Martitz
0e2286f226 Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this and a bit further cleanup in main gets rid of a warning when compiling for android.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27788 a1c6a512-1295-4272-9138-f99709370657
2010-08-12 13:38:25 +00:00
Bertrik Sikken
57933f2bc6 Make some global function/variables local (by making them static)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27631 a1c6a512-1295-4272-9138-f99709370657
2010-07-30 23:47:49 +00:00
Rafaël Carré
b0e34a6a6c AMSv1: Don't modify MPMC_DYNAMIC_CONTROL
The last bootloaders already set it correctly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27627 a1c6a512-1295-4272-9138-f99709370657
2010-07-30 12:28:14 +00:00
Rafaël Carré
f536f263c0 lcd-clip.h: mentions clipv2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27523 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 17:17:31 +00:00
Bertrik Sikken
55a4520f07 Sansa clip+: fix display brightness for players with newer OLED controller type (and reorganise the variant detection a bit in the process)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27522 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 15:31:24 +00:00
Bertrik Sikken
10e79de27c Correction to previous commit: fix condition to include backlight-target.h (not needed for clip+)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27521 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 15:10:32 +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é
1ebdb8988f as3525v1 USB: remove stubs if !defined(USE_ROCKBOX_USB)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27519 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 13:32:01 +00:00
Rafaël Carré
7d9cc0e2ce CCU_BASE+0x20 is specific to AMSv2 -> move to as3525v2.h
Rename to simply 'CCU_USB'

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27518 a1c6a512-1295-4272-9138-f99709370657
2010-07-22 13:07:56 +00:00
Rafaël Carré
bd78dc7693 The new Fuzev2 use the same FM chip than some Clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27502 a1c6a512-1295-4272-9138-f99709370657
2010-07-20 06:26:39 +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é
c6b838695c Revert r26290
If the card is not actively deselected on newer Fuzev2, frequent
switches between internal storage and µSD will lock up.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27500 a1c6a512-1295-4272-9138-f99709370657
2010-07-20 04:34:21 +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é
08c600ca07 sd-as3525.c: disable widebus again, it causes read corruptions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27495 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 16:08:57 +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é
25491980d6 as3525*: disable_irq in system_reboot()
make sure CGU_PERI write is atomic

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27493 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 15:56:10 +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
Rafaël Carré
81593e8e61 sd-as3525v2: remove unneeded prototypes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27488 a1c6a512-1295-4272-9138-f99709370657
2010-07-19 04:41:07 +00:00
Rafaël Carré
9dbdd8fd5d Fuze*/e200v2: remove unused lcd_set_contrast()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27413 a1c6a512-1295-4272-9138-f99709370657
2010-07-14 06:48:36 +00:00
Rafaël Carré
9a471e603e Clip+ LCD: support devices with a different controller
The new controller framebuffer (different from what is in clipv1/clipv2 and some clip+) has 128 columns, the old has 132 columns and is centered on the screen.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27257 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 18:50:07 +00:00
Michael Sevakis
3f4dfe5c03 pl081: Fix r27236 warnings. Need system.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27237 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 06:07:42 +00:00
Michael Sevakis
0f47ffe0e4 AMS SoC's: Some register bit changes need interrupt protection: timer API and CGU_PERI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27236 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 06:00:00 +00:00
Tobias Diedrich
f4a00174b5 sd-as3525.c: handle acmd retries correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27187 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 21:49:20 +00:00
Amaury Pouly
f641fc62d8 as3525v2-usb: fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27181 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 19:24:39 +00:00
Tobias Diedrich
23cf76c2af mutex_lock/unlock must be moved up a level to make the verify code in sd-as3525.c safe
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27180 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 19:12:57 +00:00
Rafaël Carré
cdf27ae121 usb-drv-as3525v2.c: fix compilation (typo)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27179 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 19:02:51 +00:00
Amaury Pouly
8ac77fe466 as3525v2-usb: fix bug in ep listing macro, rewrite EP0 handling using a state
There was a stupid bug in endpoint listing which caused random cancelling of EP0 transfers. The new scheme to handle EP0 transfers should avoid an unexpected setup packet which might cause a deadlock or confuse the core.
There is still an issue with the cancel_transfers function is still.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27178 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 18:58:09 +00:00
Tobias Diedrich
31cf6d5013 Enable HID support, clean up usb-drv-as3525.c a bit, add a workaround for weird Linux behaviour (don't have Windows to test with), we don't need to set up USB_PHY_EPx_INFO (OF doesn't bother either).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27164 a1c6a512-1295-4272-9138-f99709370657
2010-06-28 09:46:13 +00:00