Commit graph

166 commits

Author SHA1 Message Date
Jens Arnold
8f71973918 Coldfire: Properly handle the SDRAM refresh timing on CPU frequency changes. For >= 92 MHz operation, tRC needs to be 6 clocks, otherwise 3 clocks are sufficient.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7743 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 20:01:58 +00:00
Jens Arnold
c56069f01a Removed unused variable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7630 a1c6a512-1295-4272-9138-f99709370657
2005-10-14 06:01:37 +00:00
Jens Arnold
9322009446 Coldfire: (1) Keep the correct CRSEL and CLSEL values in the PLLCR register for CPUFREQ_DEFAULT. Fixes non-working treble & bass controls in radio screen. (2) Save a bit more power by powering down the PLL at CPUFREQ_DEFAULT.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7629 a1c6a512-1295-4272-9138-f99709370657
2005-10-14 05:52:24 +00:00
Jens Arnold
f6bb10a485 Iriver: No write protection for flash ROM area, correct number of waitstates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7611 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 19:24:39 +00:00
Jens Arnold
1f39f2e748 Ported the memory guard debug feature to coldfire, using the breakpoint logic. There are 3 shortcomings compared to SH1: (1) While the setting itself survives RoLo, it cannot be read back because the debug module programming model is write only. (2) system_reboot() from a 'Debug' exception doesn't work because the CPU enters emulation mode, and the only way leaving this mode is via an rte instruction. (3) (fixable) Catching write accesses to the flash doesn't actually do anything because the flash memory area is set write protected in CSMR2, so a write attempt stalls the bus. * Cosmetic changes in system.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7600 a1c6a512-1295-4272-9138-f99709370657
2005-10-08 20:09:07 +00:00
Jens Arnold
cfb073c452 Coldfire: New timer handling on CPU frequency change, adjusting the prescaler on the fly, for both tick and user timer. Precondition is that the higher frequencies are integer multiples of the base: now NORMAL is 45 MHz and MAX is 124 MHz. Removes the need for applications with longer timer periods (>= 10 ms) to boost the CPU all the time, e.g. the grayscale lib. Timer counts are now always based on the base frequency (CPU_FREQ). * Adjusted the RAM refresh timers to the new frequencies (all frequencies for H100) * All: Fixed the tick timer count being off by one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7576 a1c6a512-1295-4272-9138-f99709370657
2005-10-03 09:24:36 +00:00
Linus Nielsen Feltzing
fb1850b755 Moved the system_reboot() call to the correct place
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7483 a1c6a512-1295-4272-9138-f99709370657
2005-09-06 20:53:39 +00:00
Linus Nielsen Feltzing
835012fa35 Call system_reboot() instead of rolo_load() in the UIE handler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7479 a1c6a512-1295-4272-9138-f99709370657
2005-09-06 20:22:34 +00:00
Linus Nielsen Feltzing
dc4a6b828e iriver: Moved the I2C prescaler setting to i2c_init(), and removed it from set_cpu_frequency(). The Coldfire I2C controller can't handle on-the-fly prescaler changes. Also removed the unnecessary slave address setting in i2c_init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7304 a1c6a512-1295-4272-9138-f99709370657
2005-08-11 19:00:55 +00:00
Christian Gmeiner
c6ff1f5eb5 Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Linus Nielsen Feltzing
170bb8eb78 iriver: Reduced LCD write cycle length to 65ns, almost halving the execution time for lcd_update, from 1.8ms to 1ms in 120MHz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7181 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 15:59:32 +00:00
Linus Nielsen Feltzing
182ad9bbc2 iriver: Adjusted to optimal I2C bit rates
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7179 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 13:42:59 +00:00
Linus Nielsen Feltzing
526f7978e5 Removed an extra semicolon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7118 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 10:30:30 +00:00
Linus Nielsen Feltzing
e257042a5d Adjusted refresh timer for H110
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7069 a1c6a512-1295-4272-9138-f99709370657
2005-07-08 15:03:05 +00:00
Tomas Salfischberger
3d25240f41 (1) Set cpu to 11 Mhz when we "crash" to prevent overheating.
(2) Bind the ON button to reboot when we are in the crashed state.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7044 a1c6a512-1295-4272-9138-f99709370657
2005-07-06 20:42:00 +00:00
Linus Nielsen Feltzing
9b226fef0e New power-conserving CPU idle mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7023 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 07:58:19 +00:00
Miika Pekkarinen
2bfd2585a9 Initial support for iriver backlight dimming. Unfortunately dimming
remote control's EL-backlight is not possible.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6747 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 12:53:57 +00:00
Linus Nielsen Feltzing
cff83c78c7 ColdFire: DCR is a 16-bit register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6604 a1c6a512-1295-4272-9138-f99709370657
2005-06-08 07:37:32 +00:00
Linus Nielsen Feltzing
3beafe4c44 Added system_reboot() for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6491 a1c6a512-1295-4272-9138-f99709370657
2005-05-20 18:15:14 +00:00
Linus Nielsen Feltzing
81bd369288 Wrong setting of AUDIOSEL caused double pitch 120MHz playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6282 a1c6a512-1295-4272-9138-f99709370657
2005-04-14 05:56:36 +00:00
Linus Nielsen Feltzing
fbf8e14b3c I2C clock settings and ATA timing for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6206 a1c6a512-1295-4272-9138-f99709370657
2005-03-18 11:36:48 +00:00
Linus Nielsen Feltzing
213d34ed1d Dedicated CPU frequency debug screen for CPU's with PLL
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6161 a1c6a512-1295-4272-9138-f99709370657
2005-03-07 10:51:43 +00:00
Linus Nielsen Feltzing
32160dc3c3 iRiver: Increased the max CPU frequency to 120MHz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6125 a1c6a512-1295-4272-9138-f99709370657
2005-03-03 21:48:02 +00:00
Jean-Philippe Bernardy
708e357a63 gmini: variable CPU frequency
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6118 a1c6a512-1295-4272-9138-f99709370657
2005-03-03 16:29:02 +00:00
Thom Johansen
340d824542 Added new coldfire assembly LPC decoder routine to libFLAC.
Added clear accumulator policy.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6108 a1c6a512-1295-4272-9138-f99709370657
2005-03-03 12:17:45 +00:00
Linus Nielsen Feltzing
d94f328838 Adjustable CPU frequency for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6093 a1c6a512-1295-4272-9138-f99709370657
2005-03-01 14:35:10 +00:00
Jean-Philippe Bernardy
ed8fa82aea fixed setup of the gmini GPIO
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6047 a1c6a512-1295-4272-9138-f99709370657
2005-02-23 15:03:46 +00:00
Jean-Philippe Bernardy
376057d2b6 Gmini SMSC chip improvements
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6030 a1c6a512-1295-4272-9138-f99709370657
2005-02-22 09:55:40 +00:00
Jean-Philippe Bernardy
a3ed6e9c7a Gmini
* advances in the handling of the smsc chip
 * moved stuff to where it belongs


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6023 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 21:34:03 +00:00
Jean-Philippe Bernardy
8ec05779e3 Gmini work:
* Better USB
* Better comments
* Better coding style


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6022 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 17:49:58 +00:00
Jean-Philippe Bernardy
a11bb63d1e better PLL support & slight fix (probably in keepalive handling)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5951 a1c6a512-1295-4272-9138-f99709370657
2005-02-15 14:00:21 +00:00
Jean-Philippe Bernardy
9c6a549ad2 Variants for gmini dma transfers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5852 a1c6a512-1295-4272-9138-f99709370657
2005-02-08 15:11:58 +00:00
Daniel Stenberg
dea2434f3c provide system_memory_guard() and system_reboot() dummies for coldfire target
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5749 a1c6a512-1295-4272-9138-f99709370657
2005-02-02 21:56:03 +00:00
Jean-Philippe Bernardy
1f11f4eb90 Some more gmini hw support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5644 a1c6a512-1295-4272-9138-f99709370657
2005-01-24 00:01:37 +00:00
Jens Arnold
303b4abfc5 Button driver overhaul: (1) Unified the button driver functions as much as possible (2) Proper #defines for FM recorder button ADC channels (3) Got rid of old port B #defines only valid for recorder (4) button filtering for all models (5) RoLo with ON after panic should now work for FM/V2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5472 a1c6a512-1295-4272-9138-f99709370657
2004-12-01 00:33:18 +00:00
Linus Nielsen Feltzing
a062b4a22c Correct handling of unhandled exceptions for coldfire
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5376 a1c6a512-1295-4272-9138-f99709370657
2004-11-02 22:24:30 +00:00
Linus Nielsen Feltzing
75a9a9b9a7 Coldfire: the timers can only be autovectored, let's put the tick timer at level 3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5366 a1c6a512-1295-4272-9138-f99709370657
2004-10-27 06:52:25 +00:00
Linus Nielsen Feltzing
a5117f0bb6 Ported interrupt vector handling to Coldfire
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5285 a1c6a512-1295-4272-9138-f99709370657
2004-10-15 11:33:58 +00:00
Jens Arnold
4690ddd87a Bus controller inits are valid for all models. Corrected WCR1 init according to the datasheet (dontcare bits shall be written as 1)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5256 a1c6a512-1295-4272-9138-f99709370657
2004-10-12 09:09:16 +00:00
Jens Arnold
6a4ed54e96 Properly initialize the bus controller for Ondio as well. Fixes coldstart from flash on Ondio SP, both classic and RomBox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5248 a1c6a512-1295-4272-9138-f99709370657
2004-10-10 22:37:56 +00:00
Jens Arnold
06cb237af6 New debug feature: Use the SH1 user break controller to catch illegal memory accesses
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5026 a1c6a512-1295-4272-9138-f99709370657
2004-08-30 19:52:45 +00:00
Jens Arnold
398e40184e Next round of const policeing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4902 a1c6a512-1295-4272-9138-f99709370657
2004-07-20 21:37:36 +00:00
Jörg Hohensohn
81e309dd1a We had a few set_irq_level(15) left in the code, instead of the new set_irq_level(HIGHEST_IRQ_LEVEL). Only one was really used, in system_reboot(), creating a (unlikely) race condition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4374 a1c6a512-1295-4272-9138-f99709370657
2004-03-13 16:45:18 +00:00
Jörg Hohensohn
4cee740afa nice hint by Jens Arnold: using RAS Down Mode for the DRAM makes the box 10-15% faster
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4373 a1c6a512-1295-4272-9138-f99709370657
2004-03-13 11:44:48 +00:00
Linus Nielsen Feltzing
111a972b65 Made set_irq_level() an inline function, and optimized it by removing the bit shifts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4330 a1c6a512-1295-4272-9138-f99709370657
2004-03-02 11:32:59 +00:00
Linus Nielsen Feltzing
f9c780ccc1 The cli()/sti() functions are not safe. We should have removed them long ago.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4314 a1c6a512-1295-4272-9138-f99709370657
2004-02-25 13:00:36 +00:00
Linus Nielsen Feltzing
266f411ff3 Explicit setup of the bus controller wait states. This is supposed to fix the issue when the flashed recorder hangs when recording.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3991 a1c6a512-1295-4272-9138-f99709370657
2003-10-27 10:30:12 +00:00
Jörg Hohensohn
782e2370e8 when rebooting, de-init such that the coldstart detection would kick in again (fixes Rombox ATA problems when shutting off with charger)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3840 a1c6a512-1295-4272-9138-f99709370657
2003-07-17 20:19:01 +00:00
Björn Stenberg
9bcbe3fd72 Added restart option to system exception screen (press ON)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3768 a1c6a512-1295-4272-9138-f99709370657
2003-06-29 15:09:01 +00:00
Björn Stenberg
df194b0fc7 Code Police is never wrong. Ugh!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3325 a1c6a512-1295-4272-9138-f99709370657
2003-02-23 19:02:31 +00:00
Daniel Stenberg
fba7a4102f lcd_setfont() is for bitmap LCDs only
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2295 a1c6a512-1295-4272-9138-f99709370657
2002-09-16 06:51:43 +00:00
Eric Linenberg
038df5cdc9 Daniel,
The following patch makes loadable fonts actually work (finally!).
It took me quite a while, but I finally figured out why the sim
worked and the target didn't: the SH1 processor won't read
longwords from a shortword alignment... I had to rev the .fnt
file to version 1.1 (requires remaking *.fnt files) in order
to fix this.  Please apply the following patch completely.
It's diffed against the latest CVS.

