Home
last modified time | relevance | path

Searched +full:adc +full:- +full:dev (Results 1 – 25 of 541) sorted by relevance

12345678910>>...22

/linux/drivers/iio/adc/
H A Dad7944.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Analog Devices AD7944/85/86 PulSAR ADC family driver.
26 #include <linux/iio/buffer-dmaengine.h>
40 /* datasheet calls this "4-wire mode" */
42 /* datasheet calls this "3-wire mode" (not related to SPI_3WIRE!) */
48 /* maps adi,spi-mode property value to enum */
67 /* Chip-specific timing specifications. */
73 /* Indicates TURBO is hard-wired to be always enabled. */
118 * AD7944_DEFINE_CHIP_INFO - Define a chip info structure for a specific chip
170 * - There is no soft timestamp since everything is done in hardware.
[all …]
H A Dmax1241.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * MAX1241 low-power, 12-bit serial ADC
5 * Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX1240-MAX1241.pdf
41 static int max1241_read(struct max1241 *adc) in max1241_read() argument
57 .rx_buf = &adc->data, in max1241_read()
62 return spi_sync_transfer(adc->spi, xfers, ARRAY_SIZE(xfers)); in max1241_read()
70 struct max1241 *adc = iio_priv(indio_dev); in max1241_read_raw() local
74 mutex_lock(&adc->lock); in max1241_read_raw()
76 if (adc->shutdown) { in max1241_read_raw()
77 gpiod_set_value(adc->shutdown, 0); in max1241_read_raw()
[all …]
H A Dlpc18xx_adc.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * IIO ADC driver for NXP LPC18xx ADC
8 * - Hardware triggers
9 * - Burst mode
10 * - Interrupts
11 * - DMA
26 /* LPC18XX ADC registers and bits */
44 struct device *dev; member
69 static int lpc18xx_adc_read_chan(struct lpc18xx_adc *adc, unsigned int ch) in lpc18xx_adc_read_chan() argument
74 reg = adc->cr_reg | BIT(ch) | LPC18XX_ADC_CR_START_NOW; in lpc18xx_adc_read_chan()
[all …]
H A Dmcp3911.c1 // SPDX-License-Identifier: GPL-2.0
3 * Driver for Microchip MCP3911, Two-channel Analog Front End
110 int (*config)(struct mcp3911 *adc, bool external_vref);
111 int (*get_osr)(struct mcp3911 *adc, u32 *val);
112 int (*set_osr)(struct mcp3911 *adc, u32 val);
113 int (*enable_offset)(struct mcp3911 *adc, bool enable);
114 int (*get_offset)(struct mcp3911 *adc, int channel, int *val);
115 int (*set_offset)(struct mcp3911 *adc, int channel, int val);
116 int (*set_scale)(struct mcp3911 *adc, int channel, u32 val);
117 int (*get_raw)(struct mcp3911 *adc, int channel, int *val);
[all …]
H A Dingenic-adc.c1 // SPDX-License-Identifier: GPL-2.0
3 * ADC driver for the Ingenic JZ47xx SoCs
4 * Copyright (c) 2019 Artur Rojek <contact@artur-rojek.eu>
6 * based on drivers/mfd/jz4740-adc.c
9 #include <dt-bindings/iio/adc/ingenic,adc.h>
102 int (*init_clk_div)(struct device *dev, struct ingenic_adc *adc);
116 struct ingenic_adc *adc = iio_priv(iio_dev); in ingenic_adc_set_adcmd() local
118 mutex_lock(&adc->lock); in ingenic_adc_set_adcmd()
121 readl(adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd()
128 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd()
[all …]
H A Dmen_z188_adc.c1 // SPDX-License-Identifier: GPL-2.0-only
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()
62 dev_info(&iio_dev->dev, in z188_iio_read_raw()
63 "Oversampling error on ADC channel %d\n", in z188_iio_read_raw()
64 chan->channel); in z188_iio_read_raw()
65 return -EIO; in z188_iio_read_raw()
71 ret = -EINVAL; in z188_iio_read_raw()
100 static int men_z188_probe(struct mcb_device *dev, in men_z188_probe() argument
103 struct z188_adc *adc; in men_z188_probe() local
[all …]
H A Dmax1118.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * MAX1117/MAX1118/MAX1119 8-bit, dual-channel ADCs driver
7 * Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX1117-MAX1119.pdf
13 * ------ --------- -----------
14 * nCS --> CNVST
15 * SCK --> SCLK
16 * MISO <-- DOUT
17 * ------ --------- -----------
71 struct max1118 *adc = iio_priv(indio_dev); in max1118_read() local
98 .rx_buf = &adc->data, in max1118_read()
[all …]
H A Dti-ads8344.c1 // SPDX-License-Identifier: GPL-2.0+
3 * ADS8344 16-bit 8-Channel ADC driver
26 * Lock protecting access to adc->tx_buff and rx_buff,
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()
[all …]
H A Dti-adc0832.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * ADC0831/ADC0832/ADC0834/ADC0838 8-bit ADC driver
7 * Datasheet: https://www.ti.com/lit/ds/symlink/adc0832-n.pdf
33 * Max size needed: 16x 1 byte ADC data + 8 bytes timestamp
120 static int adc0831_adc_conversion(struct adc0832 *adc) in adc0831_adc_conversion() argument
122 struct spi_device *spi = adc->spi; in adc0831_adc_conversion()
125 ret = spi_read(spi, &adc->rx_buf, 2); in adc0831_adc_conversion()
130 * Skip TRI-STATE and a leading zero in adc0831_adc_conversion()
132 return (adc->rx_buf[0] << 2 & 0xff) | (adc->rx_buf[1] >> 6); in adc0831_adc_conversion()
135 static int adc0832_adc_conversion(struct adc0832 *adc, int channel, in adc0832_adc_conversion() argument
[all …]
H A Dmcp3422.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * mcp3422.c - driver for the Microchip mcp3421/2/3/4/5/6/7/8 chip family
95 static int mcp3422_update_config(struct mcp3422 *adc, u8 newconfig) in mcp3422_update_config() argument
99 ret = i2c_master_send(adc->i2c, &newconfig, 1); in mcp3422_update_config()
101 adc->config = newconfig; in mcp3422_update_config()
108 static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config) in mcp3422_read() argument
111 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); in mcp3422_read()
116 ret = i2c_master_recv(adc->i2c, buf, 4); in mcp3422_read()
120 ret = i2c_master_recv(adc->i2c, buf, 3); in mcp3422_read()
130 static int mcp3422_read_channel(struct mcp3422 *adc, in mcp3422_read_channel() argument
[all …]
H A Dnpcm_adc.c1 // SPDX-License-Identifier: GPL-2.0
30 struct device *dev; member
48 /* ADC registers */
67 /* ADC General Definition */
106 regtemp = ioread32(info->regs + NPCM_ADCCON); in npcm_adc_isr()
108 iowrite32(regtemp, info->regs + NPCM_ADCCON); in npcm_adc_isr()
109 wake_up_interruptible(&info->wq); in npcm_adc_isr()
110 info->int_status = true; in npcm_adc_isr()
121 /* Select ADC channel */ in npcm_adc_read()
122 regtemp = ioread32(info->regs + NPCM_ADCCON); in npcm_adc_read()
[all …]
H A Dintel_mrfld_adc.c1 // SPDX-License-Identifier: GPL-2.0
3 * ADC driver for Basin Cove PMIC
65 struct mrfld_adc *adc = iio_priv(indio_dev); in mrfld_adc_thread_isr() local
67 complete(&adc->completion); in mrfld_adc_thread_isr()
75 struct mrfld_adc *adc = iio_priv(indio_dev); in mrfld_adc_single_conv() local
76 struct regmap *regmap = adc->regmap; in mrfld_adc_single_conv()
82 reinit_completion(&adc->completion); in mrfld_adc_single_conv()
93 req = mrfld_adc_requests[chan->channel]; in mrfld_adc_single_conv()
98 time_left = wait_for_completion_interruptible_timeout(&adc->completion, in mrfld_adc_single_conv()
105 ret = -ETIMEDOUT; in mrfld_adc_single_conv()
[all …]
H A Dmt6360-adc.c1 // SPDX-License-Identifier: GPL-2.0
59 struct device *dev; member
61 /* Due to only one set of ADC control, this lock is used to prevent the race condition */
74 mutex_lock(&mad->adc_lock); in mt6360_adc_read_channel()
76 /* Select the preferred ADC channel */ in mt6360_adc_read_channel()
77 ret = regmap_update_bits(mad->regmap, MT6360_REG_PMUADCRPT1, MT6360_PREFERCH_MASK, in mt6360_adc_read_channel()
83 ret = regmap_raw_write(mad->regmap, MT6360_REG_PMUADCCFG, &adc_enable, sizeof(adc_enable)); in mt6360_adc_read_channel()
87 predict_end_t = ktime_add_ms(mad->last_off_timestamps[channel], 2 * ADC_WAIT_TIME_MS); in mt6360_adc_read_channel()
95 ret = -ERESTARTSYS; in mt6360_adc_read_channel()
101 ret = regmap_raw_read(mad->regmap, MT6360_REG_PMUADCRPT1, rpt, sizeof(rpt)); in mt6360_adc_read_channel()
[all …]
/linux/drivers/hwmon/
H A Dadcxx.c1 // SPDX-License-Identifier: GPL-2.0-or-later
11 * ADC<bb><c>S<sss>, where
18 * http://www.national.com/ds/DC/ADC<bb><c>S<sss>.pdf
32 #include <linux/hwmon-sysfs.h>
47 static ssize_t adcxx_show(struct device *dev, in adcxx_show() argument
50 struct spi_device *spi = to_spi_device(dev); in adcxx_show()
52 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_show() local
58 if (mutex_lock_interruptible(&adc->lock)) in adcxx_show()
59 return -ERESTARTSYS; in adcxx_show()
61 if (adc->channels == 1) { in adcxx_show()
[all …]
/linux/sound/soc/codecs/
H A Drt5514.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * rt5514.c -- RT5514 ALSA SoC audio codec driver
24 #include <sound/soc-dapm.h>
31 #include "rt5514-spi.h"
120 regmap_write(rt5514->i2c_regmap, 0x18002000, 0x000010ec); in rt5514_enable_dsp_prepare()
122 regmap_write(rt5514->i2c_regmap, 0x18002200, 0x00028604); in rt5514_enable_dsp_prepare()
124 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000001); in rt5514_enable_dsp_prepare()
125 /* mini-core reset */ in rt5514_enable_dsp_prepare()
126 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x0005514b); in rt5514_enable_dsp_prepare()
127 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x00055149); in rt5514_enable_dsp_prepare()
[all …]
H A Drt715-sdca.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // rt715-sdca.c -- rt715 ALSA SoC audio driver
25 #include <sound/soc-dapm.h>
30 #include "rt715-sdca.h"
35 struct regmap *regmap = rt715->mbq_regmap; in rt715_sdca_index_write()
43 dev_err(&rt715->slave->dev, in rt715_sdca_index_write()
53 struct regmap *regmap = rt715->mbq_regmap; in rt715_sdca_index_read()
61 dev_err(&rt715->slave->dev, in rt715_sdca_index_read()
92 ((abs(u_ctrl_val - vol_gain_sft) * RT715_SDCA_DB_STEP) << 8) / 1000; in rt715_sdca_vol_gain()
117 reg_val = ~(reg_val - 1) & 0xffff; in rt715_sdca_get_gain()
[all …]
H A Drt5660.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * rt5660.c -- RT5660 ALSA SoC audio codec driver
24 #include <sound/soc-dapm.h>
151 static bool rt5660_volatile_register(struct device *dev, unsigned int reg) in rt5660_volatile_register() argument
178 static bool rt5660_readable_register(struct device *dev, unsigned int reg) in rt5660_readable_register() argument
296 static const DECLARE_TLV_DB_SCALE(rt5660_out_vol_tlv, -4650, 150, 0);
297 static const DECLARE_TLV_DB_SCALE(rt5660_dac_vol_tlv, -6525, 75, 0);
298 static const DECLARE_TLV_DB_SCALE(rt5660_adc_vol_tlv, -1725, 75, 0);
300 static const DECLARE_TLV_DB_SCALE(rt5660_bst_tlv, -1200, 75, 0);
328 /* ADC Digital Volume Control */
[all …]
H A Drt5677.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * rt5677.c -- RT5677 ALSA SoC audio codec driver
29 #include <sound/soc-dapm.h>
35 #include "rt5677-spi.h"
281 static bool rt5677_volatile_register(struct device *dev, unsigned int reg) in rt5677_volatile_register() argument
330 static bool rt5677_readable_register(struct device *dev, unsigned int reg) in rt5677_readable_register() argument
552 * rt5677_dsp_mode_i2c_write_addr - Write value to address on DSP mode.
563 struct snd_soc_component *component = rt5677->component; in rt5677_dsp_mode_i2c_write_addr()
566 mutex_lock(&rt5677->dsp_cmd_lock); in rt5677_dsp_mode_i2c_write_addr()
568 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, in rt5677_dsp_mode_i2c_write_addr()
[all …]
H A Drt5682.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // rt5682.c -- RT5682 ALSA SoC audio component driver
25 #include <sound/soc-dapm.h>
38 "LDO1-IN",
56 void rt5682_apply_patch_list(struct rt5682_priv *rt5682, struct device *dev) in rt5682_apply_patch_list() argument
60 ret = regmap_multi_reg_write(rt5682->regmap, patch_list, in rt5682_apply_patch_list()
63 dev_warn(dev, "Failed to apply regmap patch: %d\n", ret); in rt5682_apply_patch_list()
389 bool rt5682_volatile_register(struct device *dev, unsigned int reg) in rt5682_volatile_register() argument
419 bool rt5682_readable_register(struct device *dev, unsigned int reg) in rt5682_readable_register() argument
751 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -6525, 75, 0);
[all …]
H A Drt721-sdca.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // rt721-sdca.c -- rt721 SDCA ALSA SoC audio driver
23 #include <sound/soc-dapm.h>
26 #include "rt721-sdca.h"
27 #include "rt-sdw-common.h"
35 if (!rt721->hs_jack) in rt721_sdca_jack_detect_handler()
38 if (!rt721->component->card || !rt721->component->card->instantiated) in rt721_sdca_jack_detect_handler()
42 if (rt721->scp_sdca_stat1 & SDW_SCP_SDCA_INT_SDCA_0) { in rt721_sdca_jack_detect_handler()
43 rt721->jack_type = rt_sdca_headset_detect(rt721->regmap, in rt721_sdca_jack_detect_handler()
45 if (rt721->jack_type < 0) in rt721_sdca_jack_detect_handler()
[all …]
H A Drt5682s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // rt5682s.c -- RT5682I-VS ALSA SoC audio component driver
25 #include <sound/soc-dapm.h>
38 .dai_clk_names[RT5682S_DAI_WCLK_IDX] = "rt5682-dai-wclk",
39 .dai_clk_names[RT5682S_DAI_BCLK_IDX] = "rt5682-dai-bclk",
46 [RT5682S_SUPPLY_LDO1_IN] = "LDO1-IN",
65 struct device *dev) in rt5682s_apply_patch_list() argument
69 ret = regmap_multi_reg_write(rt5682s->regmap, patch_list, ARRAY_SIZE(patch_list)); in rt5682s_apply_patch_list()
71 dev_warn(dev, "Failed to apply regmap patch: %d\n", ret); in rt5682s_apply_patch_list()
440 static bool rt5682s_volatile_register(struct device *dev, unsigned int reg) in rt5682s_volatile_register() argument
[all …]
H A Des8311.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * es8311.c -- es8311 ALSA SoC audio driver
38 static const DECLARE_TLV_DB_SCALE(es8311_adc_vol_tlv, -9550, 50, 0);
68 0, 1, TLV_DB_SCALE_ITEM(-3010, 600, 0),
69 2, 3, TLV_DB_SCALE_ITEM(-2060, 250, 0),
70 4, 5, TLV_DB_SCALE_ITEM(-1610, 160, 0),
71 6, 7, TLV_DB_SCALE_ITEM(-1320, 120, 0),
72 8, 9, TLV_DB_SCALE_ITEM(-1100, 90, 0),
73 10, 11, TLV_DB_SCALE_ITEM(-930, 80, 0),
74 12, 15, TLV_DB_SCALE_ITEM(-780, 60, 0),
[all …]
/linux/sound/soc/sunxi/
H A Dsun8i-codec-analog.c1 // SPDX-License-Identifier: GPL-2.0-or-later
6 * Copyright 2016 Chen-Yu Tsai <wens@csie.org>
17 #include <sound/soc-dapm.h>
20 #include "sun8i-adda-pr-regmap.h"
155 /* ADC mixer controls */
179 /* ADC mixer controls */
197 -450, 150, 0);
204 /* Mixer pre-gain */
214 /* ADC */
215 SOC_SINGLE_TLV("ADC Gain Capture Volume", SUN8I_ADDA_ADC_AP_EN,
[all …]
H A Dsun8i-codec.c1 // SPDX-License-Identifier: GPL-2.0-or-later
6 * (C) Copyright 2010-2016
9 * Mylène Josserand <mylene.josserand@free-electrons.com>
27 #include <sound/soc-dapm.h>
246 static int sun8i_codec_runtime_resume(struct device *dev) in sun8i_codec_runtime_resume() argument
248 struct sun8i_codec *scodec = dev_get_drvdata(dev); in sun8i_codec_runtime_resume()
251 ret = clk_prepare_enable(scodec->clk_bus); in sun8i_codec_runtime_resume()
253 dev_err(dev, "Failed to enable the bus clock\n"); in sun8i_codec_runtime_resume()
257 regcache_cache_only(scodec->regmap, false); in sun8i_codec_runtime_resume()
259 ret = regcache_sync(scodec->regmap); in sun8i_codec_runtime_resume()
[all …]
/linux/drivers/input/joystick/
H A Da3d.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (c) 1998-2001 Vojtech Pavlik
7 * FP-Gaming Assassin 3D joystick driver for Linux
17 #define DRIVER_DESC "FP-Gaming Assassin 3D joystick driver"
32 static char *a3d_names[] = { NULL, "FP-Gaming Assassin 3D", "MadCatz Panther", "OEM Panther",
37 struct gameport *adc; member
38 struct input_dev *dev; member
68 t--; in a3d_read_packet()
89 for (i = 0; i < count - 2; i++) in a3d_csum()
91 return (csum & 0x3f) != ((data[count - 2] << 3) | data[count - 1]); in a3d_csum()
[all …]

12345678910>>...22