summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/creative-zen/button-zen.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx233/creative-zen/button-zen.c')
-rw-r--r--firmware/target/arm/imx233/creative-zen/button-zen.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/firmware/target/arm/imx233/creative-zen/button-zen.c b/firmware/target/arm/imx233/creative-zen/button-zen.c
index cacc47d448..1997f91357 100644
--- a/firmware/target/arm/imx233/creative-zen/button-zen.c
+++ b/firmware/target/arm/imx233/creative-zen/button-zen.c
@@ -57,6 +57,19 @@ struct imx233_button_lradc_mapping_t imx233_button_lradc_mapping[] =
57 {2945, BUTTON_PLAYPAUSE}, 57 {2945, BUTTON_PLAYPAUSE},
58 {3400, 0}, 58 {3400, 0},
59 {0, IMX233_BUTTON_LRADC_END}, 59 {0, IMX233_BUTTON_LRADC_END},
60#elif defined(CREATIVE_ZENMOZAIC)
61 {0, IMX233_BUTTON_LRADC_HOLD},
62 {200, BUTTON_MENU},
63 {445, BUTTON_SHORTCUT},
64 {645, BUTTON_UP},
65 {860, BUTTON_LEFT},
66 {1060, BUTTON_RIGHT},
67 {1260, BUTTON_DOWN},
68 {1480, BUTTON_SELECT},
69 {2700, BUTTON_BACK},
70 {2945, BUTTON_PLAYPAUSE},
71 {3400, 0},
72 {0, IMX233_BUTTON_LRADC_END},
60#else 73#else
61#error wrong target 74#error wrong target
62#endif 75#endif
@@ -65,6 +78,11 @@ struct imx233_button_lradc_mapping_t imx233_button_lradc_mapping[] =
65void button_init_device(void) 78void button_init_device(void)
66{ 79{
67 imx233_button_lradc_init(); 80 imx233_button_lradc_init();
81#if defined(CREATIVE_ZENXFI) || defined(CREATIVE_ZENMOZAIC)
82 imx233_pinctrl_acquire(2, 8, "jack_detect");
83 imx233_pinctrl_set_function(2, 8, PINCTRL_FUNCTION_GPIO);
84 imx233_pinctrl_enable_gpio(2, 8, false);
85#endif
68} 86}
69 87
70bool button_hold(void) 88bool button_hold(void)
@@ -72,7 +90,7 @@ bool button_hold(void)
72 return imx233_button_lradc_hold(); 90 return imx233_button_lradc_hold();
73} 91}
74 92
75#ifdef CREATIVE_ZENXFI 93#if defined(CREATIVE_ZENXFI) || defined(CREATIVE_ZENMOZAIC)
76bool headphones_inserted(void) 94bool headphones_inserted(void)
77{ 95{
78 return !imx233_pinctrl_get_gpio(2, 8); 96 return !imx233_pinctrl_get_gpio(2, 8);