I've also attached rockbox-fonts-1.1.tar.gz which includes
known working *.fnt files, including a courB08 system.fnt,
for demonstration.

Now the real work can begin...  Although the new
system.fnt will work fine, if you try going to a really
big font (try copying courB14.fnt to system.fnt), then
you will find that it comes up and works in tree mode,
but will crash the system when going into WPS
mode...  I'm sure this is because of the low-level
lcd_bitmap not clipping properly when given a too-large
bitmap, which the characters become.  I haven't yet
tried to debug the low-level driver.  Of course, it all
works on the sim...

So the apps developers will now have to make sure that
all apps screen sizes may vary according to the loaded font.
The font height can be gotten through the lcd_getfontsize API.

Files patched in fonts-6.patch

1. apps/menu.c - LCD_PROPFONTS error (2nd resubmission on this, please checkin)

2. firmware/font.c - fixes and reformatting.  Please check this in as is,
my vi editor requires more reformatting changes since I left tabs in the
file, these are removed now (2nd resubmission on this, please checkin)

3. firmware/fonts.h - doc change on .fnt file format, .fnt version
number incremented.

4. firmware/loadfont.c - fixes to load font properly, typedefs
removed.

5. firmware/system.c - lcd_setfont(FONT_SYSFIXED) before
issuing error, otherwise font may not exist.

