summaryrefslogtreecommitdiff
path: root/firmware/export (follow)
Commit message (Collapse)AuthorAge
...
* Bass/Treble caps should exist implicitly with HAVE_SW_TONE_CONTROLS.Michael Sevakis2013-04-25
| | | | | | | | | | | | | If AUDIOHW_CAPS is defined without explicit BASS_CAP/TREBLE_CAP while HAVE_SW_TONE_CONTROLS is defined, AUDIOHW_HAVE_BASS/TREBLE should be defined or otherwise the tone controls won't show up. TREBLE/BASS were being defined if AUDIOHW_CAPS was NOT defined, but the same rule should apply if the codec needs to specify other caps but doesn't use hardware tone controls. (I'm surprised noone noticed some settings gone missing :-) Change-Id: I85b5c467bab07bb62362a0dc2d582267ac2d8ec9
* Add Serial Port 1 support for iPod Photo/Color/4G/Mini2Gandypotter2013-04-25
| | | | | | | | | | | | | | | | | | Based on FS#9920 by Ryan Press with changes to selection logic so that it works on my iPod Photo. Should also work on iPod Color/4G and Mini2G. Moved all target specific code from firmware/drivers/serial.c into new file firmware/target/arm/pp/uart-pp.c in the same manner as other target specific uart code. Update to fix build error on ipodmini2g by adding defines in config file. Removed unwanted whitespace Tested on iPod Photo. Change-Id: Ia5539563966198e06372d70b5adf2ef78882f863 Reviewed-on: http://gerrit.rockbox.org/455 Reviewed-by: andypotter <liveboxandy@gmail.com> Tested-by: andypotter <liveboxandy@gmail.com> Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
* Do some cleanup, adjustment and a couple fixes to recent sound changes.Michael Sevakis2013-04-22
| | | | | | | | | | | | | | | | | | | | | * SOUND_x enum can be generated by audiohw_settings.h along with settings entries and sound_val2phys. * VOLUME_MIN and VOLUME_MAX are no longer necessary within sound.c. If you need them, they are for target-defined purposes. * Fix up SDL volume implementation in sdl.c. Move sim volume calculation code to pcm-sdl.c. * Min trigger tresholds were based upon VOLUME_MIN for some reason. These setting have nothing to do with playback volume. Since it is no longer present, set these at -89dB which is the minimum peak meter sensitivity setting. * Fix an oversight in wm8758.c. I forgot to add the dB->register conversion to audiohw_set_volume. Change-Id: Ie1df33f1793eee75e6793f16bc7bddd16edb7f75
* Still at it for 0c7b787. Might be done now.Michael Sevakis2013-04-15
| | | | Change-Id: Idf45731dc6554954747f6036dc6dfcd4b63981a1
* Keep fixing 0c7b787 stuffMichael Sevakis2013-04-15
| | | | Change-Id: I0678d3307fbcad32156f9f4e0f8b90eed5a20d92
* Fix some more errors and warnings from 0c7b787.Michael Sevakis2013-04-15
| | | | Change-Id: Ib67d0ab344e36964cadbcc982dc2afe35733770b
* Hopefully knock out most of the red and yellow from 0c7b787.Michael Sevakis2013-04-15
| | | | Change-Id: Ib8dd0d011b11ee3eded3025308f19ddb5d151b59
* Straighten out the mad twisted state of sound.c and related areas.Michael Sevakis2013-04-15
| | | | | | | | | | | | | | | | | | This is going right in since it's long overdue. If anything is goofed, drop me a line or just tweak it yourself if you know what's wrong. :-) Make HW/SW codec interface more uniform when emulating HW functionality on SWCODEC for functions such as "audiohw_set_pitch". The firmware-to- DSP plumbing is in firmware/drivers/audiohw-swcodec.c. "sound_XXX" APIs are all in sound.c with none in DSP code any longer. Reduce number of settings definitions needed by each codec by providing defaults for common ones like balance, channels and SW tone controls. Remove need for separate SIM code and tables and add virtual codec header for hosted targets. Change-Id: I3f23702bca054fc9bda40f49824ce681bb7f777b
* hm60x/hm801: Fix balance by enabling sw volume control.Andrew Ryabinin2013-04-12
| | | | Change-Id: I8760b58d5b801409f35370d812d72f8d578d2889
* Fix f5a5b94 errors. Employ SW volume for select targets on SIM.Michael Sevakis2013-04-11
| | | | | | | | | | | Onda VX747 sim was missing a limits #define; #include limits.h in pcm_sw_volume.h. Simply use the software volume control for the SIM volume control rather than the SDL volume control when the target would have it natively. Change-Id: I8e924a2ff1b410f602452d2ea9b691efb82c931e
* Implement universal in-PCM-driver software volume control.Michael Sevakis2013-04-11
| | | | | | | | | | | | | | | | | | | | | | Implements double-buffered volume, balance and prescaling control in the main PCM driver when HAVE_SW_VOLUME_CONTROL is defined ensuring that all PCM is volume controlled and level changes are low in latency. Supports -73 to +6 dB using a 15-bit factor so that no large-integer math is needed. Low-level hardware drivers do not have to implement it themselves but parameters can be changed (currently defined in pcm-internal.h) to work best with a particular SoC or to provide different volume ranges. Volume and prescale calls should be made in the codec driver. It should appear as a normal hardware interface. PCM volume calls expect .1 dB units. Change-Id: Idf6316a64ef4fb8abcede10707e1e6c6d01d57db Reviewed-on: http://gerrit.rockbox.org/423 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* rk27xx: implement radio supportAmaury Pouly2013-04-11
| | | | | | | Change-Id: I59d3905e9b2a3df8aa235e424c7a6e0eff6d73e9 Reviewed-on: http://gerrit.rockbox.org/427 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com> Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
* Increase MAXUSERFONTS to 12.Frank Gevaerts2013-04-01
| | | | | | | | | In the modern everything-can-be-skinned world, themes are beginning to hit the limit of 8 fonts (which includes sysfont). Increasing this to 12 will allow some headroom, at the cost of a bit more RAM usage (about 20 bytes per extra possible font, so about 80 bytes total here) Change-Id: Iddf4374b7ccf92b400614a7309bf3d2147ba98ab
* jz4740: a few minor fixesMarcin Bukat2013-03-11
| | | | | | | | | | | | | | | | | | | | | | | This was spotted while playing with qemu-jz: 1) rockbox reads TECR and TESR which are described as write-only registers. Datasheet doesn't mention what happens if they are readed. Apparently this doesn't have fatal side effects. It comes down to two defines from jz4740.h __tcu_stop_counter(n) and __tcu_start_counter(n) which use read-modify-write sequence. 2) rockbox accesses out of bound offset 0xd4 in DMA memspace. It comes from dis_irq() in system-jz4740.c. NUM_DMA is 6 but DMA channels are 0-5 so (irq <= IRQ_DMA_0 + NUM_DMA)) bound check is wrong. This are *NOT* tested on device. Change-Id: I29dff6a4f828030877b7d50fbcc98866478b9e3d Reviewed-on: http://gerrit.rockbox.org/338 Reviewed-by: Bertrik Sikken <bertrik@sikken.nl> Tested-by: Purling Nayuki <cyq.yzfl@gmail.com> Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
* Samsung YP-R0 LCD improvementsLorenzo Miori2013-03-06
| | | | | | | | | | | | This patch adds to YP-R0 (and other future targets using Linux framebuffer) the ability to use LCD_ENABLE to save some CPU cycles while display is powered off. This patch also changes the way to toggle LCD power: now using a proper ioctl call, slightly more efficient. Change-Id: I544de77f5abd4ac1c13d3fe3a6e40a30f7c0bece Reviewed-on: http://gerrit.rockbox.org/410 Reviewed-by: Thomas Martitz <kugel@rockbox.org>
* Samsung YP-R0 hosted target code refactoringLorenzo Miori2013-03-06
| | | | | | | | | | | | | | As per title this patch aims at splitting common target code and specific target code in a better way to support future ports within the same environment (e.g. Samsung YP-R1 where the Linux and the SoC are the same, with differences in hardware devices handling) Change-Id: I67b4918c46403b184d3d8f42ab5aae7d01037fd0 Reviewed-on: http://gerrit.rockbox.org/409 Reviewed-by: Thomas Martitz <kugel@rockbox.org> Tested-by: Thomas Martitz <kugel@rockbox.org>
* bitmap drawing: Use extra bit in mask to avoid nested if() in switch-cases.Thomas Martitz2013-02-12
| | | | | | Speeds up alpha bitmap drawing by up to 10%. mono bitmap drawing is also a tiny bit faster. Change-Id: I5a9379740c1a0091de9c621aabbe57d767ce2905
* PP: Do not use ATA DMA in bootloaderMarcin Bukat2013-01-24
| | | | | | | | | | The build of bootloader with HAVE_ATA_DMA fails because of missing commit_discard_dcache(). This seems to be bigger problem as bootloader builds don't call cache_init() also which seems wrong. but I know too little about the PP platform to judge. For now use ATA DMA only in regular builds. Change-Id: I82873cb1771f5a95ebfbef91ce26744e3abd743c
* Re-enable PP502x ATA DMABoris Gjenero2013-01-24
| | | | | | | | | | | | | | | | PP502x ATA DMA was disabled in 55fab77 because it caused various instability on all targets using it. This instability is fixed in 583c948 via FS#12391. Here, ATA DMA is enabled for all PP502x targets except nano1g and hdd6330. For nano1g, there may be other causes of instability and more testing is needed. ATA DMA does not work on hdd6330. Change-Id: I786b9edb19e74e6eb957ab205ea026f0969200ac Reviewed-on: http://gerrit.rockbox.org/340 Tested-by: David Hooper <dave@beermex.com> Tested-by: Boris Gjenero <boris.gjenero@gmail.com> Reviewed-by: Szymon Dziok <b0hoon@o2.pl> Tested-by: Szymon Dziok <b0hoon@o2.pl> Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
* imx233: enable cpu frequency scaling on all targetsAmaury Pouly2013-01-18
| | | | Change-Id: If19f51da5e4d66d7a85b3b9f50cbde115e73b6cb
* rk27xx: substitute magic constants with meaningful names for INTCMarcin Bukat2013-01-10
| | | | Change-Id: Ic93114db351a9940a53d0c1df6439d82ada044e1
* rk27xx: substitute magic constants with meaningful names for peripherials resetMarcin Bukat2013-01-10
| | | | Change-Id: Ia411c9be65376d1c3fdf59b7e692b0590d58775e
* rk27xx: substitute magic constants with meaningful names for clock gatingMarcin Bukat2013-01-10
| | | | Change-Id: I6c66c7496db3db78e5c959414464826134dbe200
* iPod Classic/6G: PCM support for all CS42L55 ratesCástor Muñoz2013-01-09
| | | | | | | pcm_dma_apply_settings(): sets the configured PCM frequency, all native CS42L55 sample rates are available. Change-Id: I2fcd5581457a669c3044516804cb64fb972218d0
* iPod6G (Classic) - enable HAVE_DISK_STORAGEHayden Pearce2012-12-29
| | | | | | | | | | Fixes missing Settings - General Settings - System - Disk - Spindown setting. Change-Id: Iae686598dfd7ad4ca1faf8db9f1271e7808de752 Reviewed-on: http://gerrit.rockbox.org/376 Reviewed-by: Michael Giacomelli <giac2000@hotmail.com> Tested-by: Michael Giacomelli <giac2000@hotmail.com>
* fuze+: implement lcd flip and invertAmaury Pouly2012-12-26
| | | | Change-Id: I1efcd0c6aa5e586b64c1b48d401648c7a933c4d9
* rk27xx: Add status led (icon) support to SD driverMarcin Bukat2012-12-16
| | | | Change-Id: I47a36c0cf7319c2b100b813fdcbea024c7ae0b0a
* Add the 9 segment lcd funciton to remote lcdsJonathan Gordon2012-12-09
| | | | Change-Id: I00f9a067522624a87befcf95a811b49ad685029c
* 9 segment bitmap drawing:Jonathan Gordon2012-12-09
| | | | | | | | | | Use %x9(id) to draw an image in the whole current viewport using the 9 segment drawer (which draws the corners as normal and *tiles* the middle segments to the needed width/height). Future work is to make it scale instead of tile Change-Id: Ic3ed1cad93f96091694801eb442e0da5a2401203
* usb: add support for hardware handled SET ADDR/CONFIGAmaury Pouly2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | Some USB controllers like the one of the Rockchip 27xx handle some requests in pure hardware. This is especially a problem for two of them: - SET ADDR which is used by our core to track the DEFAULT/ADDRESS state and is required for the drivers to work properly - SET CONFIG which is used by our core to initialise the drivers by calling init_connection() In these cases we need a way to notify the core that such requests happened. We do this by exporting two functions which directly notify the core about these requests and perform the necessary init steps required without doing the actual USB transfers. Special care is needed because these functions could be called from an interrupt handler. For this reason we still use the usb_queue and introduce new IDs so that they are processed in order and safely. No functional change is intended, both in the usbstack and on targets without such quirks. Change-Id: Ie42feffd4584e88bf37cff018b627f333dca1140
* Add a true waveform display to the oscilloscope plugin.Michael Sevakis2012-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Adds some additional niftyness like a floating popup display that is implemented in an OSD library for use by other plugins. * Speed changes are now gradual for both views and follow a curve derived from some fiddling around to get a nice feel. * Refined a few behavioral things overall. It needs a bit of help from a direct PCM channel callback so it may capture PCM for waveform display. Also need a few other core routines to help out for the OSD. Messes with some keymaps. Some targets need keymaps to access the different views. Some devices can't support the additional view because it requires a large buffer ( > 1 s) for samples. If the plugin buffer is small, they can still use the popup display since the plugin is also much smaller in that case. Slow speed waveform needs some refining so it draws gradually like a real oscilloscope but I'll stick with what it is, for the moment. Change-Id: Ieb5b7922a2238264e9b19a58cb437739194eb036 Reviewed-on: http://gerrit.rockbox.org/245 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* rk27xx: introduce meaningfull constants in usb driverMarcin Bukat2012-12-04
| | | | | | Based on pamaury's work. No (un)functional change yet. Change-Id: I7fe76c1da20d87d6c92eb3792e3d352877d423d7
* Include runtime current measurements for the ipod classic.Michael Giacomelli2012-11-25
| | | | | | Numbers taken from the battery benchmark wiki page. Change-Id: Id66d3a2b76d025ef688a12f11e9274afd9bdfe58
* logdiskf.h - fix wrong cpp conditionalsMarcin Bukat2012-10-22
| | | | Change-Id: I6721227938955915fede32b6748802f7abf4b391
* imx233: fix user timerAmaury Pouly2012-10-21
| | | | | | | | | The running count is only 16-bit wide, since the always tick setting derives from the crystal clock at 24MHz the user timer cannot be set lower than ~300Hz which is already too high. Switch to the 32KHz crystal source to fix this. Change-Id: Ie7775460b17ea7ab331738734e3d688ad5563857
* imx233/fuze+: add status led(icon) support to sd/mmc storage layerAmaury Pouly2012-10-10
| | | | Change-Id: I9c0e1ecd04d1935825606e906e6a434a3afb2175
* This patch adds RDS capability to Samsung YP-R0 target.Lorenzo Miori2012-10-06
| | | | | | | | | | | | Uses register polling method to decide when it's time to decode RDS packets. Change-Id: I1d3cc995ea3350ec7b101438b8f2027130d4a4c9 Reviewed-on: http://gerrit.rockbox.org/320 Reviewed-by: Lorenzo Miori <memorys60@gmail.com> Tested-by: Lorenzo Miori <memorys60@gmail.com> Reviewed-by: Thomas Martitz <kugel@rockbox.org> Tested-by: Thomas Martitz <kugel@rockbox.org>
* Add set_sleeptimer_duration function in minutesRichard Quirk2012-10-06
| | | | | | | | | | Make set_sleep_timer a static function and only call set_sleeptimer_duration externally, which is always called with minutes values. Change-Id: I985308bf014e354f91c47a0b2bf62f4f5a591919 Reviewed-on: http://gerrit.rockbox.org/327 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* rk27generic: Enable frequency scalingMarcin Bukat2012-09-27
| | | | Change-Id: Ia806994fc77c93fbd4c4c5ec234bb0f34641303a
* rk27xx lcd code reworkAndrew Ryabinin2012-09-27
| | | | | | | | | | | | | | | | Use DMA engine for fullscreen updates and bypass mode for partial updates. This gives major boost on rk27generic: default ARM:AHB:APB 200:100:50 HEAD 1/1: 26.3fps 1/4: 105.0fps patched 1/1: 116.5fps 1/4: 249.5fps with freq scalling NORMAL mode ARM:AHB:APB 50:50:50 HEAD 1/1: 13.1fps 1/4: 52.5fps patched 1/1: 54.5fps 1/4: 119.0fps Tested on rk27generic noname DAP and on Hifimans. Change-Id: Id9dd4d2d61542c7ea6b5c6336b170d6357cefde9
* imx233: properly disable frequency scaling for nowAmaury Pouly2012-09-04
| | | | Change-Id: I3d700762a7f46e82ac99fed03e1aa9448b6cba47
* rk27xx: implement frequency scallingMarcin Bukat2012-08-30
| | | | | | | | | | | | | | Implemented scheme: ARM AHB APB Normal 50 50 50 MHz Max 200 100 50 MHz Frequency scaling is disabled on rk27generic due to too slow lcd updates when running with 50MHz AHB. battery_bench shows ~1h runtime improvement on hifiman. Change-Id: I2c6f8acf6d4570c4e14f5bcc72280b51ce13c408
* Only build LOGFDISK for SWCODEC.Frank Gevaerts2012-08-28
| | | | | | | | Due to the way Archos devices (i.e. the only HWCODEC devices) boot, memory is tight these days. Disabling LOGFDISK on them will make them work for now. In the long term a better solution is needed. Change-Id: Ifc6bb97a81cc33545294e319bbc0a6c499788d39
* imx233: simplify sd/mmc driverAmaury Pouly2012-08-21
| | | | | | | | | | | | Further merge drivers by using the same command and data functions. No use one mutex per drive instead of a global sd lock. Fix the RCA handling which was different between SD and MMC (shifted 16) and thus confusing. Add MMC commands definition to the mmc.h header similarly to the SD one. Change MMC handling a bit by selecting/deselecting on each transfer like SD, which allows for several MMC devices in theory and is more uniform. Change-Id: I7024cb19c079553806138ead75b00640f1d2d95c
* imx233: merge sd and mmc drivers, fix dma issuesAmaury Pouly2012-08-18
| | | | | | | | | | Merge sd and mmc drivers into a single sdmmc driver. This allows some factoring of the code and simplify bug fixing. Also fix the dma/cache related issue by doing all transfers via a correctly aligned buffer. The current code is not smart enough to take advantage of large user buffers currently but at least it is safe! Change-Id: Ib0fd16dc7d52ef7bfe99fd586e03ecf08691edcd
* Don't enable log to disk on PCTOOL builds since there is no disk to log to.Michael Giacomelli2012-08-06
| | | | Change-Id: Ida589bcd20227f626349f80293bb423d784519be
* Remove copy/pasted preprocessor defines that shouldn't have been included.Michael Giacomelli2012-08-06
| | | | | | | | Also, add dummy defines for application targets so that ERRORF, etc map to DEBUGF instead of a compile error and add a new line at the end of logf.c. Change-Id: Ie7c5bc3397a853af619e810defce6123114e7a51
* Enable logdiskf to for all device targets, but not bootloaders or applicationMichael Giacomelli2012-08-06
| | | | | | builds. Change-Id: I651900fda676433841cfd14dba05bcb4116e0002
* Introduce logging to disk feature into rockbox.Michael Giacomelli2012-08-07
| | | | | | | | | | | | | | | | | Logs information, errors, etc to disk using the register_storage_idle_func mechanism to write to the disk when available. Currently, this is disabled in normal builds, but can be enabled by adding ROCKBOX_HAS_LOGDISKF to the config file. By default, it uses a 2KB buffer and drops text if the buffer overflows. The system includes a simple warning level mechanism that can be used to by default exclude non-serious errors from logging on release builds. Change-Id: I0a3d186a93625c7c93dae37b993a0d37e5a3a925 Reviewed-on: http://gerrit.rockbox.org/288 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info> Tested-by: Michael Giacomelli <mgiacomelli@gmail.com> Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com>
* Fix database tool.Thomas Martitz2012-07-31
| | | | | | | It was also broken functionally, probably since a while.So restore the functionality. Run it on the dap, the tcd files will be placed into .rockbox folder. Change-Id: Id7a6ce4389dfaf99799258902be80d630af0601c