0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __LINUX_SND_WM8996_H
0009 #define __LINUX_SND_WM8996_H
0010
0011 enum wm8996_inmode {
0012 WM8996_DIFFERRENTIAL_1 = 0,
0013 WM8996_INVERTING = 1,
0014 WM8996_NON_INVERTING = 2,
0015 WM8996_DIFFERENTIAL_2 = 3,
0016 };
0017
0018
0019
0020
0021
0022
0023
0024
0025 struct wm8996_retune_mobile_config {
0026 const char *name;
0027 int rate;
0028 u16 regs[20];
0029 };
0030
0031 #define WM8996_SET_DEFAULT 0x10000
0032
0033 struct wm8996_pdata {
0034 int irq_flags;
0035
0036 int ldo_ena;
0037
0038 int micdet_def;
0039
0040 enum wm8996_inmode inl_mode;
0041 enum wm8996_inmode inr_mode;
0042
0043 u32 spkmute_seq;
0044
0045 int gpio_base;
0046 u32 gpio_default[5];
0047
0048 int num_retune_mobile_cfgs;
0049 struct wm8996_retune_mobile_config *retune_mobile_cfgs;
0050 };
0051
0052 #endif