root/include/linux/mfd/pcf50633/adc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  * adc.h  -- Driver for NXP PCF50633 ADC
   4  *
   5  * (C) 2006-2008 by Openmoko, Inc.
   6  * All rights reserved.
   7  */
   8 
   9 #ifndef __LINUX_MFD_PCF50633_ADC_H
  10 #define __LINUX_MFD_PCF50633_ADC_H
  11 
  12 #include <linux/mfd/pcf50633/core.h>
  13 #include <linux/platform_device.h>
  14 
  15 /* ADC Registers */
  16 #define PCF50633_REG_ADCC3              0x52
  17 #define PCF50633_REG_ADCC2              0x53
  18 #define PCF50633_REG_ADCC1              0x54
  19 #define PCF50633_REG_ADCS1              0x55
  20 #define PCF50633_REG_ADCS2              0x56
  21 #define PCF50633_REG_ADCS3              0x57
  22 
  23 #define PCF50633_ADCC1_ADCSTART         0x01
  24 #define PCF50633_ADCC1_RES_8BIT         0x02
  25 #define PCF50633_ADCC1_RES_10BIT        0x00
  26 #define PCF50633_ADCC1_AVERAGE_NO       0x00
  27 #define PCF50633_ADCC1_AVERAGE_4        0x04
  28 #define PCF50633_ADCC1_AVERAGE_8        0x08
  29 #define PCF50633_ADCC1_AVERAGE_16       0x0c
  30 #define PCF50633_ADCC1_MUX_BATSNS_RES   0x00
  31 #define PCF50633_ADCC1_MUX_BATSNS_SUBTR 0x10
  32 #define PCF50633_ADCC1_MUX_ADCIN2_RES   0x20
  33 #define PCF50633_ADCC1_MUX_ADCIN2_SUBTR 0x30
  34 #define PCF50633_ADCC1_MUX_BATTEMP      0x60
  35 #define PCF50633_ADCC1_MUX_ADCIN1       0x70
  36 #define PCF50633_ADCC1_AVERAGE_MASK     0x0c
  37 #define PCF50633_ADCC1_ADCMUX_MASK      0xf0
  38 
  39 #define PCF50633_ADCC2_RATIO_NONE       0x00
  40 #define PCF50633_ADCC2_RATIO_BATTEMP    0x01
  41 #define PCF50633_ADCC2_RATIO_ADCIN1     0x02
  42 #define PCF50633_ADCC2_RATIO_BOTH       0x03
  43 #define PCF50633_ADCC2_RATIOSETTL_100US 0x04
  44 
  45 #define PCF50633_ADCC3_ACCSW_EN         0x01
  46 #define PCF50633_ADCC3_NTCSW_EN         0x04
  47 #define PCF50633_ADCC3_RES_DIV_TWO      0x10
  48 #define PCF50633_ADCC3_RES_DIV_THREE    0x00
  49 
  50 #define PCF50633_ADCS3_REF_NTCSW        0x00
  51 #define PCF50633_ADCS3_REF_ACCSW        0x10
  52 #define PCF50633_ADCS3_REF_2V0          0x20
  53 #define PCF50633_ADCS3_REF_VISA         0x30
  54 #define PCF50633_ADCS3_REF_2V0_2        0x70
  55 #define PCF50633_ADCS3_ADCRDY           0x80
  56 
  57 #define PCF50633_ADCS3_ADCDAT1L_MASK    0x03
  58 #define PCF50633_ADCS3_ADCDAT2L_MASK    0x0c
  59 #define PCF50633_ADCS3_ADCDAT2L_SHIFT   2
  60 #define PCF50633_ASCS3_REF_MASK         0x70
  61 
  62 extern int
  63 pcf50633_adc_async_read(struct pcf50633 *pcf, int mux, int avg,
  64                 void (*callback)(struct pcf50633 *, void *, int),
  65                 void *callback_param);
  66 extern int
  67 pcf50633_adc_sync_read(struct pcf50633 *pcf, int mux, int avg);
  68 
  69 #endif /* __LINUX_PCF50633_ADC_H */

/* [<][>][^][v][top][bottom][index][help] */