Commit graph

3168 commits

Author SHA1 Message Date
Michael Sevakis
b4eec0dd42 Make INITDATA_ATTR work on everything that has INIT_ATTR enabled for code.
Change-Id: If9936bfbbd3bc3eb2a3e3e290701b8517eabfb13
2012-05-01 01:28:50 -04:00
Marcin Bukat
bde57c5df7 rk27xx: ungate all clocks before jumping into rolo'ed code. This should fix booting OF this way
Change-Id: I2c1676227a7218708d9858648c262d5fccb922f7
2012-04-30 23:17:29 +02:00
Rafaël Carré
d7ead706a7 AMSv1: rename USB interrupt handler
Fix FS#12660 (broken in c9c13497)
2012-04-30 14:24:34 -04:00
Andrew Ryabinin
b6f8a01be0 Missing semicolon.
Change-Id: I6b6bfcfdc34662052169ddd1e54369de67438545
2012-04-30 22:18:55 +04:00
Andrew Ryabinin
58dd21daea hm60x: Calibrated discharge curve.
Change-Id: I1f2ba69d37931d9ac62479c0e68f8ba251d30819
2012-04-30 22:09:45 +04:00
Rafaël Carré
c9c1349773 usb-s3c6400: merge the 2 drivers
Player-specific code remaining: usb_drv_(init,exit)

The iPods lack a MMU, so:
    - physical, virtual, and uncached addresses are identical
    - since we can't access uncached memory we discard caches when receiving data

Still not quite reliable on nano2g

Change-Id: Iebb79df64818b9ae3b68eccb8be8975ebd6c21ea
2012-04-28 16:01:57 -04:00
Marcin Bukat
2bafdae6b1 rk27xx: Do not turn off clocks in bootloader as this breaks OF loading
Change-Id: I8e2fb06e82f33c3cf841a125c13e56401c58b12d
2012-04-27 16:19:42 +02:00
Andrew Ryabinin
ab01d5d8c2 Fix red.
Change-Id: I4e132dfd8c4821715e123decbfb6b130903d6d4a
2012-04-26 14:32:06 +04:00
Andrew Ryabinin
56e406d9b6 hm60x/hm801: Increase backlight frequency. This will remove background hiss.
Change-Id: I3b51dc5592c069745a62f21f6f9004c79a1f3985
Reviewed-on: http://gerrit.rockbox.org/225
Tested-by: Andrew Ryabinin <ryabinin.a.a@gmail.com>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2012-04-26 12:25:37 +02:00
Andrew Ryabinin
1060d30bdd hm60x: Fix charger detection.
Change-Id: Icde96e90303a9b6f3d399f3c25f24cc0b7d8576b
2012-04-22 00:00:24 +04:00
Andrew Ryabinin
f5559042f1 rk27xx: Fix warnings.
Change-Id: I05e3b946b921592bc17eff5ca705bfc1e71b2f0f
2012-04-20 13:20:07 +04:00
Andrew Ryabinin
fe5f9e0619 Fix typo.
Change-Id: Ib9bd947ac71370e11e7e3d67dbc5f16da0b15ae3
2012-04-20 13:11:43 +04:00
Andrew Ryabinin
220f9385da rk27xx: Remove debug use of timer1 in sd driver.
Change-Id: I720426de3c66c10273fff5f3a01ef6b692218a29
2012-04-20 13:04:51 +04:00
Andrew Ryabinin
6ee3fc81d9 hm801: Add support for plugins.
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
397863ab3d hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
8187d8d5d1 hm60x: Use binary search in button driver.
Change-Id: I4abca66150c23ffb7cc27c4c5320b8117c27e228
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
8361c1d901 hm60x/hm801: Buttons rework.
- Add BUTTON_POWER.
 - hm60x: Rename BUTTON_PLAY to more proper BUTTON_SELECT, which will make it
   possible to unify hm60x and hm801 keymaps in some plugins.

