Commit graph

122 commits

Author SHA1 Message Date
Michael Sevakis
20477d024e Gigabeat S: Fix PCM being cut off at the beginning. The DAC L-R swapping isn't needed now either. Fixes voice clips on the Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19141 a1c6a512-1295-4272-9138-f99709370657
2008-11-19 03:12:34 +00:00
Michael Sevakis
e53fce0279 MC13783 cleanup. Remove functions proving themselves not so useful and add mc13783_write_masked which is pretty useful. Add an error code definition for invalid data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19132 a1c6a512-1295-4272-9138-f99709370657
2008-11-18 02:19:50 +00:00
Michael Sevakis
a9e69d935c Strange little kernel optimization to ease targeting the timer tick and to limit the number of loops in the tick function to the number of tasks added rather than always looping the max number.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18893 a1c6a512-1295-4272-9138-f99709370657
2008-10-27 16:30:24 +00:00
Jens Arnold
3e9ca1de90 Define the various CPUFREQ_* macros so that Gigabeat S compiles with test_codec enabled, and use the correct value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18562 a1c6a512-1295-4272-9138-f99709370657
2008-09-21 22:32:56 +00:00
Bertrik Sikken
8d0126f355 Fix missing #includes and make local functions static for gigabeat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18091 a1c6a512-1295-4272-9138-f99709370657
2008-07-18 23:28:54 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Michael Sevakis
69f4ffe686 Fix a comment since it was very wrong.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17627 a1c6a512-1295-4272-9138-f99709370657
2008-05-25 02:43:51 +00:00
Michael Sevakis
d892214d88 Gigabeat S: Add charge current and battery temp readout in power management and display in the battery screen. Thermistor data was obtained experimentally from one pulled off a dead board and appears basically correct when read back on a working device (which requires letting it settle to ambient temperature - a long wait so not easy to do). Sending me more thermistors would help improve accuracy *fingers crossed that it's close enough*. :-) This commit does NOT add charging but is a step towards implementing it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17626 a1c6a512-1295-4272-9138-f99709370657
2008-05-25 01:38:08 +00:00
Michael Sevakis
c78bb5a00e Oops. Forgot to put the pmic thread stack size back to normal.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17594 a1c6a512-1295-4272-9138-f99709370657
2008-05-21 08:54:02 +00:00
Michael Sevakis
a9c20f5789 Gigabeat S:
1) Rework event handling and static registration mechanism. No target-
     specific code in mc13783 driver. GPIO event driver interfaces more
     cleanly.

  2) Somewhat related - enable thread priority for bootloader which is
     desireable here (ffs is used for GPIO event enabling  anyway and that
     goes along with priority).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17593 a1c6a512-1295-4272-9138-f99709370657
