Symbol: rzn1_adc
drivers/iio/adc/rzn1-adc.c
130
static int rzn1_adc_power(struct rzn1_adc *rzn1_adc, bool power)
drivers/iio/adc/rzn1-adc.c
135
rzn1_adc->regs + RZN1_ADC_CONFIG_REG);
drivers/iio/adc/rzn1-adc.c
138
return readl_poll_timeout_atomic(rzn1_adc->regs + RZN1_ADC_CONTROL_REG,
drivers/iio/adc/rzn1-adc.c
143
static void rzn1_adc_vc_setup_conversion(struct rzn1_adc *rzn1_adc, u32 ch,
drivers/iio/adc/rzn1-adc.c
156
writel(vc, rzn1_adc->regs + RZN1_ADC_VC_REG(ch));
drivers/iio/adc/rzn1-adc.c
159
static int rzn1_adc_vc_start_conversion(struct rzn1_adc *rzn1_adc, u32 ch)
drivers/iio/adc/rzn1-adc.c
163
val = readl(rzn1_adc->regs + RZN1_ADC_FORCE_REG);
drivers/iio/adc/rzn1-adc.c
167
writel(RZN1_ADC_FORCE_VC(ch), rzn1_adc->regs + RZN1_ADC_SET_FORCE_REG);
drivers/iio/adc/rzn1-adc.c
172
static void rzn1_adc_vc_stop_conversion(struct rzn1_adc *rzn1_adc, u32 ch)
drivers/iio/adc/rzn1-adc.c
174
writel(RZN1_ADC_FORCE_VC(ch), rzn1_adc->regs + RZN1_ADC_CLEAR_FORCE_REG);
drivers/iio/adc/rzn1-adc.c
177
static int rzn1_adc_vc_wait_conversion(struct rzn1_adc *rzn1_adc, u32 ch,
drivers/iio/adc/rzn1-adc.c
200
ret = readl_poll_timeout_atomic(rzn1_adc->regs + RZN1_ADC_FORCE_REG,
drivers/iio/adc/rzn1-adc.c
207
data_reg = readl(rzn1_adc->regs + RZN1_ADC_ADC1_DATA_REG(ch));
drivers/iio/adc/rzn1-adc.c
212
data_reg = readl(rzn1_adc->regs + RZN1_ADC_ADC2_DATA_REG(ch));
drivers/iio/adc/rzn1-adc.c
219
static int rzn1_adc_read_raw_ch(struct rzn1_adc *rzn1_adc, unsigned int chan, int *val)
drivers/iio/adc/rzn1-adc.c
252
ACQUIRE(pm_runtime_active_auto_try_enabled, pm)(rzn1_adc->dev);
drivers/iio/adc/rzn1-adc.c
257
scoped_guard(mutex, &rzn1_adc->lock) {
drivers/iio/adc/rzn1-adc.c
258
rzn1_adc_vc_setup_conversion(rzn1_adc, chan, adc1_ch, adc2_ch);
drivers/iio/adc/rzn1-adc.c
260
ret = rzn1_adc_vc_start_conversion(rzn1_adc, chan);
drivers/iio/adc/rzn1-adc.c
264
ret = rzn1_adc_vc_wait_conversion(rzn1_adc, chan, adc1_data, adc2_data);
drivers/iio/adc/rzn1-adc.c
266
rzn1_adc_vc_stop_conversion(rzn1_adc, chan);
drivers/iio/adc/rzn1-adc.c
277
static int rzn1_adc_get_vref_mV(struct rzn1_adc *rzn1_adc, unsigned int chan)
drivers/iio/adc/rzn1-adc.c
281
return rzn1_adc->adc1_vref_mV;
drivers/iio/adc/rzn1-adc.c
285
return rzn1_adc->adc2_vref_mV;
drivers/iio/adc/rzn1-adc.c
293
struct rzn1_adc *rzn1_adc = iio_priv(indio_dev);
drivers/iio/adc/rzn1-adc.c
298
ret = rzn1_adc_read_raw_ch(rzn1_adc, chan->channel, val);
drivers/iio/adc/rzn1-adc.c
304
ret = rzn1_adc_get_vref_mV(rzn1_adc, chan->channel);
drivers/iio/adc/rzn1-adc.c
320
static int rzn1_adc_set_iio_dev_channels(struct rzn1_adc *rzn1_adc,
drivers/iio/adc/rzn1-adc.c
328
if (rzn1_adc->adc1_vref_mV >= 0) {
drivers/iio/adc/rzn1-adc.c
329
if (rzn1_adc->adc2_vref_mV >= 0) {
drivers/iio/adc/rzn1-adc.c
339
if (rzn1_adc->adc2_vref_mV >= 0) {
drivers/iio/adc/rzn1-adc.c
345
return dev_err_probe(rzn1_adc->dev, -ENODEV,
drivers/iio/adc/rzn1-adc.c
349
static int rzn1_adc_core_get_regulators(struct rzn1_adc *rzn1_adc,
drivers/iio/adc/rzn1-adc.c
353
struct device *dev = rzn1_adc->dev;
drivers/iio/adc/rzn1-adc.c
398
struct rzn1_adc *rzn1_adc;
drivers/iio/adc/rzn1-adc.c
402
indio_dev = devm_iio_device_alloc(dev, sizeof(*rzn1_adc));
drivers/iio/adc/rzn1-adc.c
406
rzn1_adc = iio_priv(indio_dev);
drivers/iio/adc/rzn1-adc.c
407
rzn1_adc->dev = dev;
drivers/iio/adc/rzn1-adc.c
409
ret = devm_mutex_init(dev, &rzn1_adc->lock);
drivers/iio/adc/rzn1-adc.c
413
rzn1_adc->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/iio/adc/rzn1-adc.c
414
if (IS_ERR(rzn1_adc->regs))
drivers/iio/adc/rzn1-adc.c
415
return PTR_ERR(rzn1_adc->regs);
drivers/iio/adc/rzn1-adc.c
425
ret = rzn1_adc_core_get_regulators(rzn1_adc, &rzn1_adc->adc1_vref_mV,
drivers/iio/adc/rzn1-adc.c
430
ret = rzn1_adc_core_get_regulators(rzn1_adc, &rzn1_adc->adc2_vref_mV,
drivers/iio/adc/rzn1-adc.c
435
platform_set_drvdata(pdev, rzn1_adc);
drivers/iio/adc/rzn1-adc.c
440
ret = rzn1_adc_set_iio_dev_channels(rzn1_adc, indio_dev);
drivers/iio/adc/rzn1-adc.c
455
struct rzn1_adc *rzn1_adc = dev_get_drvdata(dev);
drivers/iio/adc/rzn1-adc.c
457
return rzn1_adc_power(rzn1_adc, false);
drivers/iio/adc/rzn1-adc.c
462
struct rzn1_adc *rzn1_adc = dev_get_drvdata(dev);
drivers/iio/adc/rzn1-adc.c
464
return rzn1_adc_power(rzn1_adc, true);