Home
last modified time | relevance | path

Searched refs:adc (Results 1 – 25 of 359) sorted by relevance

12345678910>>...15

/linux/drivers/iio/adc/
H A Dpalmas_gpadc.c131 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 Dimx93_adc.c104 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 Dstm32-adc.c31 #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 Dimx8qxp-adc.c122 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 Drzt2h_adc.c48 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 Drzg2l_adc.c115 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 Dqcom-spmi-adc5-gen3.c71 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 Dmcp3911.c109 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 Dingenic-adc.c103 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 Dqcom-spmi-adc5.c157 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 Dti-adc084s021.c72 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 Dmcp320x.c119 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 Dti-adc0832.c119 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 Dlpc18xx_adc.c68 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 Dqcom-pm8xxx-xoadc.c417 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 Dti-ads8344.c76 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 Dmcp3422.c88 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 Dmax1118.c70 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 Dti-adc128s052.c43 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 Dti-adc081c.c49 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 Dintel_mrfld_adc.c64 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 Dmen_z188_adc.c53 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 Dadcxx.c51 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 Daspeed-bmc-supermicro-x11spi.dts34 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 Daspeed-bmc-intel-s2600wf.dts33 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>;

12345678910>>...15