Commit graph

800 commits

Author SHA1 Message Date
Rafaël Carré
66f8fb52a9 */app.lds: remove STUBOFFSET
This is related to gdb, and gdb can only work on SH and ifp
This was mistakenly kept when app.lds was forked for each SoC
Side-effect: fix DEBUG builds when the rockbox binary is expected to
be loaded at the start of DRAM and there is no runtime relocation

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28124 a1c6a512-1295-4272-9138-f99709370657
2010-09-20 17:09:55 +00:00
Rafaël Carré
5028eaa025 AMS USBv2: use OF settings for undocumented register
still failing

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28061 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 15:32:46 +00:00
Thomas Martitz
f09499f70f Change sd-as3525*.c to the new cache coherency function names.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28046 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 17:16:52 +00:00
Rafaël Carré
ca0e95ad08 USB AMSv2: use tables for usb_drv_port_speed() and usb_drv_mps_by_type()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28044 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 06:13:07 +00:00
Rafaël Carré
f1adafc05a USB AMSv2: split handle_ep_int()
IN & OUT interrupts have not much in common so move each to its own
function

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28043 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 05:43:05 +00:00
Rafaël Carré
5aa5de5dc8 USB AMSv2: smaller struct usb_endpoint
- reorder members (largest members first)
- int status -> int8_t status (we only use 0 or -1)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28042 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 05:16:40 +00:00
Rafaël Carré
8e0ff81d6f USB AMSv2: only read endpoint interrupt status register once
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28041 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 05:04:48 +00:00
Rafaël Carré
1752dfda1b usb-drv-as3525v2.c: cosmetics (remove trailing spaces)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28040 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 04:37:41 +00:00
Rafaël Carré
29276bed19 USB AMSv2: Reduce the size of (in/out)_ep_list
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28039 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 04:27:01 +00:00
Rafaël Carré
24cd51a2fe USB AMSv2: simplify FOR_EACH* macros
- use a single table to store endpoints numbers (1 table by direction)
- drop __ prefix since the table isn't meant to be hidden (it is used in
  reset_endpoints()
- the tables won't change at runtime: mark const

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28038 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 04:20:37 +00:00
Rafaël Carré
e526681c63 USB AMSv2: use status == -1 to signal errors
set status to failure before signaling usb_drv_send_nonblocking() in
reset_endpoints()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28037 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 03:31:18 +00:00
Rafaël Carré
8c4f83ec00 USB AMSv2: cosmetics
Use ep0_setup_pkt as a pointer
Fix comment for CGU_USB clk source
Remove comment about physical address, the macro handles that for us

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28035 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 01:59:41 +00:00
Rafaël Carré
dbea731503 USB AMSv2: update endpoint->len on transfer
cosmetics: x ? true : false -> x

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28034 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 01:50:36 +00:00
Rafaël Carré
be24beefa7 usb-drv-as3525v2: use dump_dcache_range()
Since we'll receive data from DMA in this buffer we don't need to write-back

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28032 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 01:03:05 +00:00
Rafaël Carré
b72237a403 usb-drv-as3525v2: fixes
- don't use *_dcache_range() on uncached memory
- remove unused struct endpoint->buffer
- use correct *_dcache_range() in usb_drv_transfer() for each direction
- halve FIFO size

sometimes mounts / sometimes fails

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28031 a1c6a512-1295-4272-9138-f99709370657
2010-09-08 00:29:22 +00:00
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