Commit graph

77 commits

Author SHA1 Message Date
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
Karl Kurbjun
f3d83c7be7 Cleanup some tabs and whitespace
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17288 a1c6a512-1295-4272-9138-f99709370657
2008-04-29 01:43:15 +00:00
Karl Kurbjun
45f6469ad1 Add in a few more debug registers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17220 a1c6a512-1295-4272-9138-f99709370657
2008-04-23 01:34:32 +00:00
Karl Kurbjun
38498ce903 Make sure buttons have pullups disabled as necessary
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17219 a1c6a512-1295-4272-9138-f99709370657
2008-04-23 00:08:59 +00:00
Karl Kurbjun
7510335fc4 This is a big chunk of code necessary to prepare for Gigabeat F flash loading and and implementation of rolo. There should be no noticible changes for the user. A new bootloader is not needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17213 a1c6a512-1295-4272-9138-f99709370657
2008-04-22 04:34:25 +00:00
Karl Kurbjun
68afa9dc34 Cleanup/fixup the USB initialization for the Gigabeat F
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17212 a1c6a512-1295-4272-9138-f99709370657
2008-04-22 04:13:07 +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
3c8d93e091 Change a #define constant that conflicts with a mingw definition. Change "WAIT_*" to "OBJ_WAIT_*".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16906 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 03:55:02 +00:00
Michael Sevakis
2541302089 meg-fx: Add headers to files in the target directory that were missing them. Fix the Id marker in a couple. Fix svn properties in some others. Please have a look at the copyrights added and make any corrections that you feel should be made since this particular tree branch has a twisted history so I just pasted them in based on the target header and used my name for files that have a preponderance of my junk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16895 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 04:53:03 +00:00
Michael Sevakis
a65406e3f4 meg-fx: It's important to make sure certain interrupt-related registers have bits changed atomically.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16894 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 01:29:50 +00:00
Michael Sevakis
52527a4d1d Fix red and clean up meg-fx firmware sources. Remove an unused file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16887 a1c6a512-1295-4272-9138-f99709370657
2008-03-30 06:06:43 +00:00
Michael Sevakis
5f1590bf4a Have meg-fx i2c driver use the wakeup functionality by making it interrupt-based (and serves as a simple usage example).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16886 a1c6a512-1295-4272-9138-f99709370657
2008-03-30 05:38:28 +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
Michael Sevakis
af395f4db6 Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 01:50:41 +00:00
Michael Sevakis
27cf677339 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 02:34:12 +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
Dave Chapman
4d58b0d4f8 Oops (from about 2 months ago) - implement viewport support in the Gigabeat F's asm-optimised lcd_bitmap_transparent_part() function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16525 a1c6a512-1295-4272-9138-f99709370657
2008-03-05 08:12:54 +00:00
Karl Kurbjun
c3213e40ad Fix the red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16299 a1c6a512-1295-4272-9138-f99709370657
2008-02-13 05:49:48 +00:00
Karl Kurbjun
94bd1f74a7 Make the gigabeat LCD initialization work properly without the original firmware.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16298 a1c6a512-1295-4272-9138-f99709370657
2008-02-13 05:46:04 +00:00
Michael Sevakis
0efdd7a5f7 Use the timeout API as a oneshot for headphone plug debouncing. Set at 1s for now which seems comfortable and was good for meg-fx but target-specific adjustment is easy enough (my 3G hp jack is dead so I can't check that one :( ). Do some minor rearrangements for init safety and consistency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16178 a1c6a512-1295-4272-9138-f99709370657
2008-01-27 21:13:04 +00:00
Marcoen Hirschberg
7dff491a72 - make the booloader compile again
- make the brightness table static
- also use the logarithmic scale for the button lights


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16162 a1c6a512-1295-4272-9138-f99709370657
2008-01-25 18:05:21 +00:00
Marcoen Hirschberg
fe99a8e3da make the brightness setting logarithmic, which looks linear to the eye
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16161 a1c6a512-1295-4272-9138-f99709370657
2008-01-25 17:51:05 +00:00
Michael Sevakis
905d80619c meg-fx: remove superfluous i2c_init call
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16102 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 09:35:03 +00:00
Michael Sevakis
53e79cacc6 meg-fx: correct an oops in the interrupt vector table
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16100 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 09:17:47 +00:00
Dave Chapman
945c8a221a Add viewport capabilities to all the LCD drivers, and adapt scrolling code. This is the firmware/ part of FS#8385 - the changes to the WPS code still need more work and will be committed at a later date. NOTE: There are no user-visible changes with this commit - just the infrastructure.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16018 a1c6a512-1295-4272-9138-f99709370657
2008-01-07 20:34:11 +00:00
Marcoen Hirschberg
c359a0ee91 let BUTTON_POWER exit the hw debug screen for the gigabeat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15690 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 16:02:50 +00:00
Jens Arnold
f4c5c6aa62 Fix bootloaders, and the backlight-modded Ondio build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15600 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 19:19:38 +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
Karl Kurbjun
1b3dac9042 Setup the gigabeat so that iram is faked in a different spot since the normal iram location does not seem to be working. This lays the groundwork to get rolo running.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15581 a1c6a512-1295-4272-9138-f99709370657
2007-11-11 19:13:09 +00:00
Karl Kurbjun
31ea780ee0 Seperate the Gigabeat F/X crt0.s, cleanup some #ifdefs in app.lds, add an extra reg to the debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15579 a1c6a512-1295-4272-9138-f99709370657
2007-11-11 17:58:13 +00:00
Karl Kurbjun
d185f9eba8 Fix the Gigabeat red and move it's hw specific code into the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15562 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 23:13:27 +00:00
Karl Kurbjun
5a9a2b7bc4 Unify the Gigabeat F/X and M:Robe MMU code while enabling it for the M:Robe
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15275 a1c6a512-1295-4272-9138-f99709370657
2007-10-23 03:29:15 +00:00
Jens Arnold
5f1ec307db Name all button light functions and variables consistently starting with buttonlight_ .
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15016 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 15:02:02 +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
Michael Sevakis
287d6223d3 Dithering option for mpegplayer on gigabeat-f/x and e200. Assembly IDCT for ARm just to make it all work more nicely. Move UI simulator YUV code to its core to adapt it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14851 a1c6a512-1295-4272-9138-f99709370657
2007-09-25 02:59:42 +00:00
Karl Kurbjun
1b9026a86d Fix a change that shouldn't have been committed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14831 a1c6a512-1295-4272-9138-f99709370657
2007-09-23 15:39:48 +00:00
Karl Kurbjun
67ef4500e3 More interupt/timer work
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14823 a1c6a512-1295-4272-9138-f99709370657
2007-09-22 23:17:52 +00:00
Michael Sevakis
e6511d8eaa Faster video rendering for e200 and Gigabeat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14675 a1c6a512-1295-4272-9138-f99709370657
2007-09-12 09:02:31 +00:00
Dave Chapman
1672350378 FS #7691 - improved USB detection on PP devices. This patch modifies the target-tree function usb_detect() on all targets from bool to int, returning USB_INSERTED or USB_EXTRACTED instead of true or false. This was done to enable the PP usb_detect() to check for USB_POWER (either a connection to a USB wall charger, or the user holding "charge mode" button) and return that as a third value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14600 a1c6a512-1295-4272-9138-f99709370657
2007-09-04 08:03:07 +00:00
Jens Arnold
0fac492c3d First step of powermanagement rework: * Move target specific stuff into target tree, starting with battery voltage tables and voltage reading. (This revealed some incorrect percent_to_voltage_charging mappings). * Voltage reading on 1st gen ipods is now correct. * Clean up obsolete config #defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14375 a1c6a512-1295-4272-9138-f99709370657
2007-08-17 06:45:18 +00:00
Michael Sevakis
d25dc33453 Oops. mvn is one's-complement, not two's. Correct the YUV calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14184 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 20:36:22 +00:00
Michael Sevakis
62c8e2d69d Stop Gigabeat bootloader from panicing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14052 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 07:41:19 +00:00
Michael Sevakis
d219491e58 Gigabeat: Add the funky foreground color support for transparent bitmaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13898 a1c6a512-1295-4272-9138-f99709370657
2007-07-15 01:06:04 +00:00
Michael Sevakis
2e6723bcd2 Gigabeat: Squeeze down lcd_bitmap_transparent_part a bit. Let the compiler choose the registers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13829 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 03:53:12 +00:00
Michael Sevakis
897c643991 Gigabeat: properly confined framebuffer copies and a few pendantic changes to lcd_yuv_blit. No difference full screen but quite a speedup to copy only the required bit: 534->1062 fps for 1/4 screen update using test_fps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13821 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 17:10:22 +00:00
Michael Sevakis
77789f0f8d Gigabeat: oops, forgot to set correct timer prescaler limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13807 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 22:08:07 +00:00
Michael Sevakis
4ae87c8b8a Gigabeat: Add timer functionality. Rework tick timer setup to be exactly 100Hz. Metronome should work now but some pcm changes are needed to have faster tocks work correctly (in the works).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13806 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 21:36:32 +00:00
Robert Keevil
7785d6949e Temporary fix for FS#7257 and FS#7261 - playback resumes while paused when seeking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13795 a1c6a512-1295-4272-9138-f99709370657
2007-07-05 10:19:06 +00:00
Michael Sevakis
391e944b8e Get rid of yellow plus an optimization I should have seen in the first place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13794 a1c6a512-1295-4272-9138-f99709370657
2007-07-05 08:21:10 +00:00