Home
last modified time | relevance | path

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

12345678910>>...14

/Linux-v4.19/drivers/iio/adc/
Dpalmas_gpadc.c143 static int palmas_disable_auto_conversion(struct palmas_gpadc *adc) in palmas_disable_auto_conversion() argument
147 ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, in palmas_disable_auto_conversion()
152 dev_err(adc->dev, "GPADC_CTRL1 update failed: %d\n", ret); in palmas_disable_auto_conversion()
156 ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, in palmas_disable_auto_conversion()
162 dev_err(adc->dev, "AUTO_CTRL update failed: %d\n", ret); in palmas_disable_auto_conversion()
168 ret = palmas_update_bits(adc->palmas, PALMAS_GPADC_BASE, in palmas_disable_auto_conversion()
172 dev_err(adc->dev, "GPADC_CTRL1 update failed: %d\n", ret); in palmas_disable_auto_conversion()
179 struct palmas_gpadc *adc = data; in palmas_gpadc_irq() local
181 complete(&adc->conv_completion); in palmas_gpadc_irq()
188 struct palmas_gpadc *adc = data; in palmas_gpadc_irq_auto() local
[all …]
Dstm32-adc.c557 static u32 stm32_adc_readl(struct stm32_adc *adc, u32 reg) in stm32_adc_readl() argument
559 return readl_relaxed(adc->common->base + adc->offset + reg); in stm32_adc_readl()
562 #define stm32_adc_readl_addr(addr) stm32_adc_readl(adc, addr)
568 static u16 stm32_adc_readw(struct stm32_adc *adc, u32 reg) in stm32_adc_readw() argument
570 return readw_relaxed(adc->common->base + adc->offset + reg); in stm32_adc_readw()
573 static void stm32_adc_writel(struct stm32_adc *adc, u32 reg, u32 val) in stm32_adc_writel() argument
575 writel_relaxed(val, adc->common->base + adc->offset + reg); in stm32_adc_writel()
578 static void stm32_adc_set_bits(struct stm32_adc *adc, u32 reg, u32 bits) in stm32_adc_set_bits() argument
582 spin_lock_irqsave(&adc->lock, flags); in stm32_adc_set_bits()
583 stm32_adc_writel(adc, reg, stm32_adc_readl(adc, reg) | bits); in stm32_adc_set_bits()
[all …]
Dstm32-dfsdm-adc.c376 struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); in dfsdm_adc_audio_get_spiclk() local
378 return snprintf(buf, PAGE_SIZE, "%d\n", adc->spi_freq); in dfsdm_adc_audio_get_spiclk()
386 struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); in dfsdm_adc_audio_set_spiclk() local
387 struct stm32_dfsdm_filter *fl = &adc->dfsdm->fl_list[adc->fl_id]; in dfsdm_adc_audio_set_spiclk()
388 struct stm32_dfsdm_channel *ch = &adc->dfsdm->ch_list[chan->channel]; in dfsdm_adc_audio_set_spiclk()
389 unsigned int sample_freq = adc->sample_freq; in dfsdm_adc_audio_set_spiclk()
418 adc->spi_freq = spi_freq; in dfsdm_adc_audio_set_spiclk()
423 static int stm32_dfsdm_start_conv(struct stm32_dfsdm_adc *adc, in stm32_dfsdm_start_conv() argument
427 struct regmap *regmap = adc->dfsdm->regmap; in stm32_dfsdm_start_conv()
431 ret = stm32_dfsdm_start_channel(adc->dfsdm, chan->channel); in stm32_dfsdm_start_conv()
[all …]
Dti-adc12138.c124 static int adc12138_mode_programming(struct adc12138 *adc, u8 mode, in adc12138_mode_programming() argument
128 .tx_buf = adc->tx_buf, in adc12138_mode_programming()
129 .rx_buf = adc->rx_buf, in adc12138_mode_programming()
135 if (adc->id != adc12138) in adc12138_mode_programming()
138 adc->tx_buf[0] = mode; in adc12138_mode_programming()
140 ret = spi_sync_transfer(adc->spi, &xfer, 1); in adc12138_mode_programming()
144 memcpy(rx_buf, adc->rx_buf, len); in adc12138_mode_programming()
149 static int adc12138_read_status(struct adc12138 *adc) in adc12138_read_status() argument
154 ret = adc12138_mode_programming(adc, ADC12138_MODE_READ_STATUS, in adc12138_read_status()
162 static int __adc12138_start_conv(struct adc12138 *adc, in __adc12138_start_conv() argument
[all …]
Dmcp320x.c122 static int mcp320x_adc_conversion(struct mcp320x *adc, u8 channel, in mcp320x_adc_conversion() argument
127 if (adc->chip_info->conv_time) { in mcp320x_adc_conversion()
128 ret = spi_sync(adc->spi, &adc->start_conv_msg); in mcp320x_adc_conversion()
132 usleep_range(adc->chip_info->conv_time, in mcp320x_adc_conversion()
133 adc->chip_info->conv_time + 100); in mcp320x_adc_conversion()
136 memset(&adc->rx_buf, 0, sizeof(adc->rx_buf)); in mcp320x_adc_conversion()
137 if (adc->chip_info->num_channels > 1) in mcp320x_adc_conversion()
138 adc->tx_buf = mcp320x_channel_to_tx_data(device_index, channel, in mcp320x_adc_conversion()
141 ret = spi_sync(adc->spi, &adc->msg); in mcp320x_adc_conversion()
147 *val = (adc->rx_buf[0] << 5 | adc->rx_buf[1] >> 3); in mcp320x_adc_conversion()
[all …]
Dti-adc0832.c116 static int adc0831_adc_conversion(struct adc0832 *adc) in adc0831_adc_conversion() argument
118 struct spi_device *spi = adc->spi; in adc0831_adc_conversion()
121 ret = spi_read(spi, &adc->rx_buf, 2); in adc0831_adc_conversion()
128 return (adc->rx_buf[0] << 2 & 0xff) | (adc->rx_buf[1] >> 6); in adc0831_adc_conversion()
131 static int adc0832_adc_conversion(struct adc0832 *adc, int channel, in adc0832_adc_conversion() argument
134 struct spi_device *spi = adc->spi; in adc0832_adc_conversion()
136 .tx_buf = adc->tx_buf, in adc0832_adc_conversion()
137 .rx_buf = adc->rx_buf, in adc0832_adc_conversion()
142 if (!adc->mux_bits) in adc0832_adc_conversion()
143 return adc0831_adc_conversion(adc); in adc0832_adc_conversion()
[all …]
Dlpc18xx_adc.c73 static int lpc18xx_adc_read_chan(struct lpc18xx_adc *adc, unsigned int ch) in lpc18xx_adc_read_chan() argument
78 reg = adc->cr_reg | BIT(ch) | LPC18XX_ADC_CR_START_NOW; in lpc18xx_adc_read_chan()
79 writel(reg, adc->base + LPC18XX_ADC_CR); in lpc18xx_adc_read_chan()
81 ret = readl_poll_timeout(adc->base + LPC18XX_ADC_GDR, reg, in lpc18xx_adc_read_chan()
84 dev_warn(adc->dev, "adc read timed out\n"); in lpc18xx_adc_read_chan()
95 struct lpc18xx_adc *adc = iio_priv(indio_dev); in lpc18xx_adc_read_raw() local
99 mutex_lock(&adc->lock); in lpc18xx_adc_read_raw()
100 *val = lpc18xx_adc_read_chan(adc, chan->channel); in lpc18xx_adc_read_raw()
101 mutex_unlock(&adc->lock); in lpc18xx_adc_read_raw()
108 *val = regulator_get_voltage(adc->vref) / 1000; in lpc18xx_adc_read_raw()
[all …]
Dti-adc084s021.c70 static int adc084s021_adc_conversion(struct adc084s021 *adc, void *data) in adc084s021_adc_conversion() argument
72 int n_words = (adc->spi_trans.len >> 1) - 1; /* Discard first word */ in adc084s021_adc_conversion()
77 ret = spi_sync(adc->spi, &adc->message); in adc084s021_adc_conversion()
82 *(p + i) = adc->rx_buf[i + 1]; in adc084s021_adc_conversion()
91 struct adc084s021 *adc = iio_priv(indio_dev); in adc084s021_read_raw() local
100 ret = regulator_enable(adc->reg); in adc084s021_read_raw()
106 adc->tx_buf[0] = channel->channel << 3; in adc084s021_read_raw()
107 ret = adc084s021_adc_conversion(adc, val); in adc084s021_read_raw()
109 regulator_disable(adc->reg); in adc084s021_read_raw()
118 ret = regulator_enable(adc->reg); in adc084s021_read_raw()
[all …]
Dmxs-lradc-adc.c142 struct mxs_lradc_adc *adc = iio_priv(iio_dev); in mxs_lradc_adc_read_single() local
143 struct mxs_lradc *lradc = adc->lradc; in mxs_lradc_adc_read_single()
156 reinit_completion(&adc->completion); in mxs_lradc_adc_read_single()
165 adc->base + LRADC_CTRL1 + STMP_OFFSET_REG_CLR); in mxs_lradc_adc_read_single()
166 writel(0x1, adc->base + LRADC_CTRL0 + STMP_OFFSET_REG_CLR); in mxs_lradc_adc_read_single()
169 if (test_bit(chan, &adc->is_divided)) in mxs_lradc_adc_read_single()
171 adc->base + LRADC_CTRL2 + STMP_OFFSET_REG_SET); in mxs_lradc_adc_read_single()
174 adc->base + LRADC_CTRL2 + STMP_OFFSET_REG_CLR); in mxs_lradc_adc_read_single()
178 adc->base + LRADC_CTRL4 + STMP_OFFSET_REG_CLR); in mxs_lradc_adc_read_single()
179 writel(chan, adc->base + LRADC_CTRL4 + STMP_OFFSET_REG_SET); in mxs_lradc_adc_read_single()
[all …]
Dqcom-pm8xxx-xoadc.c416 struct pm8xxx_xoadc *adc = iio_priv(indio_dev); in pm8xxx_eoc_irq() local
418 complete(&adc->complete); in pm8xxx_eoc_irq()
424 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 ch = &adc->chans[i]; in pm8xxx_get_channel()
434 if (i == adc->nchans) in pm8xxx_get_channel()
440 static int pm8xxx_read_channel_rsv(struct pm8xxx_xoadc *adc, in pm8xxx_read_channel_rsv() argument
450 dev_dbg(adc->dev, "read channel \"%s\", amux %d, prescale/mux: %d, rsv %d\n", in pm8xxx_read_channel_rsv()
453 mutex_lock(&adc->lock); in pm8xxx_read_channel_rsv()
458 ret = regmap_write(adc->map, ADC_ARB_USRP_AMUX_CNTRL, val); in pm8xxx_read_channel_rsv()
[all …]
Dti-adc128s052.c35 static int adc128_adc_conversion(struct adc128 *adc, u8 channel) in adc128_adc_conversion() argument
39 mutex_lock(&adc->lock); in adc128_adc_conversion()
41 adc->buffer[0] = channel << 3; in adc128_adc_conversion()
42 adc->buffer[1] = 0; in adc128_adc_conversion()
44 ret = spi_write(adc->spi, &adc->buffer, 2); in adc128_adc_conversion()
46 mutex_unlock(&adc->lock); in adc128_adc_conversion()
50 ret = spi_read(adc->spi, &adc->buffer, 2); in adc128_adc_conversion()
52 mutex_unlock(&adc->lock); in adc128_adc_conversion()
57 return ((adc->buffer[0] << 8 | adc->buffer[1]) & 0xFFF); in adc128_adc_conversion()
64 struct adc128 *adc = iio_priv(indio_dev); in adc128_read_raw() local
[all …]
Dmcp3422.c98 static int mcp3422_update_config(struct mcp3422 *adc, u8 newconfig) in mcp3422_update_config() argument
102 mutex_lock(&adc->lock); in mcp3422_update_config()
104 ret = i2c_master_send(adc->i2c, &newconfig, 1); in mcp3422_update_config()
106 adc->config = newconfig; in mcp3422_update_config()
110 mutex_unlock(&adc->lock); in mcp3422_update_config()
115 static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config) in mcp3422_read() argument
118 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); in mcp3422_read()
123 ret = i2c_master_recv(adc->i2c, buf, 4); in mcp3422_read()
127 ret = i2c_master_recv(adc->i2c, buf, 3); in mcp3422_read()
137 static int mcp3422_read_channel(struct mcp3422 *adc, in mcp3422_read_channel() argument
[all …]
Dmax1118.c69 struct max1118 *adc = iio_priv(indio_dev); in max1118_read() local
90 .rx_buf = &adc->data, in max1118_read()
104 return adc->data; in max1118_read()
110 struct max1118 *adc = iio_priv(indio_dev); in max1118_get_vref_mV() local
120 vref_uV = regulator_get_voltage(adc->reg); in max1118_get_vref_mV()
133 struct max1118 *adc = iio_priv(indio_dev); in max1118_read_raw() local
137 mutex_lock(&adc->lock); in max1118_read_raw()
138 *val = max1118_read(adc->spi, chan->channel); in max1118_read_raw()
139 mutex_unlock(&adc->lock); in max1118_read_raw()
145 *val = max1118_get_vref_mV(adc->spi); in max1118_read_raw()
[all …]
Dti-adc081c.c47 struct adc081c *adc = iio_priv(iio); in adc081c_read_raw() local
52 err = i2c_smbus_read_word_swapped(adc->i2c, REG_CONV_RES); in adc081c_read_raw()
56 *value = (err & 0xFFF) >> (12 - adc->bits); in adc081c_read_raw()
60 err = regulator_get_voltage(adc->ref); in adc081c_read_raw()
65 *shift = adc->bits; in adc081c_read_raw()
152 struct adc081c *adc; in adc081c_probe() local
171 iio = devm_iio_device_alloc(&client->dev, sizeof(*adc)); in adc081c_probe()
175 adc = iio_priv(iio); in adc081c_probe()
176 adc->i2c = client; in adc081c_probe()
177 adc->bits = model->bits; in adc081c_probe()
[all …]
/Linux-v4.19/arch/arm/plat-samsung/
Dadc.c83 static inline void s3c_adc_convert(struct adc_device *adc) in s3c_adc_convert() argument
85 unsigned con = readl(adc->regs + S3C2410_ADCCON); in s3c_adc_convert()
88 writel(con, adc->regs + S3C2410_ADCCON); in s3c_adc_convert()
91 static inline void s3c_adc_select(struct adc_device *adc, in s3c_adc_select() argument
94 unsigned con = readl(adc->regs + S3C2410_ADCCON); in s3c_adc_select()
95 enum s3c_cpu_type cpu = platform_get_device_id(adc->pdev)->driver_data; in s3c_adc_select()
106 writel(client->channel & 0xf, adc->regs + S5P_ADCMUX); in s3c_adc_select()
109 adc->regs + S3C2443_ADCMUX); in s3c_adc_select()
114 writel(con, adc->regs + S3C2410_ADCCON); in s3c_adc_select()
117 static void s3c_adc_dbgshow(struct adc_device *adc) in s3c_adc_dbgshow() argument
[all …]
/Linux-v4.19/drivers/mfd/
Djz4740-adc.c86 static inline void jz4740_adc_clk_enable(struct jz4740_adc *adc) in jz4740_adc_clk_enable() argument
88 if (atomic_inc_return(&adc->clk_ref) == 1) in jz4740_adc_clk_enable()
89 clk_prepare_enable(adc->clk); in jz4740_adc_clk_enable()
92 static inline void jz4740_adc_clk_disable(struct jz4740_adc *adc) in jz4740_adc_clk_disable() argument
94 if (atomic_dec_return(&adc->clk_ref) == 0) in jz4740_adc_clk_disable()
95 clk_disable_unprepare(adc->clk); in jz4740_adc_clk_disable()
98 static inline void jz4740_adc_set_enabled(struct jz4740_adc *adc, int engine, in jz4740_adc_set_enabled() argument
104 spin_lock_irqsave(&adc->lock, flags); in jz4740_adc_set_enabled()
106 val = readb(adc->base + JZ_REG_ADC_ENABLE); in jz4740_adc_set_enabled()
111 writeb(val, adc->base + JZ_REG_ADC_ENABLE); in jz4740_adc_set_enabled()
[all …]
Dpcf50633-adc.c73 struct pcf50633_adc *adc = __to_adc(pcf); in trigger_next_adc_job_if_any() local
76 head = adc->queue_head; in trigger_next_adc_job_if_any()
78 if (!adc->queue[head]) in trigger_next_adc_job_if_any()
81 adc_setup(pcf, adc->queue[head]->mux, adc->queue[head]->avg); in trigger_next_adc_job_if_any()
87 struct pcf50633_adc *adc = __to_adc(pcf); in adc_enqueue_request() local
90 mutex_lock(&adc->queue_mutex); in adc_enqueue_request()
92 head = adc->queue_head; in adc_enqueue_request()
93 tail = adc->queue_tail; in adc_enqueue_request()
95 if (adc->queue[tail]) { in adc_enqueue_request()
96 mutex_unlock(&adc->queue_mutex); in adc_enqueue_request()
[all …]
/Linux-v4.19/drivers/hwmon/
Dadcxx.c65 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_read() local
71 if (mutex_lock_interruptible(&adc->lock)) in adcxx_read()
74 if (adc->channels == 1) { in adcxx_read()
90 value = value * adc->reference >> 12; in adcxx_read()
93 mutex_unlock(&adc->lock); in adcxx_read()
108 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_show_max() local
111 if (mutex_lock_interruptible(&adc->lock)) in adcxx_show_max()
114 reference = adc->reference; in adcxx_show_max()
116 mutex_unlock(&adc->lock); in adcxx_show_max()
125 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_set_max() local
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/iio/adc/
Dat91_adc.txt4 - compatible: Should be "atmel,<chip>-adc"
11 - atmel,adc-channels-used: Bitmask of the channels muxed and enabled for this
13 - atmel,adc-startup-time: Startup Time of the ADC in microseconds as
15 - atmel,adc-vref: Reference voltage in millivolts for the conversions
16 - atmel,adc-res: List of resolutions in bits supported by the ADC. List size
18 - atmel,adc-res-names: Contains one identifier string for each resolution
19 in atmel,adc-res property. "lowres" and "highres"
23 - atmel,adc-use-external-triggers: Boolean to enable the external triggers
24 - atmel,adc-use-res: String corresponding to an identifier from
25 atmel,adc-res-names property. If not specified, the highest
[all …]
Dsamsung,exynos-adc.txt9 2. Add ADC driver under iio/adc framework
13 - compatible: Must be "samsung,exynos-adc-v1"
15 Must be "samsung,exynos-adc-v2" for
17 Must be "samsung,exynos3250-adc" for
19 Must be "samsung,exynos7-adc" for
21 Must be "samsung,s3c2410-adc" for
23 Must be "samsung,s3c2416-adc" for
25 Must be "samsung,s3c2440-adc" for
27 Must be "samsung,s3c2443-adc" for
29 Must be "samsung,s3c6410-adc" for
[all …]
Dst,stm32-adc.txt21 Contents of a stm32 adc root node:
25 "st,stm32f4-adc-core"
26 "st,stm32h7-adc-core"
27 "st,stm32mp1-adc-core"
33 - "adc" clock: for the analog circuitry, common to all ADCs.
39 - clock-names: Must be "adc" and/or "bus" depending on part used.
50 Contents of a stm32 adc child node:
57 "st,stm32f4-adc"
58 "st,stm32h7-adc"
59 "st,stm32mp1-adc"
[all …]
Dcc10001_adc.txt4 - compatible: Should be "cosmic,10001-adc"
5 - reg: Should contain adc registers location and length.
6 - clock-names: Should contain "adc".
11 - adc-reserved-channels: Bitmask of reserved channels,
15 adc: adc@18101600 {
16 compatible = "cosmic,10001-adc";
18 adc-reserved-channels = <0x2>;
20 clock-names = "adc";
/Linux-v4.19/arch/arm/boot/dts/
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>;
/Linux-v4.19/drivers/power/supply/
Dda9030_battery.c97 struct da9030_adc_res adc; member
151 charger->adc.vbat_res, in bat_debug_show()
152 da9030_reg_to_mV(charger->adc.vbat_res)); in bat_debug_show()
154 charger->adc.vbatmin_res, in bat_debug_show()
155 da9030_reg_to_mV(charger->adc.vbatmin_res)); in bat_debug_show()
157 charger->adc.vbatmintxon, in bat_debug_show()
158 da9030_reg_to_mV(charger->adc.vbatmintxon)); in bat_debug_show()
160 charger->adc.ichmax_res, in bat_debug_show()
161 da9030_reg_to_mV(charger->adc.ichmax_res)); in bat_debug_show()
163 charger->adc.ichmin_res, in bat_debug_show()
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/iio/
Diio-bindings.txt23 adc: voltage-sensor@35 {
31 adc@35 {
32 compatible = "some-vendor,some-adc";
67 io-channels = <&adc 1>, <&ref 0>;
72 The vcc channel is connected to output 1 of the &adc device, and the
77 adc: max1139@35 {
87 io-channels = <&adc 0>, <&adc 1>, <&adc 2>,
88 <&adc 3>, <&adc 4>, <&adc 5>,
89 <&adc 6>, <&adc 7>, <&adc 8>,
90 <&adc 9>;
[all …]

12345678910>>...14