blob: 1750bed7c2f6ed66d92152c089e810e0332b1251 [file] [log] [blame]
Mark Brown9a76f1f2010-08-05 13:20:59 +01001/*
2 * wm8962.h -- WM8962 Soc Audio driver platform data
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef _WM8962_PDATA_H
10#define _WM8962_PDATA_H
11
12#define WM8962_MAX_GPIO 6
13
14/* Use to set GPIO default values to zero */
15#define WM8962_GPIO_SET 0x10000
16
Mark Brown7cd873c2011-04-25 20:01:42 +010017#define WM8962_GPIO_FN_CLKOUT 0
18#define WM8962_GPIO_FN_LOGIC 1
19#define WM8962_GPIO_FN_SDOUT 2
20#define WM8962_GPIO_FN_IRQ 3
21#define WM8962_GPIO_FN_THERMAL 4
22#define WM8962_GPIO_FN_PLL2_LOCK 6
23#define WM8962_GPIO_FN_PLL3_LOCK 7
24#define WM8962_GPIO_FN_FLL_LOCK 9
25#define WM8962_GPIO_FN_DRC_ACT 10
26#define WM8962_GPIO_FN_WSEQ_DONE 11
27#define WM8962_GPIO_FN_ALC_NG_ACT 12
28#define WM8962_GPIO_FN_ALC_PEAK_LIMIT 13
29#define WM8962_GPIO_FN_ALC_SATURATION 14
30#define WM8962_GPIO_FN_ALC_LEVEL_THR 15
31#define WM8962_GPIO_FN_ALC_LEVEL_LOCK 16
32#define WM8962_GPIO_FN_FIFO_ERR 17
33#define WM8962_GPIO_FN_OPCLK 18
34#define WM8962_GPIO_FN_DMICCLK 19
35#define WM8962_GPIO_FN_DMICDAT 20
36#define WM8962_GPIO_FN_MICD 21
37#define WM8962_GPIO_FN_MICSCD 22
38
Mark Brown9a76f1f2010-08-05 13:20:59 +010039struct wm8962_pdata {
Mark Brown3367b8d2010-09-20 17:34:58 +010040 int gpio_base;
Mark Brown9a76f1f2010-08-05 13:20:59 +010041 u32 gpio_init[WM8962_MAX_GPIO];
42
Mark Browna4f28c02010-09-29 13:24:35 -070043 /* Setup for microphone detection, raw value to be written to
44 * R48(0x30) - only microphone related bits will be updated.
45 * Detection may be enabled here for use with signals brought
46 * out on the GPIOs. */
47 u32 mic_cfg;
48
Mark Brown45e65502010-09-28 16:01:20 -070049 bool irq_active_low;
50
Mark Brown9a76f1f2010-08-05 13:20:59 +010051 bool spk_mono; /* Speaker outputs tied together as mono */
52};
53
54#endif