Change-Id: I84715cdbc79d00c1bc2e8e6bd492159ad3c3422b
2012-04-19 17:31:13 +04:00
Frank Gevaerts
c45984d5f4 Increase mr100 remote lcd thread stack (fixes FS#12640)
Change-Id: I95a2a343762b8592f80bec0f11ddcdcb7983ae12
2012-04-11 23:05:24 +02:00
Marcin Bukat
76c74c4437 fix tms320dm320 crt0.S
Change-Id: I7d7304cd4bddea78777ce826495e7cddae711442
2012-04-06 14:36:02 +02:00
Amaury Pouly
f33330c0ff arm: factor all exception handlers out of the crt0.S files
Remove the implementations of all exceptions handlers from the
various crt0.S files and have a single implementation in system-arm.h
The new implementation is weak so that it can be overwritten by some
specific code (like the unwinder)

Change-Id: Ib3e041ed6037376bbe0e79286057e1051640dd90
Reviewed-on: http://gerrit.rockbox.org/205
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2012-04-06 13:46:32 +02:00
Cástor Muñoz
a85780bacc Classic/6G: CPU frequency/voltage scaling
This patch implements HAVE_ADJUSTABLE_CPU_FREQ, it modifies the
following parameters when CPU is unboosted:

- s5l8702 voltage is decreased: 1.200V -> 1.050V
- CPU frequency is divided by 4: 216MHz -> 54MHz
- AHB frequency is divided by 2: 108MHz -> 54MHz

Change-Id: I2285b83efb7e1567864ac288f2d4ba55f058f7c5
2012-03-31 01:18:15 +02:00
Cástor Muñoz
a75b5b83d4 Classic/6G: click wheel controller powersave
Mask click wheel controller clock gate when the hold switch is in
the locked position

Change-Id: I9de33db189afdb76cc5057e4c0e7efc587cf762b
2012-03-31 01:18:15 +02:00
Rafaël Carré
41b46231cb usb-nano2g-6g: missing brace in non-default preprocessor path
Change-Id: Iacf6719e58b927bb619d469048e16797cae5cecd
2012-03-30 18:58:38 -04:00
Cástor Muñoz
7ec426e497 Classic/6G: hold switch detection using GPIO
Configures GPIO ports to detect holdswitch status instead of
polling the PMU via I2C, this fixes some random crashes

Change-Id: I407c9ca4c2c9203842f9e774b1c8d0455d59048c
Reviewed-on: http://gerrit.rockbox.org/194
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2012-03-28 00:51:22 +02:00
Marcin Bukat
5513c6db56 rk27xx: implement system_init()
For now it contains explicit SDRAM setup, cutting clock for unused
modules and turning off unused PLLs. This improves slightly mem
throughput as well as saves quite a bit of power.

Change-Id: I19a2827ac90a6868856c676fbe1e051c42f0d608
2012-03-22 23:48:31 +01:00
Bertrik Sikken
bb6ac6fcba sansa clip+: properly reset display using the reset pin
Change-Id: Ic4bb85cfca4e21d908e187381b868d3f7ef18f88
2012-03-19 21:00:06 +01:00
Marcin Bukat
e1796fbc20 mrobe500: fix warrnig in bootloader
Change-Id: I327dad2b8f335468d38ff8d717f7885c14492b7e
2012-03-19 08:43:27 +01:00
Marcin Bukat
395290b7cd fix cache function name
Change-Id: Ica743c1ea4e8e5fd4e4c70c00b0dc1fd019268a2
2012-03-19 08:42:53 +01:00
Szymon Dziok
b67f1b2872 HDD6330: Correct voltage values, based on the values found in the OF.
Change-Id: I76a101cd2c96be06fc95ca16871e5c86c2326c2d
2012-03-17 19:20:21 +01:00
Szymon Dziok
740722f913 HDD6330: Simplify strange OF voltage calculation, it's linear anyway.
Change-Id: I33ecad4a265a4c7e8883da7b6d28fb061a4c8e68
2012-03-17 19:20:21 +01:00
Amaury Pouly
e5b5041583 imx233/fuze+: rework lradc/adc code, add external temperature sensing(battery)
Rework code to be more useful:
- move battery channel init to lradc
- always init lradc from system (previously from adc)
- don't reserve channels for vddio, nmos or pmos
- implement external temperature sensing using current source
- use this for battery sensing on the Fuze+ (calibration needed)

Change-Id: I5f9a24b9243db7d1e6bdb16b84bc891e61d0c318
2012-03-17 17:42:49 +01:00
Amaury Pouly
e07b22f27e fuze+: add unknown channel to debug menu
imx233: always divide physical channels by two for wider range

The Fuze+ OF monitors channel 2 but I'm unable to determine the meaning of it.
Print the value on the debug menu so that people can have a look at it.

Change-Id: I8a942febeafbce06014178abda12e38a16c26664
2012-03-15 18:47:23 +01:00
Amaury Pouly
9caffa8bf7 imx233/fuze+: rework i2c and fmradio_i2c init
Only enable fmradio_i2c once with _init() called from system.
Move actual i2c init to system for consistency.
Move tuner power pin setup to power instead of fmradio.

Change-Id: Idb56bfba5803f71b5d049f174c48d2afb969a6ea
2012-03-15 15:01:11 +01:00
Andrew Ryabinin
b069562ef4 rk27xx: lcdif refactoring: make lcdif-rk27xx.c more generic
iomux_lcd now has parameter for display bit mode settings, so we doesn't need ifdef here.
lcd_init_device moved to target specific code
lcdif_init configure pins and lcd cotroller

Change-Id: I3a2d7fd38b08fe3bc5ebefa8c9f7288c21f58212
Reviewed-on: http://gerrit.rockbox.org/153
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
2012-03-06 09:37:11 +01:00
Michael Sevakis
cd8e11b463 Tweak some PCM drivers for less typecasting with the data pointer.
Yeah, sizeof (void) here with GCC is 1. If something has a problem
with that, we'll set it straight.

Change-Id: I9ad3eee75dd440f6404a04a501d1533c8bc18ba9
2012-03-04 08:52:50 -05:00
Bertrik Sikken
f6e17e86fe AMSv2: add proper definitions for charge current
Change-Id: I6a14570e94df1be62ae46816d2ff4e3f2b7bc21a
2012-03-04 12:23:05 +01:00
Andrew Ryabinin
f8de21f460 rkw-loader: Fix wrong include
Change-Id: Iee19d074e7766925d1d68787116b84a08c784a1a
2012-03-04 14:30:19 +04:00
Marcin Bukat
e2d6f9290d rk27generic: Implement power_off()
Change-Id: I6e7685c83c080cbeeff06c588971901e522e4f85
2012-03-04 00:35:19 +01:00
Marcin Bukat
f30043a0db rk27xx: add rolo_restart() rk27xx specific variant
Change-Id: Ib786a9ef6318d259ecef783becdd7c0fa6f52730
2012-03-04 00:34:59 +01:00
Marcin Bukat
2f8b44aae2 Add RKW firmware file format loader
Change-Id: I5283fdcdb8d263fd9375a6d29396f82650aeb686
2012-03-04 00:34:26 +01:00
Marcin Bukat
1c565c9c3b rk27xx: rework linker scripts and crt0.S
Change-Id: Id1d509056026bc67e1a5051c60818336933d4aeb
2012-03-04 00:33:27 +01:00
Michael Sevakis
59e5a323f1 Fix errors in unintentionally merged gerrit commit.
It proved the system work as unintended, even if slightly prematurely.
It was almost ready anyway.

Change-Id: Ic4de2b925bd26b094eaf65a120591569923954d1
2012-03-03 01:45:09 -05:00
Michael Sevakis
286a4c5caa Revise the PCM callback system after adding multichannel audio.
Additional status callback is added to pcm_play/rec_data instead of
using a special function to set it. Status includes DMA error
reporting to the status callback. Playback and recording callback
become more alike except playback uses "const void **addr" (because
the data should not be altered) and recording  uses "void **addr".
"const" is put in place throughout where appropriate.

Most changes are fairly trivial. One that should be checked in
particular because it isn't so much is telechips, if anyone cares to
bother. PP5002 is not so trivial either but that tested as working.

Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2
Reviewed-on: http://gerrit.rockbox.org/166
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-03-03 07:23:38 +01:00
Amaury Pouly
29c72591fd imx233: correctly stop charging on topoff (fix battery discharging)
Change-Id: Ied7ea0a882e532bcf673a96d224dd55fdaae05d4
2012-02-29 18:43:26 +01:00
Andrew Ryabinin
fbb8c31e63 Fix bugs in lcd drivers after b37e6bc
Change-Id: I9dc262b8453abab62e792beebe4f96415e58b380
2012-02-29 11:43:51 +04:00
Amaury Pouly
0d78dd170d imx233: user __FIELD_SET to set the clock divisors
The clock divisors must *NEVER* be 0, first clearing then setting is thus undefined.

Change-Id: Iba8e6ba1e668bf746e3f7387f0175f63d81f6b2b
2012-02-28 23:57:37 +01:00
Amaury Pouly
c4450b9baf imx233: print power up source in the bootloader
Change-Id: I9ff4738b7efdb25ab57b0061f60c7fde58b9a0b5
2012-02-28 22:45:30 +01:00
Marcin Bukat
13f98df5ed rk27xx: Make sure SD module clock is not gated
Change-Id: Iafc9af6cf4762f16f367705b8c9a3e441420905b
2012-02-28 10:22:25 +01:00
Jonathan Gordon
c0a2c3fe3a Fix build errors and warnings
Change-Id: Ie80bc4328d4f89a5a7b77c93f2b445d0e30fb019
2012-02-28 11:51:09 +11:00
Jonathan Gordon
b37e6bc8c1 lcd drivers: Convert lcd_[remote_]framebuffer to a pointer
Change all lcd drivers to using a pointer to the static framebuffer
instead of directly accessing the static array. This will let us
later do fun things like dynamic framebuffer sizes (RaaA) or
ability to use different buffers for different layers (dynamic
skin backdrops!)

Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-02-28 11:44:59 +11:00