Commit graph

285 commits

Author SHA1 Message Date
Michael Sevakis
609157a145 Gigabeat S: I never intended to leave the channel context buffer static beyond testing. Correct that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19964 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 13:08:46 +00:00
Michael Sevakis
e1e8101837 Gigabeat S: Place SDMA code load address starting in uninitialized section address and copy it to the plugin buffer since it only needed very early in initialization. Will save about 6K in RAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19963 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 11:34:15 +00:00
Michael Sevakis
f7a06dd6fc Gigabeat S: Try to save some power. Implement lcd_enable and turn off LCD DMA channel when backlight is off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19953 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 07:01:46 +00:00
Michael Sevakis
9f5687c9e6 Gigabeat S: The PCM lockout routines needed a bit of polishing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19952 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 03:13:04 +00:00
Michael Sevakis
94537f954e Gigabeat S: Implement an SDMA API and use it in the PCM driver. Some other miscellaneous adjustments to recording and PCM buffer to accomodate use of physical addresses and cache coherency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19949 a1c6a512-1295-4272-9138-f99709370657
2009-02-08 22:32:41 +00:00
Michael Sevakis
4d3a020f27 Gigabeat S: Move the LCD framebuffer address so that DRAM can be mapped flat between physical and virtual addresses. NO BOOTLOADER UPDATE SHOULD BE NEEDED. The firmware image now handles low-level system setup as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19935 a1c6a512-1295-4272-9138-f99709370657
2009-02-07 10:09:13 +00:00
Michael Sevakis
e2a169bce5 Gigabeat S: Get remote keymaps up to snuff and working. Do a couple tweaks on main unit ones. Cleanup keymap file a bit. Fix main button scanner to not clobber remote button. Fix a bug in actions.c where 'LAST_ITEM_IN_LIST' didn't really terminate scanning immediately. It would do an additional call into get_context_map and silently pick up ACTION_STD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19909 a1c6a512-1295-4272-9138-f99709370657
2009-02-03 10:55:30 +00:00
Michael Sevakis
1a00056f1f i.MX31: Make SPI more tolerant by resetting and forcing a reconfigure of the interface if an error ever happens. Better handle PMIC GPIO interrupt; it definitely doesn't low-pulse PRIINT (remains high if sources become active again or stay active while acking) so needed rising edge may never happen in such a case-- use high-level detection rather than rising edge. Optimize the reg/clr/set/mod functions a bit since they get more regular use now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19903 a1c6a512-1295-4272-9138-f99709370657
2009-02-02 02:38:21 +00:00
Michael Sevakis
bf1cddf3e8 Hopefully make some progress against FS#9831. iPod Video seems fine now under XP at least. Move false reset detection to the USB target code. Gigabeat S works using the OTG module upon bus reset. Portal Player targets verify that the USB pin detect is ok upon bus reset.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19874 a1c6a512-1295-4272-9138-f99709370657
2009-01-29 01:28:34 +00:00
Michael Sevakis
ef8413eb4f Gigabeat S: Make sure the hold button on the remote is independent of the main one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19833 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 22:45:33 +00:00
Michael Sevakis
753b7a90e1 Gigabeat S: Add remote control reading and proper headphone insert detection. We need keymaps! A few were copied straight from Gigabeat F/X just to get things worked out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19830 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 20:55:17 +00:00
Michael Sevakis
7bcfc38b42 Gigabeat S: Implement a genuine udelay function. Timer is gated to not run in WFI mode to save power and as such time until rollover is variable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19820 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 01:23:25 +00:00
Michael Sevakis
da76a34694 Use bus reset detection for all ARC OTG devices. Remove conflict from LV24020LP driver with some GPIO-by-number macros for PP502x. Start monitoring for USB stack once all core threads and queues are created otherwise queues will likely be registered after USB acks. Putting PP502x system_reboot in IRAM (unmapped, uncached) memory seems to help it work more consistently. Hopefully I got all the PP USB connect handlers in the right spot in irq_handler. If device seems unresponsive to cable, check there first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19819 a1c6a512-1295-4272-9138-f99709370657
2009-01-22 22:05:04 +00:00
Michael Sevakis
616c98b38f USB detection changes. c200/e200: Consider USB to be powered when charger is plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
2009-01-19 13:41:25 +00:00
Michael Sevakis
e2a25592f8 Gigabeat S has no need for a USB tick. Put in a simple framework that allows USB monitoring by event. Also add a couple missed usb_enable calls when the connection is not for 'slave mode'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19768 a1c6a512-1295-4272-9138-f99709370657
2009-01-14 07:01:49 +00:00
Michael Sevakis
77649a7a2c Fix FS#9782 - lcd_bitmap_transparent_part clipping but keep smaller clipping code. The bitmap coordinates were not being adjusted when clipping left and top. Also fix for Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19752 a1c6a512-1295-4272-9138-f99709370657
2009-01-12 02:15:04 +00:00
Michael Sevakis
21869a1dc3 Gigabeat S: Make sure USB battery maintenece is engaged if fully charged from Main (charger off), USB is configured and Main is unplugged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19740 a1c6a512-1295-4272-9138-f99709370657
2009-01-10 02:37:44 +00:00
Michael Sevakis
4ed78f5c72 Clean up panicf and introduce system_exception_wait to do further target tasks and wait for a button when an unrecoverable error has occurred (panic, UIE, etc.). Returning from that function should reboot or don't return from it. Move UIE and __div0 for ARM to its own file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19716 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 10:15:32 +00:00
Michael Sevakis
fde75551a7 Update copyright headers for 2009 since they're new files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19677 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 00:06:45 +00:00
Michael Sevakis
e2876ee4e2 Gigabeat S: Get timer API working. metronome will work now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19676 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 00:00:29 +00:00
Michael Sevakis
d14f79dc7b Gigabeat S: Ensure a few more clocks are stopped for things we aren't using at the moment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19654 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 07:29:26 +00:00
Michael Sevakis
e25505daa4 Hehe. Broke it already in last-second sanitation. Put some bits back.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19620 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 01:54:26 +00:00
Michael Sevakis
2e99b3d931 Gigabeat S: Allow recording from FM. Give FM the same volume range as playback. NOTE: This bumps the si4700 output volume to -0dB so other players with that may need a minor adjustment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19619 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 01:38:44 +00:00
Michael Sevakis
1fea6f6b22 Make si4700 tuner driver more sane with bit and field defines and entirely hide strange i2c interface from code with write/set/clear/masked functionality. On Gigabeat S use by-the-book busmode selection and GPIO lines. Implement some primitive station detection, debug registers in screen, and misc. changes to tie things together.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19600 a1c6a512-1295-4272-9138-f99709370657
2008-12-27 19:18:50 +00:00
Michael Sevakis
eaea11230a imx31: Fix a couple small problems with the i2c driver that went unnoticed until FM. Reset addr_count always and stop resetting module before STOP is actually generated. Simplify a tiny bit and remove inactive preprocessor block.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19596 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 16:06:40 +00:00
Michael Giacomelli
e25f1f9f2a Hopefully fix read.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19586 a1c6a512-1295-4272-9138-f99709370657
2008-12-25 03:23:22 +00:00
Michael Sevakis
f921f74873 Gigabeat S: Fix a divide by zero in runtime estimation caused by using actual charger current. Use default constant for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19584 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 23:54:57 +00:00
Michael Sevakis
4f2bc16f5c Gigabeat S: Simplify and use a thermistor lookup table (ADC value => deg C) . Saves some binsize.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19583 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 23:36:33 +00:00
Michael Sevakis
3157e13956 Simplify powermgmt thread loops so it calls functions turn (no more power_thread_sleep). Do other target-friendly simplifications, generic battery switch handling and split sim-specific code. Whoever can, please verify charging on the Archos Recorder (due to change in the charger duty cycle code).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19579 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 16:58:41 +00:00
Michael Sevakis
491ed5ed6a Gigabeat S: Make tuner_power have the expected behavior (return old state). Static i2c node structure and add fmradio_i2c_enable to the fmradio i2c API for those that can implement it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19550 a1c6a512-1295-4272-9138-f99709370657
2008-12-21 19:39:11 +00:00
Michael Sevakis
f6789a7d73 Fix red. Remove stale comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19548 a1c6a512-1295-4272-9138-f99709370657
2008-12-21 18:27:59 +00:00
Michael Sevakis
5667682dd2 Gigabeat S: Implement charging and power control to charge from AC or USB. Hold MENU while plugging USB cable to charge from USB without connecting. Under Windows, plugging USB for charging only but not connecting still needs to be properly handled (driver popup issue) but it will charge when connected normally-- no issue under Linux. Some accomodating changes made to powermgmt.c will soon be made nicer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19547 a1c6a512-1295-4272-9138-f99709370657
2008-12-21 18:10:36 +00:00
Michael Sevakis
ac5059b1b5 Use set/clr instead of mod functions where applicable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19486 a1c6a512-1295-4272-9138-f99709370657
2008-12-19 15:30:30 +00:00
Michael Sevakis
2b4290cc12 Add a couple useful shorthand atomic register write functions for imx31. Conversion to them where appropriate to make cleaner code to be done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19485 a1c6a512-1295-4272-9138-f99709370657
2008-12-19 13:46:49 +00:00
Michael Sevakis
b6e78acc5e Get rid of some pcm_apply_settings cruft at the low level I somehow missed. Move the ones in pcm.c around to better spots. Remove a variable from pcm-pnx0101.c that should no longer be there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19402 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 12:46:57 +00:00
Michael Sevakis
e69d567d9e Bring consistency to pcm implementation and samplerate handling. Less low-level duplication. A small test_sampr fix so it works on coldfire again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19400 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 11:01:07 +00:00
Michael Sevakis
f2f394793c Fix red and a couple other things I somehow missed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19378 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 09:11:43 +00:00
Michael Sevakis
8cfbd3604f Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 08:57:10 +00:00
Nils Wallménius
65f61d6cce FS#9609 FM radio support for the Gigabeat S, seeking/scanning is not yet
implemented but manual tuning works nicely. Thanks to Rafaël Carré,
Bertrik Sikken and Robert Menes for suggestions and debugging help.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19372 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 20:48:04 +00:00
Michael Sevakis
1616e66e55 Gigabeat S: Turn off backlight LED supply after a 2-second delay and save a little power. Hardware fading required keeping supply enabled during fade out. Let fade happen at poweroff (might as well~~~).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19322 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 04:16:53 +00:00
Michael Sevakis
58eb784a5d Straighten out some powermanagement stuff. Give target complete control over how power inputs are sensed. Clean SIMULATOR stuff out of target files. Get rid of USB charging option on targets that don't support it or don't implement it yet. Menu string remains to avoid language incompatibility but should be removed on next cleanup for targets not using it (notice in english.lang). global_settings becomes incompatible for some builds and so plugin API version is incremented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19315 a1c6a512-1295-4272-9138-f99709370657
2008-12-03 19:54:25 +00:00
Michael Sevakis
23e59f20bf Gigabeats S: Simply ignore that occasional spurious unknown IRQ (-1) that goes through irq_handler even if the AVIC is used. If no pending interrupt is indicated (anything else should be vectored), simply returning from the handler appears to have no ill effect. The cause for entering irq_handler is unknown for now (or I missed something important :\).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19245 a1c6a512-1295-4272-9138-f99709370657
2008-11-27 11:49:49 +00:00
Michael Sevakis
89c9dbe21c Fix red in GBS bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19238 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 22:00:28 +00:00
Michael Sevakis
495115b84a Add hardware backlight fading on Gigabeat S with fade up and down options in LCD Settings. USE_BACKLIGHT_CUSTOM_FADING_BOOL is used to specify the setting type needed but leave the fading code itself implementation-defined.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19237 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 21:26:22 +00:00
Michael Sevakis
7c007f5d87 Audio samplerate control for Gigabeat S: 8, 11.025, 12, 16, 22.050, 24, 32, 44.1 and 48 kHz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19178 a1c6a512-1295-4272-9138-f99709370657
2008-11-22 12:17:26 +00:00
Michael Sevakis
1dcee69fd2 MC13783 PMIC: Make some defines more strictly correct-- interrupts, etc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19142 a1c6a512-1295-4272-9138-f99709370657
2008-11-19 06:22:09 +00:00
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
Jonathan Gordon
bdbdb97f19 FS#9051 - remove LCD margins... use viewports if you need them...
NOTE to WPS people....
%m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored.
Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected.

Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 13:20:35 +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
50ad342530 Gigabeat S system setup changes. Unaligned loads/stores on. Mixed-endian support on. VIC on early.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17495 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 14:05:28 +00:00
Michael Sevakis
71372162b1 Enable write buffering for the 1MB device memory section. This means using a different device framebuffer address too. You must update the firmware _and_ bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17458 a1c6a512-1295-4272-9138-f99709370657
2008-05-11 15:39:00 +00:00
Michael Sevakis
209aa8eda5 Real fake IRAM by placing .i.... section in the analagous DRAM sections in the linker scripts that hasn't done this yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17449 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 22:03:45 +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
6dd6ea74af Gigabeat S RoLo: Properly execute firmware copy from an IRAM stub because the currently running image was being overwritten in place. Minor tweak to rolo.c based on imx31 errata sheet about not masking FIQ without masking IRQ which is fine to use on all ARM anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17414 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 12:09:14 +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
607b63a827 Gigabeat S technical correction: Fix instruction order because clean dcache operand is SBZ.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17401 a1c6a512-1295-4272-9138-f99709370657
2008-05-07 06:13:35 +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
0218397cf4 Gigabeat S bootloader: 1) Switch order of .vectors to be contiguous with initialized sections. 2) Clean all caches in main before doing anything else because vector copying counts as self-modifying code. Up to v.00000012.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17381 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 13:30:29 +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
Jens Arnold
0e73b8a0a9 Remove wrong usage of '.global'. These symbols are imported, not exported.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17290 a1c6a512-1295-4272-9138-f99709370657
2008-04-29 06:47:34 +00:00
Jens Arnold
2bbacf89fe Make sure the linker considers crt0*.o before all files specified on the command line by using STARTUP() instead of INPUT() in the .lds. Using INPUT() makes the linker process crt0*.o after all files specified on the command line, making linking fail if there are librockbox.a members which are only referenced by crt0*.o. Remove the hackaround that was needed for building the gigabeat S bootloader before (aka UIE() problem).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17289 a1c6a512-1295-4272-9138-f99709370657
2008-04-29 06:19:32 +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
8ec1dca0da Enable program flow prediction in the system control coprocessor setup in the bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17211 a1c6a512-1295-4272-9138-f99709370657
2008-04-21 21:45:58 +00:00
Frank Gevaerts
fe5a35ce06 Also declare .qharray for the bootloader on imx31. Usb is also supported there...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17195 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 18:54:19 +00:00
Frank Gevaerts
7a2d9ddb08 move some data around to place qh_array at the start of iram. This saves up to about 2k iram on PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17194 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 18:43:47 +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
3b90ab5ab1 Fix bootloader red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17155 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 17:04:04 +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
Robert Kukla
feb3b588e3 explicitly align the ibss section by adjusting _iramend - fixes hang on m:robe (and potential problem on other arm targets)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17024 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 18:24:23 +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
Marcoen Hirschberg
82c52302bd split boot.lds and move it into the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16855 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 23:58:03 +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
Karl Kurbjun
ef62d6891a Split up app.lds to the respective target directories. The portalplayer devices replicate app.lds since their target tree doesn't follow a syntax typical to the newer arm targets - the portalplayers could be cleaned up further. boot.lds and plugin.lds still need to be cleaned up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16651 a1c6a512-1295-4272-9138-f99709370657
2008-03-13 03:48:23 +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
32f6109fb1 Gigabeat S memory management stuff.
* Moved crt0.S to imx31 subdirectory, as it was the last target using the unified file.
* DRAM is now remapped to 0x0, facilitating interrupts (which aren't done yet)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15965 a1c6a512-1295-4272-9138-f99709370657
2007-12-23 12:19:40 +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