aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-10-27 04:43:40 -0400
committerTakashi Iwai <tiwai@suse.de>2011-10-27 04:43:40 -0400
commitbb14eb0da72afb69be261b28ec858cbd5a35e089 (patch)
treefa72a87d21e506c990b63657d782936311cfa7cf /include/linux
parent9430148d800dd929ad73da4c6afb67f793f8af43 (diff)
parent5927f94700e860ae27ff24e7f3bc9e4f7b9922eb (diff)
Merge branch 'topic/asoc' into for-linus
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mfd/twl6040.h38
-rw-r--r--include/linux/mfd/wm8994/core.h1
-rw-r--r--include/linux/mfd/wm8994/registers.h4
3 files changed, 20 insertions, 23 deletions
diff --git a/include/linux/mfd/twl6040.h b/include/linux/mfd/twl6040.h
index ec1ec794fa23..2463c2619596 100644
--- a/include/linux/mfd/twl6040.h
+++ b/include/linux/mfd/twl6040.h
@@ -68,8 +68,6 @@
68#define TWL6040_REG_ACCCTL 0x2D 68#define TWL6040_REG_ACCCTL 0x2D
69#define TWL6040_REG_STATUS 0x2E 69#define TWL6040_REG_STATUS 0x2E
70 70
71#define TWL6040_CACHEREGNUM (TWL6040_REG_STATUS + 1)
72
73/* INTID (0x03) fields */ 71/* INTID (0x03) fields */
74 72
75#define TWL6040_THINT 0x01 73#define TWL6040_THINT 0x01
@@ -122,34 +120,24 @@
122#define TWL6040_LPLLFIN 0x08 120#define TWL6040_LPLLFIN 0x08
123#define TWL6040_HPLLSEL 0x10 121#define TWL6040_HPLLSEL 0x10
124 122
125/* HSLCTL (0x10) fields */ 123/* HSLCTL/R (0x10/0x11) fields */
126
127#define TWL6040_HSDACMODEL 0x02
128#define TWL6040_HSDRVMODEL 0x08
129
130/* HSRCTL (0x11) fields */
131 124
132#define TWL6040_HSDACMODER 0x02 125#define TWL6040_HSDACENA (1 << 0)
133#define TWL6040_HSDRVMODER 0x08 126#define TWL6040_HSDACMODE (1 << 1)
127#define TWL6040_HSDRVMODE (1 << 3)
134 128
135/* VIBCTLL (0x18) fields */ 129/* VIBCTLL/R (0x18/0x1A) fields */
136 130
137#define TWL6040_VIBENAL 0x01 131#define TWL6040_VIBENA (1 << 0)
138#define TWL6040_VIBCTRLL 0x04 132#define TWL6040_VIBSEL (1 << 1)
139#define TWL6040_VIBCTRLLP 0x08 133#define TWL6040_VIBCTRL (1 << 2)
140#define TWL6040_VIBCTRLLN 0x10 134#define TWL6040_VIBCTRL_P (1 << 3)
135#define TWL6040_VIBCTRL_N (1 << 4)
141 136
142/* VIBDATL (0x19) fields */ 137/* VIBDATL/R (0x19/0x1B) fields */
143 138
144#define TWL6040_VIBDAT_MAX 0x64 139#define TWL6040_VIBDAT_MAX 0x64
145 140
146/* VIBCTLR (0x1A) fields */
147
148#define TWL6040_VIBENAR 0x01
149#define TWL6040_VIBCTRLR 0x04
150#define TWL6040_VIBCTRLRP 0x08
151#define TWL6040_VIBCTRLRN 0x10
152
153/* GPOCTL (0x1E) fields */ 141/* GPOCTL (0x1E) fields */
154 142
155#define TWL6040_GPO1 0x01 143#define TWL6040_GPO1 0x01
@@ -197,6 +185,7 @@ struct twl6040 {
197 int audpwron; 185 int audpwron;
198 int power_count; 186 int power_count;
199 int rev; 187 int rev;
188 u8 vibra_ctrl_cache[2];
200 189
201 int pll; 190 int pll;
202 unsigned int sysclk; 191 unsigned int sysclk;
@@ -221,10 +210,13 @@ int twl6040_get_pll(struct twl6040 *twl6040);
221unsigned int twl6040_get_sysclk(struct twl6040 *twl6040); 210unsigned int twl6040_get_sysclk(struct twl6040 *twl6040);
222int twl6040_irq_init(struct twl6040 *twl6040); 211int twl6040_irq_init(struct twl6040 *twl6040);
223void twl6040_irq_exit(struct twl6040 *twl6040); 212void twl6040_irq_exit(struct twl6040 *twl6040);
213/* Get the combined status of the vibra control register */
214int twl6040_get_vibralr_status(struct twl6040 *twl6040);
224 215
225static inline int twl6040_get_revid(struct twl6040 *twl6040) 216static inline int twl6040_get_revid(struct twl6040 *twl6040)
226{ 217{
227 return twl6040->rev; 218 return twl6040->rev;
228} 219}
229 220
221
230#endif /* End of __TWL6040_CODEC_H__ */ 222#endif /* End of __TWL6040_CODEC_H__ */
diff --git a/include/linux/mfd/wm8994/core.h b/include/linux/mfd/wm8994/core.h
index f0b69cdae41c..bfb221b3abf7 100644
--- a/include/linux/mfd/wm8994/core.h
+++ b/include/linux/mfd/wm8994/core.h
@@ -20,6 +20,7 @@
20enum wm8994_type { 20enum wm8994_type {
21 WM8994 = 0, 21 WM8994 = 0,
22 WM8958 = 1, 22 WM8958 = 1,
23 WM1811 = 2,
23}; 24};
24 25
25struct regulator_dev; 26struct regulator_dev;
diff --git a/include/linux/mfd/wm8994/registers.h b/include/linux/mfd/wm8994/registers.h
index 83ecdcd8aaf9..fae295048a8b 100644
--- a/include/linux/mfd/wm8994/registers.h
+++ b/include/linux/mfd/wm8994/registers.h
@@ -2069,6 +2069,10 @@
2069/* 2069/*
2070 * R96 (0x60) - Analogue HP (1) 2070 * R96 (0x60) - Analogue HP (1)
2071 */ 2071 */
2072#define WM1811_HPOUT1_ATTN 0x0100 /* HPOUT1_ATTN */
2073#define WM1811_HPOUT1_ATTN_MASK 0x0100 /* HPOUT1_ATTN */
2074#define WM1811_HPOUT1_ATTN_SHIFT 8 /* HPOUT1_ATTN */
2075#define WM1811_HPOUT1_ATTN_WIDTH 1 /* HPOUT1_ATTN */
2072#define WM8994_HPOUT1L_RMV_SHORT 0x0080 /* HPOUT1L_RMV_SHORT */ 2076#define WM8994_HPOUT1L_RMV_SHORT 0x0080 /* HPOUT1L_RMV_SHORT */
2073#define WM8994_HPOUT1L_RMV_SHORT_MASK 0x0080 /* HPOUT1L_RMV_SHORT */ 2077#define WM8994_HPOUT1L_RMV_SHORT_MASK 0x0080 /* HPOUT1L_RMV_SHORT */
2074#define WM8994_HPOUT1L_RMV_SHORT_SHIFT 7 /* HPOUT1L_RMV_SHORT */ 2078#define WM8994_HPOUT1L_RMV_SHORT_SHIFT 7 /* HPOUT1L_RMV_SHORT */