summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/creative-zen/power-zen.c
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-11-18 15:08:53 +0000
committerAmaury Pouly <amaury.pouly@gmail.com>2013-11-18 21:44:05 +0000
commita8b816ae9cc00fe216e43d9bd9276b5d8cf12b25 (patch)
tree729e7ad4ecf5b9a608177c37e7199cbac994bd0b /firmware/target/arm/imx233/creative-zen/power-zen.c
parentb770f639346fa8a40d07b9dcc66b3e378210b0a9 (diff)
downloadrockbox-a8b816ae9cc00fe216e43d9bd9276b5d8cf12b25.tar.gz
rockbox-a8b816ae9cc00fe216e43d9bd9276b5d8cf12b25.zip
creativezenmozaic: factor out code with the zen/zenxfi
Most of the code is similar, only the lcd driver is significantly different. Change-Id: I9eab1faf08d2356f2d820d6930ef3b0653349aa1
Diffstat (limited to 'firmware/target/arm/imx233/creative-zen/power-zen.c')
-rw-r--r--firmware/target/arm/imx233/creative-zen/power-zen.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/firmware/target/arm/imx233/creative-zen/power-zen.c b/firmware/target/arm/imx233/creative-zen/power-zen.c
index 81157da511..2c68325432 100644
--- a/firmware/target/arm/imx233/creative-zen/power-zen.c
+++ b/firmware/target/arm/imx233/creative-zen/power-zen.c
@@ -27,11 +27,29 @@
27#include "power-imx233.h" 27#include "power-imx233.h"
28 28
29static bool tuner_enable = false; 29static bool tuner_enable = false;
30static bool initialised = false;
31
32static void init(void)
33{
34#ifdef CREATIVE_ZENMOZAIC
35 /* CE is B2P15 (active high) */
36 imx233_pinctrl_acquire(2, 15, "tuner power");
37 imx233_pinctrl_set_function(2, 15, PINCTRL_FUNCTION_GPIO);
38 imx233_pinctrl_enable_gpio(2, 15, true);
39#endif
40 initialised = true;
41}
30 42
31bool tuner_power(bool enable) 43bool tuner_power(bool enable)
32{ 44{
33 if(enable != tuner_enable) 45 if(!initialised)
46 init();
47 if(tuner_enable != enable)
34 { 48 {
49#ifdef CREATIVE_ZENMOZAIC
50 imx233_pinctrl_set_gpio(2, 15, enable);
51 sleep(HZ / 5);
52#endif
35 tuner_enable = enable; 53 tuner_enable = enable;
36 } 54 }
37 return tuner_enable; 55 return tuner_enable;