cregit-Linux how code gets into the kernel

Release 4.12 include/linux/mfd/abx500/ab8500-gpadc.h

/*
 * Copyright (C) 2010 ST-Ericsson SA
 * Licensed under GPLv2.
 *
 * Author: Arun R Murthy <arun.murthy@stericsson.com>
 * Author: Daniel Willerud <daniel.willerud@stericsson.com>
 * Author: M'boumba Cedric Madianga <cedric.madianga@stericsson.com>
 */

#ifndef	_AB8500_GPADC_H

#define _AB8500_GPADC_H

/* GPADC source: From datasheet(ADCSwSel[4:0] in GPADCCtrl2
 * and ADCHwSel[4:0] in GPADCCtrl3 ) */

#define BAT_CTRL		0x01

#define BTEMP_BALL		0x02

#define MAIN_CHARGER_V		0x03

#define ACC_DETECT1		0x04

#define ACC_DETECT2		0x05

#define ADC_AUX1		0x06

#define ADC_AUX2		0x07

#define MAIN_BAT_V		0x08

#define VBUS_V			0x09

#define MAIN_CHARGER_C		0x0A

#define USB_CHARGER_C		0x0B

#define BK_BAT_V		0x0C

#define DIE_TEMP		0x0D

#define USB_ID			0x0E

#define XTAL_TEMP		0x12

#define VBAT_TRUE_MEAS		0x13

#define BAT_CTRL_AND_IBAT	0x1C

#define VBAT_MEAS_AND_IBAT	0x1D

#define VBAT_TRUE_MEAS_AND_IBAT	0x1E

#define BAT_TEMP_AND_IBAT	0x1F

/* Virtual channel used only for ibat convertion to ampere
 * Battery current conversion (ibat) cannot be requested as a single conversion
 *  but it is always in combination with other input requests
 */

#define IBAT_VIRTUAL_CHANNEL		0xFF


#define SAMPLE_1        1

#define SAMPLE_4        4

#define SAMPLE_8        8

#define SAMPLE_16       16

#define RISING_EDGE     0

#define FALLING_EDGE    1

/* Arbitrary ADC conversion type constants */

#define ADC_SW				0

#define ADC_HW				1

struct ab8500_gpadc;

struct ab8500_gpadc *ab8500_gpadc_get(char *name);
int ab8500_gpadc_sw_hw_convert(struct ab8500_gpadc *gpadc, u8 channel,
		u8 avg_sample, u8 trig_edge, u8 trig_timer, u8 conv_type);

static inline int ab8500_gpadc_convert(struct ab8500_gpadc *gpadc, u8 channel) { return ab8500_gpadc_sw_hw_convert(gpadc, channel, SAMPLE_16, 0, 0, ADC_SW); }

Contributors

PersonTokensPropCommitsCommitProp
Lee Jones31100.00%1100.00%
Total31100.00%1100.00%

int ab8500_gpadc_read_raw(struct ab8500_gpadc *gpadc, u8 channel, u8 avg_sample, u8 trig_edge, u8 trig_timer, u8 conv_type); int ab8500_gpadc_double_read_raw(struct ab8500_gpadc *gpadc, u8 channel, u8 avg_sample, u8 trig_edge, u8 trig_timer, u8 conv_type, int *ibat); int ab8500_gpadc_ad_to_voltage(struct ab8500_gpadc *gpadc, u8 channel, int ad_value); void ab8540_gpadc_get_otp(struct ab8500_gpadc *gpadc, u16 *vmain_l, u16 *vmain_h, u16 *btemp_l, u16 *btemp_h, u16 *vbat_l, u16 *vbat_h, u16 *ibat_l, u16 *ibat_h); #endif /* _AB8500_GPADC_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Lee Jones19363.28%350.00%
Arun Murthy6621.64%116.67%
Kalle Komierowski289.18%116.67%
Daniel Willerud185.90%116.67%
Total305100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.