2008-05-21 08:42:11 +00:00
Michael Sevakis
95d76f2da2 Cleanup some .h files in the imx31 target branch - #include guard style, headers, obsolete prototypes, etc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17536 a1c6a512-1295-4272-9138-f99709370657
2008-05-16 18:40:28 +00:00
Michael Sevakis
cda664b701 MC13783 (Gigabeat S PMIC): Complete the header file. Distinguish status, sense and mask bit defines to avoid conflicts within the definitions. Much care taken but give a double check before making new use of anything.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17534 a1c6a512-1295-4272-9138-f99709370657
2008-05-16 06:21:11 +00:00
Michael Sevakis
1ec35841d6 Fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17444 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 18:32:34 +00:00
Michael Sevakis
80278e45aa Bring Gigabeat S bootloader one step close to a release version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17442 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 18:00:11 +00:00
Michael Sevakis
6df1a86e99 Remove inner loop from button scanning on Gigabeat S. Requires changing the button codes but it's not a "functional port" so no plugin API version increase is done though a full update will be needed since any using the values will be incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17432 a1c6a512-1295-4272-9138-f99709370657
2008-05-09 21:19:58 +00:00
Michael Sevakis
25583656d9 Backlight brightness setting for Gigabeat S. Cleanup headers in target backlight file too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17428 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 22:03:49 +00:00
Nils Wallménius
ad5c4b6511 Add two missing rockbox headers and set svn:eol-style
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17418 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 16:47:24 +00:00
Nils Wallménius
f24eaabcad Disable clocks for most modules in the imx31l on startup, individual drivers handle enabling/disabling clocks for used modules
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17417 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 16:27:23 +00:00
Nils Wallménius
89aca6aa77 Oops, it's called mc13783...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17416 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 15:49:46 +00:00
Michael Sevakis
3ff1d584ef Hehe. Should probably implement ide_powered if implementing ide_power_enable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17415 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 14:11:26 +00:00
Michael Sevakis
86680e7f4b Gigabeat S: Put in (so it appears) proper delays for USB PHY reset. Use the atomic regmod functions to change bits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17411 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 09:03:19 +00:00
Michael Sevakis
6e5e20b1e1 Remove an unneeded #include and a lone "#" on a line (it's early).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17410 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 08:09:24 +00:00
Michael Sevakis
df4bd0697d Gigabeat S: Add ATA/IDE power management. Fix parameter order of regmod32 as it was intended (had some things mixed up :P).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17409 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 08:03:08 +00:00
Michael Sevakis
6edb95d050 Gigabeat S: Make sure ATA interface is idle before a reset.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17396 a1c6a512-1295-4272-9138-f99709370657
2008-05-06 10:02:46 +00:00
Michael Sevakis
57cbd77788 Gigabeat S: Do the controller timing settings a more cleanly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17379 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 13:00:08 +00:00
Nils Wallménius
90a4a43430 Alarm wake up support for Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17376 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 12:37:42 +00:00
Michael Sevakis
9560ba6696 Mind repeat calls to ata_device_init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17373 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 11:21:04 +00:00
Michael Sevakis
12884bd1b7 Don't need the extra idle check.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17372 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:57:34 +00:00
Michael Sevakis
be0c7d0ff3 Gigabeat S: Use the fastest PIO mode the installed drive allows instead of always PIO0. Centralize clock information in clkctl-imx31.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17371 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:53:06 +00:00
Michael Sevakis
5df4405317 Gigabeat S: Man it's so loud in here. We have SOUND! Someone please make keymaps consistent; it's rather messy atm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17327 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 15:14:52 +00:00
Michael Sevakis
05423386d4 Remove some cruft not being used that interferes with building rockboy on Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17302 a1c6a512-1295-4272-9138-f99709370657
2008-05-02 00:34:19 +00:00
Michael Sevakis
f74cf934d6 Fix an oops in ARMv6 flush_icache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17301 a1c6a512-1295-4272-9138-f99709370657
2008-05-02 00:30:06 +00:00
Michael Sevakis
054c728c9c Gigabeat S: Define the used ADC channels, get the channel order correct, enable charge current channel conversion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17272 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 22:35:24 +00:00
Michael Sevakis
39ed7087b3 IMX31: Try to catch the interrupt that was the reason irq_handler was called since it never should be. The bootloader occasionally shows one but it's not saying what.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17271 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 22:01:25 +00:00
Michael Sevakis
88451d59c4 IMX31: Use template structures to access modules' registers from a base address (as for i2c) which makes drivers look nicer and makes array accesses of registers simpler. Throw in minor fix to fiq_handler dispatcher, otherwise no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17270 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 21:32:10 +00:00
Michael Sevakis
27fac88548 Gigabeat S: Implement i2c driver - transmit works but no testing of receiving which will get a chance later. Add some seeds for codec driver. Correct a few #defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17254 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 10:30:54 +00:00
Michael Sevakis
45786ca7fd Make Gigabeat S keypad correctly detect multiple key down events in a row. Properly exclude BUTTON_POWER in interrupt enable decision. Shorten delays in KPP_HANDLER and hopefully get away with it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17242 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:18:41 +00:00
Michael Sevakis
0e71c589e0 Oops, clean up and use usb_drv.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17182 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 03:35:21 +00:00
Michael Sevakis
9003dbe5b2 Make the inital connect problem go away on Gigabeat S. Would be nice if a better way were found but it works for me. Update the bootloader to have it work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17181 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 03:30:57 +00:00
Michael Sevakis
94f7d0f290 UMS for the Gigabeat S. Bootloader USB mode. Has a couple quirks 1) First plug has problems if cold. Replug if it doesn't connect or not at high speed 2) Linux doesn't like the odd bootable flag value used in the partitions so it won't mount but Windows works. Fix minor OTG driver bugs and clean up device memory handling. Generic name for ARC controller driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17154 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 16:42:50 +00:00
Michael Sevakis
99a65dfc1e Cache functions should include data and instruction barriers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17150 a1c6a512-1295-4272-9138-f99709370657
2008-04-17 00:07:06 +00:00
Michael Sevakis
040b6cc654 Kill warnings that annoy me when building for Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17120 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 14:44:32 +00:00
Michael Sevakis
595d0659d4 Make the transparent bitmaps work on Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17118 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 13:06:29 +00:00
Michael Sevakis
0257547d58 Gigabeat S: Make ADC battery voltage reading correct. Tiny tweak to ADC driver traffic limiting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17105 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 06:52:38 +00:00
Michael Sevakis
25ebc85842 Oops...simple math proves elusive at times. Get the array calcs right.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17104 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 04:22:47 +00:00
Michael Sevakis
b12c69bac7 ADC driver for Gigabeat S - a bit on the general side for now. Needs to have scales set properly (what physical value a reading represents isn't clear from the docs or I'm just lazy atm). Throw-in a _bunch_ more reg defines for the PMIC. Show all 16 raw channels values in debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17100 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 20:03:08 +00:00
Nils Wallménius
8c5d552ebd Charger detection for Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17093 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 10:04:21 +00:00
Michael Sevakis
a7af9e4a7f Add GPIO manager. Get the PMIC interrupt handling working (along with power button and HP detect). Add some reg field defined instead of using raw numbers. Add PMIC info to debug ports screen. Refine PMIC driver ops a little bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17086 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 16:56:45 +00:00
Michael Sevakis
ef97db1011 Big oops. Fix enum spi_module_number to set right enum values. :p.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17079 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 05:11:50 +00:00
Michael Sevakis
57742e0ef7 Add a "View I/O Ports" screen for imx31. Show all GPIO contents.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17072 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 15:49:48 +00:00
Michael Sevakis
0b1d7e76d7 Serial driver for imx31. Perhaps not 100% but maybe 80-90% (future developments will tell). Factor-out the mc13783 stuff and make that driver a layer above the SPI. TODO: start processing PMIC interrupts. Start a clkctl API for imx31 (we'll see if this sticks around but it seems reasonable here). Misc. stuff for convenience/neatness.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17070 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 08:51:27 +00:00
Michael Sevakis
dd88663fe0 gigabeat S: Set the tick speed correctly (calced from clocking regdump). Use bit #defines instead as well. Throw a header in the file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16928 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 05:17:05 +00:00
Michael Sevakis
1cc949cafb Make the gigabeat S boot again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16908 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 07:26:24 +00:00
Michael Sevakis
75f2d441e9 Change the remaining set_interrupt_status usage to the more parsimonious disable/enable/restore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16897 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 06:00:23 +00:00
Jens Arnold
68a21689ae Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Will Robertson
bc4621499a Bring the IMX31 serial driver in line with the CONTRIBUTING guidelines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16352 a1c6a512-1295-4272-9138-f99709370657
2008-02-19 14:15:59 +00:00
Nicolas Pennequin
e2f5f21e5b Give the Gigabeat S bootloader the ability to untar a tarball.
To test a build, use 'make tar' and send the tar to the unit. The bootloader will unarchive it and delete it before loading the main binary.
This is a temporary hack to make testing possible until we have a better way of sending a complete build.
Also enable writing to the disk by disabling the optimised write stubs.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16338 a1c6a512-1295-4272-9138-f99709370657
2008-02-17 23:17:08 +00:00
Michael Sevakis
952347decb Oops. Tiny goof.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16248 a1c6a512-1295-4272-9138-f99709370657
2008-02-09 08:05:01 +00:00
Michael Sevakis
02de55cc85 Gigabeat S: Get button driver at 100%. Disable SPI because it hangs and will be changed to interrupt-based. Add some more iMX.31 register definitions and flags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16247 a1c6a512-1295-4272-9138-f99709370657
2008-02-09 07:59:53 +00:00
Michael Sevakis
bc057f91b5 Gigabeat S: Get boot to go a little father.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16245 a1c6a512-1295-4272-9138-f99709370657
2008-02-08 06:34:11 +00:00
Michael Sevakis
a07c034de7 Gigabeat S: Interrupt enabled bootloader. Miscellaneous integration changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16243 a1c6a512-1295-4272-9138-f99709370657
2008-02-08 02:20:05 +00:00
Michael Sevakis
ca62cc082b Oops. On a roll...that shouldn't have been committed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16227 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 18:09:02 +00:00
Michael Sevakis
73de812cb6 gigabeatS: Fix the timer startup oddness. Seems it likes the interrupt clear at the module level after enabling the vector.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16226 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 18:07:57 +00:00
Michael Sevakis
c3e73a5f9e Do better job with UIE_VECTOR.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16221 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 07:17:56 +00:00
Michael Sevakis
47412cbc35 Code police tabs and spaces
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16219 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 05:17:33 +00:00
Michael Sevakis
1f021af60c Gigabeat S mixer: Make some progress. Get the tick and core sleep working using the AVIC. Redo the startup code to remap from IRAM and not include the lcd driver frambuffer in the remapping (until it can be moved). Clean up LCD driver. For other misc. changes, see the diffs. Now it progresses to ATA init and fails with -11 but without crashing or hanging. Replace all bootloaders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16216 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 04:43:19 +00:00
Will Robertson
383a32a7ae Gigabeat S now uses the shared ARM MMU code rather than the (mostly duplicated) private code. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15961 a1c6a512-1295-4272-9138-f99709370657
2007-12-23 03:47:28 +00:00
Nicolas Pennequin
c2ca8c710c * Make the Gigabeat S bootloader a bit more interesting: it looks for the first firmware file it finds on the second partition and attempts to load it. Loading fails to get past the splash screen though.
* Make the main binary compile.
To send a firmware file, use mtp-sendfile. To update you'll need to delete the previous firmware file, as files are named sequentially and the first one is loaded.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15836 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 15:40:29 +00:00
Jens Arnold
ef12b3b5c6 Hardware controlled backlight brightness for iPod Video and Nano, retaining the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 18:49:53 +00:00
Will Robertson
95a3e14170 These functions haven't been implemented yet - remove their content to get Gigabeat S builds compiling again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15074 a1c6a512-1295-4272-9138-f99709370657
2007-10-11 08:25:24 +00:00
Michael Sevakis
6077e5b7c8 Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-06 22:27:27 +00:00
Will Robertson
590501cfe4 Merge the Gigabeat S branch back into trunk. Fingers crossed nothing breaks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14805 a1c6a512-1295-4272-9138-f99709370657
2007-09-21 15:51:53 +00:00