Lines Matching refs:data
57 /* Timeout (us) for ADC data conversion according to ADC datasheet */
121 static int sc27xx_adc_scale_calibration(struct sc27xx_adc_data *data,
142 cell = nvmem_cell_get(data->dev, cell_name);
188 static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
194 ret = hwspin_lock_timeout_raw(data->hwlock, SC27XX_ADC_HWLOCK_TIMEOUT);
196 dev_err(data->dev, "timeout to get the hwspinlock\n");
200 ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
205 ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_INT_CLR,
213 ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CH_CFG,
222 ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
228 ret = regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
233 ret = regmap_read_poll_timeout(data->regmap,
234 data->base + SC27XX_ADC_INT_RAW,
239 dev_err(data->dev, "read adc timeout, status = 0x%x\n", status);
243 ret = regmap_read(data->regmap, data->base + SC27XX_ADC_DATA, &value);
250 regmap_update_bits(data->regmap, data->base + SC27XX_ADC_CTL,
253 hwspin_unlock_raw(data->hwlock);
261 static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data,
283 static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
308 sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denominator);
313 static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data,
318 ret = sc27xx_adc_read(data, channel, scale, &raw_adc);
322 *val = sc27xx_adc_convert_volt(data, channel, scale, raw_adc);
330 struct sc27xx_adc_data *data = iio_priv(indio_dev);
331 int scale = data->channel_scale[chan->channel];
337 ret = sc27xx_adc_read(data, chan->channel, scale, &tmp);
348 ret = sc27xx_adc_read_processed(data, chan->channel, scale,
371 struct sc27xx_adc_data *data = iio_priv(indio_dev);
375 data->channel_scale[chan->channel] = val;
431 static int sc27xx_adc_enable(struct sc27xx_adc_data *data)
435 ret = regmap_update_bits(data->regmap, SC27XX_MODULE_EN,
441 ret = regmap_update_bits(data->regmap, SC27XX_ARM_CLK_EN,
448 ret = sc27xx_adc_scale_calibration(data, true);
452 ret = sc27xx_adc_scale_calibration(data, false);
459 regmap_update_bits(data->regmap, SC27XX_ARM_CLK_EN,
462 regmap_update_bits(data->regmap, SC27XX_MODULE_EN,
470 struct sc27xx_adc_data *data = _data;
473 regmap_update_bits(data->regmap, SC27XX_ARM_CLK_EN,
476 regmap_update_bits(data->regmap, SC27XX_MODULE_EN,