path: root/firmware/target/arm/imx233/creative-zenxfi2
AgeCommit message (Collapse)AuthorFilesLines
2022-03-21Lcd save function pointer to frame buffer get_address_fn before loopsWilliam Wilgus1-1/+2
Calling multiple levels of indirection in a loop slows things down Really these need to be rewritten to take a start and end address like most of the rest of the codebase But this is safer without having test hardware in hand Change-Id: Idae7b92ee779d020ed7fcc9334e2d5a9c710e64d
2018-04-03Zen XFi2: Enable PluginsSebastian Leonhardt1-2/+0
Keymaps aren't tested, there may be room for improvement. Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2017-09-17zenxfi2: fix touchscreen bugAmaury Pouly1-9/+6
Due to some undocumented behavior, the touchscreen was almost unusable in point mode. Now it's much better but still not very nice to use, probably it needs some filtering. Change-Id: Idc8a0214b09f268e6be907ee6ec3126cc0d88773
2016-09-21imx233: make microphone bias, bias pin and resistor configurableAmaury Pouly1-0/+4
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
2015-01-12Get rid of stupid _backlight_* function namesMarcin Bukat2-10/+10
_remote_backlight_* and _buttonlight_* are cleaned as well Change-Id: I73653752831bbe170c26ba95d3bc04c2e3a5cf30
2014-02-22zenxfi2: switch to new button driverAmaury Pouly1-26/+12
Change-Id: I5c5bc33d0cc08316e4d853e81a5ba4fb9c5b08d9
2014-02-16zenxfi2: implement headphones detectionAmaury Pouly1-0/+9
Change-Id: Ifbc8b10cebb3b7b126f1d6a212f6731f91e234e4
2014-02-16zenxfi2: add speaker supportAmaury Pouly1-0/+3
Change-Id: I37b85e23e6af92939700d640dbea74c646f49b7b
2013-12-24zenxfi2: remove unused functionAmaury Pouly1-5/+0
Change-Id: I98acfc9394ac83a45985364fdfad85af2f7d1773
2013-11-25imx233: add the possibility to choose audio output coupling modeLorenzo Miori1-0/+2
via target-defined option Change-Id: I1bffbc7f17a11cf690a771057c2e4a7ba6a5faaa Reviewed-on: Reviewed-by: Amaury Pouly <>
2013-11-19imx233: factor fmradio i2c and tuner power codeAmaury Pouly2-60/+6
Choices are limited for those: i2c is either generic software or imx233 hardware and power is either none or with a gpio. So factor ever possible combination in a single common file and use fmradio-target.h to supply the required parameters. This will remove a bunch of duplicate code. Change-Id: If12faeb2e371631cd39cc18a4c1d859812007934
2013-11-19imx233: factor adc accross targetsAmaury Pouly2-72/+0
The old code allowed each target to specify its adc targets but this proved useless since the target rely directly on imx233/lradc for input method and generic adc is mostly used for battery and debug. Remove all target specific files and provide a generic implemenation. The targets can still specify a battery temperature channel in powermgmt-target.h Change-Id: I68cf2e3e46379d174ac6d774ffb237bb15a19ae3
2013-09-26fuze+/zenxfi2: make sure pixclk is running before initialising lcdifAmaury Pouly1-1/+1
Change-Id: I50b2376d5f6dcf4dde994b533e0b946589a737e8
2013-09-05touch devices: Disable touch on softlock.Jean-Louis Biasini1-1/+6
Target that have a touchpad/touchscreen should disable it while being locked (In order to avoid LCD to drain battery power due to "key locked" constant reporting messages. If they a have a keylock button this was already handled at driver level. If not (e.g. fuze+), they will have to implement a switch at driver level that action.c can operate on softlock. This patch does the following for any target having a touchpad or a touchscreen and no HAS_BUTTON_HOLD (ie any softlock target) 1) it implements the code to call button_enable_touch(bool en) in action.c. 2) button_enable_touch is implemented in button.c and call either touchpad_enable or touchscreen_enable 3) those two function are implemented respectively in touchscreen.c and a new touchpad.c file. They provide a generic way to silents touch's device and call a function at driver level where target specific code can be implemented if possible/needed (for power saving for instance). Those function name are touchpad_enable_device and touchscreen_enable_device 4) we implement an empty function at driver level of targets that need it to have them still being able to compiled. Change-Id: I9ead78a25bd33466a8533f5b9f259b395cb5ce49 Reviewed-on: Reviewed-by: Thomas Martitz <> Reviewed-by: Amaury Pouly <>
2013-06-20zenxfi2: remove lcd yuv blitting code (duplicate from generic)Amaury Pouly1-193/+0
Change-Id: I2be7d5f9cbc2086673c731e7b76b7d7d6f728f26
2013-06-18zenxfi2: drop audio routing driver in favor of the generic oneAmaury Pouly1-35/+4
Change-Id: I8186f4b8e7cdc5abc549dffb033178921f447998
2013-06-17imx233: fix/improve lcdif for stmp3600 and stmp4700, fix driversAmaury Pouly1-70/+14
Factorise pin setup, rewrite PIO code, add support for lcdif irq, handle all the various differences between the stmps, drop yuv blitting code since it already exists in the common lcd drivers. Change-Id: Ifc40aed9b3b12f16611ce960602e46a5bc87ae53
2013-06-17imx233: fix pinctrl for stmp3600 and stmp3700Amaury Pouly2-5/+4
Change-Id: I87281b89315890fa285cb9a63fda5c90bdc8cdbf
2013-06-17imx233: enhance pwmAmaury Pouly1-4/+2
The current pwm interface is too low-level. Introduce a higher level setup function which directly computes the parameters from the required frequency. Change-Id: Ie95c7522e9f42492fe872203f4cab46770a9649a
2013-06-17imx233: normalise clkctrlAmaury Pouly1-4/+4
The clkctrl functions were becoming a mess. Normalise the names, get rid of the xtal derived as special case and use the same interface. Change-Id: Ib954a8d30a6bd691914b5e0d97774ec9fc560c50
2013-06-17imx233: normalise pinctrl namesAmaury Pouly2-36/+36
The current pinctrl functions were a mess. Normalise the functions names to make them shorter and clearer. Change-Id: Iac6ff84625ef2b7610268e3a5802dc0088de3167
2013-06-16imx233: rewrite pwm using new registersAmaury Pouly1-3/+3
Change-Id: Ie222f0b25f4b8af9ccf21aecd82a7f4eba40aa3c
2013-06-16imx233: rewrite pinctrl using new registersAmaury Pouly1-2/+2
Change-Id: I907a0b599ef65061360c215580f96f59b78b615b
2013-06-16imx233: rewrite lradc using new register headersAmaury Pouly1-1/+1
Change-Id: I06e4467c0ffe33145e6192528b074a23a8df67cc
2013-06-16imx233: rewrite lcdif using the new register headersAmaury Pouly1-7/+7
Change-Id: I94329a65a7c6a4127fa05b77b9a7a291f8a50013
2013-01-12imx233: correctly send the LCD_EVENT_ACTIVATION on enableAmaury Pouly1-0/+2
For some reason it is the responsability of the driver to send this event so do it. This might fix some non-updating screens. Change-Id: Ib5fdc94bf266c3497a8ac4e89d0418c0e876ff9f
2013-01-12imx233: enable underflow recovery in lcdif (needed for freq scale)Amaury Pouly1-0/+1
When chaging the cpu and memory frequency we need to disable the external memory interface (EMI) for a small time. This can underflow the dma and cause some breakage. Hopefully the SSP controller handles this gracefully by stopping the clock and the I2C probably handles this naturally because the clock can be streched anyway. However the LCDIF has a special setting for this which needs to be enable, otherwise it will send garbage to the LCD. No other block is known to suffer from this currently but this issue might have more unexpected consequences. Change-Id: Ide154cad87929f2bf6cc419ac1d2ff33e30eec66
2012-05-22zenxfi2: acquire button pinsAmaury Pouly1-0/+9
Change-Id: I5d66ae10945f5231616c266ee74275cc69b036de
2012-05-22zenxfi2: acquire lcd pins before useAmaury Pouly1-0/+9
Change-Id: Ia49dfdefd37e89ecd160add3592f9e15ce415e65
2012-05-20zenxfi2: add fmradio i2c glueAmaury Pouly1-0/+40
Change-Id: Ifa8781b3c416002355b17591a4fdbed8a20979a8
2012-05-19Initial commit for the Creative ZEN X-Fi2 and X-Fi3 portsAmaury Pouly13-0/+1104
These are really similar devices so one commit for both is ok. Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3