diff options
Diffstat (limited to 'firmware/target/arm/imx233/creative-zen/power-zen.c')
-rw-r--r-- | firmware/target/arm/imx233/creative-zen/power-zen.c | 20 |
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 | ||
29 | static bool tuner_enable = false; | 29 | static bool tuner_enable = false; |
30 | static bool initialised = false; | ||
31 | |||
32 | static 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 | ||
31 | bool tuner_power(bool enable) | 43 | bool 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; |