6. tools/bdf2c - fixes for correct output when filename starts
with a number, as well as when no DEFAULT_CHAR in .bdf
file.  (2nd resubmission on this, please checkin)

7. tools/writerbf.c - fixes for bugfixed fontfile format.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2294 a1c6a512-1295-4272-9138-f99709370657
2002-09-16 03:18:49 +00:00
Linus Nielsen Feltzing
a2c0afb29d Enabled Warp Mode as well
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2183 a1c6a512-1295-4272-9138-f99709370657
2002-09-05 10:21:48 +00:00
Linus Nielsen Feltzing
8ca44dc45d Enabled DRAM burst mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2182 a1c6a512-1295-4272-9138-f99709370657
2002-09-05 07:22:37 +00:00
Linus Nielsen Feltzing
72315c29fa system_reboot() read only the first byte of the reset vector
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1210 a1c6a512-1295-4272-9138-f99709370657
2002-06-26 22:39:22 +00:00
Felix Arends
b38c2d996d Exception handler clears and updates the screen now (so one can read the error message)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1146 a1c6a512-1295-4272-9138-f99709370657
2002-06-24 11:35:13 +00:00
Linus Nielsen Feltzing
951fe18a40 New system_init function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@780 a1c6a512-1295-4272-9138-f99709370657
2002-05-29 09:11:04 +00:00
Björn Stenberg
2dd18d381f Added interrupt names
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@761 a1c6a512-1295-4272-9138-f99709370657
2002-05-28 13:38:42 +00:00
Björn Stenberg
6eb771721c Fixed interrupt display and led flash
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@696 a1c6a512-1295-4272-9138-f99709370657
2002-05-24 15:22:33 +00:00
Björn Stenberg
2382044ffc Changing to C99 'bool' type
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@561 a1c6a512-1295-4272-9138-f99709370657
2002-05-13 12:29:34 +00:00
Linus Nielsen Feltzing
40c1c2251a Removed some TABS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@314 a1c6a512-1295-4272-9138-f99709370657
2002-04-29 14:23:21 +00:00
Linus Nielsen Feltzing
fe6b82f9b3 Adapted to the new LED API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@309 a1c6a512-1295-4272-9138-f99709370657
2002-04-28 21:40:24 +00:00
Linus Nielsen Feltzing
db822180e7 Removed reset vectors and uncommented the LCD code temporarily
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@216 a1c6a512-1295-4272-9138-f99709370657
2002-04-24 21:55:32 +00:00
Björn Stenberg
191f4d22b9 Fixed REG and REG_ADDR style macros
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@150 a1c6a512-1295-4272-9138-f99709370657
2002-04-20 13:25:58 +00:00
Daniel Stenberg
439b187d42 include config.h properly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@103 a1c6a512-1295-4272-9138-f99709370657
2002-04-16 14:02:26 +00:00
Björn Stenberg
d9eb5c7603 First version
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@60 a1c6a512-1295-4272-9138-f99709370657
2002-03-28 15:09:10 +00:00