linux/drivers/iio/adc/rzg2l_adc.c

// SPDX-License-Identifier: GPL-2.0
/*
 * RZ/G2L A/D Converter driver
 *
 *  Copyright (c) 2021 Renesas Electronics Europe GmbH
 *
 * Author: Lad Prabhakar <[email protected]>
 */

#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/iio/iio.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/property.h>
#include <linux/reset.h>

#define DRIVER_NAME

#define RZG2L_ADM(n)
#define RZG2L_ADM0_ADCE
#define RZG2L_ADM0_ADBSY
#define RZG2L_ADM0_PWDWNB
#define RZG2L_ADM0_SRESB
#define RZG2L_ADM1_TRG
#define RZG2L_ADM1_MS
#define RZG2L_ADM1_BS
#define RZG2L_ADM1_EGA_MASK
#define RZG2L_ADM2_CHSEL_MASK
#define RZG2L_ADM3_ADIL_MASK
#define RZG2L_ADM3_ADCMP_MASK
#define RZG2L_ADM3_ADCMP_E
#define RZG2L_ADM3_ADSMP_MASK

#define RZG2L_ADINT
#define RZG2L_ADINT_INTEN_MASK
#define RZG2L_ADINT_CSEEN
#define RZG2L_ADINT_INTS

#define RZG2L_ADSTS
#define RZG2L_ADSTS_CSEST
#define RZG2L_ADSTS_INTST_MASK

#define RZG2L_ADIVC
#define RZG2L_ADIVC_DIVADC_MASK
#define RZG2L_ADIVC_DIVADC_4

#define RZG2L_ADFIL

#define RZG2L_ADCR(n)
#define RZG2L_ADCR_AD_MASK

#define RZG2L_ADSMP_DEFAULT_SAMPLING

#define RZG2L_ADC_MAX_CHANNELS
#define RZG2L_ADC_CHN_MASK
#define RZG2L_ADC_TIMEOUT

struct rzg2l_adc_data {};

struct rzg2l_adc {};

static const char * const rzg2l_adc_channel_name[] =;

static unsigned int rzg2l_adc_readl(struct rzg2l_adc *adc, u32 reg)
{}

static void rzg2l_adc_writel(struct rzg2l_adc *adc, unsigned int reg, u32 val)
{}

static void rzg2l_adc_pwr(struct rzg2l_adc *adc, bool on)
{}

static void rzg2l_adc_start_stop(struct rzg2l_adc *adc, bool start)
{}

static void rzg2l_set_trigger(struct rzg2l_adc *adc)
{}

static int rzg2l_adc_conversion_setup(struct rzg2l_adc *adc, u8 ch)
{}

static int rzg2l_adc_set_power(struct iio_dev *indio_dev, bool on)
{}

static int rzg2l_adc_conversion(struct iio_dev *indio_dev, struct rzg2l_adc *adc, u8 ch)
{}

static int rzg2l_adc_read_raw(struct iio_dev *indio_dev,
			      struct iio_chan_spec const *chan,
			      int *val, int *val2, long mask)
{}

static int rzg2l_adc_read_label(struct iio_dev *iio_dev,
				const struct iio_chan_spec *chan,
				char *label)
{}

static const struct iio_info rzg2l_adc_iio_info =;

static irqreturn_t rzg2l_adc_isr(int irq, void *dev_id)
{}

static int rzg2l_adc_parse_properties(struct platform_device *pdev, struct rzg2l_adc *adc)
{}

static int rzg2l_adc_hw_init(struct rzg2l_adc *adc)
{}

static void rzg2l_adc_pm_runtime_disable(void *data)
{}

static void rzg2l_adc_pm_runtime_set_suspended(void *data)
{}

static void rzg2l_adc_reset_assert(void *data)
{}

static int rzg2l_adc_probe(struct platform_device *pdev)
{}

static const struct of_device_id rzg2l_adc_match[] =;
MODULE_DEVICE_TABLE(of, rzg2l_adc_match);

static int __maybe_unused rzg2l_adc_pm_runtime_suspend(struct device *dev)
{}

static int __maybe_unused rzg2l_adc_pm_runtime_resume(struct device *dev)
{}

static const struct dev_pm_ops rzg2l_adc_pm_ops =;

static struct platform_driver rzg2l_adc_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();