linux/drivers/iio/adc/sophgo-cv1800b-adc.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Sophgo CV1800B SARADC Driver
 *
 *  Copyright (C) Bootlin 2024
 *  Author: Thomas Bonnefille <[email protected]>
 */

#include <linux/array_size.h>
#include <linux/bitfield.h>
#include <linux/bits.h>
#include <linux/cleanup.h>
#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/iopoll.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/platform_device.h>
#include <linux/types.h>

#include <linux/iio/iio.h>

#define CV1800B_ADC_CTRL_REG
#define CV1800B_ADC_EN
#define CV1800B_ADC_SEL(x)
#define CV1800B_ADC_STATUS_REG
#define CV1800B_ADC_BUSY
#define CV1800B_ADC_CYC_SET_REG
#define CV1800B_MASK_STARTUP_CYCLE
#define CV1800B_MASK_SAMPLE_WINDOW
#define CV1800B_MASK_CLKDIV
#define CV1800B_MASK_COMPARE_CYCLE
#define CV1800B_ADC_CH_RESULT_REG(x)
#define CV1800B_ADC_CH_RESULT
#define CV1800B_ADC_CH_VALID
#define CV1800B_ADC_INTR_EN_REG
#define CV1800B_ADC_INTR_CLR_REG
#define CV1800B_ADC_INTR_CLR_BIT
#define CV1800B_ADC_INTR_STA_REG
#define CV1800B_ADC_INTR_STA_BIT
#define CV1800B_READ_TIMEOUT_MS
#define CV1800B_READ_TIMEOUT_US

#define CV1800B_ADC_CHANNEL(index)

struct cv1800b_adc {};

static const struct iio_chan_spec sophgo_channels[] =;

static void cv1800b_adc_start_measurement(struct cv1800b_adc *saradc,
					  int channel)
{}

static int cv1800b_adc_wait(struct cv1800b_adc *saradc)
{}

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

static irqreturn_t cv1800b_adc_interrupt_handler(int irq, void *private)
{}

static const struct iio_info cv1800b_adc_info =;

static int cv1800b_adc_probe(struct platform_device *pdev)
{}

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

static struct platform_driver cv1800b_adc_driver =;
module_platform_driver();

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