summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2016-12-12imx233: slightly rework 3D audio settingAmaury Pouly
The old code made the setting appear as 0dB, 1.5dB, 3dB and 4.5dB when in fact it is 0dB, 3dB, 4.5dB and 6dB. This commit clarifies the code and also fix this at the same time. This imx233 3D enhancement is complete crap anyway but now you can satisfy yourself with 6 dB of pure crap, clearly an enhancement. Change-Id: Ia3e088987c1ff0cdde228905ff70f46476a499a2
2016-12-12Document AUDIOHW_SETTINGAmaury Pouly
Everytime I use it, I get highly confused because it's complicated and undocumented. The code is spread all over the place and some targets clearly use incorrect values. This is the first step of a series to cleanup audio settings and document it properly. Change-Id: I20cb7af2bfa33986cb8b0bf8573f17a92227f893
2016-12-12imx233: refactor power off and rebootAmaury Pouly
There is no reason to use different code paths Change-Id: I4894c7963c802b56b5d3576909e1008a7c401935
2016-12-12Make it clear that the NWZ-E370 port also handles NWZ-E380Amaury Pouly
Change-Id: Icc061f15f4cac3d8bd9f95ea3b583556a9402f0b
2016-12-12imx233: add capability to boot OF or updater instead of RockboxAmaury Pouly
This commit adds the necessary code in the dualboot stub (bootloader) to let rockbox control the boot process. In particular, rockbox can now choose if the next boot will be normal (boot rockbox or OF on magic key), to OF or to updater. The intents (to be added in follow-up commits) are: 1) Let the user more easily reboot to the OF. On some targets it is not trivial, especially in USB mode. 2) Automatically reboot to updater when the user drop firmware.sb at the root of the drive (currently, the user needs to do that in OF USB mode) 3) Document this OF magic Change-Id: I86df651dec048c318c6a22de74abb8c6b41aa9ad
2016-10-02SA9200: Remove duplicated and misleading define.Szymon Dziok
Change-Id: I51f61349de8c32eeb70ca1812e7b34823f482f18
2016-10-02HDD16X0/HDD63X0: Enable power status of charging from USB.Szymon Dziok
Change-Id: I7b1e5e87921ae0770f7783680c3dbcdbf6f257f3
2016-09-25HDD6330: Implement ATA power on/off.Szymon Dziok
This should fix some errors, panics in some individual cases. Change-Id: I27ce41f0563378e03371724f8b044404c6e69b76
2016-09-23Fix makefile not rebuilding rbversion.h in some casesAmaury Pouly
For example when running make VERSION="bla" Change-Id: I8f8833f0fb200828346ed0a6842a9340e3653932
2016-09-22fix red on stmp<3780Amaury Pouly
Change-Id: I74f0450e8f42032265b980b95f17b0b05d9dffa5
2016-09-22imx233: add power-up source to the debug menuAmaury Pouly
Change-Id: Ib67385354b1d6529d41198bfdcb1ecd092e9b98b
2016-09-21imx233: make microphone bias, bias pin and resistor configurableAmaury Pouly
This clearly fixes recording on targets where the bias pin was wrong. It may also improve recording on targets where the bias voltage was wrong. I was unable to find those parameters on the ZEN Mozaic, which fallback to default values. Change-Id: Ifb5f823c9cbd01f0d9a80fa5d49d93972c8b7cfe
2016-09-21imx233: fix recording gainAmaury Pouly
For some reason, there was a mismatch between the setting (decibel) and the audiohw code (centicel). This resulted in a gain divided by 10. This may explain why some people experienced low volume with the mic on the fuze+. Change-Id: I138ac18dd93c36f43a7dfce735efc826405c598c
2016-08-29as3543: fix audio gap when switching from dac to line-in/recordingAmaury Pouly
Also clarity parts of the code. The old code suffered from two defects: - it was very unclear because it made changes to whole registers (using as3514_write) instead of fields (using as3514_set/clear/write_masked). Also the routing code was spread accross several functions which made it hard to follow. - it did not properly reroute audio on monitor changes. In particular, the following could happen: when switching from DAC to radio, the code would fail to clear SUM_off, resulting in a weird situation where the main mixer was off (SUM_off) but the headphone where using the main mixer as input. Incredibly this worked anyway (at least on AMSv2 and YP-R0) but resulted in strange volume gaps between DAC and radio mode. Change-Id: I7826835fdb59c21f6483b223883ca9289e85caca
2016-08-22Fix two typos in commentsAmaury Pouly
Change-Id: I39e42c5e4505e78711e30f8826b6760419434ca0
2016-08-22imx233: add alarm value to debug menuAmaury Pouly
Hopefully this can help debugging alarm problems. Change-Id: Id8c5603a6372744dfc62890443a37de2dd92a7c0
2016-08-19iPod Classic: NOR support for bootloaderCástor Muñoz
- NOR driver (based on emCORE) - read/write IM3 images - read 'flsh' files Change-Id: Ie0654e0d298affc0f47ed64b823767118bd1aa3f
2016-08-19iPod Classic: hardware AES and SHA1 for bootloaderCástor Muñoz
Based on emCORE. Low level functions that do not depend on Rockbox kernel, intended to be used by the bootloader, dualboot-installer, RB drivers or other .dfu tools. Change-Id: I3c616ded42260c6626bda23b7e580791981df61d
2016-08-19iPod Classic: SPI driver for bootloaderCástor Muñoz
Based on emCORE. Low level functions that do not depend on Rockbox kernel, intended to be used by the bootloader, dualboot-installer, RB drivers or other .dfu tools. Change-Id: Iad369627b55bf1778eab437424072f1a653e4db6
2016-08-15as3525v2: use the new USB DesignWare driverCástor Muñoz
Targets: sansaclipplus, samsaclipv2, sansaclipzip, sansafuzev2. Change-Id: I7773528a4e26707dd33fe9cb8948750d49570701
2016-08-12iPod Classic: rework on I2C driverCástor Muñoz
- Some rewrite with the intent to get ride of these random errors appearing on some builds/devices (not much noticeable on RB but can ruin bootloader builds). - Error handling (ACK). - IIC clock increased to be the same as in OF. Change-Id: Idf8cfa3c230a0a61ec9c879bf6f0ea8b061a4607
2016-08-12iPod Classic: ADC updatesCástor Muñoz
Add code to read USB D+/D- and accessory ADCs, it is shown in HW debug menu, might be useful in future for RB and/or the bootloader to identify external USB chargers. Change-Id: Ia48ca5e06bb7ddc52bb55abedde6734653ce8dba
2016-08-11Increase CVDD1 only for Clip+ version 0Mihail Zenkov
Change-Id: I839ba2191a5c52ef6f58fd4a273db628b690a05c
2016-08-10Increase CVDD1 for Clip+ to prevent ATA errorMihail Zenkov
Change-Id: I0424d02196a6c5fb6d0185b007df5ece24b10b82
2016-08-04usb_serial: fix send buffer alignmentCástor Muñoz
Change-Id: Ib2635c905462cd34befa3ca61e5d55c869686b48
2016-08-02iPod Nano 2G: use the new USB DesignWare driverCástor Muñoz
Change-Id: I8d1561bf4e239b55617a8d5075457a668e0c312c
2016-08-02iPod Classic: use the new USB DesignWare driverCástor Muñoz
Change-Id: I36aabb5cb9cfe2d8c4f8fbcea944efec58ef9671
2016-08-02Introduce new USB driver for Synopsys DesignWare USB OTG core.Cástor Muñoz
Based on g#844 and g#949, it is intended as a replacement for the current s3c6400x USB driver. The DesignWare USB OTG core is integrated into many SoC's, however HW core version and capabilities (mainly DMA mode, Tx FIFO mode, FIFO size and number of available IN/OUT endpoins) may differ: CPU targets HW ver DMA NPTX FIFO FIFO sz #IN/OUT -------- ------------- ------ --- --------- ------- ------- as3525v2 sansaclipplus 2.60a Yes Dedicated 0x535 4/4 sansaclipv2 sansaclipzip sansafuzev2 s5l8701 ipodnano2g 2.20a Yes Shared 0x500 4/5 s5l8702 ipod6g 2.60a Yes Dedicated 0x820 7/7 ipodnano3g s5l8720 ipodnano4g ? ? ? ? ? Functionality supported by this driver: - Device mode, compatible with USB 1.1/2.0 hosts. - Shared FIFO (USB_DW_SHARED_FIFO) or dedicated FIFOs. - No DMA (USB_DW_ARCH_SLAVE) or internal DMA mode. - Concurrent transfers: control, bulk (usb_storage, usb_serial) and interrupt (usb_hid). Actually this driver is not used by any CPU, it will be enabled for each individual CPU/target in next patches. Change-Id: I74a1e836d18927a31f6977d71115fb442477dd5f
2016-06-12zenxfi3: recalibrate battery curveAmaury Pouly
Apparently I simply forgot to calibrate it when the port was done and the current values are just plain wrong, especially for the charging curve. Change-Id: Ied3cafa52f31f182f953714e28edc4c5e891255f
2016-06-10iPod Nano2G: clear external interrupts at startupCástor Muñoz
Fixes some ROLO issues after commit 9a4cd2e. Note that other ROLO issues still persist. Change-Id: I8e0c60519902013694c5a473dcb9fc62a6ff079c
2016-06-08imx233: fix power off codeAmaury Pouly
There are two very suspicious things in the power off code: - it does not properly unlock the power register, so it should fail (!) - it does not disable sw/hw watchdog so if register fails, the device will most probably crash horribly because of the watchdog I don't even understand how it worked before. Change-Id: I9f3f94bd012e52c3b50cd5b658d68b5eb907f79b
2016-06-01fix yellowAmaury Pouly
Change-Id: Ie18d7f83ba3e7293d4cd110429e1578930d35d99
2016-06-01imx233: fix stupid typo in debug screenAmaury Pouly
Change-Id: Ife43543d6eee6522f4016f37479a20a0db39240d
2016-06-01zenxfi3: rewrite mpr121 driverAmaury Pouly
The new driver uses an asynchronous architecture for touch status reading. Change-Id: Ic75a8b91bc47ee16c3af873afde178cd70186376
2016-06-01fuze+: rewrite touchpad driverAmaury Pouly
The old driver was bad in many respect, it had some race conditions, it was using a thread to serialize transfers because of the legacy i2c interface. It also had huge latency (typically 50ms but delays up to 300ms can happen), thus some presses were missed. The new driver takes advantage of the new i2c driver to do everything asynchronously. It also does not need a thread anymore because queueing ensures proper serialization. It provides much better and reliable latency (typically ~2ms). Also fix the debug screen which was horribly broken. The new screen also displays the deadzones. Change-Id: I69b7f99b75053e6b1d3d56beb4453c004fd2076e
2016-06-01imx233: rewrite i2c driverAmaury Pouly
The new driver provides several new features: - asynchronous transfer - transactions (several transfers executed at once) - queueing The style still provides the legacy interface. Change-Id: I6d8ecc89d1f7057847c9b2dc69b76cd45c9c8407
2016-05-29Fix red, forgotten fileAmaury Pouly
Change-Id: Ia9c1e924c84772205472289494c62a63a3433727
2016-05-29imx233: two minor fixes for sd/mmcAmaury Pouly
Always enable support for SET_BLOCK_COUNT on mmc: it is mandatory. For some reason (probably a mistake) it was disabled unconditionaly on mmc. Also deselect sd card after init. Although it is unlikely to make a difference, it is already done for mmc so stay consistent. Change-Id: I276f0d95f5bb6a0bf431c2fff4589d3dfb15f8c7
2016-05-29imx233: add sd/mmc debug screenAmaury Pouly
The screen currently displays for each device the bus width, set_block_count support, HS capability and whether it is enabled for not. Change-Id: I6b1c3b1019e55ef1097a23c1f54fb07f5c7aa3b0
2016-05-29imx233: fix button debug screen on landscape mode screenAmaury Pouly
Some players like the ZEN X-Fi have a wide but not tall screen, it is thus better to display everything on one line for each button Change-Id: Ided3d4ff689cc5d3bcc2bdba4c7e046cf7dc0954
2016-05-28imx233: fix redAmaury Pouly
stop pretending that stmp3600 and stmp3700 have a 4.2V power rail Change-Id: If2506ed3e7c5db96dedc668f0931d59a5197dd88
2016-05-28imx233: add new power debug screenAmaury Pouly
This screen allows to put the device in a special mode where: - charging is disabled - device only draws power from 5V (thus battery is untouched) This is useful to measure the device consumption by measuring directly the usb power consumption. Change-Id: I2716ced0a5bb33c3c9a2607f2d17a0ce02f5689c
2016-05-28imx233: fix debug screen button handlingAmaury Pouly
The code was very primitive and did not handle release events properly. Change-Id: I1c56005282a9fb6608f79ff3b483ba614d635fdb
2016-05-28imx233: speedup charging trickle phaseAmaury Pouly
Per Freescale recommandation, we need to ramp up the 4.2V rail before enabling charging. Ramping should be done at 1 step/10ms, but the old code did 1 step/1s because the powermgmt_step() function is called once every second. Use a tick task to ramp up much faster. Change-Id: I9a52bdd0c2ba5426d83ed42db8db7ecce2fea1f7
2016-05-28imx233: fix system_exception_wait()Amaury Pouly
The old code used button_get() to read the button status and wait for a key to leave the panic screen. This is broken since when IRQ are disable, the button mask is not updated anymore for touchpad and adc buttons. For now, only use pswitch: this should be good enough for all targets. Change-Id: I0ae179e24555ac20c3d2bf2d267c1bb0e2ceded0
2016-05-28imx233: fix frequency reportingAmaury Pouly
The code reported the frequency in kHz instead of Hz, thus breaking a debug screen. Change-Id: Id46de970cfb55bcdc09b63f59b244ee3ad6264b8
2016-05-28imx233: simplify timrot APIAmaury Pouly
The old timrot setup API was very low-level and unfriendly. The new one makes in easier to select the frequency source. Use to simplify timer and kernel timer code. Change-Id: Iffcdf11c00e925be9ec8d9a4efc74b197b6bd2aa
2016-05-28zenxfi3: fix headphone detectionAmaury Pouly
The adc channel monitored for jack detection does not really have a fixed value when plugged. Instead use the same logic as the OF and simply use a threshold. Change-Id: I1d5270d83eb14decce29a39d8201ea1d1fb4436c
2016-05-28nwz-370/380: increase adc button error marginAmaury Pouly
For some reason those targets have quite imprecise button voltages and the old margin was too small. This should fix the button-not-working issue, especially when the player is very hot and cold. Change-Id: I9fcddd7f079cd1c4ee121567fb21a4a0cbc0562b
2016-05-28imx233: enhance button driver adc handlingAmaury Pouly
The current driver is limited to checking if the adc value equals another one with a hardcoded margin. This commit changes two aspects of that: - the margin can be changed globally using IMX233_BUTTON_LRADC_MARGIN and can also be overriden per button using the new LRADC_EX macro - the lradc logic gained two comparison modes to check if the source value is greater (or lower) than a threshold. Change-Id: If1614451dafeae818a96e6f23a84e6731331ba03