summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChao Jiang <chaoj@nvidia.com>2011-02-25 17:52:16 +0900
committerVarun Colbert <vcolbert@nvidia.com>2011-03-04 18:25:35 -0800
commitb68ba5254adf9818bf792764f91decf139ecf4d7 (patch)
tree7740643dbd0f8121984359fe0c759f3952d1dbc9 /include
parent006978e984398621621a62a761d5b70d566c6e7f (diff)
ASoC: WM8903: Expose gpio pins via GPIOLIB
Exposed gpio pins on wm8903 via GPIOLIB. This will help ALSA control drivers to manipulate the codec much more easier. Change-Id: I070eafa6e9a533cc0c285c1780d1b8393105def1 Reviewed-on: http://git-master/r/20883 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/sound/wm8903.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/include/sound/wm8903.h b/include/sound/wm8903.h
index b4a0db2307ef..3c993bd23f2c 100644
--- a/include/sound/wm8903.h
+++ b/include/sound/wm8903.h
@@ -15,6 +15,22 @@
#define WM8903_GPIO_NO_CONFIG 0x8000
/*
+ * WM8903_GPn_FN values
+ *
+ * See datasheets for list of valid values per pin
+ */
+#define WM8903_GPn_FN_GPIO_OUTPUT 0
+#define WM8903_GPn_FN_GPIO_BCLK 1
+#define WM8903_GPn_FN_GPIO_IRQ_OUTPUT 1
+#define WM8903_GPn_FN_GPIO_INPUT 3
+#define WM8903_GPn_FN_GPIO_MICBIAS_CURRENT_DETECT 4
+#define WM8903_GPn_FN_GPIO_MICBIAS_SHORT_DETECT 5
+#define WM8903_GPn_FN_GPIO_DMIC_LR_CLK_OUTPUT 6
+#define WM8903_GPn_FN_GPIO_RESERVED 7
+#define WM8903_GPn_FN_GPIO_FLL_LOCK_OUTPUT 8
+#define WM8903_GPn_FN_GPIO_FFL_CLOCK_OUTPUT 9
+
+/*
* R6 (0x06) - Mic Bias Control 0
*/
#define WM8903_MICDET_HYST_ENA 0x0080 /* MICDET_HYST_ENA */
@@ -231,6 +247,9 @@
#define WM8903_GP5_DB_SHIFT 0 /* GP5_DB */
#define WM8903_GP5_DB_WIDTH 1 /* GP5_DB */
+/* the number of gpio pins */
+#define WM8903_NUM_GPIO 5
+
struct wm8903_platform_data {
bool irq_active_low; /* Set if IRQ active low, default high */
@@ -243,7 +262,9 @@ struct wm8903_platform_data {
int micdet_delay; /* Delay after microphone detection (ms) */
- u32 gpio_cfg[5]; /* Default register values for GPIO pin mux */
+ int gpio_base;
+
+ u32 gpio_cfg[WM8903_NUM_GPIO]; /* Default register values for GPIO pin mux */
};
#endif