| /linux/drivers/iio/adc/ |
| H A D | palmas_gpadc.c | 131 static struct palmas_adc_event *palmas_gpadc_get_event(struct palmas_gpadc *adc, in palmas_gpadc_get_event() argument 135 if (adc_chan == adc->event0.channel && dir == adc->event0.direction) in palmas_gpadc_get_event() 136 return &adc->event0; in palmas_gpadc_get_event() 138 if (adc_chan == adc->event1.channel && dir == adc->event1.direction) in palmas_gpadc_get_event() 139 return &adc->event1; in palmas_gpadc_get_event() 144 static bool palmas_gpadc_channel_is_freerunning(struct palmas_gpadc *adc, in palmas_gpadc_channel_is_freerunning() argument 147 return palmas_gpadc_get_event(adc, adc_chan, IIO_EV_DIR_RISING) || in palmas_gpadc_channel_is_freerunning() 148 palmas_gpadc_get_event(adc, adc_chan, IIO_EV_DIR_FALLING); in palmas_gpadc_channel_is_freerunning() 175 static int palmas_disable_auto_conversion(struct palmas_gpadc *adc) in palmas_disable_auto_conversion() argument 179 ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, in palmas_disable_auto_conversion() [all …]
|
| H A D | imx93_adc.c | 104 static void imx93_adc_power_down(struct imx93_adc *adc) in imx93_adc_power_down() argument 109 mcr = readl(adc->regs + IMX93_ADC_MCR); in imx93_adc_power_down() 111 writel(mcr, adc->regs + IMX93_ADC_MCR); in imx93_adc_power_down() 113 ret = readl_poll_timeout(adc->regs + IMX93_ADC_MSR, msr, in imx93_adc_power_down() 118 dev_warn(adc->dev, in imx93_adc_power_down() 123 static void imx93_adc_power_up(struct imx93_adc *adc) in imx93_adc_power_up() argument 128 mcr = readl(adc->regs + IMX93_ADC_MCR); in imx93_adc_power_up() 130 writel(mcr, adc->regs + IMX93_ADC_MCR); in imx93_adc_power_up() 133 static void imx93_adc_config_ad_clk(struct imx93_adc *adc) in imx93_adc_config_ad_clk() argument 138 imx93_adc_power_down(adc); in imx93_adc_config_ad_clk() [all …]
|
| H A D | stm32-adc.c | 31 #include "stm32-adc-core.h" 122 * struct stm32_adc_calib - optional adc calibration data 242 * @clk: clock for this adc instance 243 * @irq: interrupt for this adc instance 594 * @adc: stm32 adc instance 595 * @reg: reg offset in adc instance 600 static u32 stm32_adc_readl(struct stm32_adc *adc, u32 reg) in stm32_adc_readl() argument 602 return readl_relaxed(adc->common->base + adc in stm32_adc_readl() 611 stm32_adc_readw(struct stm32_adc * adc,u32 reg) stm32_adc_readw() argument 616 stm32_adc_writel(struct stm32_adc * adc,u32 reg,u32 val) stm32_adc_writel() argument 621 stm32_adc_set_bits(struct stm32_adc * adc,u32 reg,u32 bits) stm32_adc_set_bits() argument 630 stm32_adc_set_bits_common(struct stm32_adc * adc,u32 reg,u32 bits) stm32_adc_set_bits_common() argument 638 stm32_adc_clr_bits(struct stm32_adc * adc,u32 reg,u32 bits) stm32_adc_clr_bits() argument 647 stm32_adc_clr_bits_common(struct stm32_adc * adc,u32 reg,u32 bits) stm32_adc_clr_bits_common() argument 659 stm32_adc_conv_irq_enable(struct stm32_adc * adc) stm32_adc_conv_irq_enable() argument 669 stm32_adc_conv_irq_disable(struct stm32_adc * adc) stm32_adc_conv_irq_disable() argument 675 stm32_adc_ovr_irq_enable(struct stm32_adc * adc) stm32_adc_ovr_irq_enable() argument 681 stm32_adc_ovr_irq_disable(struct stm32_adc * adc) stm32_adc_ovr_irq_disable() argument 687 stm32_adc_set_res(struct stm32_adc * adc) stm32_adc_set_res() argument 700 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_hw_stop() local 713 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_hw_start() local 738 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_int_ch_enable() local 775 stm32_adc_int_ch_disable(struct stm32_adc * adc) stm32_adc_int_ch_disable() argument 820 struct stm32_adc *adc = iio_priv(indio_dev); stm32f4_adc_start_conv() local 840 struct stm32_adc *adc = iio_priv(indio_dev); stm32f4_adc_stop_conv() local 852 struct stm32_adc *adc = iio_priv(indio_dev); stm32f4_adc_irq_clear() local 859 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_start_conv() local 880 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_stop_conv() local 898 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_irq_clear() local 905 struct stm32_adc *adc = iio_priv(indio_dev); stm32mp13_adc_start_conv() local 916 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_set_ovs() local 941 struct stm32_adc *adc = iio_priv(indio_dev); stm32mp13_adc_set_ovs() local 966 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_exit_pwr_down() local 995 stm32h7_adc_enter_pwr_down(struct stm32_adc * adc) stm32h7_adc_enter_pwr_down() argument 1006 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_enable() local 1029 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_disable() local 1052 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_read_selfcalib() local 1089 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_restore_selfcalib() local 1162 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_selfcalib() local 1222 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_check_selfcalib() local 1252 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_prepare() local 1303 struct stm32_adc *adc = iio_priv(indio_dev); stm32h7_adc_unprepare() local 1326 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_conf_scan_seq() local 1377 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_get_trig_extsel() local 1408 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_set_trig() local 1438 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_set_trig_pol() local 1448 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_get_trig_pol() local 1480 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_single_conv() local 1539 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_write_raw() local 1582 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_read_avail() local 1599 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_read_raw() local 1647 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_irq_clear() local 1655 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_threaded_isr() local 1678 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_isr() local 1729 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_set_watermark() local 1748 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_update_scan_mode() local 1794 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_debugfs_reg_access() local 1823 stm32_adc_dma_residue(struct stm32_adc * adc) stm32_adc_dma_residue() argument 1851 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_dma_buffer_done() local 1879 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_dma_start() local 1917 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_buffer_postenable() local 1959 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_buffer_predisable() local 1988 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_trigger_handler() local 2017 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_debugfs_init() local 2035 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_fw_get_resolution() local 2056 stm32_adc_smpr_init(struct stm32_adc * adc,int channel,u32 smp_ns) stm32_adc_smpr_init() argument 2086 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_chan_init_one() local 2126 stm32_adc_get_legacy_chan_count(struct iio_dev * indio_dev,struct stm32_adc * adc) stm32_adc_get_legacy_chan_count() argument 2169 stm32_adc_legacy_chan_init(struct iio_dev * indio_dev,struct stm32_adc * adc,struct iio_chan_spec * channels,int nchans) stm32_adc_legacy_chan_init() argument 2260 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_populate_int_ch() local 2322 stm32_adc_generic_chan_init(struct iio_dev * indio_dev,struct stm32_adc * adc,struct iio_chan_spec * channels) stm32_adc_generic_chan_init() argument 2396 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_chan_fw_init() local 2457 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_dma_request() local 2506 struct stm32_adc *adc; stm32_adc_probe() local 2632 struct stm32_adc *adc = iio_priv(indio_dev); stm32_adc_remove() local [all...] |
| H A D | imx8qxp-adc.c | 122 static void imx8qxp_adc_reset(struct imx8qxp_adc *adc) in imx8qxp_adc_reset() argument 127 ctrl = readl(adc->regs + IMX8QXP_ADR_ADC_CTRL); in imx8qxp_adc_reset() 129 writel(ctrl, adc->regs + IMX8QXP_ADR_ADC_CTRL); in imx8qxp_adc_reset() 132 writel(ctrl, adc->regs + IMX8QXP_ADR_ADC_CTRL); in imx8qxp_adc_reset() 136 writel(ctrl, adc->regs + IMX8QXP_ADR_ADC_CTRL); in imx8qxp_adc_reset() 139 static void imx8qxp_adc_reg_config(struct imx8qxp_adc *adc, int channel) in imx8qxp_adc_reg_config() argument 149 writel(adc_cfg, adc->regs + IMX8QXP_ADR_ADC_CFG); in imx8qxp_adc_reg_config() 156 writel(adc_tctrl, adc->regs + IMX8QXP_ADR_ADC_TCTRL(0)); in imx8qxp_adc_reg_config() 164 writel(adc_cmdl, adc->regs + IMX8QXP_ADR_ADC_CMDL(0)); in imx8qxp_adc_reg_config() 172 writel(adc_cmdh, adc->regs + IMX8QXP_ADR_ADC_CMDH(0)); in imx8qxp_adc_reg_config() [all …]
|
| H A D | rzt2h_adc.c | 48 static void rzt2h_adc_start(struct rzt2h_adc *adc, unsigned int conversion_type) in rzt2h_adc_start() argument 52 reg = readw(adc->base + RZT2H_ADCSR_REG); in rzt2h_adc_start() 60 writew(reg, adc->base + RZT2H_ADCSR_REG); in rzt2h_adc_start() 63 static void rzt2h_adc_stop(struct rzt2h_adc *adc) in rzt2h_adc_stop() argument 67 reg = readw(adc->base + RZT2H_ADCSR_REG); in rzt2h_adc_stop() 72 writew(reg, adc->base + RZT2H_ADCSR_REG); in rzt2h_adc_stop() 75 static int rzt2h_adc_read_single(struct rzt2h_adc *adc, unsigned int ch, int *val) in rzt2h_adc_read_single() argument 79 ret = pm_runtime_resume_and_get(adc->dev); in rzt2h_adc_read_single() 83 mutex_lock(&adc->lock); in rzt2h_adc_read_single() 85 reinit_completion(&adc->completion); in rzt2h_adc_read_single() [all …]
|
| H A D | rzg2l_adc.c | 115 static unsigned int rzg2l_adc_readl(struct rzg2l_adc *adc, u32 reg) in rzg2l_adc_readl() argument 117 return readl(adc->base + reg); in rzg2l_adc_readl() 120 static void rzg2l_adc_writel(struct rzg2l_adc *adc, unsigned int reg, u32 val) in rzg2l_adc_writel() argument 122 writel(val, adc->base + reg); in rzg2l_adc_writel() 125 static void rzg2l_adc_pwr(struct rzg2l_adc *adc, bool on) in rzg2l_adc_pwr() argument 129 reg = rzg2l_adc_readl(adc, RZG2L_ADM(0)); in rzg2l_adc_pwr() 134 rzg2l_adc_writel(adc, RZG2L_ADM(0), reg); in rzg2l_adc_pwr() 138 static void rzg2l_adc_start_stop(struct rzg2l_adc *adc, bool start) in rzg2l_adc_start_stop() argument 143 reg = rzg2l_adc_readl(adc, RZG2L_ADM(0)); in rzg2l_adc_start_stop() 148 rzg2l_adc_writel(adc, RZG2L_ADM(0), reg); in rzg2l_adc_start_stop() [all …]
|
| H A D | qcom-spmi-adc5-gen3.c | 71 int adc5_gen3_read(struct adc5_device_data *adc, unsigned int sdam_index, in adc5_gen3_read() argument 74 return regmap_bulk_read(adc->regmap, in adc5_gen3_read() 75 adc->base[sdam_index].base_addr + offset, in adc5_gen3_read() 80 int adc5_gen3_write(struct adc5_device_data *adc, unsigned int sdam_index, in adc5_gen3_write() argument 83 return regmap_bulk_write(adc->regmap, in adc5_gen3_write() 84 adc->base[sdam_index].base_addr + offset, in adc5_gen3_write() 89 static int adc5_gen3_read_voltage_data(struct adc5_chip *adc, u16 *data) in adc5_gen3_read_voltage_data() argument 94 ret = adc5_gen3_read(&adc->dev_data, ADC5_GEN3_VADC_SDAM, in adc5_gen3_read_voltage_data() 102 dev_err(adc->dev, "Invalid data:%#x\n", *data); in adc5_gen3_read_voltage_data() 106 dev_dbg(adc->dev, "voltage raw code:%#x\n", *data); in adc5_gen3_read_voltage_data() [all …]
|
| H A D | mcp3911.c | 109 int (*config)(struct mcp3911 *adc, bool external_vref); 110 int (*get_osr)(struct mcp3911 *adc, u32 *val); 111 int (*set_osr)(struct mcp3911 *adc, u32 val); 112 int (*enable_offset)(struct mcp3911 *adc, bool enable); 113 int (*get_offset)(struct mcp3911 *adc, int channel, int *val); 114 int (*set_offset)(struct mcp3911 *adc, int channel, int val); 115 int (*set_scale)(struct mcp3911 *adc, int channel, u32 val); 116 int (*get_raw)(struct mcp3911 *adc, int channel, int *val); 136 static int mcp3911_read(struct mcp3911 *adc, u8 reg, u32 *val, u8 len) in mcp3911_read() argument 140 reg = MCP3911_REG_READ(reg, adc->dev_addr); in mcp3911_read() [all …]
|
| H A D | ingenic-adc.c | 103 int (*init_clk_div)(struct device *dev, struct ingenic_adc *adc); 117 struct ingenic_adc *adc = iio_priv(iio_dev); in ingenic_adc_set_adcmd() local 119 guard(mutex)(&adc->lock); in ingenic_adc_set_adcmd() 122 readl(adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 129 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 135 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 143 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 149 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 156 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 161 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() [all …]
|
| H A D | qcom-spmi-adc5.c | 157 static int adc5_read(struct adc5_chip *adc, u16 offset, u8 *data, int len) in adc5_read() argument 159 return regmap_bulk_read(adc->regmap, adc->base + offset, data, len); in adc5_read() 162 static int adc5_write(struct adc5_chip *adc, u16 offset, u8 *data, int len) in adc5_write() argument 164 return regmap_bulk_write(adc->regmap, adc->base + offset, data, len); in adc5_write() 167 static int adc5_masked_write(struct adc5_chip *adc, u16 offset, u8 mask, u8 val) in adc5_masked_write() argument 169 return regmap_update_bits(adc->regmap, adc->base + offset, mask, val); in adc5_masked_write() 172 static int adc5_read_voltage_data(struct adc5_chip *adc, u16 *data) in adc5_read_voltage_data() argument 177 ret = adc5_read(adc, ADC5_USR_DATA0, &rslt_lsb, sizeof(rslt_lsb)); in adc5_read_voltage_data() 181 ret = adc5_read(adc, ADC5_USR_DATA1, &rslt_msb, sizeof(rslt_lsb)); in adc5_read_voltage_data() 188 dev_err(adc->dev, "Invalid data:0x%x\n", *data); in adc5_read_voltage_data() [all …]
|
| H A D | ti-adc084s021.c | 72 static int adc084s021_adc_conversion(struct adc084s021 *adc, __be16 *data) in adc084s021_adc_conversion() argument 74 int n_words = (adc->spi_trans.len >> 1) - 1; /* Discard first word */ in adc084s021_adc_conversion() 78 ret = spi_sync(adc->spi, &adc->message); in adc084s021_adc_conversion() 83 *(data + i) = adc->rx_buf[i + 1]; in adc084s021_adc_conversion() 92 struct adc084s021 *adc = iio_priv(indio_dev); in adc084s021_read_raw() local 101 ret = regulator_enable(adc->reg); in adc084s021_read_raw() 107 adc->tx_buf[0] = channel->channel << 3; in adc084s021_read_raw() 108 ret = adc084s021_adc_conversion(adc, &be_val); in adc084s021_read_raw() 110 regulator_disable(adc->reg); in adc084s021_read_raw() 119 ret = regulator_enable(adc->reg); in adc084s021_read_raw() [all …]
|
| H A D | mcp320x.c | 119 static int mcp320x_adc_conversion(struct mcp320x *adc, u8 channel, in mcp320x_adc_conversion() argument 124 if (adc->chip_info->conv_time) { in mcp320x_adc_conversion() 125 ret = spi_sync(adc->spi, &adc->start_conv_msg); in mcp320x_adc_conversion() 129 usleep_range(adc->chip_info->conv_time, in mcp320x_adc_conversion() 130 adc->chip_info->conv_time + 100); in mcp320x_adc_conversion() 133 memset(&adc->rx_buf, 0, sizeof(adc->rx_buf)); in mcp320x_adc_conversion() 134 if (adc->chip_info->num_channels > 1) in mcp320x_adc_conversion() 135 adc->tx_buf = mcp320x_channel_to_tx_data(device_index, channel, in mcp320x_adc_conversion() 138 ret = spi_sync(adc->spi, &adc->msg); in mcp320x_adc_conversion() 144 *val = (adc->rx_buf[0] << 5 | adc->rx_buf[1] >> 3); in mcp320x_adc_conversion() [all …]
|
| H A D | ti-adc0832.c | 119 static int adc0831_adc_conversion(struct adc0832 *adc) in adc0831_adc_conversion() argument 121 struct spi_device *spi = adc->spi; in adc0831_adc_conversion() 124 ret = spi_read(spi, &adc->rx_buf, 2); in adc0831_adc_conversion() 131 return (adc->rx_buf[0] << 2 & 0xff) | (adc->rx_buf[1] >> 6); in adc0831_adc_conversion() 134 static int adc0832_adc_conversion(struct adc0832 *adc, int channel, in adc0832_adc_conversion() argument 137 struct spi_device *spi = adc->spi; in adc0832_adc_conversion() 139 .tx_buf = adc->tx_buf, in adc0832_adc_conversion() 140 .rx_buf = adc->rx_buf, in adc0832_adc_conversion() 145 if (!adc->mux_bits) in adc0832_adc_conversion() 146 return adc0831_adc_conversion(adc); in adc0832_adc_conversion() [all …]
|
| H A D | lpc18xx_adc.c | 68 static int lpc18xx_adc_read_chan(struct lpc18xx_adc *adc, unsigned int ch) in lpc18xx_adc_read_chan() argument 73 reg = adc->cr_reg | BIT(ch) | LPC18XX_ADC_CR_START_NOW; in lpc18xx_adc_read_chan() 74 writel(reg, adc->base + LPC18XX_ADC_CR); in lpc18xx_adc_read_chan() 76 ret = readl_poll_timeout(adc->base + LPC18XX_ADC_GDR, reg, in lpc18xx_adc_read_chan() 79 dev_warn(adc->dev, "adc read timed out\n"); in lpc18xx_adc_read_chan() 90 struct lpc18xx_adc *adc = iio_priv(indio_dev); in lpc18xx_adc_read_raw() local 94 mutex_lock(&adc->lock); in lpc18xx_adc_read_raw() 95 *val = lpc18xx_adc_read_chan(adc, chan->channel); in lpc18xx_adc_read_raw() 96 mutex_unlock(&adc->lock); in lpc18xx_adc_read_raw() 103 *val = regulator_get_voltage(adc->vref) / 1000; in lpc18xx_adc_read_raw() [all …]
|
| H A D | qcom-pm8xxx-xoadc.c | 417 struct pm8xxx_xoadc *adc = iio_priv(indio_dev); in pm8xxx_eoc_irq() local 419 complete(&adc->complete); in pm8xxx_eoc_irq() 425 pm8xxx_get_channel(struct pm8xxx_xoadc *adc, u8 chan) in pm8xxx_get_channel() argument 429 for (i = 0; i < adc->nchans; i++) { in pm8xxx_get_channel() 430 struct pm8xxx_chan_info *ch = &adc->chans[i]; in pm8xxx_get_channel() 437 static int pm8xxx_read_channel_rsv(struct pm8xxx_xoadc *adc, in pm8xxx_read_channel_rsv() argument 447 dev_dbg(adc->dev, "read channel \"%s\", amux %d, prescale/mux: %d, rsv %d\n", in pm8xxx_read_channel_rsv() 450 mutex_lock(&adc->lock); in pm8xxx_read_channel_rsv() 455 ret = regmap_write(adc->map, ADC_ARB_USRP_AMUX_CNTRL, val); in pm8xxx_read_channel_rsv() 462 if (adc->variant->broken_ratiometric && !force_ratiometric) { in pm8xxx_read_channel_rsv() [all …]
|
| H A D | ti-ads8344.c | 76 static int ads8344_adc_conversion(struct ads8344 *adc, int channel, in ads8344_adc_conversion() argument 79 struct spi_device *spi = adc->spi; in ads8344_adc_conversion() 82 adc->tx_buf = ADS8344_START; in ads8344_adc_conversion() 84 adc->tx_buf |= ADS8344_SINGLE_END; in ads8344_adc_conversion() 85 adc->tx_buf |= ADS8344_CHANNEL(channel); in ads8344_adc_conversion() 86 adc->tx_buf |= ADS8344_CLOCK_INTERNAL; in ads8344_adc_conversion() 88 ret = spi_write(spi, &adc->tx_buf, 1); in ads8344_adc_conversion() 94 ret = spi_read(spi, adc->rx_buf, sizeof(adc->rx_buf)); in ads8344_adc_conversion() 98 return adc->rx_buf[0] << 9 | adc->rx_buf[1] << 1 | adc->rx_buf[2] >> 7; in ads8344_adc_conversion() 105 struct ads8344 *adc = iio_priv(iio); in ads8344_read_raw() local [all …]
|
| H A D | mcp3422.c | 88 static int mcp3422_update_config(struct mcp3422 *adc, u8 newconfig) in mcp3422_update_config() argument 92 ret = i2c_master_send(adc->i2c, &newconfig, 1); in mcp3422_update_config() 94 adc->config = newconfig; in mcp3422_update_config() 101 static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config) in mcp3422_read() argument 104 u8 sample_rate = FIELD_GET(MCP3422_SRATE_MASK, adc->config); in mcp3422_read() 109 ret = i2c_master_recv(adc->i2c, buf, 4); in mcp3422_read() 113 ret = i2c_master_recv(adc->i2c, buf, 3); in mcp3422_read() 123 static int mcp3422_read_channel(struct mcp3422 *adc, in mcp3422_read_channel() argument 130 mutex_lock(&adc->lock); in mcp3422_read_channel() 132 if (req_channel != FIELD_GET(MCP3422_CHANNEL_MASK, adc->config)) { in mcp3422_read_channel() [all …]
|
| H A D | max1118.c | 70 struct max1118 *adc = iio_priv(indio_dev); in max1118_read() local 97 .rx_buf = &adc->data, in max1118_read() 104 ret = spi_sync_transfer(adc->spi, xfers + 1, 2); in max1118_read() 106 ret = spi_sync_transfer(adc->spi, xfers, 3); in max1118_read() 111 return adc->data; in max1118_read() 116 struct max1118 *adc = iio_priv(indio_dev); in max1118_get_vref_mV() local 117 const struct spi_device_id *id = spi_get_device_id(adc->spi); in max1118_get_vref_mV() 126 vref_uV = regulator_get_voltage(adc->reg); in max1118_get_vref_mV() 139 struct max1118 *adc = iio_priv(indio_dev); in max1118_read_raw() local 143 mutex_lock(&adc->lock); in max1118_read_raw() [all …]
|
| H A D | ti-adc128s052.c | 43 static int adc128_adc_conversion(struct adc128 *adc, u8 channel) in adc128_adc_conversion() argument 47 guard(mutex)(&adc->lock); in adc128_adc_conversion() 49 adc->buffer[0] = channel << 3; in adc128_adc_conversion() 50 adc->buffer[1] = 0; in adc128_adc_conversion() 52 ret = spi_write(adc->spi, &adc->buffer, sizeof(adc->buffer)); in adc128_adc_conversion() 56 ret = spi_read(adc->spi, &adc->buffer16, sizeof(adc->buffer16)); in adc128_adc_conversion() 60 return be16_to_cpu(adc->buffer16) & 0xFFF; in adc128_adc_conversion() 67 struct adc128 *adc = iio_priv(indio_dev); in adc128_read_raw() local 73 ret = adc128_adc_conversion(adc, channel->channel); in adc128_read_raw() 82 *val = adc->vref_mv; in adc128_read_raw() [all …]
|
| H A D | ti-adc081c.c | 49 struct adc081c *adc = iio_priv(iio); in adc081c_read_raw() local 54 err = i2c_smbus_read_word_swapped(adc->i2c, REG_CONV_RES); in adc081c_read_raw() 58 *value = (err & 0xFFF) >> (12 - adc->bits); in adc081c_read_raw() 62 err = regulator_get_voltage(adc->ref); in adc081c_read_raw() 67 *shift = adc->bits; in adc081c_read_raw() 153 struct adc081c *adc; in adc081c_probe() local 162 iio = devm_iio_device_alloc(&client->dev, sizeof(*adc)); in adc081c_probe() 166 adc = iio_priv(iio); in adc081c_probe() 167 adc->i2c = client; in adc081c_probe() 168 adc->bits = model->bits; in adc081c_probe() [all …]
|
| H A D | intel_mrfld_adc.c | 64 struct mrfld_adc *adc = iio_priv(indio_dev); in mrfld_adc_thread_isr() local 66 complete(&adc->completion); in mrfld_adc_thread_isr() 74 struct mrfld_adc *adc = iio_priv(indio_dev); in mrfld_adc_single_conv() local 75 struct regmap *regmap = adc->regmap; in mrfld_adc_single_conv() 81 reinit_completion(&adc->completion); in mrfld_adc_single_conv() 97 time_left = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv() 126 struct mrfld_adc *adc = iio_priv(indio_dev); in mrfld_adc_read_raw() local 131 mutex_lock(&adc->lock); in mrfld_adc_read_raw() 133 mutex_unlock(&adc->lock); in mrfld_adc_read_raw() 184 struct mrfld_adc *adc; in mrfld_adc_probe() local [all …]
|
| H A D | men_z188_adc.c | 53 struct z188_adc *adc = iio_priv(iio_dev); in z188_iio_read_raw() local 59 tmp = readw(adc->base + chan->channel * 4); in z188_iio_read_raw() 103 struct z188_adc *adc; in men_z188_probe() local 112 adc = iio_priv(indio_dev); in men_z188_probe() 123 adc->base = ioremap(mem->start, resource_size(mem)); in men_z188_probe() 124 if (adc->base == NULL) in men_z188_probe() 127 men_z188_config_channels(adc->base); in men_z188_probe() 129 adc->mem = mem; in men_z188_probe() 139 iounmap(adc->base); in men_z188_probe() 148 struct z188_adc *adc = iio_priv(indio_dev); in men_z188_remove() local [all …]
|
| /linux/drivers/hwmon/ |
| H A D | adcxx.c | 51 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_show() local 57 if (mutex_lock_interruptible(&adc->lock)) in adcxx_show() 60 if (adc->channels == 1) { in adcxx_show() 76 value = value * adc->reference >> 12; in adcxx_show() 79 mutex_unlock(&adc->lock); in adcxx_show() 94 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_max_show() local 97 if (mutex_lock_interruptible(&adc->lock)) in adcxx_max_show() 100 reference = adc->reference; in adcxx_max_show() 102 mutex_unlock(&adc->lock); in adcxx_max_show() 112 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_max_store() local [all …]
|
| /linux/arch/arm/boot/dts/aspeed/ |
| H A D | aspeed-bmc-supermicro-x11spi.dts | 34 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 35 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>, 36 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 37 <&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
|
| H A D | aspeed-bmc-intel-s2600wf.dts | 33 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 34 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>, 35 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 36 <&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
|