summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-02-22 20:36:02 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2014-02-22 20:36:02 +0100
commita750b733521c7ac097bba5b9024c4bc1b82ee530 (patch)
treef5897f199990c9552deb534189e5fa76d92549e7
parent8660393c9f695a329527208a740127119e236734 (diff)
downloadrockbox-a750b733521c7ac097bba5b9024c4bc1b82ee530.tar.gz
rockbox-a750b733521c7ac097bba5b9024c4bc1b82ee530.zip
zenxfi2: switch to new button driver
Change-Id: I5c5bc33d0cc08316e4d853e81a5ba4fb9c5b08d9
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c38
1 files changed, 12 insertions, 26 deletions
diff --git a/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c b/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c
index 2e72eabdb4..bfefe2c13f 100644
--- a/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c
+++ b/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c
@@ -27,6 +27,15 @@
27#include "usb.h" 27#include "usb.h"
28#include "touchscreen.h" 28#include "touchscreen.h"
29#include "touchscreen-imx233.h" 29#include "touchscreen-imx233.h"
30#include "button-imx233.h"
31
32struct imx233_button_map_t imx233_button_map[] =
33{
34 IMX233_BUTTON(POWER, GPIO(0, 11), "power", INVERTED),
35 IMX233_BUTTON(MENU, GPIO(0, 14), "menu", INVERTED),
36 IMX233_BUTTON_(JACK, GPIO(2, 7), "jack"),
37 IMX233_BUTTON_(END, END(), "")
38};
30 39
31struct touch_calibration_point 40struct touch_calibration_point
32{ 41{
@@ -69,19 +78,8 @@ void button_init_device(void)
69 78
70 imx233_touchscreen_init(); 79 imx233_touchscreen_init();
71 imx233_touchscreen_enable(true); 80 imx233_touchscreen_enable(true);
72 81 /* generic */
73 /* power button */ 82 imx233_button_init();
74 imx233_pinctrl_acquire(0, 11, "power");
75 imx233_pinctrl_set_function(0, 11, PINCTRL_FUNCTION_GPIO);
76 imx233_pinctrl_enable_gpio(0, 11, false);
77 /* select button */
78 imx233_pinctrl_acquire(0, 14, "select");
79 imx233_pinctrl_set_function(0, 14, PINCTRL_FUNCTION_GPIO);
80 imx233_pinctrl_enable_gpio(0, 14, false);
81 /* jack detect */
82 imx233_pinctrl_acquire(2, 7, "jack_detect");
83 imx233_pinctrl_set_function(2, 7, PINCTRL_FUNCTION_GPIO);
84 imx233_pinctrl_enable_gpio(2, 7, false);
85} 83}
86 84
87static int touch_to_pixels(int *val_x, int *val_y) 85static int touch_to_pixels(int *val_x, int *val_y)
@@ -123,19 +121,7 @@ static int touchscreen_read_device(int *data)
123 return touchscreen_to_pixels(x, y, data); 121 return touchscreen_to_pixels(x, y, data);
124} 122}
125 123
126bool headphones_inserted(void)
127{
128 return imx233_pinctrl_get_gpio(2, 7);
129}
130
131int button_read_device(int *data) 124int button_read_device(int *data)
132{ 125{
133 int res = 0; 126 return imx233_button_read(touchscreen_read_device(data));
134 /* B0P11: #power
135 * B0P14: #select */
136 if(!imx233_pinctrl_get_gpio(0, 11))
137 res |= BUTTON_POWER;
138 if(!imx233_pinctrl_get_gpio(0, 14))
139 res |= BUTTON_MENU;
140 return res | touchscreen_read_device(data);
141} 127}