Commit graph

123 commits

Author SHA1 Message Date
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