forked from luck/tmp_suning_uos_patched
mfd: stmpe: Move ADC related defines to MFD header
Move defines that are ADC related to the header of the overlying MFD, so they can be used from multiple sub-devices. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
270a60bcc8
commit
063755ab1d
|
@ -49,17 +49,6 @@
|
|||
|
||||
#define STMPE_IRQ_TOUCH_DET 0
|
||||
|
||||
#define SAMPLE_TIME(x) ((x & 0xf) << 4)
|
||||
#define MOD_12B(x) ((x & 0x1) << 3)
|
||||
#define REF_SEL(x) ((x & 0x1) << 1)
|
||||
#define ADC_FREQ(x) (x & 0x3)
|
||||
#define AVE_CTRL(x) ((x & 0x3) << 6)
|
||||
#define DET_DELAY(x) ((x & 0x7) << 3)
|
||||
#define SETTLING(x) (x & 0x7)
|
||||
#define FRACTION_Z(x) (x & 0x7)
|
||||
#define I_DRIVE(x) (x & 0x1)
|
||||
#define OP_MODE(x) ((x & 0x7) << 1)
|
||||
|
||||
#define STMPE_TS_NAME "stmpe-ts"
|
||||
#define XY_MASK 0xfff
|
||||
|
||||
|
@ -213,9 +202,10 @@ static int stmpe_init_hw(struct stmpe_touch *ts)
|
|||
return ret;
|
||||
}
|
||||
|
||||
adc_ctrl1 = SAMPLE_TIME(ts->sample_time) | MOD_12B(ts->mod_12b) |
|
||||
REF_SEL(ts->ref_sel);
|
||||
adc_ctrl1_mask = SAMPLE_TIME(0xff) | MOD_12B(0xff) | REF_SEL(0xff);
|
||||
adc_ctrl1 = STMPE_SAMPLE_TIME(ts->sample_time) |
|
||||
STMPE_MOD_12B(ts->mod_12b) | STMPE_REF_SEL(ts->ref_sel);
|
||||
adc_ctrl1_mask = STMPE_SAMPLE_TIME(0xff) | STMPE_MOD_12B(0xff) |
|
||||
STMPE_REF_SEL(0xff);
|
||||
|
||||
ret = stmpe_set_bits(stmpe, STMPE_REG_ADC_CTRL1,
|
||||
adc_ctrl1_mask, adc_ctrl1);
|
||||
|
@ -225,15 +215,17 @@ static int stmpe_init_hw(struct stmpe_touch *ts)
|
|||
}
|
||||
|
||||
ret = stmpe_set_bits(stmpe, STMPE_REG_ADC_CTRL2,
|
||||
ADC_FREQ(0xff), ADC_FREQ(ts->adc_freq));
|
||||
STMPE_ADC_FREQ(0xff), STMPE_ADC_FREQ(ts->adc_freq));
|
||||
if (ret) {
|
||||
dev_err(dev, "Could not setup ADC\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
tsc_cfg = AVE_CTRL(ts->ave_ctrl) | DET_DELAY(ts->touch_det_delay) |
|
||||
SETTLING(ts->settling);
|
||||
tsc_cfg_mask = AVE_CTRL(0xff) | DET_DELAY(0xff) | SETTLING(0xff);
|
||||
tsc_cfg = STMPE_AVE_CTRL(ts->ave_ctrl) |
|
||||
STMPE_DET_DELAY(ts->touch_det_delay) |
|
||||
STMPE_SETTLING(ts->settling);
|
||||
tsc_cfg_mask = STMPE_AVE_CTRL(0xff) | STMPE_DET_DELAY(0xff) |
|
||||
STMPE_SETTLING(0xff);
|
||||
|
||||
ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_CFG, tsc_cfg_mask, tsc_cfg);
|
||||
if (ret) {
|
||||
|
@ -242,14 +234,14 @@ static int stmpe_init_hw(struct stmpe_touch *ts)
|
|||
}
|
||||
|
||||
ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_FRACTION_Z,
|
||||
FRACTION_Z(0xff), FRACTION_Z(ts->fraction_z));
|
||||
STMPE_FRACTION_Z(0xff), STMPE_FRACTION_Z(ts->fraction_z));
|
||||
if (ret) {
|
||||
dev_err(dev, "Could not config touch\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_I_DRIVE,
|
||||
I_DRIVE(0xff), I_DRIVE(ts->i_drive));
|
||||
STMPE_I_DRIVE(0xff), STMPE_I_DRIVE(ts->i_drive));
|
||||
if (ret) {
|
||||
dev_err(dev, "Could not config touch\n");
|
||||
return ret;
|
||||
|
@ -263,7 +255,7 @@ static int stmpe_init_hw(struct stmpe_touch *ts)
|
|||
}
|
||||
|
||||
ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_CTRL,
|
||||
OP_MODE(0xff), OP_MODE(OP_MOD_XYZ));
|
||||
STMPE_OP_MODE(0xff), STMPE_OP_MODE(OP_MOD_XYZ));
|
||||
if (ret) {
|
||||
dev_err(dev, "Could not set mode\n");
|
||||
return ret;
|
||||
|
|
|
@ -10,6 +10,17 @@
|
|||
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#define STMPE_SAMPLE_TIME(x) ((x & 0xf) << 4)
|
||||
#define STMPE_MOD_12B(x) ((x & 0x1) << 3)
|
||||
#define STMPE_REF_SEL(x) ((x & 0x1) << 1)
|
||||
#define STMPE_ADC_FREQ(x) (x & 0x3)
|
||||
#define STMPE_AVE_CTRL(x) ((x & 0x3) << 6)
|
||||
#define STMPE_DET_DELAY(x) ((x & 0x7) << 3)
|
||||
#define STMPE_SETTLING(x) (x & 0x7)
|
||||
#define STMPE_FRACTION_Z(x) (x & 0x7)
|
||||
#define STMPE_I_DRIVE(x) (x & 0x1)
|
||||
#define STMPE_OP_MODE(x) ((x & 0x7) << 1)
|
||||
|
||||
struct device;
|
||||
struct regulator;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user