Commit graph

254 commits

Author SHA1 Message Date
Jens Arnold
a8c1c20305 Removed unused ata_standby(), changed return type of ata_sleep() to void, removed misleading comment from ata.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7782 a1c6a512-1295-4272-9138-f99709370657
2005-11-07 23:19:06 +00:00
Dave Chapman
77372d1218 Initial commit of work-in-progress iPod port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7781 a1c6a512-1295-4272-9138-f99709370657
2005-11-07 23:07:19 +00:00
Dave Chapman
9e19c95d8e Replace SWAB16 and SWAB32 with a comprehensive set of byte-swap macros - letoh16, letoh32, htole16, htole32, betoh16, betoh32, htobe16 and htobe32
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7584 a1c6a512-1295-4272-9138-f99709370657
2005-10-06 19:27:43 +00:00
Linus Nielsen Feltzing
192a604cd4 Atomic GPIO access
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7114 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 07:25:01 +00:00
Jens Arnold
5690f78fb2 Multiple choice LED configuration instead of HAVE_LED. Removes erroneous MMC icon display on iriver, and saves some code on Ondio. Removed invert_led() as it is no longer used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6568 a1c6a512-1295-4272-9138-f99709370657
2005-06-04 23:15:52 +00:00
Jens Arnold
97599d3e47 This should (hopefully) fix the long-standing RLD problem once and for all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6452 a1c6a512-1295-4272-9138-f99709370657
2005-05-10 22:39:53 +00:00
Linus Nielsen Feltzing
f64b52ae38 Oops
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6402 a1c6a512-1295-4272-9138-f99709370657
2005-05-04 05:37:12 +00:00
Linus Nielsen Feltzing
68482bbed2 Patch #868645 by Philipp Pertermann, volume triggered recording for the Archos recording devices
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6243 a1c6a512-1295-4272-9138-f99709370657
2005-04-04 09:12:12 +00:00
Linus Nielsen Feltzing
a79cb485b6 iRiver: ATA timing is now setup by set_cpu_frequency()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6207 a1c6a512-1295-4272-9138-f99709370657
2005-03-18 11:37:33 +00:00
Linus Nielsen Feltzing
8444632da4 iRiver: more relaxed default timing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6090 a1c6a512-1295-4272-9138-f99709370657
2005-03-01 14:31:37 +00:00
Jean-Philippe Bernardy
fc19445ba0 more long policy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6065 a1c6a512-1295-4272-9138-f99709370657
2005-02-25 18:50:16 +00:00
Jean-Philippe Bernardy
376057d2b6 Gmini SMSC chip improvements
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6030 a1c6a512-1295-4272-9138-f99709370657
2005-02-22 09:55:40 +00:00
Jean-Philippe Bernardy
a3ed6e9c7a Gmini
* advances in the handling of the smsc chip
 * moved stuff to where it belongs


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6023 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 21:34:03 +00:00
Linus Nielsen Feltzing
d4313ce88b iRiver: Correct cold start detection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5824 a1c6a512-1295-4272-9138-f99709370657
2005-02-07 01:47:22 +00:00
Linus Nielsen Feltzing
3d9be05fba Use proper CPU defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5811 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 04:04:24 +00:00
Linus Nielsen Feltzing
2c6f08ddfc Added ISD chip power control setup and used proper define for the MCF5249
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5808 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 03:11:03 +00:00
Linus Nielsen Feltzing
3a777cd79c iriver: ATA controller register setup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5807 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 03:00:30 +00:00
Linus Nielsen Feltzing
e085a51b07 iriver: fixed ATA enable setup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5806 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 02:58:43 +00:00
Linus Nielsen Feltzing
085032bf02 Aligned thread stack, correct CONTROL register for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5802 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 02:32:53 +00:00
Jean-Philippe Bernardy
99d2a4b436 fixes for gmini
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5664 a1c6a512-1295-4272-9138-f99709370657
2005-01-26 14:42:48 +00:00
Linus Nielsen Feltzing
4058b79c70 Ported ATA driver to iRiver, minor code policing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5663 a1c6a512-1295-4272-9138-f99709370657
2005-01-26 12:53:48 +00:00
Jean-Philippe Bernardy
34d2a71fdd More int -> long
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5654 a1c6a512-1295-4272-9138-f99709370657
2005-01-24 14:26:24 +00:00
Jean-Philippe Bernardy
a6467334b0 Factored out some macros
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5623 a1c6a512-1295-4272-9138-f99709370657
2005-01-20 23:29:48 +00:00
Jean-Philippe Bernardy
99e72c8758 Support for gmini ATA interface
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5622 a1c6a512-1295-4272-9138-f99709370657
2005-01-20 23:00:11 +00:00
Jörg Hohensohn
575c9049f6 behave for multi-volume
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5520 a1c6a512-1295-4272-9138-f99709370657
2004-12-29 22:37:31 +00:00
Jörg Hohensohn
da84857631 prepared to mount multiple partitions into one logical file system (most useful for Ondio, internal memory + external MMC)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5514 a1c6a512-1295-4272-9138-f99709370657
2004-12-28 22:16:07 +00:00
Jens Arnold
f05dec5702 Retry initializing the harddisk with hard reset in case the first try fails. Fixes panic when starting flashed rockbox by leaving the archos charging screen with On.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5461 a1c6a512-1295-4272-9138-f99709370657
2004-11-23 22:00:41 +00:00
Jens Arnold
7ebb5d915e Moved player ATA power handling to the correct functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5449 a1c6a512-1295-4272-9138-f99709370657
2004-11-20 14:17:43 +00:00
Jens Arnold
2a89e7d122 New players: switch on the HD in ata_init()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5443 a1c6a512-1295-4272-9138-f99709370657
2004-11-20 00:15:12 +00:00
Jens Arnold
8eedc94018 Fixed warning when compiling with PREFER_C_WRITING
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5229 a1c6a512-1295-4272-9138-f99709370657
2004-10-08 19:20:20 +00:00
Linus Nielsen Feltzing
d681087ad0 Correct CPU type handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5202 a1c6a512-1295-4272-9138-f99709370657
2004-10-07 07:09:49 +00:00
Björn Stenberg
b60b29f442 Compile ata_mmc.c for targets with mmc, ata.c for all others.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5174 a1c6a512-1295-4272-9138-f99709370657
2004-10-05 08:11:11 +00:00
Jörg Hohensohn
593cc00447 a hell of a commit: changed several HAVE_xx configuration flags into multiple choice values (keypad, tuner, CPU, h/w codec)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5126 a1c6a512-1295-4272-9138-f99709370657
2004-09-28 22:13:26 +00:00
Björn Stenberg
65bf851ece Added preliminary support for Iriver H100
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5089 a1c6a512-1295-4272-9138-f99709370657
2004-09-17 11:28:07 +00:00
Jörg Hohensohn
00be7469d6 prepared Ondio USB passthrough (but doesn't work yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5066 a1c6a512-1295-4272-9138-f99709370657
2004-09-11 09:06:58 +00:00
Jörg Hohensohn
57ea92cae1 prepared an empty MMC driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5065 a1c6a512-1295-4272-9138-f99709370657
2004-09-11 03:48:05 +00:00
Jens Arnold
0ceaa5e365 Const policed pointer arguments to functions, part 2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4996 a1c6a512-1295-4272-9138-f99709370657
2004-08-17 01:45:48 +00:00
Jens Arnold
2b0694c694 More const policeing step 3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4982 a1c6a512-1295-4272-9138-f99709370657
2004-08-03 05:58:46 +00:00
Jens Arnold
b40591947d Enabled assembler optimized disk reading and writing (approx. 2 times as fast)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4825 a1c6a512-1295-4272-9138-f99709370657
2004-07-05 13:44:53 +00:00
Jens Arnold
44e76cfa86 Disabled automatic disk spindown (by the drive). Updated comments regarding timing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4733 a1c6a512-1295-4272-9138-f99709370657
2004-06-11 06:56:51 +00:00
Jörg Hohensohn
9c52b24b00 patch #922836 by Jens: way faster disk writing, in assembler. The code is in, but yet disabled by #define PREFER_C_WRITING unless it's proven safe for all disks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4460 a1c6a512-1295-4272-9138-f99709370657
2004-04-01 05:46:31 +00:00
Linus Nielsen Feltzing
8bda0e1097 A hip shot trying to make the Red LED Death situation a little better
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4409 a1c6a512-1295-4272-9138-f99709370657
2004-03-19 13:26:43 +00:00
Jörg Hohensohn
5fb1e1024f - no second ata_hard_reset() call, saves ~2.5 seconds flash boot time (please test)
- Jens' new assembler code in copy_read_sectors(), but still disabled


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4358 a1c6a512-1295-4272-9138-f99709370657
2004-03-10 14:15:14 +00:00
Linus Nielsen Feltzing
3a6e2f497b Reverted the STANDBY fix from 2004-02-15, rev 1.106
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4352 a1c6a512-1295-4272-9138-f99709370657
2004-03-09 08:52:14 +00:00
Linus Nielsen Feltzing
68331ffb08 Now sets the highest possible PIO mode in set_features()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4328 a1c6a512-1295-4272-9138-f99709370657
2004-03-02 09:55:23 +00:00
Linus Nielsen Feltzing
97955a714b fixed compiling errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4310 a1c6a512-1295-4272-9138-f99709370657
2004-02-17 01:31:50 +00:00
Linus Nielsen Feltzing
867415b3f8 set_features() is now called from ata_power_on()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4309 a1c6a512-1295-4272-9138-f99709370657
2004-02-17 01:30:25 +00:00
Linus Nielsen Feltzing
7bd92239ca Silly me, I forgot to remove my debugging code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4308 a1c6a512-1295-4272-9138-f99709370657
2004-02-16 23:27:02 +00:00
Linus Nielsen Feltzing
c3b9720ab4 Bug 1: The STANDBY mode is now explicitly disabled, since it could be set to 30s at powerup. Bug 2: set_features() wasn't called in ata_power_on().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4307 a1c6a512-1295-4272-9138-f99709370657
2004-02-16 23:25:01 +00:00
Jörg Hohensohn
dee17f7102 Assembly code for copy_read_sectors() disabled: Tests with Trent showed that this is to blame for file system corruptions, even waitstates didn't fix it. No idea why, sorry...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4304 a1c6a512-1295-4272-9138-f99709370657
2004-02-15 08:44:02 +00:00
Jörg Hohensohn
b646d4f278 Assembly code for copy_read_sectors() reworked: I've spread the ATA reads apart by filling independent instructions inbetween, this is also slightly faster because of no pipeline stall. Hopefully this fixes the problem Kargatron had with it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4302 a1c6a512-1295-4272-9138-f99709370657
2004-02-09 08:24:25 +00:00
Jörg Hohensohn
bf4460e477 no code change, I just forgot to take my template disassembly out (a big comment block)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4282 a1c6a512-1295-4272-9138-f99709370657
2004-01-27 09:38:59 +00:00
Jörg Hohensohn
cb570b9263 Assembler optimized copy_read_sectors() gives another speedup of factor 1.4 for aligned and 1.2 for misaligned. Including my previous change the file reading is now nearly twice as fast compared to when I started this. -> Less disk uptime, longer battery life.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4281 a1c6a512-1295-4272-9138-f99709370657
2004-01-27 09:12:51 +00:00
Jörg Hohensohn
862d2b5e3a warning + obsolete variable removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4248 a1c6a512-1295-4272-9138-f99709370657
2004-01-16 09:28:39 +00:00
Jörg Hohensohn
88faf38ef7 Optimized the sector read loop as much as C allows. I measured an overall speed improvement for file reading of 12.5% for 16-bit aligned and 35% for misaligned. I took the rest of ata_read_sectors() out of IRAM, it's sufficient if only the copy loop stays there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4247 a1c6a512-1295-4272-9138-f99709370657
2004-01-16 09:02:21 +00:00
Björn Stenberg
a53afc0330 Added acoustic management, power management and read look-ahead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4230 a1c6a512-1295-4272-9138-f99709370657
2004-01-14 13:15:19 +00:00
Björn Stenberg
1fe97ec54e Improved timing in soft_reset. This hopefully cures spontaneous Red Led freezes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4161 a1c6a512-1295-4272-9138-f99709370657
2003-12-17 20:15:12 +00:00
Daniel Stenberg
006b2c1c25 adjustments for Neo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4130 a1c6a512-1295-4272-9138-f99709370657
2003-12-12 13:23:33 +00:00
Jörg Hohensohn
44298163ba No more spinning disk while charging flashed FM+V2 (you need the new bootloader to utilize it). ToDo: remove now false voltage reading from charging screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4095 a1c6a512-1295-4272-9138-f99709370657
2003-12-03 01:03:54 +00:00
Linus Nielsen Feltzing
bef7ab0c26 The code police strikes back
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4024 a1c6a512-1295-4272-9138-f99709370657
2003-11-07 12:15:24 +00:00
Jörg Hohensohn
75bab49a54 set/clear port bits with atomic instructions instead of read-modify-write, saves time+space, allows port usage in ISR
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4022 a1c6a512-1295-4272-9138-f99709370657
2003-11-06 01:34:50 +00:00
Jörg Hohensohn
118d45eb92 ATA io_address_detect() now doesn't probe any more, but uses the h/w mask. Probing failed for some flash users. I hope this works for everybody, we have to try to find out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3946 a1c6a512-1295-4272-9138-f99709370657
2003-09-01 05:48:42 +00:00
Jörg Hohensohn
f4b677eb3c report sleeping disk while not initialized, needed for changing before ata_init()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3844 a1c6a512-1295-4272-9138-f99709370657
2003-07-18 21:55:06 +00:00
Björn Stenberg
9cb5e0e9f9 Initalize last_disk_activity
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3830 a1c6a512-1295-4272-9138-f99709370657
2003-07-11 19:11:06 +00:00
Björn Stenberg
c695f26c9f Fixed spindown bug: last_disk_activity was set 10 seconds into the future, which resulted in too long spindown delays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3826 a1c6a512-1295-4272-9138-f99709370657
2003-07-10 13:32:15 +00:00
Björn Stenberg
9f372f1f59 Cold start fixes: master_slave_select() now checks for BSY as well as RDY (since disks are BSY during powerup). Also, wait_for_bsy() looks at ATA_STATUS instead of ATA_ALT_STATUS, since the address of ATA_ALT_STATUS is not determined until later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3822 a1c6a512-1295-4272-9138-f99709370657
2003-07-09 22:04:31 +00:00
Björn Stenberg
efd2f356c7 Removed warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3821 a1c6a512-1295-4272-9138-f99709370657
2003-07-09 16:46:46 +00:00
Jörg Hohensohn
bbfaf26e11 again different coldstart, ata_init() now has non-ambiguous return codes for better diagnostics
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3820 a1c6a512-1295-4272-9138-f99709370657
2003-07-09 07:18:47 +00:00
Jörg Hohensohn
adef8fb17e better place and method for the spinup wait code, still I'd welcome comments on this
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3815 a1c6a512-1295-4272-9138-f99709370657
2003-07-08 06:33:30 +00:00
Jörg Hohensohn
d1a3a3e148 When starting from flash, we have to wait for the disk to get ready. (Quite a new situation ;-)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3803 a1c6a512-1295-4272-9138-f99709370657
2003-07-03 00:02:15 +00:00
Jörg Hohensohn
545efb6c28 port inits for cold start ability
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3764 a1c6a512-1295-4272-9138-f99709370657
2003-06-26 21:29:13 +00:00
Linus Nielsen Feltzing
159d04d3f9 Experiment: enable ATA STANDBY when switching to USB mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3668 a1c6a512-1295-4272-9138-f99709370657
2003-05-10 01:55:23 +00:00
Björn Stenberg
674b632df8 Corrected wrong write return code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3623 a1c6a512-1295-4272-9138-f99709370657
2003-04-28 12:02:14 +00:00
Linus Nielsen Feltzing
b5401749cb ata_write_sectors() didn't handle odd buffer addresses
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3544 a1c6a512-1295-4272-9138-f99709370657
2003-04-12 23:02:58 +00:00
Björn Stenberg
cf92db153f Don't enter cpu sleep during disk operations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3530 a1c6a512-1295-4272-9138-f99709370657
2003-04-11 07:43:04 +00:00
Linus Nielsen Feltzing
4502e982af The newest ATA driver fixes broke the ata_spinup_time information
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3515 a1c6a512-1295-4272-9138-f99709370657
2003-04-05 22:25:21 +00:00
Björn Stenberg
fd9ce90a4c Better led control. Added status read delay. Fixed potential last_disk_activity race.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3501 a1c6a512-1295-4272-9138-f99709370657
2003-03-31 14:14:07 +00:00
Björn Stenberg
aa78324fde Another attempt to stop the red led dead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3498 a1c6a512-1295-4272-9138-f99709370657
2003-03-24 16:19:54 +00:00
Björn Stenberg
7682d46713 Don't spin down disk while retrying
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3457 a1c6a512-1295-4272-9138-f99709370657
2003-03-17 13:42:30 +00:00
Björn Stenberg
bb6e51aa0d Moved read code around a bit to more strictly obey the ATA specification.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3444 a1c6a512-1295-4272-9138-f99709370657
2003-03-14 16:06:09 +00:00
Björn Stenberg
b12401b4d4 Initialize return code at start of loop, not at the end.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3440 a1c6a512-1295-4272-9138-f99709370657
2003-03-13 15:45:38 +00:00
Björn Stenberg
6a58106e97 An attempt to get rid of the "red freeze" problem: Perform a soft reset on read error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3351 a1c6a512-1295-4272-9138-f99709370657
2003-02-27 13:26:09 +00:00
Björn Stenberg
c4d8d970f6 The power-saving SLEEP patch by Simon Elén.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3259 a1c6a512-1295-4272-9138-f99709370657
2003-02-14 09:44:34 +00:00
Björn Stenberg
efd90770a0 Bug fix: Don't cut the power during spinup...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2959 a1c6a512-1295-4272-9138-f99709370657
2002-12-06 15:17:30 +00:00
Björn Stenberg
bd0da0e822 Fixed a race condition between sleep thread and spinup code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2958 a1c6a512-1295-4272-9138-f99709370657
2002-12-06 13:08:42 +00:00
Björn Stenberg
ba0438e78d Fixed spinup clocking. Also updating last_disk_activity more frequently, to avoid shutdown race condition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2935 a1c6a512-1295-4272-9138-f99709370657
2002-12-05 09:35:01 +00:00
Björn Stenberg
b070dd55be Added disk spinup clocking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2927 a1c6a512-1295-4272-9138-f99709370657
2002-12-04 14:58:48 +00:00
Björn Stenberg
c032e65034 Bug fix: Master/slave was not always properly selected after powerdown.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2910 a1c6a512-1295-4272-9138-f99709370657
2002-12-03 13:29:35 +00:00
Björn Stenberg
45d32cec5b Added 'Disk info' to debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2908 a1c6a512-1295-4272-9138-f99709370657
2002-12-03 13:12:55 +00:00
Daniel Stenberg
2094d45af0 use the proper #ifdef for a feature
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2903 a1c6a512-1295-4272-9138-f99709370657
2002-12-03 12:02:26 +00:00
Björn Stenberg
1ea00d1a03 Added a >2ms delay in ata_hard_reset() before reading status, as per ATA specificatione (pedantic mode entered)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2902 a1c6a512-1295-4272-9138-f99709370657
2002-12-03 11:26:39 +00:00
Björn Stenberg
c2cb6a67c4 Bug fix: A failed read could return OK.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2899 a1c6a512-1295-4272-9138-f99709370657
2002-12-03 08:53:06 +00:00
Björn Stenberg
7249c8807c Updated power-on procedure
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2896 a1c6a512-1295-4272-9138-f99709370657
2002-12-02 10:30:40 +00:00
Daniel Stenberg
cf1368145a HAVE_ATA_POWER_OFF is now defined and used if the platform has support for
that control


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2889 a1c6a512-1295-4272-9138-f99709370657
2002-11-29 07:05:27 +00:00
Björn Stenberg
2b77b4fdd5 Added option to enable/disable disk poweroff (for diagnostic purposes)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2888 a1c6a512-1295-4272-9138-f99709370657
2002-11-28 22:46:19 +00:00
Björn Stenberg
494d261de3 Added disk poweroff 2s after spindown. (Only for recorders yet.)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2887 a1c6a512-1295-4272-9138-f99709370657
2002-11-27 15:55:47 +00:00
Björn Stenberg
f11e3c0bba Erroneous commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2877 a1c6a512-1295-4272-9138-f99709370657
2002-11-22 23:56:07 +00:00
Björn Stenberg
ac88b9e5ff Fixed warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2876 a1c6a512-1295-4272-9138-f99709370657
2002-11-22 23:55:08 +00:00
Björn Stenberg
099a6b58d1 Added extra safety checks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2839 a1c6a512-1295-4272-9138-f99709370657
2002-11-12 20:02:23 +00:00
Björn Stenberg
f9fed8152a Changed return code of ata_write_sectors() to be the same as for ata_read_sectors(). (0 == Success)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2811 a1c6a512-1295-4272-9138-f99709370657
2002-11-07 22:40:24 +00:00
Björn Stenberg
7526cf70c3 Improved retry handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2415 a1c6a512-1295-4272-9138-f99709370657
2002-09-25 14:10:50 +00:00
Björn Stenberg
c909b4b42e Check status register for error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2400 a1c6a512-1295-4272-9138-f99709370657
2002-09-24 17:10:03 +00:00
Björn Stenberg
70747f9bf3 Added read retry.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2397 a1c6a512-1295-4272-9138-f99709370657
2002-09-24 14:23:18 +00:00
Linus Nielsen Feltzing
040e80c3ad Now exports last_disk_activity, for auto-poweroff
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2373 a1c6a512-1295-4272-9138-f99709370657
2002-09-23 11:39:21 +00:00
Björn Stenberg
5c530c5227 Bug fix: The LED was not on during writes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2368 a1c6a512-1295-4272-9138-f99709370657
2002-09-23 06:45:46 +00:00
Björn Stenberg
8e96c47ff0 Made the sleep code a little bit less aggressive.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2220 a1c6a512-1295-4272-9138-f99709370657
2002-09-06 23:55:52 +00:00
Björn Stenberg
34fa70e321 Now runs SET_MULTIPLE_MODE after usb disconnect, since the windows driver sets it to a non-default value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2214 a1c6a512-1295-4272-9138-f99709370657
2002-09-06 17:20:44 +00:00
Linus Nielsen Feltzing
e82f701fa4 Optimized ata_read_sectors() a little
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2213 a1c6a512-1295-4272-9138-f99709370657
2002-09-06 16:02:19 +00:00
Björn Stenberg
8ccbc766a4 Now uses READ MULTIPLE command. Also corrected some return values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2186 a1c6a512-1295-4272-9138-f99709370657
2002-09-05 15:25:08 +00:00
Björn Stenberg
e65b65eeb0 Increased BSY & RDY timeouts to 10 seconds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2174 a1c6a512-1295-4272-9138-f99709370657
2002-09-04 20:15:45 +00:00
Linus Nielsen Feltzing
00c1e0533b Ooops! perform_soft_reset() unlocked the mutex...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2132 a1c6a512-1295-4272-9138-f99709370657
2002-09-02 12:48:08 +00:00
Linus Nielsen Feltzing
c0a53eabca STANDBY mode works again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2115 a1c6a512-1295-4272-9138-f99709370657
2002-09-02 06:26:00 +00:00
Linus Nielsen Feltzing
5d154f9723 wait_for_rdy() now actually waits for RDY
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2057 a1c6a512-1295-4272-9138-f99709370657
2002-08-29 11:50:57 +00:00
Linus Nielsen Feltzing
9b1d1d46e1 Now uses STANDBY_IMMEDIATE instead of STANDBY
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2052 a1c6a512-1295-4272-9138-f99709370657
2002-08-29 11:34:46 +00:00
Linus Nielsen Feltzing
22e09a3fb8 Fixed some nasty mutex glitches
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2012 a1c6a512-1295-4272-9138-f99709370657
2002-08-27 21:06:48 +00:00
Björn Stenberg
f0599be133 Don't call perform_sleep() while already sleeping
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1988 a1c6a512-1295-4272-9138-f99709370657
2002-08-26 22:05:47 +00:00
Björn Stenberg
457b8a0a67 Added configurable disk spindown. The disk will also now not spin down while you are running around in the dir browser or pressing buttons in the wps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1987 a1c6a512-1295-4272-9138-f99709370657
2002-08-26 13:21:14 +00:00
Björn Stenberg
518e1ec1e4 New measurements show ATA_SLEEP saves us 30-40 mA over ATA_STANDBY.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1932 a1c6a512-1295-4272-9138-f99709370657
2002-08-22 21:53:10 +00:00
Björn Stenberg
6224cdb166 Added resume. Works in dirs and playlists, shuffled or not. Resumes mid-song, but press pause on players before you shutdown so they get a chance to store the position on disk. Recorders use RTC ram. Todo: Time display is wrong after mid-track resume and ffd/rew is not handled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1787 a1c6a512-1295-4272-9138-f99709370657
2002-08-16 14:41:47 +00:00
Björn Stenberg
6ee90d9366 Removed warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1763 a1c6a512-1295-4272-9138-f99709370657
2002-08-15 12:54:52 +00:00
Björn Stenberg
c9d98ca927 Added delayed write for settings. Doesn't write until someone else accesses the disk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1762 a1c6a512-1295-4272-9138-f99709370657
2002-08-15 12:42:37 +00:00
Björn Stenberg
63457c5c63 Added support for reading/writing 256 sectors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1736 a1c6a512-1295-4272-9138-f99709370657
2002-08-14 16:37:28 +00:00
Björn Stenberg
9ab90eabd1 Removed verbose debug message
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1735 a1c6a512-1295-4272-9138-f99709370657
2002-08-14 14:36:26 +00:00
Björn Stenberg
ed027a9d59 Allow (slow) reading to odd address
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1734 a1c6a512-1295-4272-9138-f99709370657
2002-08-14 14:34:54 +00:00
Linus Nielsen Feltzing
513e8510cc Cleaned up the sleep options a little
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1514 a1c6a512-1295-4272-9138-f99709370657
2002-08-02 06:01:22 +00:00
Linus Nielsen Feltzing
9d589401c1 Now uses CMD_STANDBY again. CMD_SLEEP used more power than CMD_STANDBY for some reason
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1507 a1c6a512-1295-4272-9138-f99709370657
2002-08-01 12:00:03 +00:00
Linus Nielsen Feltzing
364783a3d5 Moved ata_read_sectors() to internal RAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1501 a1c6a512-1295-4272-9138-f99709370657
2002-08-01 08:15:58 +00:00
Linus Nielsen Feltzing
47c0388f75 Enabled ata_write_sectors()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1481 a1c6a512-1295-4272-9138-f99709370657
2002-07-28 15:51:26 +00:00
Linus Nielsen Feltzing
ad8ac5c3ce Added ata_disk_is_active() function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1479 a1c6a512-1295-4272-9138-f99709370657
2002-07-28 15:16:36 +00:00
Linus Nielsen Feltzing
01fd2a093b Corrected debug output
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1474 a1c6a512-1295-4272-9138-f99709370657
2002-07-27 22:44:52 +00:00
Linus Nielsen Feltzing
42df584960 Spindown mode is STANDBY when debugging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1461 a1c6a512-1295-4272-9138-f99709370657
2002-07-27 19:24:27 +00:00
Linus Nielsen Feltzing
2f4b88e9bb Possibly better USB handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1419 a1c6a512-1295-4272-9138-f99709370657
2002-07-23 15:02:25 +00:00
Björn Stenberg
11968a429a Removed use of internal harddisk standby timer and instead added software sleep timer.
This gives lower power use and slightly faster boot, plus a more fine-grained timeout setting (1s steps instead of 5s).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1372 a1c6a512-1295-4272-9138-f99709370657
2002-07-16 14:07:47 +00:00
Björn Stenberg
c4b285027b Faster, deeper disk sleep. Should save us some power.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1370 a1c6a512-1295-4272-9138-f99709370657
2002-07-16 12:18:17 +00:00
Linus Nielsen Feltzing
1639e98202 Added some debug information
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1298 a1c6a512-1295-4272-9138-f99709370657
2002-07-02 14:23:30 +00:00
Linus Nielsen Feltzing
2012e1ec28 Some cleanup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1260 a1c6a512-1295-4272-9138-f99709370657
2002-06-30 13:10:42 +00:00
Linus Nielsen Feltzing
1a5032e7ed Added old_recorder variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1195 a1c6a512-1295-4272-9138-f99709370657
2002-06-26 12:36:29 +00:00
Linus Nielsen Feltzing
1b8bb1e05e Killed warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1066 a1c6a512-1295-4272-9138-f99709370657
2002-06-18 13:19:25 +00:00
Linus Nielsen Feltzing
a422b8381b Better ATA I/O detection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1065 a1c6a512-1295-4272-9138-f99709370657
2002-06-18 12:53:02 +00:00
Linus Nielsen Feltzing
8169c8f5bd Added I/O address detection for CONTROL/ALT_STATUS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@976 a1c6a512-1295-4272-9138-f99709370657
2002-06-12 13:51:31 +00:00
Linus Nielsen Feltzing
a4058ec28a ata_read_sectors() couldn't read more that one sector
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@974 a1c6a512-1295-4272-9138-f99709370657
2002-06-12 09:28:22 +00:00
Linus Nielsen Feltzing
8b1168bc94 Wrong command address for Recorder
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@902 a1c6a512-1295-4272-9138-f99709370657
2002-06-07 07:48:08 +00:00
Björn Stenberg
a95d956316 Disable USB before enabling ATA
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@692 a1c6a512-1295-4272-9138-f99709370657
2002-05-24 11:32:53 +00:00
Björn Stenberg
a97c4419ed Fixed wrong reset pin. Removed unnecessary reset from init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@691 a1c6a512-1295-4272-9138-f99709370657
2002-05-24 11:25:24 +00:00
Björn Stenberg
5c7847c501 Check for master/slave disk. Active 5s spindown timeout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@655 a1c6a512-1295-4272-9138-f99709370657
2002-05-22 14:37:36 +00:00
Linus Nielsen Feltzing
3922466486 Added mutex protection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@608 a1c6a512-1295-4272-9138-f99709370657
2002-05-16 21:28:21 +00:00
Björn Stenberg
e5992829d7 Fixed compiler warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@574 a1c6a512-1295-4272-9138-f99709370657
2002-05-14 12:28:48 +00:00
Linus Nielsen Feltzing
e14e13df5c C99 booleans
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@568 a1c6a512-1295-4272-9138-f99709370657
2002-05-13 19:22:38 +00:00
Linus Nielsen Feltzing
01ede91cbe Removed a few debugf calls
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@528 a1c6a512-1295-4272-9138-f99709370657
2002-05-09 22:58:54 +00:00
Linus Nielsen Feltzing
b900a83046 Fixed lame timeout handling and wrong return codes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@508 a1c6a512-1295-4272-9138-f99709370657
2002-05-08 08:27:44 +00:00