/linux/drivers/iio/adc/ |
H A D | ti-adc12138.c | 128 static int adc12138_mode_programming(struct adc12138 *adc, u8 mode, in adc12138_mode_programming() argument 132 .tx_buf = adc->tx_buf, in adc12138_mode_programming() 133 .rx_buf = adc->rx_buf, in adc12138_mode_programming() 139 if (adc->id != adc12138) in adc12138_mode_programming() 142 adc->tx_buf[0] = mode; in adc12138_mode_programming() 144 ret = spi_sync_transfer(adc->spi, &xfer, 1); in adc12138_mode_programming() 148 memcpy(rx_buf, adc->rx_buf, len); in adc12138_mode_programming() 153 static int adc12138_read_status(struct adc12138 *adc) in adc12138_read_status() argument 158 ret = adc12138_mode_programming(adc, ADC12138_MODE_READ_STATUS, in adc12138_read_status() 166 static int __adc12138_start_conv(struct adc12138 *adc, in __adc12138_start_conv() argument [all …]
|
H A D | stm32-dfsdm-adc.c | 318 struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); in stm32_dfsdm_compute_all_osrs() local 319 struct stm32_dfsdm_filter *fl = &adc->dfsdm->fl_list[adc->fl_id]; in stm32_dfsdm_compute_all_osrs() 339 struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); in stm32_dfsdm_start_channel() local 340 struct regmap *regmap = adc->dfsdm->regmap; in stm32_dfsdm_start_channel() 345 for_each_set_bit(bit, &adc->smask, sizeof(adc->smask) * BITS_PER_BYTE) { in stm32_dfsdm_start_channel() 359 struct stm32_dfsdm_adc *adc = iio_priv(indio_dev); in stm32_dfsdm_stop_channel() local 360 struct regmap *regmap = adc->dfsdm->regmap; in stm32_dfsdm_stop_channel() 364 for_each_set_bit(bit, &adc->smask, sizeof(adc->smask) * BITS_PER_BYTE) { in stm32_dfsdm_stop_channel() 394 static int stm32_dfsdm_start_filter(struct stm32_dfsdm_adc *adc, in stm32_dfsdm_start_filter() argument 398 struct stm32_dfsdm *dfsdm = adc->dfsdm; in stm32_dfsdm_start_filter() [all …]
|
H A D | mcp3911.c | 106 int (*config)(struct mcp3911 *adc, bool external_vref); 107 int (*get_osr)(struct mcp3911 *adc, u32 *val); 108 int (*set_osr)(struct mcp3911 *adc, u32 val); 109 int (*enable_offset)(struct mcp3911 *adc, bool enable); 110 int (*get_offset)(struct mcp3911 *adc, int channel, int *val); 111 int (*set_offset)(struct mcp3911 *adc, int channel, int val); 112 int (*set_scale)(struct mcp3911 *adc, int channel, u32 val); 132 static int mcp3911_read(struct mcp3911 *adc, u8 reg, u32 *val, u8 len) in mcp3911_read() argument 136 reg = MCP3911_REG_READ(reg, adc->dev_addr); in mcp3911_read() 137 ret = spi_write_then_read(adc in mcp3911_read() 148 mcp3911_write(struct mcp3911 * adc,u8 reg,u32 val,u8 len) mcp3911_write() argument 159 mcp3911_update(struct mcp3911 * adc,u8 reg,u32 mask,u32 val,u8 len) mcp3911_update() argument 173 mcp3910_enable_offset(struct mcp3911 * adc,bool enable) mcp3910_enable_offset() argument 181 mcp3910_get_offset(struct mcp3911 * adc,int channel,int * val) mcp3910_get_offset() argument 186 mcp3910_set_offset(struct mcp3911 * adc,int channel,int val) mcp3910_set_offset() argument 197 mcp3911_enable_offset(struct mcp3911 * adc,bool enable) mcp3911_enable_offset() argument 205 mcp3911_get_offset(struct mcp3911 * adc,int channel,int * val) mcp3911_get_offset() argument 210 mcp3911_set_offset(struct mcp3911 * adc,int channel,int val) mcp3911_set_offset() argument 221 mcp3910_get_osr(struct mcp3911 * adc,u32 * val) mcp3910_get_osr() argument 235 mcp3910_set_osr(struct mcp3911 * adc,u32 val) mcp3910_set_osr() argument 243 mcp3911_set_osr(struct mcp3911 * adc,u32 val) mcp3911_set_osr() argument 251 mcp3911_get_osr(struct mcp3911 * adc,u32 * val) mcp3911_get_osr() argument 265 mcp3910_set_scale(struct mcp3911 * adc,int channel,u32 val) mcp3910_set_scale() argument 272 mcp3911_set_scale(struct mcp3911 * adc,int channel,u32 val) mcp3911_set_scale() argument 318 struct mcp3911 *adc = iio_priv(indio_dev); mcp3911_read_raw() local 356 struct mcp3911 *adc = iio_priv(indio_dev); mcp3911_write_raw() local 490 struct mcp3911 *adc = iio_priv(indio_dev); mcp3911_trigger_handler() local 534 mcp3911_config(struct mcp3911 * adc,bool external_vref) mcp3911_config() argument 600 mcp3910_config(struct mcp3911 * adc,bool external_vref) mcp3910_config() argument 669 struct mcp3911 *adc = iio_trigger_get_drvdata(trig); mcp3911_set_trigger_state() local 688 struct mcp3911 *adc; mcp3911_probe() local [all...] |
H A D | ingenic-adc.c | 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() 134 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 142 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 148 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 155 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() 160 adc->base + JZ_ADC_REG_ADCMD); in ingenic_adc_set_adcmd() [all …]
|
H A D | mcp320x.c | 120 static int mcp320x_adc_conversion(struct mcp320x *adc, u8 channel, in mcp320x_adc_conversion() argument 125 if (adc->chip_info->conv_time) { in mcp320x_adc_conversion() 126 ret = spi_sync(adc->spi, &adc->start_conv_msg); in mcp320x_adc_conversion() 130 usleep_range(adc->chip_info->conv_time, in mcp320x_adc_conversion() 131 adc->chip_info->conv_time + 100); in mcp320x_adc_conversion() 134 memset(&adc->rx_buf, 0, sizeof(adc->rx_buf)); in mcp320x_adc_conversion() 135 if (adc->chip_info->num_channels > 1) in mcp320x_adc_conversion() 136 adc->tx_buf = mcp320x_channel_to_tx_data(device_index, channel, in mcp320x_adc_conversion() 139 ret = spi_sync(adc->spi, &adc->msg); in mcp320x_adc_conversion() 145 *val = (adc->rx_buf[0] << 5 | adc->rx_buf[1] >> 3); in mcp320x_adc_conversion() [all …]
|
H A D | mcp3564.c | 400 static int mcp3564_read_8bits(struct mcp3564_state *adc, u8 reg, u8 *val) in mcp3564_read_8bits() argument 406 tx_buf = mcp3564_cmd_read(adc->dev_addr, reg); in mcp3564_read_8bits() 408 ret = spi_write_then_read(adc->spi, &tx_buf, sizeof(tx_buf), in mcp3564_read_8bits() 415 static int mcp3564_read_16bits(struct mcp3564_state *adc, u8 reg, u16 *val) in mcp3564_read_16bits() argument 421 tx_buf = mcp3564_cmd_read(adc->dev_addr, reg); in mcp3564_read_16bits() 423 ret = spi_write_then_read(adc->spi, &tx_buf, sizeof(tx_buf), in mcp3564_read_16bits() 430 static int mcp3564_read_32bits(struct mcp3564_state *adc, u8 reg, u32 *val) in mcp3564_read_32bits() argument 436 tx_buf = mcp3564_cmd_read(adc->dev_addr, reg); in mcp3564_read_32bits() 438 ret = spi_write_then_read(adc->spi, &tx_buf, sizeof(tx_buf), in mcp3564_read_32bits() 445 static int mcp3564_write_8bits(struct mcp3564_state *adc, u8 reg, u8 val) in mcp3564_write_8bits() argument [all …]
|
H A D | ti-adc0832.c | 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() 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 138 struct spi_device *spi = adc->spi; in adc0832_adc_conversion() 140 .tx_buf = adc->tx_buf, in adc0832_adc_conversion() 141 .rx_buf = adc->rx_buf, in adc0832_adc_conversion() 146 if (!adc->mux_bits) in adc0832_adc_conversion() 147 return adc0831_adc_conversion(adc); in adc0832_adc_conversion() [all …]
|
H A D | ti-adc084s021.c | 70 * @adc: The ADC SPI data. 73 static int adc084s021_adc_conversion(struct adc084s021 *adc, __be16 *data) in adc084s021_adc_conversion() argument 75 int n_words = (adc->spi_trans.len >> 1) - 1; /* Discard first word */ in adc084s021_adc_conversion() 79 ret = spi_sync(adc->spi, &adc->message); in adc084s021_adc_conversion() 84 *(data + i) = adc->rx_buf[i + 1]; in adc084s021_adc_conversion() 93 struct adc084s021 *adc = iio_priv(indio_dev); in adc084s021_read_raw() local 103 ret = regulator_enable(adc->reg); in adc084s021_read_raw() 109 adc->tx_buf[0] = channel->channel << 3; in adc084s021_read_raw() 110 ret = adc084s021_adc_conversion(adc, in adc084s021_read_raw() 148 struct adc084s021 *adc = iio_priv(indio_dev); adc084s021_buffer_trigger_handler() local 165 struct adc084s021 *adc = iio_priv(indio_dev); adc084s021_buffer_preenable() local 181 struct adc084s021 *adc = iio_priv(indio_dev); adc084s021_buffer_postdisable() local 200 struct adc084s021 *adc; adc084s021_probe() local [all...] |
H A D | lpc18xx_adc.c | 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() 75 writel(reg, adc->base + LPC18XX_ADC_CR); in lpc18xx_adc_read_chan() 77 ret = readl_poll_timeout(adc->base + LPC18XX_ADC_GDR, reg, in lpc18xx_adc_read_chan() 80 dev_warn(adc->dev, "adc read timed out\n"); in lpc18xx_adc_read_chan() 91 struct lpc18xx_adc *adc = iio_priv(indio_dev); in lpc18xx_adc_read_raw() local 95 mutex_lock(&adc->lock); in lpc18xx_adc_read_raw() 96 *val = lpc18xx_adc_read_chan(adc, chan->channel); in lpc18xx_adc_read_raw() 97 mutex_unlock(&adc->lock); in lpc18xx_adc_read_raw() 104 *val = regulator_get_voltage(adc->vref) / 1000; in lpc18xx_adc_read_raw() [all …]
|
H A D | max1241.c | 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() 79 ret = max1241_read(adc); in max1241_read_raw() 80 gpiod_set_value(adc->shutdown, 1); in max1241_read_raw() 82 ret = max1241_read(adc); in max1241_read_raw() [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 | 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 137 mutex_lock(&adc->lock); in mcp3422_read_channel() 139 if (req_channel != MCP3422_CHANNEL(adc->config)) { in mcp3422_read_channel() [all …]
|
H A D | max1118.c | 71 struct max1118 *adc = iio_priv(indio_dev); in max1118_read() local 98 .rx_buf = &adc->data, in max1118_read() 105 ret = spi_sync_transfer(adc->spi, xfers + 1, 2); in max1118_read() 107 ret = spi_sync_transfer(adc->spi, xfers, 3); in max1118_read() 112 return adc->data; in max1118_read() 117 struct max1118 *adc = iio_priv(indio_dev); in max1118_get_vref_mV() local 118 const struct spi_device_id *id = spi_get_device_id(adc->spi); in max1118_get_vref_mV() 127 vref_uV = regulator_get_voltage(adc->reg); in max1118_get_vref_mV() 140 struct max1118 *adc = iio_priv(indio_dev); in max1118_read_raw() local 144 mutex_lock(&adc in max1118_read_raw() 171 struct max1118 *adc = iio_priv(indio_dev); max1118_trigger_handler() local 209 struct max1118 *adc; max1118_probe() local [all...] |
H A D | ti-adc128s052.c | 34 static int adc128_adc_conversion(struct adc128 *adc, u8 channel) in adc128_adc_conversion() argument 38 mutex_lock(&adc->lock); in adc128_adc_conversion() 40 adc->buffer[0] = channel << 3; in adc128_adc_conversion() 41 adc->buffer[1] = 0; in adc128_adc_conversion() 43 ret = spi_write(adc->spi, &adc->buffer, 2); in adc128_adc_conversion() 45 mutex_unlock(&adc->lock); in adc128_adc_conversion() 49 ret = spi_read(adc->spi, &adc->buffer, 2); in adc128_adc_conversion() 51 mutex_unlock(&adc->lock); in adc128_adc_conversion() 56 return ((adc->buffer[0] << 8 | adc->buffer[1]) & 0xFFF); in adc128_adc_conversion() 63 struct adc128 *adc = iio_priv(indio_dev); in adc128_read_raw() local [all …]
|
H A D | ti-adc081c.c | 50 struct adc081c *adc = iio_priv(iio); in adc081c_read_raw() local 55 err = i2c_smbus_read_word_swapped(adc->i2c, REG_CONV_RES); in adc081c_read_raw() 59 *value = (err & 0xFFF) >> (12 - adc->bits); in adc081c_read_raw() 63 err = regulator_get_voltage(adc->ref); in adc081c_read_raw() 68 *shift = adc->bits; in adc081c_read_raw() 158 struct adc081c *adc; in adc081c_probe() local 167 iio = devm_iio_device_alloc(&client->dev, sizeof(*adc)); in adc081c_probe() 171 adc = iio_priv(iio); in adc081c_probe() 172 adc->i2c = client; in adc081c_probe() 173 adc in adc081c_probe() [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/mfd/ |
H A D | pcf50633-adc.c | 69 struct pcf50633_adc *adc = __to_adc(pcf); in trigger_next_adc_job_if_any() local 72 head = adc->queue_head; in trigger_next_adc_job_if_any() 74 if (!adc->queue[head]) in trigger_next_adc_job_if_any() 77 adc_setup(pcf, adc->queue[head]->mux, adc->queue[head]->avg); in trigger_next_adc_job_if_any() 83 struct pcf50633_adc *adc = __to_adc(pcf); in adc_enqueue_request() local 86 mutex_lock(&adc->queue_mutex); in adc_enqueue_request() 88 head = adc->queue_head; in adc_enqueue_request() 89 tail = adc->queue_tail; in adc_enqueue_request() 91 if (adc->queue[tail]) { in adc_enqueue_request() 92 mutex_unlock(&adc->queue_mutex); in adc_enqueue_request() [all …]
|
/linux/drivers/hwmon/ |
H A D | adcxx.c | 52 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_show() local 58 if (mutex_lock_interruptible(&adc->lock)) in adcxx_show() 61 if (adc->channels == 1) { in adcxx_show() 77 value = value * adc->reference >> 12; in adcxx_show() 80 mutex_unlock(&adc->lock); in adcxx_show() 95 struct adcxx *adc = spi_get_drvdata(spi); in adcxx_max_show() local 98 if (mutex_lock_interruptible(&adc->lock)) in adcxx_max_show() 101 reference = adc->reference; in adcxx_max_show() 103 mutex_unlock(&adc->lock); in adcxx_max_show() 113 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>;
|
H A D | aspeed-bmc-amd-daytonax.dts | 53 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>, 54 <&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>, 55 <&adc 10>, <&adc 11>, <&adc 12>, <&adc 13>, <&adc 14>, 56 <&adc 15>; 101 &adc {
|
H A D | aspeed-bmc-opp-lanyang.dts | 79 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 80 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>, 81 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 82 <&adc 13>, <&adc 14>, <&adc 15>; 87 io-channels = <&adc 12>; 321 &adc {
|
H A D | aspeed-bmc-asrock-spc621d8hm3.dts | 51 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 52 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>, 53 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 54 <&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>; 309 &adc {
|
/linux/arch/arm/boot/dts/qcom/ |
H A D | pm8921.dtsi | 63 compatible = "qcom,pm8921-adc"; 70 vcoin: adc-channel@0 { 74 vbat: adc-channel@1 { 78 dcin: adc-channel@2 { 82 vph_pwr: adc-channel@4 { 86 batt_therm: adc-channel@8 { 90 batt_id: adc-channel@9 { 94 usb_vbus: adc-channel@a { 98 die_temp: adc-channel@b { 102 ref_625mv: adc-channel@c { [all …]
|
H A D | pm8058.dtsi | 82 compatible = "qcom,pm8058-adc"; 89 vcoin: adc-channel@0 { 93 vbat: adc-channel@1 { 97 dcin: adc-channel@2 { 101 ichg: adc-channel@3 { 105 vph_pwr: adc-channel@4 { 109 usb_vbus: adc-channel@a { 113 die_temp: adc-channel@b { 117 ref_625mv: adc-channel@c { 121 ref_1250mv: adc-channel@d { [all …]
|