summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/include/linux/mfd/wm8350
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/include/linux/mfd/wm8350
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/include/linux/mfd/wm8350')
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/audio.h628
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/comparator.h175
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/core.h713
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/gpio.h361
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/pmic.h781
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/rtc.h269
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/supply.h134
-rw-r--r--ANDROID_3.4.5/include/linux/mfd/wm8350/wdt.h28
8 files changed, 0 insertions, 3089 deletions
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/audio.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/audio.h
deleted file mode 100644
index bd581c6f..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/audio.h
+++ /dev/null
@@ -1,628 +0,0 @@
-/*
- * audio.h -- Audio Driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007, 2008 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
-
-#ifndef __LINUX_MFD_WM8350_AUDIO_H_
-#define __LINUX_MFD_WM8350_AUDIO_H_
-
-#include <linux/platform_device.h>
-
-#define WM8350_CLOCK_CONTROL_1 0x28
-#define WM8350_CLOCK_CONTROL_2 0x29
-#define WM8350_FLL_CONTROL_1 0x2A
-#define WM8350_FLL_CONTROL_2 0x2B
-#define WM8350_FLL_CONTROL_3 0x2C
-#define WM8350_FLL_CONTROL_4 0x2D
-#define WM8350_DAC_CONTROL 0x30
-#define WM8350_DAC_DIGITAL_VOLUME_L 0x32
-#define WM8350_DAC_DIGITAL_VOLUME_R 0x33
-#define WM8350_DAC_LR_RATE 0x35
-#define WM8350_DAC_CLOCK_CONTROL 0x36
-#define WM8350_DAC_MUTE 0x3A
-#define WM8350_DAC_MUTE_VOLUME 0x3B
-#define WM8350_DAC_SIDE 0x3C
-#define WM8350_ADC_CONTROL 0x40
-#define WM8350_ADC_DIGITAL_VOLUME_L 0x42
-#define WM8350_ADC_DIGITAL_VOLUME_R 0x43
-#define WM8350_ADC_DIVIDER 0x44
-#define WM8350_ADC_LR_RATE 0x46
-#define WM8350_INPUT_CONTROL 0x48
-#define WM8350_IN3_INPUT_CONTROL 0x49
-#define WM8350_MIC_BIAS_CONTROL 0x4A
-#define WM8350_OUTPUT_CONTROL 0x4C
-#define WM8350_JACK_DETECT 0x4D
-#define WM8350_ANTI_POP_CONTROL 0x4E
-#define WM8350_LEFT_INPUT_VOLUME 0x50
-#define WM8350_RIGHT_INPUT_VOLUME 0x51
-#define WM8350_LEFT_MIXER_CONTROL 0x58
-#define WM8350_RIGHT_MIXER_CONTROL 0x59
-#define WM8350_OUT3_MIXER_CONTROL 0x5C
-#define WM8350_OUT4_MIXER_CONTROL 0x5D
-#define WM8350_OUTPUT_LEFT_MIXER_VOLUME 0x60
-#define WM8350_OUTPUT_RIGHT_MIXER_VOLUME 0x61
-#define WM8350_INPUT_MIXER_VOLUME_L 0x62
-#define WM8350_INPUT_MIXER_VOLUME_R 0x63
-#define WM8350_INPUT_MIXER_VOLUME 0x64
-#define WM8350_LOUT1_VOLUME 0x68
-#define WM8350_ROUT1_VOLUME 0x69
-#define WM8350_LOUT2_VOLUME 0x6A
-#define WM8350_ROUT2_VOLUME 0x6B
-#define WM8350_BEEP_VOLUME 0x6F
-#define WM8350_AI_FORMATING 0x70
-#define WM8350_ADC_DAC_COMP 0x71
-#define WM8350_AI_ADC_CONTROL 0x72
-#define WM8350_AI_DAC_CONTROL 0x73
-#define WM8350_AIF_TEST 0x74
-#define WM8350_JACK_PIN_STATUS 0xE7
-
-/* Bit values for R08 (0x08) */
-#define WM8350_CODEC_ISEL_1_5 0 /* x1.5 */
-#define WM8350_CODEC_ISEL_1_0 1 /* x1.0 */
-#define WM8350_CODEC_ISEL_0_75 2 /* x0.75 */
-#define WM8350_CODEC_ISEL_0_5 3 /* x0.5 */
-
-#define WM8350_VMID_OFF 0
-#define WM8350_VMID_300K 1
-#define WM8350_VMID_50K 2
-#define WM8350_VMID_5K 3
-
-/*
- * R40 (0x28) - Clock Control 1
- */
-#define WM8350_TOCLK_RATE 0x4000
-#define WM8350_MCLK_SEL 0x0800
-#define WM8350_MCLK_DIV_MASK 0x0100
-#define WM8350_BCLK_DIV_MASK 0x00F0
-#define WM8350_OPCLK_DIV_MASK 0x0007
-
-/*
- * R41 (0x29) - Clock Control 2
- */
-#define WM8350_LRC_ADC_SEL 0x8000
-#define WM8350_MCLK_DIR 0x0001
-
-/*
- * R42 (0x2A) - FLL Control 1
- */
-#define WM8350_FLL_DITHER_WIDTH_MASK 0x3000
-#define WM8350_FLL_DITHER_HP 0x0800
-#define WM8350_FLL_OUTDIV_MASK 0x0700
-#define WM8350_FLL_RSP_RATE_MASK 0x00F0
-#define WM8350_FLL_RATE_MASK 0x0007
-
-/*
- * R43 (0x2B) - FLL Control 2
- */
-#define WM8350_FLL_RATIO_MASK 0xF800
-#define WM8350_FLL_N_MASK 0x03FF
-
-/*
- * R44 (0x2C) - FLL Control 3
- */
-#define WM8350_FLL_K_MASK 0xFFFF
-
-/*
- * R45 (0x2D) - FLL Control 4
- */
-#define WM8350_FLL_FRAC 0x0020
-#define WM8350_FLL_SLOW_LOCK_REF 0x0010
-#define WM8350_FLL_CLK_SRC_MASK 0x0003
-
-/*
- * R48 (0x30) - DAC Control
- */
-#define WM8350_DAC_MONO 0x2000
-#define WM8350_AIF_LRCLKRATE 0x1000
-#define WM8350_DEEMP_MASK 0x0030
-#define WM8350_DACL_DATINV 0x0002
-#define WM8350_DACR_DATINV 0x0001
-
-/*
- * R50 (0x32) - DAC Digital Volume L
- */
-#define WM8350_DAC_VU 0x0100
-#define WM8350_DACL_VOL_MASK 0x00FF
-
-/*
- * R51 (0x33) - DAC Digital Volume R
- */
-#define WM8350_DAC_VU 0x0100
-#define WM8350_DACR_VOL_MASK 0x00FF
-
-/*
- * R53 (0x35) - DAC LR Rate
- */
-#define WM8350_DACLRC_ENA 0x0800
-#define WM8350_DACLRC_RATE_MASK 0x07FF
-
-/*
- * R54 (0x36) - DAC Clock Control
- */
-#define WM8350_DACCLK_POL 0x0010
-#define WM8350_DAC_CLKDIV_MASK 0x0007
-
-/*
- * R58 (0x3A) - DAC Mute
- */
-#define WM8350_DAC_MUTE_ENA 0x4000
-
-/*
- * R59 (0x3B) - DAC Mute Volume
- */
-#define WM8350_DAC_MUTEMODE 0x4000
-#define WM8350_DAC_MUTERATE 0x2000
-#define WM8350_DAC_SB_FILT 0x1000
-
-/*
- * R60 (0x3C) - DAC Side
- */
-#define WM8350_ADC_TO_DACL_MASK 0x3000
-#define WM8350_ADC_TO_DACR_MASK 0x0C00
-
-/*
- * R64 (0x40) - ADC Control
- */
-#define WM8350_ADC_HPF_CUT_MASK 0x0300
-#define WM8350_ADCL_DATINV 0x0002
-#define WM8350_ADCR_DATINV 0x0001
-
-/*
- * R66 (0x42) - ADC Digital Volume L
- */
-#define WM8350_ADC_VU 0x0100
-#define WM8350_ADCL_VOL_MASK 0x00FF
-
-/*
- * R67 (0x43) - ADC Digital Volume R
- */
-#define WM8350_ADC_VU 0x0100
-#define WM8350_ADCR_VOL_MASK 0x00FF
-
-/*
- * R68 (0x44) - ADC Divider
- */
-#define WM8350_ADCL_DAC_SVOL_MASK 0x0F00
-#define WM8350_ADCR_DAC_SVOL_MASK 0x00F0
-#define WM8350_ADCCLK_POL 0x0008
-#define WM8350_ADC_CLKDIV_MASK 0x0007
-
-/*
- * R70 (0x46) - ADC LR Rate
- */
-#define WM8350_ADCLRC_ENA 0x0800
-#define WM8350_ADCLRC_RATE_MASK 0x07FF
-
-/*
- * R72 (0x48) - Input Control
- */
-#define WM8350_IN2R_ENA 0x0400
-#define WM8350_IN1RN_ENA 0x0200
-#define WM8350_IN1RP_ENA 0x0100
-#define WM8350_IN2L_ENA 0x0004
-#define WM8350_IN1LN_ENA 0x0002
-#define WM8350_IN1LP_ENA 0x0001
-
-/*
- * R73 (0x49) - IN3 Input Control
- */
-#define WM8350_IN3R_SHORT 0x4000
-#define WM8350_IN3L_SHORT 0x0040
-
-/*
- * R74 (0x4A) - Mic Bias Control
- */
-#define WM8350_MICBSEL 0x4000
-#define WM8350_MCDTHR_MASK 0x001C
-#define WM8350_MCDSCTHR_MASK 0x0003
-
-/*
- * R76 (0x4C) - Output Control
- */
-#define WM8350_OUT4_VROI 0x0800
-#define WM8350_OUT3_VROI 0x0400
-#define WM8350_OUT2_VROI 0x0200
-#define WM8350_OUT1_VROI 0x0100
-#define WM8350_OUT2_FB 0x0004
-#define WM8350_OUT1_FB 0x0001
-
-/*
- * R77 (0x4D) - Jack Detect
- */
-#define WM8350_JDL_ENA 0x8000
-#define WM8350_JDR_ENA 0x4000
-
-/*
- * R78 (0x4E) - Anti Pop Control
- */
-#define WM8350_ANTI_POP_MASK 0x0300
-#define WM8350_DIS_OP_LN4_MASK 0x00C0
-#define WM8350_DIS_OP_LN3_MASK 0x0030
-#define WM8350_DIS_OP_OUT2_MASK 0x000C
-#define WM8350_DIS_OP_OUT1_MASK 0x0003
-
-/*
- * R80 (0x50) - Left Input Volume
- */
-#define WM8350_INL_MUTE 0x4000
-#define WM8350_INL_ZC 0x2000
-#define WM8350_IN_VU 0x0100
-#define WM8350_INL_VOL_MASK 0x00FC
-
-/*
- * R81 (0x51) - Right Input Volume
- */
-#define WM8350_INR_MUTE 0x4000
-#define WM8350_INR_ZC 0x2000
-#define WM8350_IN_VU 0x0100
-#define WM8350_INR_VOL_MASK 0x00FC
-
-/*
- * R88 (0x58) - Left Mixer Control
- */
-#define WM8350_DACR_TO_MIXOUTL 0x1000
-#define WM8350_DACL_TO_MIXOUTL 0x0800
-#define WM8350_IN3L_TO_MIXOUTL 0x0004
-#define WM8350_INR_TO_MIXOUTL 0x0002
-#define WM8350_INL_TO_MIXOUTL 0x0001
-
-/*
- * R89 (0x59) - Right Mixer Control
- */
-#define WM8350_DACR_TO_MIXOUTR 0x1000
-#define WM8350_DACL_TO_MIXOUTR 0x0800
-#define WM8350_IN3R_TO_MIXOUTR 0x0008
-#define WM8350_INR_TO_MIXOUTR 0x0002
-#define WM8350_INL_TO_MIXOUTR 0x0001
-
-/*
- * R92 (0x5C) - OUT3 Mixer Control
- */
-#define WM8350_DACL_TO_OUT3 0x0800
-#define WM8350_MIXINL_TO_OUT3 0x0100
-#define WM8350_OUT4_TO_OUT3 0x0008
-#define WM8350_MIXOUTL_TO_OUT3 0x0001
-
-/*
- * R93 (0x5D) - OUT4 Mixer Control
- */
-#define WM8350_DACR_TO_OUT4 0x1000
-#define WM8350_DACL_TO_OUT4 0x0800
-#define WM8350_OUT4_ATTN 0x0400
-#define WM8350_MIXINR_TO_OUT4 0x0200
-#define WM8350_OUT3_TO_OUT4 0x0004
-#define WM8350_MIXOUTR_TO_OUT4 0x0002
-#define WM8350_MIXOUTL_TO_OUT4 0x0001
-
-/*
- * R96 (0x60) - Output Left Mixer Volume
- */
-#define WM8350_IN3L_MIXOUTL_VOL_MASK 0x0E00
-#define WM8350_IN3L_MIXOUTL_VOL_SHIFT 9
-#define WM8350_INR_MIXOUTL_VOL_MASK 0x00E0
-#define WM8350_INR_MIXOUTL_VOL_SHIFT 5
-#define WM8350_INL_MIXOUTL_VOL_MASK 0x000E
-#define WM8350_INL_MIXOUTL_VOL_SHIFT 1
-
-/* Bit values for R96 (0x60) */
-#define WM8350_IN3L_MIXOUTL_VOL_OFF 0
-#define WM8350_IN3L_MIXOUTL_VOL_M12DB 1
-#define WM8350_IN3L_MIXOUTL_VOL_M9DB 2
-#define WM8350_IN3L_MIXOUTL_VOL_M6DB 3
-#define WM8350_IN3L_MIXOUTL_VOL_M3DB 4
-#define WM8350_IN3L_MIXOUTL_VOL_0DB 5
-#define WM8350_IN3L_MIXOUTL_VOL_3DB 6
-#define WM8350_IN3L_MIXOUTL_VOL_6DB 7
-
-#define WM8350_INR_MIXOUTL_VOL_OFF 0
-#define WM8350_INR_MIXOUTL_VOL_M12DB 1
-#define WM8350_INR_MIXOUTL_VOL_M9DB 2
-#define WM8350_INR_MIXOUTL_VOL_M6DB 3
-#define WM8350_INR_MIXOUTL_VOL_M3DB 4
-#define WM8350_INR_MIXOUTL_VOL_0DB 5
-#define WM8350_INR_MIXOUTL_VOL_3DB 6
-#define WM8350_INR_MIXOUTL_VOL_6DB 7
-
-#define WM8350_INL_MIXOUTL_VOL_OFF 0
-#define WM8350_INL_MIXOUTL_VOL_M12DB 1
-#define WM8350_INL_MIXOUTL_VOL_M9DB 2
-#define WM8350_INL_MIXOUTL_VOL_M6DB 3
-#define WM8350_INL_MIXOUTL_VOL_M3DB 4
-#define WM8350_INL_MIXOUTL_VOL_0DB 5
-#define WM8350_INL_MIXOUTL_VOL_3DB 6
-#define WM8350_INL_MIXOUTL_VOL_6DB 7
-
-/*
- * R97 (0x61) - Output Right Mixer Volume
- */
-#define WM8350_IN3R_MIXOUTR_VOL_MASK 0xE000
-#define WM8350_IN3R_MIXOUTR_VOL_SHIFT 13
-#define WM8350_INR_MIXOUTR_VOL_MASK 0x00E0
-#define WM8350_INR_MIXOUTR_VOL_SHIFT 5
-#define WM8350_INL_MIXOUTR_VOL_MASK 0x000E
-#define WM8350_INL_MIXOUTR_VOL_SHIFT 1
-
-/* Bit values for R96 (0x60) */
-#define WM8350_IN3R_MIXOUTR_VOL_OFF 0
-#define WM8350_IN3R_MIXOUTR_VOL_M12DB 1
-#define WM8350_IN3R_MIXOUTR_VOL_M9DB 2
-#define WM8350_IN3R_MIXOUTR_VOL_M6DB 3
-#define WM8350_IN3R_MIXOUTR_VOL_M3DB 4
-#define WM8350_IN3R_MIXOUTR_VOL_0DB 5
-#define WM8350_IN3R_MIXOUTR_VOL_3DB 6
-#define WM8350_IN3R_MIXOUTR_VOL_6DB 7
-
-#define WM8350_INR_MIXOUTR_VOL_OFF 0
-#define WM8350_INR_MIXOUTR_VOL_M12DB 1
-#define WM8350_INR_MIXOUTR_VOL_M9DB 2
-#define WM8350_INR_MIXOUTR_VOL_M6DB 3
-#define WM8350_INR_MIXOUTR_VOL_M3DB 4
-#define WM8350_INR_MIXOUTR_VOL_0DB 5
-#define WM8350_INR_MIXOUTR_VOL_3DB 6
-#define WM8350_INR_MIXOUTR_VOL_6DB 7
-
-#define WM8350_INL_MIXOUTR_VOL_OFF 0
-#define WM8350_INL_MIXOUTR_VOL_M12DB 1
-#define WM8350_INL_MIXOUTR_VOL_M9DB 2
-#define WM8350_INL_MIXOUTR_VOL_M6DB 3
-#define WM8350_INL_MIXOUTR_VOL_M3DB 4
-#define WM8350_INL_MIXOUTR_VOL_0DB 5
-#define WM8350_INL_MIXOUTR_VOL_3DB 6
-#define WM8350_INL_MIXOUTR_VOL_6DB 7
-
-/*
- * R98 (0x62) - Input Mixer Volume L
- */
-#define WM8350_IN3L_MIXINL_VOL_MASK 0x0E00
-#define WM8350_IN2L_MIXINL_VOL_MASK 0x000E
-#define WM8350_INL_MIXINL_VOL 0x0001
-
-/*
- * R99 (0x63) - Input Mixer Volume R
- */
-#define WM8350_IN3R_MIXINR_VOL_MASK 0xE000
-#define WM8350_IN2R_MIXINR_VOL_MASK 0x00E0
-#define WM8350_INR_MIXINR_VOL 0x0001
-
-/*
- * R100 (0x64) - Input Mixer Volume
- */
-#define WM8350_OUT4_MIXIN_DST 0x8000
-#define WM8350_OUT4_MIXIN_VOL_MASK 0x000E
-
-/*
- * R104 (0x68) - LOUT1 Volume
- */
-#define WM8350_OUT1L_MUTE 0x4000
-#define WM8350_OUT1L_ZC 0x2000
-#define WM8350_OUT1_VU 0x0100
-#define WM8350_OUT1L_VOL_MASK 0x00FC
-#define WM8350_OUT1L_VOL_SHIFT 2
-
-/*
- * R105 (0x69) - ROUT1 Volume
- */
-#define WM8350_OUT1R_MUTE 0x4000
-#define WM8350_OUT1R_ZC 0x2000
-#define WM8350_OUT1_VU 0x0100
-#define WM8350_OUT1R_VOL_MASK 0x00FC
-#define WM8350_OUT1R_VOL_SHIFT 2
-
-/*
- * R106 (0x6A) - LOUT2 Volume
- */
-#define WM8350_OUT2L_MUTE 0x4000
-#define WM8350_OUT2L_ZC 0x2000
-#define WM8350_OUT2_VU 0x0100
-#define WM8350_OUT2L_VOL_MASK 0x00FC
-
-/*
- * R107 (0x6B) - ROUT2 Volume
- */
-#define WM8350_OUT2R_MUTE 0x4000
-#define WM8350_OUT2R_ZC 0x2000
-#define WM8350_OUT2R_INV 0x0400
-#define WM8350_OUT2R_INV_MUTE 0x0200
-#define WM8350_OUT2_VU 0x0100
-#define WM8350_OUT2R_VOL_MASK 0x00FC
-
-/*
- * R111 (0x6F) - BEEP Volume
- */
-#define WM8350_IN3R_OUT2R_VOL_MASK 0x00E0
-
-/*
- * R112 (0x70) - AI Formating
- */
-#define WM8350_AIF_BCLK_INV 0x8000
-#define WM8350_AIF_TRI 0x2000
-#define WM8350_AIF_LRCLK_INV 0x1000
-#define WM8350_AIF_WL_MASK 0x0C00
-#define WM8350_AIF_FMT_MASK 0x0300
-
-/*
- * R113 (0x71) - ADC DAC COMP
- */
-#define WM8350_DAC_COMP 0x0080
-#define WM8350_DAC_COMPMODE 0x0040
-#define WM8350_ADC_COMP 0x0020
-#define WM8350_ADC_COMPMODE 0x0010
-#define WM8350_LOOPBACK 0x0001
-
-/*
- * R114 (0x72) - AI ADC Control
- */
-#define WM8350_AIFADC_PD 0x0080
-#define WM8350_AIFADCL_SRC 0x0040
-#define WM8350_AIFADCR_SRC 0x0020
-#define WM8350_AIFADC_TDM_CHAN 0x0010
-#define WM8350_AIFADC_TDM 0x0008
-
-/*
- * R115 (0x73) - AI DAC Control
- */
-#define WM8350_BCLK_MSTR 0x4000
-#define WM8350_AIFDAC_PD 0x0080
-#define WM8350_DACL_SRC 0x0040
-#define WM8350_DACR_SRC 0x0020
-#define WM8350_AIFDAC_TDM_CHAN 0x0010
-#define WM8350_AIFDAC_TDM 0x0008
-#define WM8350_DAC_BOOST_MASK 0x0003
-
-/*
- * R116 (0x74) - AIF Test
- */
-#define WM8350_CODEC_BYP 0x4000
-#define WM8350_AIFADC_WR_TST 0x2000
-#define WM8350_AIFADC_RD_TST 0x1000
-#define WM8350_AIFDAC_WR_TST 0x0800
-#define WM8350_AIFDAC_RD_TST 0x0400
-#define WM8350_AIFADC_ASYN 0x0020
-#define WM8350_AIFDAC_ASYN 0x0010
-
-/*
- * R231 (0xE7) - Jack Status
- */
-#define WM8350_JACK_L_LVL 0x0800
-#define WM8350_JACK_R_LVL 0x0400
-#define WM8350_JACK_MICSCD_LVL 0x0200
-#define WM8350_JACK_MICSD_LVL 0x0100
-
-/*
- * WM8350 Platform setup
- */
-#define WM8350_S_CURVE_NONE 0x0
-#define WM8350_S_CURVE_FAST 0x1
-#define WM8350_S_CURVE_MEDIUM 0x2
-#define WM8350_S_CURVE_SLOW 0x3
-
-#define WM8350_DISCHARGE_OFF 0x0
-#define WM8350_DISCHARGE_FAST 0x1
-#define WM8350_DISCHARGE_MEDIUM 0x2
-#define WM8350_DISCHARGE_SLOW 0x3
-
-#define WM8350_TIE_OFF_500R 0x0
-#define WM8350_TIE_OFF_30K 0x1
-
-/*
- * Clock sources & directions
- */
-#define WM8350_SYSCLK 0
-
-#define WM8350_MCLK_SEL_PLL_MCLK 0
-#define WM8350_MCLK_SEL_PLL_DAC 1
-#define WM8350_MCLK_SEL_PLL_ADC 2
-#define WM8350_MCLK_SEL_PLL_32K 3
-#define WM8350_MCLK_SEL_MCLK 5
-
-/* clock divider id's */
-#define WM8350_ADC_CLKDIV 0
-#define WM8350_DAC_CLKDIV 1
-#define WM8350_BCLK_CLKDIV 2
-#define WM8350_OPCLK_CLKDIV 3
-#define WM8350_TO_CLKDIV 4
-#define WM8350_SYS_CLKDIV 5
-#define WM8350_DACLR_CLKDIV 6
-#define WM8350_ADCLR_CLKDIV 7
-
-/* ADC clock dividers */
-#define WM8350_ADCDIV_1 0x0
-#define WM8350_ADCDIV_1_5 0x1
-#define WM8350_ADCDIV_2 0x2
-#define WM8350_ADCDIV_3 0x3
-#define WM8350_ADCDIV_4 0x4
-#define WM8350_ADCDIV_5_5 0x5
-#define WM8350_ADCDIV_6 0x6
-
-/* ADC clock dividers */
-#define WM8350_DACDIV_1 0x0
-#define WM8350_DACDIV_1_5 0x1
-#define WM8350_DACDIV_2 0x2
-#define WM8350_DACDIV_3 0x3
-#define WM8350_DACDIV_4 0x4
-#define WM8350_DACDIV_5_5 0x5
-#define WM8350_DACDIV_6 0x6
-
-/* BCLK clock dividers */
-#define WM8350_BCLK_DIV_1 (0x0 << 4)
-#define WM8350_BCLK_DIV_1_5 (0x1 << 4)
-#define WM8350_BCLK_DIV_2 (0x2 << 4)
-#define WM8350_BCLK_DIV_3 (0x3 << 4)
-#define WM8350_BCLK_DIV_4 (0x4 << 4)
-#define WM8350_BCLK_DIV_5_5 (0x5 << 4)
-#define WM8350_BCLK_DIV_6 (0x6 << 4)
-#define WM8350_BCLK_DIV_8 (0x7 << 4)
-#define WM8350_BCLK_DIV_11 (0x8 << 4)
-#define WM8350_BCLK_DIV_12 (0x9 << 4)
-#define WM8350_BCLK_DIV_16 (0xa << 4)
-#define WM8350_BCLK_DIV_22 (0xb << 4)
-#define WM8350_BCLK_DIV_24 (0xc << 4)
-#define WM8350_BCLK_DIV_32 (0xd << 4)
-#define WM8350_BCLK_DIV_44 (0xe << 4)
-#define WM8350_BCLK_DIV_48 (0xf << 4)
-
-/* Sys (MCLK) clock dividers */
-#define WM8350_MCLK_DIV_1 (0x0 << 8)
-#define WM8350_MCLK_DIV_2 (0x1 << 8)
-
-/* OP clock dividers */
-#define WM8350_OPCLK_DIV_1 0x0
-#define WM8350_OPCLK_DIV_2 0x1
-#define WM8350_OPCLK_DIV_3 0x2
-#define WM8350_OPCLK_DIV_4 0x3
-#define WM8350_OPCLK_DIV_5_5 0x4
-#define WM8350_OPCLK_DIV_6 0x5
-
-/* DAI ID */
-#define WM8350_HIFI_DAI 0
-
-/*
- * Audio interrupts.
- */
-#define WM8350_IRQ_CODEC_JCK_DET_L 39
-#define WM8350_IRQ_CODEC_JCK_DET_R 40
-#define WM8350_IRQ_CODEC_MICSCD 41
-#define WM8350_IRQ_CODEC_MICD 42
-
-/*
- * WM8350 Platform data.
- *
- * This must be initialised per platform for best audio performance.
- * Please see WM8350 datasheet for information.
- */
-struct wm8350_audio_platform_data {
- int vmid_discharge_msecs; /* VMID --> OFF discharge time */
- int drain_msecs; /* OFF drain time */
- int cap_discharge_msecs; /* Cap ON (from OFF) discharge time */
- int vmid_charge_msecs; /* vmid power up time */
- u32 vmid_s_curve:2; /* vmid enable s curve speed */
- u32 dis_out4:2; /* out4 discharge speed */
- u32 dis_out3:2; /* out3 discharge speed */
- u32 dis_out2:2; /* out2 discharge speed */
- u32 dis_out1:2; /* out1 discharge speed */
- u32 vroi_out4:1; /* out4 tie off */
- u32 vroi_out3:1; /* out3 tie off */
- u32 vroi_out2:1; /* out2 tie off */
- u32 vroi_out1:1; /* out1 tie off */
- u32 vroi_enable:1; /* enable tie off */
- u32 codec_current_on:2; /* current level ON */
- u32 codec_current_standby:2; /* current level STANDBY */
- u32 codec_current_charge:2; /* codec current @ vmid charge */
-};
-
-struct snd_soc_codec;
-
-struct wm8350_codec {
- struct platform_device *pdev;
- struct snd_soc_codec *codec;
- struct wm8350_audio_platform_data *platform_data;
-};
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/comparator.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/comparator.h
deleted file mode 100644
index 54bc5d0f..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/comparator.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * comparator.h -- Comparator Aux ADC for Wolfson WM8350 PMIC
- *
- * Copyright 2007 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- */
-
-#ifndef __LINUX_MFD_WM8350_COMPARATOR_H_
-#define __LINUX_MFD_WM8350_COMPARATOR_H_
-
-/*
- * Registers
- */
-
-#define WM8350_DIGITISER_CONTROL_1 0x90
-#define WM8350_DIGITISER_CONTROL_2 0x91
-#define WM8350_AUX1_READBACK 0x98
-#define WM8350_AUX2_READBACK 0x99
-#define WM8350_AUX3_READBACK 0x9A
-#define WM8350_AUX4_READBACK 0x9B
-#define WM8350_CHIP_TEMP_READBACK 0x9F
-#define WM8350_GENERIC_COMPARATOR_CONTROL 0xA3
-#define WM8350_GENERIC_COMPARATOR_1 0xA4
-#define WM8350_GENERIC_COMPARATOR_2 0xA5
-#define WM8350_GENERIC_COMPARATOR_3 0xA6
-#define WM8350_GENERIC_COMPARATOR_4 0xA7
-
-/*
- * R144 (0x90) - Digitiser Control (1)
- */
-#define WM8350_AUXADC_CTC 0x4000
-#define WM8350_AUXADC_POLL 0x2000
-#define WM8350_AUXADC_HIB_MODE 0x1000
-#define WM8350_AUXADC_SEL8 0x0080
-#define WM8350_AUXADC_SEL7 0x0040
-#define WM8350_AUXADC_SEL6 0x0020
-#define WM8350_AUXADC_SEL5 0x0010
-#define WM8350_AUXADC_SEL4 0x0008
-#define WM8350_AUXADC_SEL3 0x0004
-#define WM8350_AUXADC_SEL2 0x0002
-#define WM8350_AUXADC_SEL1 0x0001
-
-/*
- * R145 (0x91) - Digitiser Control (2)
- */
-#define WM8350_AUXADC_MASKMODE_MASK 0x3000
-#define WM8350_AUXADC_CRATE_MASK 0x0700
-#define WM8350_AUXADC_CAL 0x0004
-#define WM8350_AUX_RBMODE 0x0002
-#define WM8350_AUXADC_WAIT 0x0001
-
-/*
- * R152 (0x98) - AUX1 Readback
- */
-#define WM8350_AUXADC_SCALE1_MASK 0x6000
-#define WM8350_AUXADC_REF1 0x1000
-#define WM8350_AUXADC_DATA1_MASK 0x0FFF
-
-/*
- * R153 (0x99) - AUX2 Readback
- */
-#define WM8350_AUXADC_SCALE2_MASK 0x6000
-#define WM8350_AUXADC_REF2 0x1000
-#define WM8350_AUXADC_DATA2_MASK 0x0FFF
-
-/*
- * R154 (0x9A) - AUX3 Readback
- */
-#define WM8350_AUXADC_SCALE3_MASK 0x6000
-#define WM8350_AUXADC_REF3 0x1000
-#define WM8350_AUXADC_DATA3_MASK 0x0FFF
-
-/*
- * R155 (0x9B) - AUX4 Readback
- */
-#define WM8350_AUXADC_SCALE4_MASK 0x6000
-#define WM8350_AUXADC_REF4 0x1000
-#define WM8350_AUXADC_DATA4_MASK 0x0FFF
-
-/*
- * R156 (0x9C) - USB Voltage Readback
- */
-#define WM8350_AUXADC_DATA_USB_MASK 0x0FFF
-
-/*
- * R157 (0x9D) - LINE Voltage Readback
- */
-#define WM8350_AUXADC_DATA_LINE_MASK 0x0FFF
-
-/*
- * R158 (0x9E) - BATT Voltage Readback
- */
-#define WM8350_AUXADC_DATA_BATT_MASK 0x0FFF
-
-/*
- * R159 (0x9F) - Chip Temp Readback
- */
-#define WM8350_AUXADC_DATA_CHIPTEMP_MASK 0x0FFF
-
-/*
- * R163 (0xA3) - Generic Comparator Control
- */
-#define WM8350_DCMP4_ENA 0x0008
-#define WM8350_DCMP3_ENA 0x0004
-#define WM8350_DCMP2_ENA 0x0002
-#define WM8350_DCMP1_ENA 0x0001
-
-/*
- * R164 (0xA4) - Generic comparator 1
- */
-#define WM8350_DCMP1_SRCSEL_MASK 0xE000
-#define WM8350_DCMP1_GT 0x1000
-#define WM8350_DCMP1_THR_MASK 0x0FFF
-
-/*
- * R165 (0xA5) - Generic comparator 2
- */
-#define WM8350_DCMP2_SRCSEL_MASK 0xE000
-#define WM8350_DCMP2_GT 0x1000
-#define WM8350_DCMP2_THR_MASK 0x0FFF
-
-/*
- * R166 (0xA6) - Generic comparator 3
- */
-#define WM8350_DCMP3_SRCSEL_MASK 0xE000
-#define WM8350_DCMP3_GT 0x1000
-#define WM8350_DCMP3_THR_MASK 0x0FFF
-
-/*
- * R167 (0xA7) - Generic comparator 4
- */
-#define WM8350_DCMP4_SRCSEL_MASK 0xE000
-#define WM8350_DCMP4_GT 0x1000
-#define WM8350_DCMP4_THR_MASK 0x0FFF
-
-/*
- * Interrupts.
- */
-#define WM8350_IRQ_AUXADC_DATARDY 16
-#define WM8350_IRQ_AUXADC_DCOMP4 17
-#define WM8350_IRQ_AUXADC_DCOMP3 18
-#define WM8350_IRQ_AUXADC_DCOMP2 19
-#define WM8350_IRQ_AUXADC_DCOMP1 20
-#define WM8350_IRQ_SYS_HYST_COMP_FAIL 21
-#define WM8350_IRQ_SYS_CHIP_GT115 22
-#define WM8350_IRQ_SYS_CHIP_GT140 23
-
-/*
- * USB/2, LINE & BATT = ((VRTC * 2) / 4095)) * 10e6 uV
- * Where VRTC = 2.7 V
- */
-#define WM8350_AUX_COEFF 1319
-
-#define WM8350_AUXADC_AUX1 0
-#define WM8350_AUXADC_AUX2 1
-#define WM8350_AUXADC_AUX3 2
-#define WM8350_AUXADC_AUX4 3
-#define WM8350_AUXADC_USB 4
-#define WM8350_AUXADC_LINE 5
-#define WM8350_AUXADC_BATT 6
-#define WM8350_AUXADC_TEMP 7
-
-struct wm8350;
-
-/*
- * AUX ADC Readback
- */
-int wm8350_read_auxadc(struct wm8350 *wm8350, int channel, int scale,
- int vref);
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/core.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/core.h
deleted file mode 100644
index 98fcc977..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/core.h
+++ /dev/null
@@ -1,713 +0,0 @@
-/*
- * core.h -- Core Driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
-
-#ifndef __LINUX_MFD_WM8350_CORE_H_
-#define __LINUX_MFD_WM8350_CORE_H_
-
-#include <linux/kernel.h>
-#include <linux/mutex.h>
-#include <linux/interrupt.h>
-#include <linux/completion.h>
-
-#include <linux/mfd/wm8350/audio.h>
-#include <linux/mfd/wm8350/gpio.h>
-#include <linux/mfd/wm8350/pmic.h>
-#include <linux/mfd/wm8350/rtc.h>
-#include <linux/mfd/wm8350/supply.h>
-#include <linux/mfd/wm8350/wdt.h>
-
-/*
- * Register values.
- */
-#define WM8350_RESET_ID 0x00
-#define WM8350_ID 0x01
-#define WM8350_REVISION 0x02
-#define WM8350_SYSTEM_CONTROL_1 0x03
-#define WM8350_SYSTEM_CONTROL_2 0x04
-#define WM8350_SYSTEM_HIBERNATE 0x05
-#define WM8350_INTERFACE_CONTROL 0x06
-#define WM8350_POWER_MGMT_1 0x08
-#define WM8350_POWER_MGMT_2 0x09
-#define WM8350_POWER_MGMT_3 0x0A
-#define WM8350_POWER_MGMT_4 0x0B
-#define WM8350_POWER_MGMT_5 0x0C
-#define WM8350_POWER_MGMT_6 0x0D
-#define WM8350_POWER_MGMT_7 0x0E
-
-#define WM8350_SYSTEM_INTERRUPTS 0x18
-#define WM8350_INT_STATUS_1 0x19
-#define WM8350_INT_STATUS_2 0x1A
-#define WM8350_POWER_UP_INT_STATUS 0x1B
-#define WM8350_UNDER_VOLTAGE_INT_STATUS 0x1C
-#define WM8350_OVER_CURRENT_INT_STATUS 0x1D
-#define WM8350_GPIO_INT_STATUS 0x1E
-#define WM8350_COMPARATOR_INT_STATUS 0x1F
-#define WM8350_SYSTEM_INTERRUPTS_MASK 0x20
-#define WM8350_INT_STATUS_1_MASK 0x21
-#define WM8350_INT_STATUS_2_MASK 0x22
-#define WM8350_POWER_UP_INT_STATUS_MASK 0x23
-#define WM8350_UNDER_VOLTAGE_INT_STATUS_MASK 0x24
-#define WM8350_OVER_CURRENT_INT_STATUS_MASK 0x25
-#define WM8350_GPIO_INT_STATUS_MASK 0x26
-#define WM8350_COMPARATOR_INT_STATUS_MASK 0x27
-#define WM8350_CHARGER_OVERRIDES 0xE2
-#define WM8350_MISC_OVERRIDES 0xE3
-#define WM8350_COMPARATOR_OVERRIDES 0xE7
-#define WM8350_STATE_MACHINE_STATUS 0xE9
-
-#define WM8350_MAX_REGISTER 0xFF
-
-/*
- * Field Definitions.
- */
-
-/*
- * R0 (0x00) - Reset/ID
- */
-#define WM8350_SW_RESET_CHIP_ID_MASK 0xFFFF
-
-/*
- * R1 (0x01) - ID
- */
-#define WM8350_CHIP_REV_MASK 0x7000
-#define WM8350_CONF_STS_MASK 0x0C00
-#define WM8350_CUST_ID_MASK 0x00FF
-
-/*
- * R2 (0x02) - Revision
- */
-#define WM8350_MASK_REV_MASK 0x00FF
-
-/*
- * R3 (0x03) - System Control 1
- */
-#define WM8350_CHIP_ON 0x8000
-#define WM8350_POWERCYCLE 0x2000
-#define WM8350_VCC_FAULT_OV 0x1000
-#define WM8350_REG_RSTB_TIME_MASK 0x0C00
-#define WM8350_BG_SLEEP 0x0200
-#define WM8350_MEM_VALID 0x0020
-#define WM8350_CHIP_SET_UP 0x0010
-#define WM8350_ON_DEB_T 0x0008
-#define WM8350_ON_POL 0x0002
-#define WM8350_IRQ_POL 0x0001
-
-/*
- * R4 (0x04) - System Control 2
- */
-#define WM8350_USB_SUSPEND_8MA 0x8000
-#define WM8350_USB_SUSPEND 0x4000
-#define WM8350_USB_MSTR 0x2000
-#define WM8350_USB_MSTR_SRC 0x1000
-#define WM8350_USB_500MA 0x0800
-#define WM8350_USB_NOLIM 0x0400
-
-/*
- * R5 (0x05) - System Hibernate
- */
-#define WM8350_HIBERNATE 0x8000
-#define WM8350_WDOG_HIB_MODE 0x0080
-#define WM8350_REG_HIB_STARTUP_SEQ 0x0040
-#define WM8350_REG_RESET_HIB_MODE 0x0020
-#define WM8350_RST_HIB_MODE 0x0010
-#define WM8350_IRQ_HIB_MODE 0x0008
-#define WM8350_MEMRST_HIB_MODE 0x0004
-#define WM8350_PCCOMP_HIB_MODE 0x0002
-#define WM8350_TEMPMON_HIB_MODE 0x0001
-
-/*
- * R6 (0x06) - Interface Control
- */
-#define WM8350_USE_DEV_PINS 0x8000
-#define WM8350_USE_DEV_PINS_MASK 0x8000
-#define WM8350_USE_DEV_PINS_SHIFT 15
-#define WM8350_DEV_ADDR_MASK 0x6000
-#define WM8350_DEV_ADDR_SHIFT 13
-#define WM8350_CONFIG_DONE 0x1000
-#define WM8350_CONFIG_DONE_MASK 0x1000
-#define WM8350_CONFIG_DONE_SHIFT 12
-#define WM8350_RECONFIG_AT_ON 0x0800
-#define WM8350_RECONFIG_AT_ON_MASK 0x0800
-#define WM8350_RECONFIG_AT_ON_SHIFT 11
-#define WM8350_AUTOINC 0x0200
-#define WM8350_AUTOINC_MASK 0x0200
-#define WM8350_AUTOINC_SHIFT 9
-#define WM8350_ARA 0x0100
-#define WM8350_ARA_MASK 0x0100
-#define WM8350_ARA_SHIFT 8
-#define WM8350_SPI_CFG 0x0008
-#define WM8350_SPI_CFG_MASK 0x0008
-#define WM8350_SPI_CFG_SHIFT 3
-#define WM8350_SPI_4WIRE 0x0004
-#define WM8350_SPI_4WIRE_MASK 0x0004
-#define WM8350_SPI_4WIRE_SHIFT 2
-#define WM8350_SPI_3WIRE 0x0002
-#define WM8350_SPI_3WIRE_MASK 0x0002
-#define WM8350_SPI_3WIRE_SHIFT 1
-
-/* Bit values for R06 (0x06) */
-#define WM8350_USE_DEV_PINS_PRIMARY 0
-#define WM8350_USE_DEV_PINS_DEV 1
-
-#define WM8350_DEV_ADDR_34 0
-#define WM8350_DEV_ADDR_36 1
-#define WM8350_DEV_ADDR_3C 2
-#define WM8350_DEV_ADDR_3E 3
-
-#define WM8350_CONFIG_DONE_OFF 0
-#define WM8350_CONFIG_DONE_DONE 1
-
-#define WM8350_RECONFIG_AT_ON_OFF 0
-#define WM8350_RECONFIG_AT_ON_ON 1
-
-#define WM8350_AUTOINC_OFF 0
-#define WM8350_AUTOINC_ON 1
-
-#define WM8350_ARA_OFF 0
-#define WM8350_ARA_ON 1
-
-#define WM8350_SPI_CFG_CMOS 0
-#define WM8350_SPI_CFG_OD 1
-
-#define WM8350_SPI_4WIRE_3WIRE 0
-#define WM8350_SPI_4WIRE_4WIRE 1
-
-#define WM8350_SPI_3WIRE_I2C 0
-#define WM8350_SPI_3WIRE_SPI 1
-
-/*
- * R8 (0x08) - Power mgmt (1)
- */
-#define WM8350_CODEC_ISEL_MASK 0xC000
-#define WM8350_VBUFEN 0x2000
-#define WM8350_OUTPUT_DRAIN_EN 0x0400
-#define WM8350_MIC_DET_ENA 0x0100
-#define WM8350_BIASEN 0x0020
-#define WM8350_MICBEN 0x0010
-#define WM8350_VMIDEN 0x0004
-#define WM8350_VMID_MASK 0x0003
-#define WM8350_VMID_SHIFT 0
-
-/*
- * R9 (0x09) - Power mgmt (2)
- */
-#define WM8350_IN3R_ENA 0x0800
-#define WM8350_IN3L_ENA 0x0400
-#define WM8350_INR_ENA 0x0200
-#define WM8350_INL_ENA 0x0100
-#define WM8350_MIXINR_ENA 0x0080
-#define WM8350_MIXINL_ENA 0x0040
-#define WM8350_OUT4_ENA 0x0020
-#define WM8350_OUT3_ENA 0x0010
-#define WM8350_MIXOUTR_ENA 0x0002
-#define WM8350_MIXOUTL_ENA 0x0001
-
-/*
- * R10 (0x0A) - Power mgmt (3)
- */
-#define WM8350_IN3R_TO_OUT2R 0x0080
-#define WM8350_OUT2R_ENA 0x0008
-#define WM8350_OUT2L_ENA 0x0004
-#define WM8350_OUT1R_ENA 0x0002
-#define WM8350_OUT1L_ENA 0x0001
-
-/*
- * R11 (0x0B) - Power mgmt (4)
- */
-#define WM8350_SYSCLK_ENA 0x4000
-#define WM8350_ADC_HPF_ENA 0x2000
-#define WM8350_FLL_ENA 0x0800
-#define WM8350_FLL_OSC_ENA 0x0400
-#define WM8350_TOCLK_ENA 0x0100
-#define WM8350_DACR_ENA 0x0020
-#define WM8350_DACL_ENA 0x0010
-#define WM8350_ADCR_ENA 0x0008
-#define WM8350_ADCL_ENA 0x0004
-
-/*
- * R12 (0x0C) - Power mgmt (5)
- */
-#define WM8350_CODEC_ENA 0x1000
-#define WM8350_RTC_TICK_ENA 0x0800
-#define WM8350_OSC32K_ENA 0x0400
-#define WM8350_CHG_ENA 0x0200
-#define WM8350_ACC_DET_ENA 0x0100
-#define WM8350_AUXADC_ENA 0x0080
-#define WM8350_DCMP4_ENA 0x0008
-#define WM8350_DCMP3_ENA 0x0004
-#define WM8350_DCMP2_ENA 0x0002
-#define WM8350_DCMP1_ENA 0x0001
-
-/*
- * R13 (0x0D) - Power mgmt (6)
- */
-#define WM8350_LS_ENA 0x8000
-#define WM8350_LDO4_ENA 0x0800
-#define WM8350_LDO3_ENA 0x0400
-#define WM8350_LDO2_ENA 0x0200
-#define WM8350_LDO1_ENA 0x0100
-#define WM8350_DC6_ENA 0x0020
-#define WM8350_DC5_ENA 0x0010
-#define WM8350_DC4_ENA 0x0008
-#define WM8350_DC3_ENA 0x0004
-#define WM8350_DC2_ENA 0x0002
-#define WM8350_DC1_ENA 0x0001
-
-/*
- * R14 (0x0E) - Power mgmt (7)
- */
-#define WM8350_CS2_ENA 0x0002
-#define WM8350_CS1_ENA 0x0001
-
-/*
- * R24 (0x18) - System Interrupts
- */
-#define WM8350_OC_INT 0x2000
-#define WM8350_UV_INT 0x1000
-#define WM8350_PUTO_INT 0x0800
-#define WM8350_CS_INT 0x0200
-#define WM8350_EXT_INT 0x0100
-#define WM8350_CODEC_INT 0x0080
-#define WM8350_GP_INT 0x0040
-#define WM8350_AUXADC_INT 0x0020
-#define WM8350_RTC_INT 0x0010
-#define WM8350_SYS_INT 0x0008
-#define WM8350_CHG_INT 0x0004
-#define WM8350_USB_INT 0x0002
-#define WM8350_WKUP_INT 0x0001
-
-/*
- * R25 (0x19) - Interrupt Status 1
- */
-#define WM8350_CHG_BAT_HOT_EINT 0x8000
-#define WM8350_CHG_BAT_COLD_EINT 0x4000
-#define WM8350_CHG_BAT_FAIL_EINT 0x2000
-#define WM8350_CHG_TO_EINT 0x1000
-#define WM8350_CHG_END_EINT 0x0800
-#define WM8350_CHG_START_EINT 0x0400
-#define WM8350_CHG_FAST_RDY_EINT 0x0200
-#define WM8350_RTC_PER_EINT 0x0080
-#define WM8350_RTC_SEC_EINT 0x0040
-#define WM8350_RTC_ALM_EINT 0x0020
-#define WM8350_CHG_VBATT_LT_3P9_EINT 0x0004
-#define WM8350_CHG_VBATT_LT_3P1_EINT 0x0002
-#define WM8350_CHG_VBATT_LT_2P85_EINT 0x0001
-
-/*
- * R26 (0x1A) - Interrupt Status 2
- */
-#define WM8350_CS1_EINT 0x2000
-#define WM8350_CS2_EINT 0x1000
-#define WM8350_USB_LIMIT_EINT 0x0400
-#define WM8350_AUXADC_DATARDY_EINT 0x0100
-#define WM8350_AUXADC_DCOMP4_EINT 0x0080
-#define WM8350_AUXADC_DCOMP3_EINT 0x0040
-#define WM8350_AUXADC_DCOMP2_EINT 0x0020
-#define WM8350_AUXADC_DCOMP1_EINT 0x0010
-#define WM8350_SYS_HYST_COMP_FAIL_EINT 0x0008
-#define WM8350_SYS_CHIP_GT115_EINT 0x0004
-#define WM8350_SYS_CHIP_GT140_EINT 0x0002
-#define WM8350_SYS_WDOG_TO_EINT 0x0001
-
-/*
- * R27 (0x1B) - Power Up Interrupt Status
- */
-#define WM8350_PUTO_LDO4_EINT 0x0800
-#define WM8350_PUTO_LDO3_EINT 0x0400
-#define WM8350_PUTO_LDO2_EINT 0x0200
-#define WM8350_PUTO_LDO1_EINT 0x0100
-#define WM8350_PUTO_DC6_EINT 0x0020
-#define WM8350_PUTO_DC5_EINT 0x0010
-#define WM8350_PUTO_DC4_EINT 0x0008
-#define WM8350_PUTO_DC3_EINT 0x0004
-#define WM8350_PUTO_DC2_EINT 0x0002
-#define WM8350_PUTO_DC1_EINT 0x0001
-
-/*
- * R28 (0x1C) - Under Voltage Interrupt status
- */
-#define WM8350_UV_LDO4_EINT 0x0800
-#define WM8350_UV_LDO3_EINT 0x0400
-#define WM8350_UV_LDO2_EINT 0x0200
-#define WM8350_UV_LDO1_EINT 0x0100
-#define WM8350_UV_DC6_EINT 0x0020
-#define WM8350_UV_DC5_EINT 0x0010
-#define WM8350_UV_DC4_EINT 0x0008
-#define WM8350_UV_DC3_EINT 0x0004
-#define WM8350_UV_DC2_EINT 0x0002
-#define WM8350_UV_DC1_EINT 0x0001
-
-/*
- * R29 (0x1D) - Over Current Interrupt status
- */
-#define WM8350_OC_LS_EINT 0x8000
-
-/*
- * R30 (0x1E) - GPIO Interrupt Status
- */
-#define WM8350_GP12_EINT 0x1000
-#define WM8350_GP11_EINT 0x0800
-#define WM8350_GP10_EINT 0x0400
-#define WM8350_GP9_EINT 0x0200
-#define WM8350_GP8_EINT 0x0100
-#define WM8350_GP7_EINT 0x0080
-#define WM8350_GP6_EINT 0x0040
-#define WM8350_GP5_EINT 0x0020
-#define WM8350_GP4_EINT 0x0010
-#define WM8350_GP3_EINT 0x0008
-#define WM8350_GP2_EINT 0x0004
-#define WM8350_GP1_EINT 0x0002
-#define WM8350_GP0_EINT 0x0001
-
-/*
- * R31 (0x1F) - Comparator Interrupt Status
- */
-#define WM8350_EXT_USB_FB_EINT 0x8000
-#define WM8350_EXT_WALL_FB_EINT 0x4000
-#define WM8350_EXT_BAT_FB_EINT 0x2000
-#define WM8350_CODEC_JCK_DET_L_EINT 0x0800
-#define WM8350_CODEC_JCK_DET_R_EINT 0x0400
-#define WM8350_CODEC_MICSCD_EINT 0x0200
-#define WM8350_CODEC_MICD_EINT 0x0100
-#define WM8350_WKUP_OFF_STATE_EINT 0x0040
-#define WM8350_WKUP_HIB_STATE_EINT 0x0020
-#define WM8350_WKUP_CONV_FAULT_EINT 0x0010
-#define WM8350_WKUP_WDOG_RST_EINT 0x0008
-#define WM8350_WKUP_GP_PWR_ON_EINT 0x0004
-#define WM8350_WKUP_ONKEY_EINT 0x0002
-#define WM8350_WKUP_GP_WAKEUP_EINT 0x0001
-
-/*
- * R32 (0x20) - System Interrupts Mask
- */
-#define WM8350_IM_OC_INT 0x2000
-#define WM8350_IM_UV_INT 0x1000
-#define WM8350_IM_PUTO_INT 0x0800
-#define WM8350_IM_SPARE_INT 0x0400
-#define WM8350_IM_CS_INT 0x0200
-#define WM8350_IM_EXT_INT 0x0100
-#define WM8350_IM_CODEC_INT 0x0080
-#define WM8350_IM_GP_INT 0x0040
-#define WM8350_IM_AUXADC_INT 0x0020
-#define WM8350_IM_RTC_INT 0x0010
-#define WM8350_IM_SYS_INT 0x0008
-#define WM8350_IM_CHG_INT 0x0004
-#define WM8350_IM_USB_INT 0x0002
-#define WM8350_IM_WKUP_INT 0x0001
-
-/*
- * R33 (0x21) - Interrupt Status 1 Mask
- */
-#define WM8350_IM_CHG_BAT_HOT_EINT 0x8000
-#define WM8350_IM_CHG_BAT_COLD_EINT 0x4000
-#define WM8350_IM_CHG_BAT_FAIL_EINT 0x2000
-#define WM8350_IM_CHG_TO_EINT 0x1000
-#define WM8350_IM_CHG_END_EINT 0x0800
-#define WM8350_IM_CHG_START_EINT 0x0400
-#define WM8350_IM_CHG_FAST_RDY_EINT 0x0200
-#define WM8350_IM_RTC_PER_EINT 0x0080
-#define WM8350_IM_RTC_SEC_EINT 0x0040
-#define WM8350_IM_RTC_ALM_EINT 0x0020
-#define WM8350_IM_CHG_VBATT_LT_3P9_EINT 0x0004
-#define WM8350_IM_CHG_VBATT_LT_3P1_EINT 0x0002
-#define WM8350_IM_CHG_VBATT_LT_2P85_EINT 0x0001
-
-/*
- * R34 (0x22) - Interrupt Status 2 Mask
- */
-#define WM8350_IM_SPARE2_EINT 0x8000
-#define WM8350_IM_SPARE1_EINT 0x4000
-#define WM8350_IM_CS1_EINT 0x2000
-#define WM8350_IM_CS2_EINT 0x1000
-#define WM8350_IM_USB_LIMIT_EINT 0x0400
-#define WM8350_IM_AUXADC_DATARDY_EINT 0x0100
-#define WM8350_IM_AUXADC_DCOMP4_EINT 0x0080
-#define WM8350_IM_AUXADC_DCOMP3_EINT 0x0040
-#define WM8350_IM_AUXADC_DCOMP2_EINT 0x0020
-#define WM8350_IM_AUXADC_DCOMP1_EINT 0x0010
-#define WM8350_IM_SYS_HYST_COMP_FAIL_EINT 0x0008
-#define WM8350_IM_SYS_CHIP_GT115_EINT 0x0004
-#define WM8350_IM_SYS_CHIP_GT140_EINT 0x0002
-#define WM8350_IM_SYS_WDOG_TO_EINT 0x0001
-
-/*
- * R35 (0x23) - Power Up Interrupt Status Mask
- */
-#define WM8350_IM_PUTO_LDO4_EINT 0x0800
-#define WM8350_IM_PUTO_LDO3_EINT 0x0400
-#define WM8350_IM_PUTO_LDO2_EINT 0x0200
-#define WM8350_IM_PUTO_LDO1_EINT 0x0100
-#define WM8350_IM_PUTO_DC6_EINT 0x0020
-#define WM8350_IM_PUTO_DC5_EINT 0x0010
-#define WM8350_IM_PUTO_DC4_EINT 0x0008
-#define WM8350_IM_PUTO_DC3_EINT 0x0004
-#define WM8350_IM_PUTO_DC2_EINT 0x0002
-#define WM8350_IM_PUTO_DC1_EINT 0x0001
-
-/*
- * R36 (0x24) - Under Voltage Interrupt status Mask
- */
-#define WM8350_IM_UV_LDO4_EINT 0x0800
-#define WM8350_IM_UV_LDO3_EINT 0x0400
-#define WM8350_IM_UV_LDO2_EINT 0x0200
-#define WM8350_IM_UV_LDO1_EINT 0x0100
-#define WM8350_IM_UV_DC6_EINT 0x0020
-#define WM8350_IM_UV_DC5_EINT 0x0010
-#define WM8350_IM_UV_DC4_EINT 0x0008
-#define WM8350_IM_UV_DC3_EINT 0x0004
-#define WM8350_IM_UV_DC2_EINT 0x0002
-#define WM8350_IM_UV_DC1_EINT 0x0001
-
-/*
- * R37 (0x25) - Over Current Interrupt status Mask
- */
-#define WM8350_IM_OC_LS_EINT 0x8000
-
-/*
- * R38 (0x26) - GPIO Interrupt Status Mask
- */
-#define WM8350_IM_GP12_EINT 0x1000
-#define WM8350_IM_GP11_EINT 0x0800
-#define WM8350_IM_GP10_EINT 0x0400
-#define WM8350_IM_GP9_EINT 0x0200
-#define WM8350_IM_GP8_EINT 0x0100
-#define WM8350_IM_GP7_EINT 0x0080
-#define WM8350_IM_GP6_EINT 0x0040
-#define WM8350_IM_GP5_EINT 0x0020
-#define WM8350_IM_GP4_EINT 0x0010
-#define WM8350_IM_GP3_EINT 0x0008
-#define WM8350_IM_GP2_EINT 0x0004
-#define WM8350_IM_GP1_EINT 0x0002
-#define WM8350_IM_GP0_EINT 0x0001
-
-/*
- * R39 (0x27) - Comparator Interrupt Status Mask
- */
-#define WM8350_IM_EXT_USB_FB_EINT 0x8000
-#define WM8350_IM_EXT_WALL_FB_EINT 0x4000
-#define WM8350_IM_EXT_BAT_FB_EINT 0x2000
-#define WM8350_IM_CODEC_JCK_DET_L_EINT 0x0800
-#define WM8350_IM_CODEC_JCK_DET_R_EINT 0x0400
-#define WM8350_IM_CODEC_MICSCD_EINT 0x0200
-#define WM8350_IM_CODEC_MICD_EINT 0x0100
-#define WM8350_IM_WKUP_OFF_STATE_EINT 0x0040
-#define WM8350_IM_WKUP_HIB_STATE_EINT 0x0020
-#define WM8350_IM_WKUP_CONV_FAULT_EINT 0x0010
-#define WM8350_IM_WKUP_WDOG_RST_EINT 0x0008
-#define WM8350_IM_WKUP_GP_PWR_ON_EINT 0x0004
-#define WM8350_IM_WKUP_ONKEY_EINT 0x0002
-#define WM8350_IM_WKUP_GP_WAKEUP_EINT 0x0001
-
-/*
- * R220 (0xDC) - RAM BIST 1
- */
-#define WM8350_READ_STATUS 0x0800
-#define WM8350_TSTRAM_CLK 0x0100
-#define WM8350_TSTRAM_CLK_ENA 0x0080
-#define WM8350_STARTSEQ 0x0040
-#define WM8350_READ_SRC 0x0020
-#define WM8350_COUNT_DIR 0x0010
-#define WM8350_TSTRAM_MODE_MASK 0x000E
-#define WM8350_TSTRAM_ENA 0x0001
-
-/*
- * R225 (0xE1) - DCDC/LDO status
- */
-#define WM8350_LS_STS 0x8000
-#define WM8350_LDO4_STS 0x0800
-#define WM8350_LDO3_STS 0x0400
-#define WM8350_LDO2_STS 0x0200
-#define WM8350_LDO1_STS 0x0100
-#define WM8350_DC6_STS 0x0020
-#define WM8350_DC5_STS 0x0010
-#define WM8350_DC4_STS 0x0008
-#define WM8350_DC3_STS 0x0004
-#define WM8350_DC2_STS 0x0002
-#define WM8350_DC1_STS 0x0001
-
-/*
- * R226 (0xE2) - Charger status
- */
-#define WM8350_CHG_BATT_HOT_OVRDE 0x8000
-#define WM8350_CHG_BATT_COLD_OVRDE 0x4000
-
-/*
- * R227 (0xE3) - Misc Overrides
- */
-#define WM8350_USB_LIMIT_OVRDE 0x0400
-
-/*
- * R227 (0xE7) - Comparator Overrides
- */
-#define WM8350_USB_FB_OVRDE 0x8000
-#define WM8350_WALL_FB_OVRDE 0x4000
-#define WM8350_BATT_FB_OVRDE 0x2000
-
-
-/*
- * R233 (0xE9) - State Machinine Status
- */
-#define WM8350_USB_SM_MASK 0x0700
-#define WM8350_USB_SM_SHIFT 8
-
-#define WM8350_USB_SM_100_SLV 1
-#define WM8350_USB_SM_500_SLV 5
-#define WM8350_USB_SM_STDBY_SLV 7
-
-/* WM8350 wake up conditions */
-#define WM8350_IRQ_WKUP_OFF_STATE 43
-#define WM8350_IRQ_WKUP_HIB_STATE 44
-#define WM8350_IRQ_WKUP_CONV_FAULT 45
-#define WM8350_IRQ_WKUP_WDOG_RST 46
-#define WM8350_IRQ_WKUP_GP_PWR_ON 47
-#define WM8350_IRQ_WKUP_ONKEY 48
-#define WM8350_IRQ_WKUP_GP_WAKEUP 49
-
-/* wm8350 chip revisions */
-#define WM8350_REV_E 0x4
-#define WM8350_REV_F 0x5
-#define WM8350_REV_G 0x6
-#define WM8350_REV_H 0x7
-
-#define WM8350_NUM_IRQ 63
-
-#define WM8350_NUM_IRQ_REGS 7
-
-struct wm8350_reg_access {
- u16 readable; /* Mask of readable bits */
- u16 writable; /* Mask of writable bits */
- u16 vol; /* Mask of volatile bits */
-};
-extern const struct wm8350_reg_access wm8350_reg_io_map[];
-extern const u16 wm8350_mode0_defaults[];
-extern const u16 wm8350_mode1_defaults[];
-extern const u16 wm8350_mode2_defaults[];
-extern const u16 wm8350_mode3_defaults[];
-extern const u16 wm8351_mode0_defaults[];
-extern const u16 wm8351_mode1_defaults[];
-extern const u16 wm8351_mode2_defaults[];
-extern const u16 wm8351_mode3_defaults[];
-extern const u16 wm8352_mode0_defaults[];
-extern const u16 wm8352_mode1_defaults[];
-extern const u16 wm8352_mode2_defaults[];
-extern const u16 wm8352_mode3_defaults[];
-
-struct wm8350;
-
-struct wm8350_hwmon {
- struct platform_device *pdev;
- struct device *classdev;
-};
-
-struct wm8350 {
- struct device *dev;
-
- /* device IO */
- union {
- struct i2c_client *i2c_client;
- struct spi_device *spi_device;
- };
- int (*read_dev)(struct wm8350 *wm8350, char reg, int size, void *dest);
- int (*write_dev)(struct wm8350 *wm8350, char reg, int size,
- void *src);
- u16 *reg_cache;
-
- struct mutex auxadc_mutex;
- struct completion auxadc_done;
-
- /* Interrupt handling */
- struct mutex irq_lock;
- int chip_irq;
- int irq_base;
- u16 irq_masks[WM8350_NUM_IRQ_REGS];
-
- /* Client devices */
- struct wm8350_codec codec;
- struct wm8350_gpio gpio;
- struct wm8350_hwmon hwmon;
- struct wm8350_pmic pmic;
- struct wm8350_power power;
- struct wm8350_rtc rtc;
- struct wm8350_wdt wdt;
-};
-
-/**
- * Data to be supplied by the platform to initialise the WM8350.
- *
- * @init: Function called during driver initialisation. Should be
- * used by the platform to configure GPIO functions and similar.
- * @irq_high: Set if WM8350 IRQ is active high.
- * @irq_base: Base IRQ for genirq (not currently used).
- * @gpio_base: Base for gpiolib.
- */
-struct wm8350_platform_data {
- int (*init)(struct wm8350 *wm8350);
- int irq_high;
- int irq_base;
- int gpio_base;
-};
-
-
-/*
- * WM8350 device initialisation and exit.
- */
-int wm8350_device_init(struct wm8350 *wm8350, int irq,
- struct wm8350_platform_data *pdata);
-void wm8350_device_exit(struct wm8350 *wm8350);
-
-/*
- * WM8350 device IO
- */
-int wm8350_clear_bits(struct wm8350 *wm8350, u16 reg, u16 mask);
-int wm8350_set_bits(struct wm8350 *wm8350, u16 reg, u16 mask);
-u16 wm8350_reg_read(struct wm8350 *wm8350, int reg);
-int wm8350_reg_write(struct wm8350 *wm8350, int reg, u16 val);
-int wm8350_reg_lock(struct wm8350 *wm8350);
-int wm8350_reg_unlock(struct wm8350 *wm8350);
-int wm8350_block_read(struct wm8350 *wm8350, int reg, int size, u16 *dest);
-int wm8350_block_write(struct wm8350 *wm8350, int reg, int size, u16 *src);
-
-/*
- * WM8350 internal interrupts
- */
-static inline int wm8350_register_irq(struct wm8350 *wm8350, int irq,
- irq_handler_t handler,
- unsigned long flags,
- const char *name, void *data)
-{
- if (!wm8350->irq_base)
- return -ENODEV;
-
- return request_threaded_irq(irq + wm8350->irq_base, NULL,
- handler, flags, name, data);
-}
-
-static inline void wm8350_free_irq(struct wm8350 *wm8350, int irq, void *data)
-{
- free_irq(irq + wm8350->irq_base, data);
-}
-
-static inline void wm8350_mask_irq(struct wm8350 *wm8350, int irq)
-{
- disable_irq(irq + wm8350->irq_base);
-}
-
-static inline void wm8350_unmask_irq(struct wm8350 *wm8350, int irq)
-{
- enable_irq(irq + wm8350->irq_base);
-}
-
-int wm8350_irq_init(struct wm8350 *wm8350, int irq,
- struct wm8350_platform_data *pdata);
-int wm8350_irq_exit(struct wm8350 *wm8350);
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/gpio.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/gpio.h
deleted file mode 100644
index d657bcd6..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/gpio.h
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * gpio.h -- GPIO Driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
-
-#ifndef __LINUX_MFD_WM8350_GPIO_H_
-#define __LINUX_MFD_WM8350_GPIO_H_
-
-#include <linux/platform_device.h>
-
-/*
- * GPIO Registers.
- */
-#define WM8350_GPIO_DEBOUNCE 0x80
-#define WM8350_GPIO_PIN_PULL_UP_CONTROL 0x81
-#define WM8350_GPIO_PULL_DOWN_CONTROL 0x82
-#define WM8350_GPIO_INT_MODE 0x83
-#define WM8350_GPIO_CONTROL 0x85
-#define WM8350_GPIO_CONFIGURATION_I_O 0x86
-#define WM8350_GPIO_PIN_POLARITY_TYPE 0x87
-#define WM8350_GPIO_FUNCTION_SELECT_1 0x8C
-#define WM8350_GPIO_FUNCTION_SELECT_2 0x8D
-#define WM8350_GPIO_FUNCTION_SELECT_3 0x8E
-#define WM8350_GPIO_FUNCTION_SELECT_4 0x8F
-#define WM8350_GPIO_LEVEL 0xE6
-
-/*
- * GPIO Functions
- */
-#define WM8350_GPIO0_GPIO_IN 0x0
-#define WM8350_GPIO0_GPIO_OUT 0x0
-#define WM8350_GPIO0_PWR_ON_IN 0x1
-#define WM8350_GPIO0_PWR_ON_OUT 0x1
-#define WM8350_GPIO0_LDO_EN_IN 0x2
-#define WM8350_GPIO0_VRTC_OUT 0x2
-#define WM8350_GPIO0_LPWR1_IN 0x3
-#define WM8350_GPIO0_POR_B_OUT 0x3
-
-#define WM8350_GPIO1_GPIO_IN 0x0
-#define WM8350_GPIO1_GPIO_OUT 0x0
-#define WM8350_GPIO1_PWR_ON_IN 0x1
-#define WM8350_GPIO1_DO_CONF_OUT 0x1
-#define WM8350_GPIO1_LDO_EN_IN 0x2
-#define WM8350_GPIO1_RESET_OUT 0x2
-#define WM8350_GPIO1_LPWR2_IN 0x3
-#define WM8350_GPIO1_MEMRST_OUT 0x3
-
-#define WM8350_GPIO2_GPIO_IN 0x0
-#define WM8350_GPIO2_GPIO_OUT 0x0
-#define WM8350_GPIO2_PWR_ON_IN 0x1
-#define WM8350_GPIO2_PWR_ON_OUT 0x1
-#define WM8350_GPIO2_WAKE_UP_IN 0x2
-#define WM8350_GPIO2_VRTC_OUT 0x2
-#define WM8350_GPIO2_32KHZ_IN 0x3
-#define WM8350_GPIO2_32KHZ_OUT 0x3
-
-#define WM8350_GPIO3_GPIO_IN 0x0
-#define WM8350_GPIO3_GPIO_OUT 0x0
-#define WM8350_GPIO3_PWR_ON_IN 0x1
-#define WM8350_GPIO3_P_CLK_OUT 0x1
-#define WM8350_GPIO3_LDO_EN_IN 0x2
-#define WM8350_GPIO3_VRTC_OUT 0x2
-#define WM8350_GPIO3_PWR_OFF_IN 0x3
-#define WM8350_GPIO3_32KHZ_OUT 0x3
-
-#define WM8350_GPIO4_GPIO_IN 0x0
-#define WM8350_GPIO4_GPIO_OUT 0x0
-#define WM8350_GPIO4_MR_IN 0x1
-#define WM8350_GPIO4_MEM_RST_OUT 0x1
-#define WM8350_GPIO4_FLASH_IN 0x2
-#define WM8350_GPIO4_ADA_OUT 0x2
-#define WM8350_GPIO4_HIBERNATE_IN 0x3
-#define WM8350_GPIO4_FLASH_OUT 0x3
-#define WM8350_GPIO4_MICDET_OUT 0x4
-#define WM8350_GPIO4_MICSHT_OUT 0x5
-
-#define WM8350_GPIO5_GPIO_IN 0x0
-#define WM8350_GPIO5_GPIO_OUT 0x0
-#define WM8350_GPIO5_LPWR1_IN 0x1
-#define WM8350_GPIO5_P_CLK_OUT 0x1
-#define WM8350_GPIO5_ADCLRCLK_IN 0x2
-#define WM8350_GPIO5_ADCLRCLK_OUT 0x2
-#define WM8350_GPIO5_HIBERNATE_IN 0x3
-#define WM8350_GPIO5_32KHZ_OUT 0x3
-#define WM8350_GPIO5_MICDET_OUT 0x4
-#define WM8350_GPIO5_MICSHT_OUT 0x5
-#define WM8350_GPIO5_ADA_OUT 0x6
-#define WM8350_GPIO5_OPCLK_OUT 0x7
-
-#define WM8350_GPIO6_GPIO_IN 0x0
-#define WM8350_GPIO6_GPIO_OUT 0x0
-#define WM8350_GPIO6_LPWR2_IN 0x1
-#define WM8350_GPIO6_MEMRST_OUT 0x1
-#define WM8350_GPIO6_FLASH_IN 0x2
-#define WM8350_GPIO6_ADA_OUT 0x2
-#define WM8350_GPIO6_HIBERNATE_IN 0x3
-#define WM8350_GPIO6_RTC_OUT 0x3
-#define WM8350_GPIO6_MICDET_OUT 0x4
-#define WM8350_GPIO6_MICSHT_OUT 0x5
-#define WM8350_GPIO6_ADCLRCLKB_OUT 0x6
-#define WM8350_GPIO6_SDOUT_OUT 0x7
-
-#define WM8350_GPIO7_GPIO_IN 0x0
-#define WM8350_GPIO7_GPIO_OUT 0x0
-#define WM8350_GPIO7_LPWR3_IN 0x1
-#define WM8350_GPIO7_P_CLK_OUT 0x1
-#define WM8350_GPIO7_MASK_IN 0x2
-#define WM8350_GPIO7_VCC_FAULT_OUT 0x2
-#define WM8350_GPIO7_HIBERNATE_IN 0x3
-#define WM8350_GPIO7_BATT_FAULT_OUT 0x3
-#define WM8350_GPIO7_MICDET_OUT 0x4
-#define WM8350_GPIO7_MICSHT_OUT 0x5
-#define WM8350_GPIO7_ADA_OUT 0x6
-#define WM8350_GPIO7_CSB_IN 0x7
-
-#define WM8350_GPIO8_GPIO_IN 0x0
-#define WM8350_GPIO8_GPIO_OUT 0x0
-#define WM8350_GPIO8_MR_IN 0x1
-#define WM8350_GPIO8_VCC_FAULT_OUT 0x1
-#define WM8350_GPIO8_ADCBCLK_IN 0x2
-#define WM8350_GPIO8_ADCBCLK_OUT 0x2
-#define WM8350_GPIO8_PWR_OFF_IN 0x3
-#define WM8350_GPIO8_BATT_FAULT_OUT 0x3
-#define WM8350_GPIO8_ALTSCL_IN 0xf
-
-#define WM8350_GPIO9_GPIO_IN 0x0
-#define WM8350_GPIO9_GPIO_OUT 0x0
-#define WM8350_GPIO9_HEARTBEAT_IN 0x1
-#define WM8350_GPIO9_VCC_FAULT_OUT 0x1
-#define WM8350_GPIO9_MASK_IN 0x2
-#define WM8350_GPIO9_LINE_GT_BATT_OUT 0x2
-#define WM8350_GPIO9_PWR_OFF_IN 0x3
-#define WM8350_GPIO9_BATT_FAULT_OUT 0x3
-#define WM8350_GPIO9_ALTSDA_OUT 0xf
-
-#define WM8350_GPIO10_GPIO_IN 0x0
-#define WM8350_GPIO10_GPIO_OUT 0x0
-#define WM8350_GPIO10_ISINKC_OUT 0x1
-#define WM8350_GPIO10_PWR_OFF_IN 0x2
-#define WM8350_GPIO10_LINE_GT_BATT_OUT 0x2
-#define WM8350_GPIO10_CHD_IND_IN 0x3
-
-#define WM8350_GPIO11_GPIO_IN 0x0
-#define WM8350_GPIO11_GPIO_OUT 0x0
-#define WM8350_GPIO11_ISINKD_OUT 0x1
-#define WM8350_GPIO11_WAKEUP_IN 0x2
-#define WM8350_GPIO11_LINE_GT_BATT_OUT 0x2
-#define WM8350_GPIO11_CHD_IND_IN 0x3
-
-#define WM8350_GPIO12_GPIO_IN 0x0
-#define WM8350_GPIO12_GPIO_OUT 0x0
-#define WM8350_GPIO12_ISINKE_OUT 0x1
-#define WM8350_GPIO12_LINE_GT_BATT_OUT 0x2
-#define WM8350_GPIO12_LINE_EN_OUT 0x3
-#define WM8350_GPIO12_32KHZ_OUT 0x4
-
-#define WM8350_GPIO_DIR_IN 0
-#define WM8350_GPIO_DIR_OUT 1
-#define WM8350_GPIO_ACTIVE_LOW 0
-#define WM8350_GPIO_ACTIVE_HIGH 1
-#define WM8350_GPIO_PULL_NONE 0
-#define WM8350_GPIO_PULL_UP 1
-#define WM8350_GPIO_PULL_DOWN 2
-#define WM8350_GPIO_INVERT_OFF 0
-#define WM8350_GPIO_INVERT_ON 1
-#define WM8350_GPIO_DEBOUNCE_OFF 0
-#define WM8350_GPIO_DEBOUNCE_ON 1
-
-/*
- * R30 (0x1E) - GPIO Interrupt Status
- */
-#define WM8350_GP12_EINT 0x1000
-#define WM8350_GP11_EINT 0x0800
-#define WM8350_GP10_EINT 0x0400
-#define WM8350_GP9_EINT 0x0200
-#define WM8350_GP8_EINT 0x0100
-#define WM8350_GP7_EINT 0x0080
-#define WM8350_GP6_EINT 0x0040
-#define WM8350_GP5_EINT 0x0020
-#define WM8350_GP4_EINT 0x0010
-#define WM8350_GP3_EINT 0x0008
-#define WM8350_GP2_EINT 0x0004
-#define WM8350_GP1_EINT 0x0002
-#define WM8350_GP0_EINT 0x0001
-
-
-/*
- * R128 (0x80) - GPIO Debounce
- */
-#define WM8350_GP12_DB 0x1000
-#define WM8350_GP11_DB 0x0800
-#define WM8350_GP10_DB 0x0400
-#define WM8350_GP9_DB 0x0200
-#define WM8350_GP8_DB 0x0100
-#define WM8350_GP7_DB 0x0080
-#define WM8350_GP6_DB 0x0040
-#define WM8350_GP5_DB 0x0020
-#define WM8350_GP4_DB 0x0010
-#define WM8350_GP3_DB 0x0008
-#define WM8350_GP2_DB 0x0004
-#define WM8350_GP1_DB 0x0002
-#define WM8350_GP0_DB 0x0001
-
-/*
- * R129 (0x81) - GPIO Pin pull up Control
- */
-#define WM8350_GP12_PU 0x1000
-#define WM8350_GP11_PU 0x0800
-#define WM8350_GP10_PU 0x0400
-#define WM8350_GP9_PU 0x0200
-#define WM8350_GP8_PU 0x0100
-#define WM8350_GP7_PU 0x0080
-#define WM8350_GP6_PU 0x0040
-#define WM8350_GP5_PU 0x0020
-#define WM8350_GP4_PU 0x0010
-#define WM8350_GP3_PU 0x0008
-#define WM8350_GP2_PU 0x0004
-#define WM8350_GP1_PU 0x0002
-#define WM8350_GP0_PU 0x0001
-
-/*
- * R130 (0x82) - GPIO Pull down Control
- */
-#define WM8350_GP12_PD 0x1000
-#define WM8350_GP11_PD 0x0800
-#define WM8350_GP10_PD 0x0400
-#define WM8350_GP9_PD 0x0200
-#define WM8350_GP8_PD 0x0100
-#define WM8350_GP7_PD 0x0080
-#define WM8350_GP6_PD 0x0040
-#define WM8350_GP5_PD 0x0020
-#define WM8350_GP4_PD 0x0010
-#define WM8350_GP3_PD 0x0008
-#define WM8350_GP2_PD 0x0004
-#define WM8350_GP1_PD 0x0002
-#define WM8350_GP0_PD 0x0001
-
-/*
- * R131 (0x83) - GPIO Interrupt Mode
- */
-#define WM8350_GP12_INTMODE 0x1000
-#define WM8350_GP11_INTMODE 0x0800
-#define WM8350_GP10_INTMODE 0x0400
-#define WM8350_GP9_INTMODE 0x0200
-#define WM8350_GP8_INTMODE 0x0100
-#define WM8350_GP7_INTMODE 0x0080
-#define WM8350_GP6_INTMODE 0x0040
-#define WM8350_GP5_INTMODE 0x0020
-#define WM8350_GP4_INTMODE 0x0010
-#define WM8350_GP3_INTMODE 0x0008
-#define WM8350_GP2_INTMODE 0x0004
-#define WM8350_GP1_INTMODE 0x0002
-#define WM8350_GP0_INTMODE 0x0001
-
-/*
- * R133 (0x85) - GPIO Control
- */
-#define WM8350_GP_DBTIME_MASK 0x00C0
-
-/*
- * R134 (0x86) - GPIO Configuration (i/o)
- */
-#define WM8350_GP12_DIR 0x1000
-#define WM8350_GP11_DIR 0x0800
-#define WM8350_GP10_DIR 0x0400
-#define WM8350_GP9_DIR 0x0200
-#define WM8350_GP8_DIR 0x0100
-#define WM8350_GP7_DIR 0x0080
-#define WM8350_GP6_DIR 0x0040
-#define WM8350_GP5_DIR 0x0020
-#define WM8350_GP4_DIR 0x0010
-#define WM8350_GP3_DIR 0x0008
-#define WM8350_GP2_DIR 0x0004
-#define WM8350_GP1_DIR 0x0002
-#define WM8350_GP0_DIR 0x0001
-
-/*
- * R135 (0x87) - GPIO Pin Polarity / Type
- */
-#define WM8350_GP12_CFG 0x1000
-#define WM8350_GP11_CFG 0x0800
-#define WM8350_GP10_CFG 0x0400
-#define WM8350_GP9_CFG 0x0200
-#define WM8350_GP8_CFG 0x0100
-#define WM8350_GP7_CFG 0x0080
-#define WM8350_GP6_CFG 0x0040
-#define WM8350_GP5_CFG 0x0020
-#define WM8350_GP4_CFG 0x0010
-#define WM8350_GP3_CFG 0x0008
-#define WM8350_GP2_CFG 0x0004
-#define WM8350_GP1_CFG 0x0002
-#define WM8350_GP0_CFG 0x0001
-
-/*
- * R140 (0x8C) - GPIO Function Select 1
- */
-#define WM8350_GP3_FN_MASK 0xF000
-#define WM8350_GP2_FN_MASK 0x0F00
-#define WM8350_GP1_FN_MASK 0x00F0
-#define WM8350_GP0_FN_MASK 0x000F
-
-/*
- * R141 (0x8D) - GPIO Function Select 2
- */
-#define WM8350_GP7_FN_MASK 0xF000
-#define WM8350_GP6_FN_MASK 0x0F00
-#define WM8350_GP5_FN_MASK 0x00F0
-#define WM8350_GP4_FN_MASK 0x000F
-
-/*
- * R142 (0x8E) - GPIO Function Select 3
- */
-#define WM8350_GP11_FN_MASK 0xF000
-#define WM8350_GP10_FN_MASK 0x0F00
-#define WM8350_GP9_FN_MASK 0x00F0
-#define WM8350_GP8_FN_MASK 0x000F
-
-/*
- * R143 (0x8F) - GPIO Function Select 4
- */
-#define WM8350_GP12_FN_MASK 0x000F
-
-/*
- * R230 (0xE6) - GPIO Pin Status
- */
-#define WM8350_GP12_LVL 0x1000
-#define WM8350_GP11_LVL 0x0800
-#define WM8350_GP10_LVL 0x0400
-#define WM8350_GP9_LVL 0x0200
-#define WM8350_GP8_LVL 0x0100
-#define WM8350_GP7_LVL 0x0080
-#define WM8350_GP6_LVL 0x0040
-#define WM8350_GP5_LVL 0x0020
-#define WM8350_GP4_LVL 0x0010
-#define WM8350_GP3_LVL 0x0008
-#define WM8350_GP2_LVL 0x0004
-#define WM8350_GP1_LVL 0x0002
-#define WM8350_GP0_LVL 0x0001
-
-struct wm8350;
-
-int wm8350_gpio_config(struct wm8350 *wm8350, int gpio, int dir, int func,
- int pol, int pull, int invert, int debounce);
-
-struct wm8350_gpio {
- struct platform_device *pdev;
-};
-
-/*
- * GPIO Interrupts
- */
-#define WM8350_IRQ_GPIO(x) (50 + x)
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/pmic.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/pmic.h
deleted file mode 100644
index 579b50ca..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/pmic.h
+++ /dev/null
@@ -1,781 +0,0 @@
-/*
- * pmic.h -- Power Management Driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
-
-#ifndef __LINUX_MFD_WM8350_PMIC_H
-#define __LINUX_MFD_WM8350_PMIC_H
-
-#include <linux/platform_device.h>
-#include <linux/leds.h>
-#include <linux/regulator/machine.h>
-
-/*
- * Register values.
- */
-
-#define WM8350_CURRENT_SINK_DRIVER_A 0xAC
-#define WM8350_CSA_FLASH_CONTROL 0xAD
-#define WM8350_CURRENT_SINK_DRIVER_B 0xAE
-#define WM8350_CSB_FLASH_CONTROL 0xAF
-#define WM8350_DCDC_LDO_REQUESTED 0xB0
-#define WM8350_DCDC_ACTIVE_OPTIONS 0xB1
-#define WM8350_DCDC_SLEEP_OPTIONS 0xB2
-#define WM8350_POWER_CHECK_COMPARATOR 0xB3
-#define WM8350_DCDC1_CONTROL 0xB4
-#define WM8350_DCDC1_TIMEOUTS 0xB5
-#define WM8350_DCDC1_LOW_POWER 0xB6
-#define WM8350_DCDC2_CONTROL 0xB7
-#define WM8350_DCDC2_TIMEOUTS 0xB8
-#define WM8350_DCDC3_CONTROL 0xBA
-#define WM8350_DCDC3_TIMEOUTS 0xBB
-#define WM8350_DCDC3_LOW_POWER 0xBC
-#define WM8350_DCDC4_CONTROL 0xBD
-#define WM8350_DCDC4_TIMEOUTS 0xBE
-#define WM8350_DCDC4_LOW_POWER 0xBF
-#define WM8350_DCDC5_CONTROL 0xC0
-#define WM8350_DCDC5_TIMEOUTS 0xC1
-#define WM8350_DCDC6_CONTROL 0xC3
-#define WM8350_DCDC6_TIMEOUTS 0xC4
-#define WM8350_DCDC6_LOW_POWER 0xC5
-#define WM8350_LIMIT_SWITCH_CONTROL 0xC7
-#define WM8350_LDO1_CONTROL 0xC8
-#define WM8350_LDO1_TIMEOUTS 0xC9
-#define WM8350_LDO1_LOW_POWER 0xCA
-#define WM8350_LDO2_CONTROL 0xCB
-#define WM8350_LDO2_TIMEOUTS 0xCC
-#define WM8350_LDO2_LOW_POWER 0xCD
-#define WM8350_LDO3_CONTROL 0xCE
-#define WM8350_LDO3_TIMEOUTS 0xCF
-#define WM8350_LDO3_LOW_POWER 0xD0
-#define WM8350_LDO4_CONTROL 0xD1
-#define WM8350_LDO4_TIMEOUTS 0xD2
-#define WM8350_LDO4_LOW_POWER 0xD3
-#define WM8350_VCC_FAULT_MASKS 0xD7
-#define WM8350_MAIN_BANDGAP_CONTROL 0xD8
-#define WM8350_OSC_CONTROL 0xD9
-#define WM8350_RTC_TICK_CONTROL 0xDA
-#define WM8350_SECURITY 0xDB
-#define WM8350_RAM_BIST_1 0xDC
-#define WM8350_DCDC_LDO_STATUS 0xE1
-#define WM8350_GPIO_PIN_STATUS 0xE6
-
-#define WM8350_DCDC1_FORCE_PWM 0xF8
-#define WM8350_DCDC3_FORCE_PWM 0xFA
-#define WM8350_DCDC4_FORCE_PWM 0xFB
-#define WM8350_DCDC6_FORCE_PWM 0xFD
-
-/*
- * R172 (0xAC) - Current Sink Driver A
- */
-#define WM8350_CS1_HIB_MODE 0x1000
-#define WM8350_CS1_HIB_MODE_MASK 0x1000
-#define WM8350_CS1_HIB_MODE_SHIFT 12
-#define WM8350_CS1_ISEL_MASK 0x003F
-#define WM8350_CS1_ISEL_SHIFT 0
-
-/* Bit values for R172 (0xAC) */
-#define WM8350_CS1_HIB_MODE_DISABLE 0
-#define WM8350_CS1_HIB_MODE_LEAVE 1
-
-#define WM8350_CS1_ISEL_220M 0x3F
-
-/*
- * R173 (0xAD) - CSA Flash control
- */
-#define WM8350_CS1_FLASH_MODE 0x8000
-#define WM8350_CS1_TRIGSRC 0x4000
-#define WM8350_CS1_DRIVE 0x2000
-#define WM8350_CS1_FLASH_DUR_MASK 0x0300
-#define WM8350_CS1_OFF_RAMP_MASK 0x0030
-#define WM8350_CS1_ON_RAMP_MASK 0x0003
-
-/*
- * R174 (0xAE) - Current Sink Driver B
- */
-#define WM8350_CS2_HIB_MODE 0x1000
-#define WM8350_CS2_ISEL_MASK 0x003F
-
-/*
- * R175 (0xAF) - CSB Flash control
- */
-#define WM8350_CS2_FLASH_MODE 0x8000
-#define WM8350_CS2_TRIGSRC 0x4000
-#define WM8350_CS2_DRIVE 0x2000
-#define WM8350_CS2_FLASH_DUR_MASK 0x0300
-#define WM8350_CS2_OFF_RAMP_MASK 0x0030
-#define WM8350_CS2_ON_RAMP_MASK 0x0003
-
-/*
- * R176 (0xB0) - DCDC/LDO requested
- */
-#define WM8350_LS_ENA 0x8000
-#define WM8350_LDO4_ENA 0x0800
-#define WM8350_LDO3_ENA 0x0400
-#define WM8350_LDO2_ENA 0x0200
-#define WM8350_LDO1_ENA 0x0100
-#define WM8350_DC6_ENA 0x0020
-#define WM8350_DC5_ENA 0x0010
-#define WM8350_DC4_ENA 0x0008
-#define WM8350_DC3_ENA 0x0004
-#define WM8350_DC2_ENA 0x0002
-#define WM8350_DC1_ENA 0x0001
-
-/*
- * R177 (0xB1) - DCDC Active options
- */
-#define WM8350_PUTO_MASK 0x3000
-#define WM8350_PWRUP_DELAY_MASK 0x0300
-#define WM8350_DC6_ACTIVE 0x0020
-#define WM8350_DC4_ACTIVE 0x0008
-#define WM8350_DC3_ACTIVE 0x0004
-#define WM8350_DC1_ACTIVE 0x0001
-
-/*
- * R178 (0xB2) - DCDC Sleep options
- */
-#define WM8350_DC6_SLEEP 0x0020
-#define WM8350_DC4_SLEEP 0x0008
-#define WM8350_DC3_SLEEP 0x0004
-#define WM8350_DC1_SLEEP 0x0001
-
-/*
- * R179 (0xB3) - Power-check comparator
- */
-#define WM8350_PCCMP_ERRACT 0x4000
-#define WM8350_PCCMP_RAIL 0x0100
-#define WM8350_PCCMP_OFF_THR_MASK 0x0070
-#define WM8350_PCCMP_ON_THR_MASK 0x0007
-
-/*
- * R180 (0xB4) - DCDC1 Control
- */
-#define WM8350_DC1_OPFLT 0x0400
-#define WM8350_DC1_VSEL_MASK 0x007F
-#define WM8350_DC1_VSEL_SHIFT 0
-
-/*
- * R181 (0xB5) - DCDC1 Timeouts
- */
-#define WM8350_DC1_ERRACT_MASK 0xC000
-#define WM8350_DC1_ERRACT_SHIFT 14
-#define WM8350_DC1_ENSLOT_MASK 0x3C00
-#define WM8350_DC1_ENSLOT_SHIFT 10
-#define WM8350_DC1_SDSLOT_MASK 0x03C0
-#define WM8350_DC1_UVTO_MASK 0x0030
-#define WM8350_DC1_SDSLOT_SHIFT 6
-
-/* Bit values for R181 (0xB5) */
-#define WM8350_DC1_ERRACT_NONE 0
-#define WM8350_DC1_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_DC1_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R182 (0xB6) - DCDC1 Low Power
- */
-#define WM8350_DC1_HIB_MODE_MASK 0x7000
-#define WM8350_DC1_HIB_TRIG_MASK 0x0300
-#define WM8350_DC1_VIMG_MASK 0x007F
-
-/*
- * R183 (0xB7) - DCDC2 Control
- */
-#define WM8350_DC2_MODE 0x4000
-#define WM8350_DC2_MODE_MASK 0x4000
-#define WM8350_DC2_MODE_SHIFT 14
-#define WM8350_DC2_HIB_MODE 0x1000
-#define WM8350_DC2_HIB_MODE_MASK 0x1000
-#define WM8350_DC2_HIB_MODE_SHIFT 12
-#define WM8350_DC2_HIB_TRIG_MASK 0x0300
-#define WM8350_DC2_HIB_TRIG_SHIFT 8
-#define WM8350_DC2_ILIM 0x0040
-#define WM8350_DC2_ILIM_MASK 0x0040
-#define WM8350_DC2_ILIM_SHIFT 6
-#define WM8350_DC2_RMP_MASK 0x0018
-#define WM8350_DC2_RMP_SHIFT 3
-#define WM8350_DC2_FBSRC_MASK 0x0003
-#define WM8350_DC2_FBSRC_SHIFT 0
-
-/* Bit values for R183 (0xB7) */
-#define WM8350_DC2_MODE_BOOST 0
-#define WM8350_DC2_MODE_SWITCH 1
-
-#define WM8350_DC2_HIB_MODE_ACTIVE 1
-#define WM8350_DC2_HIB_MODE_DISABLE 0
-
-#define WM8350_DC2_HIB_TRIG_NONE 0
-#define WM8350_DC2_HIB_TRIG_LPWR1 1
-#define WM8350_DC2_HIB_TRIG_LPWR2 2
-#define WM8350_DC2_HIB_TRIG_LPWR3 3
-
-#define WM8350_DC2_ILIM_HIGH 0
-#define WM8350_DC2_ILIM_LOW 1
-
-#define WM8350_DC2_RMP_30V 0
-#define WM8350_DC2_RMP_20V 1
-#define WM8350_DC2_RMP_10V 2
-#define WM8350_DC2_RMP_5V 3
-
-#define WM8350_DC2_FBSRC_FB2 0
-#define WM8350_DC2_FBSRC_ISINKA 1
-#define WM8350_DC2_FBSRC_ISINKB 2
-#define WM8350_DC2_FBSRC_USB 3
-
-/*
- * R184 (0xB8) - DCDC2 Timeouts
- */
-#define WM8350_DC2_ERRACT_MASK 0xC000
-#define WM8350_DC2_ERRACT_SHIFT 14
-#define WM8350_DC2_ENSLOT_MASK 0x3C00
-#define WM8350_DC2_ENSLOT_SHIFT 10
-#define WM8350_DC2_SDSLOT_MASK 0x03C0
-#define WM8350_DC2_UVTO_MASK 0x0030
-
-/* Bit values for R184 (0xB8) */
-#define WM8350_DC2_ERRACT_NONE 0
-#define WM8350_DC2_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_DC2_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R186 (0xBA) - DCDC3 Control
- */
-#define WM8350_DC3_OPFLT 0x0400
-#define WM8350_DC3_VSEL_MASK 0x007F
-#define WM8350_DC3_VSEL_SHIFT 0
-
-/*
- * R187 (0xBB) - DCDC3 Timeouts
- */
-#define WM8350_DC3_ERRACT_MASK 0xC000
-#define WM8350_DC3_ERRACT_SHIFT 14
-#define WM8350_DC3_ENSLOT_MASK 0x3C00
-#define WM8350_DC3_ENSLOT_SHIFT 10
-#define WM8350_DC3_SDSLOT_MASK 0x03C0
-#define WM8350_DC3_UVTO_MASK 0x0030
-#define WM8350_DC3_SDSLOT_SHIFT 6
-
-/* Bit values for R187 (0xBB) */
-#define WM8350_DC3_ERRACT_NONE 0
-#define WM8350_DC3_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_DC3_ERRACT_SHUTDOWN_SYS 2
-/*
- * R188 (0xBC) - DCDC3 Low Power
- */
-#define WM8350_DC3_HIB_MODE_MASK 0x7000
-#define WM8350_DC3_HIB_TRIG_MASK 0x0300
-#define WM8350_DC3_VIMG_MASK 0x007F
-
-/*
- * R189 (0xBD) - DCDC4 Control
- */
-#define WM8350_DC4_OPFLT 0x0400
-#define WM8350_DC4_VSEL_MASK 0x007F
-#define WM8350_DC4_VSEL_SHIFT 0
-
-/*
- * R190 (0xBE) - DCDC4 Timeouts
- */
-#define WM8350_DC4_ERRACT_MASK 0xC000
-#define WM8350_DC4_ERRACT_SHIFT 14
-#define WM8350_DC4_ENSLOT_MASK 0x3C00
-#define WM8350_DC4_ENSLOT_SHIFT 10
-#define WM8350_DC4_SDSLOT_MASK 0x03C0
-#define WM8350_DC4_UVTO_MASK 0x0030
-#define WM8350_DC4_SDSLOT_SHIFT 6
-
-/* Bit values for R190 (0xBE) */
-#define WM8350_DC4_ERRACT_NONE 0
-#define WM8350_DC4_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_DC4_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R191 (0xBF) - DCDC4 Low Power
- */
-#define WM8350_DC4_HIB_MODE_MASK 0x7000
-#define WM8350_DC4_HIB_TRIG_MASK 0x0300
-#define WM8350_DC4_VIMG_MASK 0x007F
-
-/*
- * R192 (0xC0) - DCDC5 Control
- */
-#define WM8350_DC5_MODE 0x4000
-#define WM8350_DC5_MODE_MASK 0x4000
-#define WM8350_DC5_MODE_SHIFT 14
-#define WM8350_DC5_HIB_MODE 0x1000
-#define WM8350_DC5_HIB_MODE_MASK 0x1000
-#define WM8350_DC5_HIB_MODE_SHIFT 12
-#define WM8350_DC5_HIB_TRIG_MASK 0x0300
-#define WM8350_DC5_HIB_TRIG_SHIFT 8
-#define WM8350_DC5_ILIM 0x0040
-#define WM8350_DC5_ILIM_MASK 0x0040
-#define WM8350_DC5_ILIM_SHIFT 6
-#define WM8350_DC5_RMP_MASK 0x0018
-#define WM8350_DC5_RMP_SHIFT 3
-#define WM8350_DC5_FBSRC_MASK 0x0003
-#define WM8350_DC5_FBSRC_SHIFT 0
-
-/* Bit values for R192 (0xC0) */
-#define WM8350_DC5_MODE_BOOST 0
-#define WM8350_DC5_MODE_SWITCH 1
-
-#define WM8350_DC5_HIB_MODE_ACTIVE 1
-#define WM8350_DC5_HIB_MODE_DISABLE 0
-
-#define WM8350_DC5_HIB_TRIG_NONE 0
-#define WM8350_DC5_HIB_TRIG_LPWR1 1
-#define WM8350_DC5_HIB_TRIG_LPWR2 2
-#define WM8350_DC5_HIB_TRIG_LPWR3 3
-
-#define WM8350_DC5_ILIM_HIGH 0
-#define WM8350_DC5_ILIM_LOW 1
-
-#define WM8350_DC5_RMP_30V 0
-#define WM8350_DC5_RMP_20V 1
-#define WM8350_DC5_RMP_10V 2
-#define WM8350_DC5_RMP_5V 3
-
-#define WM8350_DC5_FBSRC_FB2 0
-#define WM8350_DC5_FBSRC_ISINKA 1
-#define WM8350_DC5_FBSRC_ISINKB 2
-#define WM8350_DC5_FBSRC_USB 3
-
-/*
- * R193 (0xC1) - DCDC5 Timeouts
- */
-#define WM8350_DC5_ERRACT_MASK 0xC000
-#define WM8350_DC5_ERRACT_SHIFT 14
-#define WM8350_DC5_ENSLOT_MASK 0x3C00
-#define WM8350_DC5_ENSLOT_SHIFT 10
-#define WM8350_DC5_SDSLOT_MASK 0x03C0
-#define WM8350_DC5_UVTO_MASK 0x0030
-#define WM8350_DC5_SDSLOT_SHIFT 6
-
-/* Bit values for R193 (0xC1) */
-#define WM8350_DC5_ERRACT_NONE 0
-#define WM8350_DC5_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_DC5_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R195 (0xC3) - DCDC6 Control
- */
-#define WM8350_DC6_OPFLT 0x0400
-#define WM8350_DC6_VSEL_MASK 0x007F
-#define WM8350_DC6_VSEL_SHIFT 0
-
-/*
- * R196 (0xC4) - DCDC6 Timeouts
- */
-#define WM8350_DC6_ERRACT_MASK 0xC000
-#define WM8350_DC6_ERRACT_SHIFT 14
-#define WM8350_DC6_ENSLOT_MASK 0x3C00
-#define WM8350_DC6_ENSLOT_SHIFT 10
-#define WM8350_DC6_SDSLOT_MASK 0x03C0
-#define WM8350_DC6_UVTO_MASK 0x0030
-#define WM8350_DC6_SDSLOT_SHIFT 6
-
-/* Bit values for R196 (0xC4) */
-#define WM8350_DC6_ERRACT_NONE 0
-#define WM8350_DC6_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_DC6_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R197 (0xC5) - DCDC6 Low Power
- */
-#define WM8350_DC6_HIB_MODE_MASK 0x7000
-#define WM8350_DC6_HIB_TRIG_MASK 0x0300
-#define WM8350_DC6_VIMG_MASK 0x007F
-
-/*
- * R199 (0xC7) - Limit Switch Control
- */
-#define WM8350_LS_ERRACT_MASK 0xC000
-#define WM8350_LS_ERRACT_SHIFT 14
-#define WM8350_LS_ENSLOT_MASK 0x3C00
-#define WM8350_LS_ENSLOT_SHIFT 10
-#define WM8350_LS_SDSLOT_MASK 0x03C0
-#define WM8350_LS_SDSLOT_SHIFT 6
-#define WM8350_LS_HIB_MODE 0x0010
-#define WM8350_LS_HIB_MODE_MASK 0x0010
-#define WM8350_LS_HIB_MODE_SHIFT 4
-#define WM8350_LS_HIB_PROT 0x0002
-#define WM8350_LS_HIB_PROT_MASK 0x0002
-#define WM8350_LS_HIB_PROT_SHIFT 1
-#define WM8350_LS_PROT 0x0001
-#define WM8350_LS_PROT_MASK 0x0001
-#define WM8350_LS_PROT_SHIFT 0
-
-/* Bit values for R199 (0xC7) */
-#define WM8350_LS_ERRACT_NONE 0
-#define WM8350_LS_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_LS_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R200 (0xC8) - LDO1 Control
- */
-#define WM8350_LDO1_SWI 0x4000
-#define WM8350_LDO1_OPFLT 0x0400
-#define WM8350_LDO1_VSEL_MASK 0x001F
-#define WM8350_LDO1_VSEL_SHIFT 0
-
-/*
- * R201 (0xC9) - LDO1 Timeouts
- */
-#define WM8350_LDO1_ERRACT_MASK 0xC000
-#define WM8350_LDO1_ERRACT_SHIFT 14
-#define WM8350_LDO1_ENSLOT_MASK 0x3C00
-#define WM8350_LDO1_ENSLOT_SHIFT 10
-#define WM8350_LDO1_SDSLOT_MASK 0x03C0
-#define WM8350_LDO1_UVTO_MASK 0x0030
-#define WM8350_LDO1_SDSLOT_SHIFT 6
-
-/* Bit values for R201 (0xC9) */
-#define WM8350_LDO1_ERRACT_NONE 0
-#define WM8350_LDO1_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_LDO1_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R202 (0xCA) - LDO1 Low Power
- */
-#define WM8350_LDO1_HIB_MODE_MASK 0x3000
-#define WM8350_LDO1_HIB_TRIG_MASK 0x0300
-#define WM8350_LDO1_VIMG_MASK 0x001F
-#define WM8350_LDO1_HIB_MODE_DIS (0x1 << 12)
-
-
-/*
- * R203 (0xCB) - LDO2 Control
- */
-#define WM8350_LDO2_SWI 0x4000
-#define WM8350_LDO2_OPFLT 0x0400
-#define WM8350_LDO2_VSEL_MASK 0x001F
-#define WM8350_LDO2_VSEL_SHIFT 0
-
-/*
- * R204 (0xCC) - LDO2 Timeouts
- */
-#define WM8350_LDO2_ERRACT_MASK 0xC000
-#define WM8350_LDO2_ERRACT_SHIFT 14
-#define WM8350_LDO2_ENSLOT_MASK 0x3C00
-#define WM8350_LDO2_ENSLOT_SHIFT 10
-#define WM8350_LDO2_SDSLOT_MASK 0x03C0
-#define WM8350_LDO2_SDSLOT_SHIFT 6
-
-/* Bit values for R204 (0xCC) */
-#define WM8350_LDO2_ERRACT_NONE 0
-#define WM8350_LDO2_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_LDO2_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R205 (0xCD) - LDO2 Low Power
- */
-#define WM8350_LDO2_HIB_MODE_MASK 0x3000
-#define WM8350_LDO2_HIB_TRIG_MASK 0x0300
-#define WM8350_LDO2_VIMG_MASK 0x001F
-
-/*
- * R206 (0xCE) - LDO3 Control
- */
-#define WM8350_LDO3_SWI 0x4000
-#define WM8350_LDO3_OPFLT 0x0400
-#define WM8350_LDO3_VSEL_MASK 0x001F
-#define WM8350_LDO3_VSEL_SHIFT 0
-
-/*
- * R207 (0xCF) - LDO3 Timeouts
- */
-#define WM8350_LDO3_ERRACT_MASK 0xC000
-#define WM8350_LDO3_ERRACT_SHIFT 14
-#define WM8350_LDO3_ENSLOT_MASK 0x3C00
-#define WM8350_LDO3_ENSLOT_SHIFT 10
-#define WM8350_LDO3_SDSLOT_MASK 0x03C0
-#define WM8350_LDO3_UVTO_MASK 0x0030
-#define WM8350_LDO3_SDSLOT_SHIFT 6
-
-/* Bit values for R207 (0xCF) */
-#define WM8350_LDO3_ERRACT_NONE 0
-#define WM8350_LDO3_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_LDO3_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R208 (0xD0) - LDO3 Low Power
- */
-#define WM8350_LDO3_HIB_MODE_MASK 0x3000
-#define WM8350_LDO3_HIB_TRIG_MASK 0x0300
-#define WM8350_LDO3_VIMG_MASK 0x001F
-
-/*
- * R209 (0xD1) - LDO4 Control
- */
-#define WM8350_LDO4_SWI 0x4000
-#define WM8350_LDO4_OPFLT 0x0400
-#define WM8350_LDO4_VSEL_MASK 0x001F
-#define WM8350_LDO4_VSEL_SHIFT 0
-
-/*
- * R210 (0xD2) - LDO4 Timeouts
- */
-#define WM8350_LDO4_ERRACT_MASK 0xC000
-#define WM8350_LDO4_ERRACT_SHIFT 14
-#define WM8350_LDO4_ENSLOT_MASK 0x3C00
-#define WM8350_LDO4_ENSLOT_SHIFT 10
-#define WM8350_LDO4_SDSLOT_MASK 0x03C0
-#define WM8350_LDO4_UVTO_MASK 0x0030
-#define WM8350_LDO4_SDSLOT_SHIFT 6
-
-/* Bit values for R210 (0xD2) */
-#define WM8350_LDO4_ERRACT_NONE 0
-#define WM8350_LDO4_ERRACT_SHUTDOWN_CONV 1
-#define WM8350_LDO4_ERRACT_SHUTDOWN_SYS 2
-
-/*
- * R211 (0xD3) - LDO4 Low Power
- */
-#define WM8350_LDO4_HIB_MODE_MASK 0x3000
-#define WM8350_LDO4_HIB_TRIG_MASK 0x0300
-#define WM8350_LDO4_VIMG_MASK 0x001F
-
-/*
- * R215 (0xD7) - VCC_FAULT Masks
- */
-#define WM8350_LS_FAULT 0x8000
-#define WM8350_LDO4_FAULT 0x0800
-#define WM8350_LDO3_FAULT 0x0400
-#define WM8350_LDO2_FAULT 0x0200
-#define WM8350_LDO1_FAULT 0x0100
-#define WM8350_DC6_FAULT 0x0020
-#define WM8350_DC5_FAULT 0x0010
-#define WM8350_DC4_FAULT 0x0008
-#define WM8350_DC3_FAULT 0x0004
-#define WM8350_DC2_FAULT 0x0002
-#define WM8350_DC1_FAULT 0x0001
-
-/*
- * R216 (0xD8) - Main Bandgap Control
- */
-#define WM8350_MBG_LOAD_FUSES 0x8000
-#define WM8350_MBG_FUSE_WPREP 0x4000
-#define WM8350_MBG_FUSE_WRITE 0x2000
-#define WM8350_MBG_FUSE_TRIM_MASK 0x1F00
-#define WM8350_MBG_TRIM_SRC 0x0020
-#define WM8350_MBG_USER_TRIM_MASK 0x001F
-
-/*
- * R217 (0xD9) - OSC Control
- */
-#define WM8350_OSC_LOAD_FUSES 0x8000
-#define WM8350_OSC_FUSE_WPREP 0x4000
-#define WM8350_OSC_FUSE_WRITE 0x2000
-#define WM8350_OSC_FUSE_TRIM_MASK 0x0F00
-#define WM8350_OSC_TRIM_SRC 0x0020
-#define WM8350_OSC_USER_TRIM_MASK 0x000F
-
-/*
- * R248 (0xF8) - DCDC1 Force PWM
- */
-#define WM8350_DCDC1_FORCE_PWM_ENA 0x0010
-
-/*
- * R250 (0xFA) - DCDC3 Force PWM
- */
-#define WM8350_DCDC3_FORCE_PWM_ENA 0x0010
-
-/*
- * R251 (0xFB) - DCDC4 Force PWM
- */
-#define WM8350_DCDC4_FORCE_PWM_ENA 0x0010
-
-/*
- * R253 (0xFD) - DCDC1 Force PWM
- */
-#define WM8350_DCDC6_FORCE_PWM_ENA 0x0010
-
-/*
- * DCDC's
- */
-#define WM8350_DCDC_1 0
-#define WM8350_DCDC_2 1
-#define WM8350_DCDC_3 2
-#define WM8350_DCDC_4 3
-#define WM8350_DCDC_5 4
-#define WM8350_DCDC_6 5
-
-/* DCDC modes */
-#define WM8350_DCDC_ACTIVE_STANDBY 0
-#define WM8350_DCDC_ACTIVE_PULSE 1
-#define WM8350_DCDC_SLEEP_NORMAL 0
-#define WM8350_DCDC_SLEEP_LOW 1
-
-/* DCDC Low power (Hibernate) mode */
-#define WM8350_DCDC_HIB_MODE_CUR (0 << 12)
-#define WM8350_DCDC_HIB_MODE_IMAGE (1 << 12)
-#define WM8350_DCDC_HIB_MODE_STANDBY (2 << 12)
-#define WM8350_DCDC_HIB_MODE_LDO (4 << 12)
-#define WM8350_DCDC_HIB_MODE_LDO_IM (5 << 12)
-#define WM8350_DCDC_HIB_MODE_DIS (7 << 12)
-#define WM8350_DCDC_HIB_MODE_MASK (7 << 12)
-
-/* DCDC Low Power (Hibernate) signal */
-#define WM8350_DCDC_HIB_SIG_REG (0 << 8)
-#define WM8350_DCDC_HIB_SIG_LPWR1 (1 << 8)
-#define WM8350_DCDC_HIB_SIG_LPWR2 (2 << 8)
-#define WM8350_DCDC_HIB_SIG_LPWR3 (3 << 8)
-
-/* LDO Low power (Hibernate) mode */
-#define WM8350_LDO_HIB_MODE_IMAGE (0 << 0)
-#define WM8350_LDO_HIB_MODE_DIS (1 << 0)
-
-/* LDO Low Power (Hibernate) signal */
-#define WM8350_LDO_HIB_SIG_REG (0 << 8)
-#define WM8350_LDO_HIB_SIG_LPWR1 (1 << 8)
-#define WM8350_LDO_HIB_SIG_LPWR2 (2 << 8)
-#define WM8350_LDO_HIB_SIG_LPWR3 (3 << 8)
-
-/*
- * LDOs
- */
-#define WM8350_LDO_1 6
-#define WM8350_LDO_2 7
-#define WM8350_LDO_3 8
-#define WM8350_LDO_4 9
-
-/*
- * ISINKs
- */
-#define WM8350_ISINK_A 10
-#define WM8350_ISINK_B 11
-
-#define WM8350_ISINK_MODE_BOOST 0
-#define WM8350_ISINK_MODE_SWITCH 1
-#define WM8350_ISINK_ILIM_NORMAL 0
-#define WM8350_ISINK_ILIM_LOW 1
-
-#define WM8350_ISINK_FLASH_DISABLE 0
-#define WM8350_ISINK_FLASH_ENABLE 1
-#define WM8350_ISINK_FLASH_TRIG_BIT 0
-#define WM8350_ISINK_FLASH_TRIG_GPIO 1
-#define WM8350_ISINK_FLASH_MODE_EN (1 << 13)
-#define WM8350_ISINK_FLASH_MODE_DIS (0 << 13)
-#define WM8350_ISINK_FLASH_DUR_32MS (0 << 8)
-#define WM8350_ISINK_FLASH_DUR_64MS (1 << 8)
-#define WM8350_ISINK_FLASH_DUR_96MS (2 << 8)
-#define WM8350_ISINK_FLASH_DUR_1024MS (3 << 8)
-#define WM8350_ISINK_FLASH_ON_INSTANT (0 << 0)
-#define WM8350_ISINK_FLASH_ON_0_25S (1 << 0)
-#define WM8350_ISINK_FLASH_ON_0_50S (2 << 0)
-#define WM8350_ISINK_FLASH_ON_1_00S (3 << 0)
-#define WM8350_ISINK_FLASH_ON_1_95S (1 << 0)
-#define WM8350_ISINK_FLASH_ON_3_91S (2 << 0)
-#define WM8350_ISINK_FLASH_ON_7_80S (3 << 0)
-#define WM8350_ISINK_FLASH_OFF_INSTANT (0 << 4)
-#define WM8350_ISINK_FLASH_OFF_0_25S (1 << 4)
-#define WM8350_ISINK_FLASH_OFF_0_50S (2 << 4)
-#define WM8350_ISINK_FLASH_OFF_1_00S (3 << 4)
-#define WM8350_ISINK_FLASH_OFF_1_95S (1 << 4)
-#define WM8350_ISINK_FLASH_OFF_3_91S (2 << 4)
-#define WM8350_ISINK_FLASH_OFF_7_80S (3 << 4)
-
-/*
- * Regulator Interrupts.
- */
-#define WM8350_IRQ_CS1 13
-#define WM8350_IRQ_CS2 14
-#define WM8350_IRQ_UV_LDO4 25
-#define WM8350_IRQ_UV_LDO3 26
-#define WM8350_IRQ_UV_LDO2 27
-#define WM8350_IRQ_UV_LDO1 28
-#define WM8350_IRQ_UV_DC6 29
-#define WM8350_IRQ_UV_DC5 30
-#define WM8350_IRQ_UV_DC4 31
-#define WM8350_IRQ_UV_DC3 32
-#define WM8350_IRQ_UV_DC2 33
-#define WM8350_IRQ_UV_DC1 34
-#define WM8350_IRQ_OC_LS 35
-
-#define NUM_WM8350_REGULATORS 12
-
-struct wm8350;
-struct platform_device;
-struct regulator_init_data;
-
-/*
- * WM8350 LED platform data
- */
-struct wm8350_led_platform_data {
- const char *name;
- const char *default_trigger;
- int max_uA;
-};
-
-struct wm8350_led {
- struct platform_device *pdev;
- struct mutex mutex;
- struct work_struct work;
- spinlock_t value_lock;
- enum led_brightness value;
- struct led_classdev cdev;
- int max_uA_index;
- int enabled;
-
- struct regulator *isink;
- struct regulator_consumer_supply isink_consumer;
- struct regulator_init_data isink_init;
- struct regulator *dcdc;
- struct regulator_consumer_supply dcdc_consumer;
- struct regulator_init_data dcdc_init;
-};
-
-struct wm8350_pmic {
- /* Number of regulators of each type on this device */
- int max_dcdc;
- int max_isink;
-
- /* ISINK to DCDC mapping */
- int isink_A_dcdc;
- int isink_B_dcdc;
-
- /* hibernate configs */
- u16 dcdc1_hib_mode;
- u16 dcdc3_hib_mode;
- u16 dcdc4_hib_mode;
- u16 dcdc6_hib_mode;
-
- /* regulator devices */
- struct platform_device *pdev[NUM_WM8350_REGULATORS];
-
- /* LED devices */
- struct wm8350_led led[2];
-};
-
-int wm8350_register_regulator(struct wm8350 *wm8350, int reg,
- struct regulator_init_data *initdata);
-int wm8350_register_led(struct wm8350 *wm8350, int lednum, int dcdc, int isink,
- struct wm8350_led_platform_data *pdata);
-
-/*
- * Additional DCDC control not supported via regulator API
- */
-int wm8350_dcdc_set_slot(struct wm8350 *wm8350, int dcdc, u16 start,
- u16 stop, u16 fault);
-int wm8350_dcdc25_set_mode(struct wm8350 *wm8350, int dcdc, u16 mode,
- u16 ilim, u16 ramp, u16 feedback);
-
-/*
- * Additional LDO control not supported via regulator API
- */
-int wm8350_ldo_set_slot(struct wm8350 *wm8350, int ldo, u16 start, u16 stop);
-
-/*
- * Additional ISINK control not supported via regulator API
- */
-int wm8350_isink_set_flash(struct wm8350 *wm8350, int isink, u16 mode,
- u16 trigger, u16 duration, u16 on_ramp,
- u16 off_ramp, u16 drive);
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/rtc.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/rtc.h
deleted file mode 100644
index ebd72ffc..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/rtc.h
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * rtc.h -- RTC driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- */
-
-#ifndef __LINUX_MFD_WM8350_RTC_H
-#define __LINUX_MFD_WM8350_RTC_H
-
-#include <linux/platform_device.h>
-
-/*
- * Register values.
- */
-#define WM8350_RTC_SECONDS_MINUTES 0x10
-#define WM8350_RTC_HOURS_DAY 0x11
-#define WM8350_RTC_DATE_MONTH 0x12
-#define WM8350_RTC_YEAR 0x13
-#define WM8350_ALARM_SECONDS_MINUTES 0x14
-#define WM8350_ALARM_HOURS_DAY 0x15
-#define WM8350_ALARM_DATE_MONTH 0x16
-#define WM8350_RTC_TIME_CONTROL 0x17
-
-/*
- * R16 (0x10) - RTC Seconds/Minutes
- */
-#define WM8350_RTC_MINS_MASK 0x7F00
-#define WM8350_RTC_MINS_SHIFT 8
-#define WM8350_RTC_SECS_MASK 0x007F
-#define WM8350_RTC_SECS_SHIFT 0
-
-/*
- * R17 (0x11) - RTC Hours/Day
- */
-#define WM8350_RTC_DAY_MASK 0x0700
-#define WM8350_RTC_DAY_SHIFT 8
-#define WM8350_RTC_HPM_MASK 0x0020
-#define WM8350_RTC_HPM_SHIFT 5
-#define WM8350_RTC_HRS_MASK 0x001F
-#define WM8350_RTC_HRS_SHIFT 0
-
-/* Bit values for R21 (0x15) */
-#define WM8350_RTC_DAY_SUN 1
-#define WM8350_RTC_DAY_MON 2
-#define WM8350_RTC_DAY_TUE 3
-#define WM8350_RTC_DAY_WED 4
-#define WM8350_RTC_DAY_THU 5
-#define WM8350_RTC_DAY_FRI 6
-#define WM8350_RTC_DAY_SAT 7
-
-#define WM8350_RTC_HPM_AM 0
-#define WM8350_RTC_HPM_PM 1
-
-/*
- * R18 (0x12) - RTC Date/Month
- */
-#define WM8350_RTC_MTH_MASK 0x1F00
-#define WM8350_RTC_MTH_SHIFT 8
-#define WM8350_RTC_DATE_MASK 0x003F
-#define WM8350_RTC_DATE_SHIFT 0
-
-/* Bit values for R22 (0x16) */
-#define WM8350_RTC_MTH_JAN 1
-#define WM8350_RTC_MTH_FEB 2
-#define WM8350_RTC_MTH_MAR 3
-#define WM8350_RTC_MTH_APR 4
-#define WM8350_RTC_MTH_MAY 5
-#define WM8350_RTC_MTH_JUN 6
-#define WM8350_RTC_MTH_JUL 7
-#define WM8350_RTC_MTH_AUG 8
-#define WM8350_RTC_MTH_SEP 9
-#define WM8350_RTC_MTH_OCT 10
-#define WM8350_RTC_MTH_NOV 11
-#define WM8350_RTC_MTH_DEC 12
-#define WM8350_RTC_MTH_JAN_BCD 0x01
-#define WM8350_RTC_MTH_FEB_BCD 0x02
-#define WM8350_RTC_MTH_MAR_BCD 0x03
-#define WM8350_RTC_MTH_APR_BCD 0x04
-#define WM8350_RTC_MTH_MAY_BCD 0x05
-#define WM8350_RTC_MTH_JUN_BCD 0x06
-#define WM8350_RTC_MTH_JUL_BCD 0x07
-#define WM8350_RTC_MTH_AUG_BCD 0x08
-#define WM8350_RTC_MTH_SEP_BCD 0x09
-#define WM8350_RTC_MTH_OCT_BCD 0x10
-#define WM8350_RTC_MTH_NOV_BCD 0x11
-#define WM8350_RTC_MTH_DEC_BCD 0x12
-
-/*
- * R19 (0x13) - RTC Year
- */
-#define WM8350_RTC_YHUNDREDS_MASK 0x3F00
-#define WM8350_RTC_YHUNDREDS_SHIFT 8
-#define WM8350_RTC_YUNITS_MASK 0x00FF
-#define WM8350_RTC_YUNITS_SHIFT 0
-
-/*
- * R20 (0x14) - Alarm Seconds/Minutes
- */
-#define WM8350_RTC_ALMMINS_MASK 0x7F00
-#define WM8350_RTC_ALMMINS_SHIFT 8
-#define WM8350_RTC_ALMSECS_MASK 0x007F
-#define WM8350_RTC_ALMSECS_SHIFT 0
-
-/* Bit values for R20 (0x14) */
-#define WM8350_RTC_ALMMINS_DONT_CARE -1
-#define WM8350_RTC_ALMSECS_DONT_CARE -1
-
-/*
- * R21 (0x15) - Alarm Hours/Day
- */
-#define WM8350_RTC_ALMDAY_MASK 0x0F00
-#define WM8350_RTC_ALMDAY_SHIFT 8
-#define WM8350_RTC_ALMHPM_MASK 0x0020
-#define WM8350_RTC_ALMHPM_SHIFT 5
-#define WM8350_RTC_ALMHRS_MASK 0x001F
-#define WM8350_RTC_ALMHRS_SHIFT 0
-
-/* Bit values for R21 (0x15) */
-#define WM8350_RTC_ALMDAY_DONT_CARE -1
-#define WM8350_RTC_ALMDAY_SUN 1
-#define WM8350_RTC_ALMDAY_MON 2
-#define WM8350_RTC_ALMDAY_TUE 3
-#define WM8350_RTC_ALMDAY_WED 4
-#define WM8350_RTC_ALMDAY_THU 5
-#define WM8350_RTC_ALMDAY_FRI 6
-#define WM8350_RTC_ALMDAY_SAT 7
-
-#define WM8350_RTC_ALMHPM_AM 0
-#define WM8350_RTC_ALMHPM_PM 1
-
-#define WM8350_RTC_ALMHRS_DONT_CARE -1
-
-/*
- * R22 (0x16) - Alarm Date/Month
- */
-#define WM8350_RTC_ALMMTH_MASK 0x1F00
-#define WM8350_RTC_ALMMTH_SHIFT 8
-#define WM8350_RTC_ALMDATE_MASK 0x003F
-#define WM8350_RTC_ALMDATE_SHIFT 0
-
-/* Bit values for R22 (0x16) */
-#define WM8350_RTC_ALMDATE_DONT_CARE -1
-
-#define WM8350_RTC_ALMMTH_DONT_CARE -1
-#define WM8350_RTC_ALMMTH_JAN 1
-#define WM8350_RTC_ALMMTH_FEB 2
-#define WM8350_RTC_ALMMTH_MAR 3
-#define WM8350_RTC_ALMMTH_APR 4
-#define WM8350_RTC_ALMMTH_MAY 5
-#define WM8350_RTC_ALMMTH_JUN 6
-#define WM8350_RTC_ALMMTH_JUL 7
-#define WM8350_RTC_ALMMTH_AUG 8
-#define WM8350_RTC_ALMMTH_SEP 9
-#define WM8350_RTC_ALMMTH_OCT 10
-#define WM8350_RTC_ALMMTH_NOV 11
-#define WM8350_RTC_ALMMTH_DEC 12
-#define WM8350_RTC_ALMMTH_JAN_BCD 0x01
-#define WM8350_RTC_ALMMTH_FEB_BCD 0x02
-#define WM8350_RTC_ALMMTH_MAR_BCD 0x03
-#define WM8350_RTC_ALMMTH_APR_BCD 0x04
-#define WM8350_RTC_ALMMTH_MAY_BCD 0x05
-#define WM8350_RTC_ALMMTH_JUN_BCD 0x06
-#define WM8350_RTC_ALMMTH_JUL_BCD 0x07
-#define WM8350_RTC_ALMMTH_AUG_BCD 0x08
-#define WM8350_RTC_ALMMTH_SEP_BCD 0x09
-#define WM8350_RTC_ALMMTH_OCT_BCD 0x10
-#define WM8350_RTC_ALMMTH_NOV_BCD 0x11
-#define WM8350_RTC_ALMMTH_DEC_BCD 0x12
-
-/*
- * R23 (0x17) - RTC Time Control
- */
-#define WM8350_RTC_BCD 0x8000
-#define WM8350_RTC_BCD_MASK 0x8000
-#define WM8350_RTC_BCD_SHIFT 15
-#define WM8350_RTC_12HR 0x4000
-#define WM8350_RTC_12HR_MASK 0x4000
-#define WM8350_RTC_12HR_SHIFT 14
-#define WM8350_RTC_DST 0x2000
-#define WM8350_RTC_DST_MASK 0x2000
-#define WM8350_RTC_DST_SHIFT 13
-#define WM8350_RTC_SET 0x0800
-#define WM8350_RTC_SET_MASK 0x0800
-#define WM8350_RTC_SET_SHIFT 11
-#define WM8350_RTC_STS 0x0400
-#define WM8350_RTC_STS_MASK 0x0400
-#define WM8350_RTC_STS_SHIFT 10
-#define WM8350_RTC_ALMSET 0x0200
-#define WM8350_RTC_ALMSET_MASK 0x0200
-#define WM8350_RTC_ALMSET_SHIFT 9
-#define WM8350_RTC_ALMSTS 0x0100
-#define WM8350_RTC_ALMSTS_MASK 0x0100
-#define WM8350_RTC_ALMSTS_SHIFT 8
-#define WM8350_RTC_PINT 0x0070
-#define WM8350_RTC_PINT_MASK 0x0070
-#define WM8350_RTC_PINT_SHIFT 4
-#define WM8350_RTC_DSW 0x000F
-#define WM8350_RTC_DSW_MASK 0x000F
-#define WM8350_RTC_DSW_SHIFT 0
-
-/* Bit values for R23 (0x17) */
-#define WM8350_RTC_BCD_BINARY 0
-#define WM8350_RTC_BCD_BCD 1
-
-#define WM8350_RTC_12HR_24HR 0
-#define WM8350_RTC_12HR_12HR 1
-
-#define WM8350_RTC_DST_DISABLED 0
-#define WM8350_RTC_DST_ENABLED 1
-
-#define WM8350_RTC_SET_RUN 0
-#define WM8350_RTC_SET_SET 1
-
-#define WM8350_RTC_STS_RUNNING 0
-#define WM8350_RTC_STS_STOPPED 1
-
-#define WM8350_RTC_ALMSET_RUN 0
-#define WM8350_RTC_ALMSET_SET 1
-
-#define WM8350_RTC_ALMSTS_RUNNING 0
-#define WM8350_RTC_ALMSTS_STOPPED 1
-
-#define WM8350_RTC_PINT_DISABLED 0
-#define WM8350_RTC_PINT_SECS 1
-#define WM8350_RTC_PINT_MINS 2
-#define WM8350_RTC_PINT_HRS 3
-#define WM8350_RTC_PINT_DAYS 4
-#define WM8350_RTC_PINT_MTHS 5
-
-#define WM8350_RTC_DSW_DISABLED 0
-#define WM8350_RTC_DSW_1HZ 1
-#define WM8350_RTC_DSW_2HZ 2
-#define WM8350_RTC_DSW_4HZ 3
-#define WM8350_RTC_DSW_8HZ 4
-#define WM8350_RTC_DSW_16HZ 5
-#define WM8350_RTC_DSW_32HZ 6
-#define WM8350_RTC_DSW_64HZ 7
-#define WM8350_RTC_DSW_128HZ 8
-#define WM8350_RTC_DSW_256HZ 9
-#define WM8350_RTC_DSW_512HZ 10
-#define WM8350_RTC_DSW_1024HZ 11
-
-/*
- * R218 (0xDA) - RTC Tick Control
- */
-#define WM8350_RTC_TICKSTS 0x4000
-#define WM8350_RTC_CLKSRC 0x2000
-#define WM8350_RTC_TRIM_MASK 0x03FF
-
-/*
- * RTC Interrupts.
- */
-#define WM8350_IRQ_RTC_PER 7
-#define WM8350_IRQ_RTC_SEC 8
-#define WM8350_IRQ_RTC_ALM 9
-
-struct wm8350_rtc {
- struct platform_device *pdev;
- struct rtc_device *rtc;
- int alarm_enabled; /* used over suspend/resume */
- int update_enabled;
-};
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/supply.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/supply.h
deleted file mode 100644
index 2b947931..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/supply.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * supply.h -- Power Supply Driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
-
-#ifndef __LINUX_MFD_WM8350_SUPPLY_H_
-#define __LINUX_MFD_WM8350_SUPPLY_H_
-
-#include <linux/mutex.h>
-#include <linux/power_supply.h>
-
-/*
- * Charger registers
- */
-#define WM8350_BATTERY_CHARGER_CONTROL_1 0xA8
-#define WM8350_BATTERY_CHARGER_CONTROL_2 0xA9
-#define WM8350_BATTERY_CHARGER_CONTROL_3 0xAA
-
-/*
- * R168 (0xA8) - Battery Charger Control 1
- */
-#define WM8350_CHG_ENA_R168 0x8000
-#define WM8350_CHG_THR 0x2000
-#define WM8350_CHG_EOC_SEL_MASK 0x1C00
-#define WM8350_CHG_TRICKLE_TEMP_CHOKE 0x0200
-#define WM8350_CHG_TRICKLE_USB_CHOKE 0x0100
-#define WM8350_CHG_RECOVER_T 0x0080
-#define WM8350_CHG_END_ACT 0x0040
-#define WM8350_CHG_FAST 0x0020
-#define WM8350_CHG_FAST_USB_THROTTLE 0x0010
-#define WM8350_CHG_NTC_MON 0x0008
-#define WM8350_CHG_BATT_HOT_MON 0x0004
-#define WM8350_CHG_BATT_COLD_MON 0x0002
-#define WM8350_CHG_CHIP_TEMP_MON 0x0001
-
-/*
- * R169 (0xA9) - Battery Charger Control 2
- */
-#define WM8350_CHG_ACTIVE 0x8000
-#define WM8350_CHG_PAUSE 0x4000
-#define WM8350_CHG_STS_MASK 0x3000
-#define WM8350_CHG_TIME_MASK 0x0F00
-#define WM8350_CHG_MASK_WALL_FB 0x0080
-#define WM8350_CHG_TRICKLE_SEL 0x0040
-#define WM8350_CHG_VSEL_MASK 0x0030
-#define WM8350_CHG_ISEL_MASK 0x000F
-#define WM8350_CHG_STS_OFF 0x0000
-#define WM8350_CHG_STS_TRICKLE 0x1000
-#define WM8350_CHG_STS_FAST 0x2000
-
-/*
- * R170 (0xAA) - Battery Charger Control 3
- */
-#define WM8350_CHG_THROTTLE_T_MASK 0x0060
-#define WM8350_CHG_SMART 0x0010
-#define WM8350_CHG_TIMER_ADJT_MASK 0x000F
-
-/*
- * Charger Interrupts
- */
-#define WM8350_IRQ_CHG_BAT_HOT 0
-#define WM8350_IRQ_CHG_BAT_COLD 1
-#define WM8350_IRQ_CHG_BAT_FAIL 2
-#define WM8350_IRQ_CHG_TO 3
-#define WM8350_IRQ_CHG_END 4
-#define WM8350_IRQ_CHG_START 5
-#define WM8350_IRQ_CHG_FAST_RDY 6
-#define WM8350_IRQ_CHG_VBATT_LT_3P9 10
-#define WM8350_IRQ_CHG_VBATT_LT_3P1 11
-#define WM8350_IRQ_CHG_VBATT_LT_2P85 12
-
-/*
- * Charger Policy
- */
-#define WM8350_CHG_TRICKLE_50mA (0 << 6)
-#define WM8350_CHG_TRICKLE_100mA (1 << 6)
-#define WM8350_CHG_4_05V (0 << 4)
-#define WM8350_CHG_4_10V (1 << 4)
-#define WM8350_CHG_4_15V (2 << 4)
-#define WM8350_CHG_4_20V (3 << 4)
-#define WM8350_CHG_FAST_LIMIT_mA(x) ((x / 50) & 0xf)
-#define WM8350_CHG_EOC_mA(x) (((x - 10) & 0x7) << 10)
-#define WM8350_CHG_TRICKLE_3_1V (0 << 13)
-#define WM8350_CHG_TRICKLE_3_9V (1 << 13)
-
-/*
- * Supply Registers.
- */
-#define WM8350_USB_VOLTAGE_READBACK 0x9C
-#define WM8350_LINE_VOLTAGE_READBACK 0x9D
-#define WM8350_BATT_VOLTAGE_READBACK 0x9E
-
-/*
- * Supply Interrupts.
- */
-#define WM8350_IRQ_USB_LIMIT 15
-#define WM8350_IRQ_EXT_USB_FB 36
-#define WM8350_IRQ_EXT_WALL_FB 37
-#define WM8350_IRQ_EXT_BAT_FB 38
-
-/*
- * Policy to control charger state machine.
- */
-struct wm8350_charger_policy {
-
- /* charger state machine policy - set in machine driver */
- int eoc_mA; /* end of charge current (mA) */
- int charge_mV; /* charge voltage */
- int fast_limit_mA; /* fast charge current limit */
- int fast_limit_USB_mA; /* USB fast charge current limit */
- int charge_timeout; /* charge timeout (mins) */
- int trickle_start_mV; /* trickle charge starts at mV */
- int trickle_charge_mA; /* trickle charge current */
- int trickle_charge_USB_mA; /* USB trickle charge current */
-};
-
-struct wm8350_power {
- struct platform_device *pdev;
- struct power_supply battery;
- struct power_supply usb;
- struct power_supply ac;
- struct wm8350_charger_policy *policy;
-
- int rev_g_coeff;
-};
-
-#endif
diff --git a/ANDROID_3.4.5/include/linux/mfd/wm8350/wdt.h b/ANDROID_3.4.5/include/linux/mfd/wm8350/wdt.h
deleted file mode 100644
index f6135b5e..00000000
--- a/ANDROID_3.4.5/include/linux/mfd/wm8350/wdt.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * wdt.h -- Watchdog Driver for Wolfson WM8350 PMIC
- *
- * Copyright 2007, 2008 Wolfson Microelectronics PLC
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- */
-
-#ifndef __LINUX_MFD_WM8350_WDT_H_
-#define __LINUX_MFD_WM8350_WDT_H_
-
-#include <linux/platform_device.h>
-
-#define WM8350_WDOG_HIB_MODE 0x0080
-#define WM8350_WDOG_DEBUG 0x0040
-#define WM8350_WDOG_MODE_MASK 0x0030
-#define WM8350_WDOG_TO_MASK 0x0007
-
-#define WM8350_IRQ_SYS_WDOG_TO 24
-
-struct wm8350_wdt {
- struct platform_device *pdev;
-};
-
-#endif