/linux/Documentation/devicetree/bindings/iio/adc/ |
H A D | ti,tsc2046.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Oleksij Rempel <o.rempel@pengutronix.de> 18 - ti,tsc2046e-adc 26 vref-supply: 29 "#io-channel-cells": 32 '#address-cells': 35 '#size-cells': 39 - compatible [all …]
|
H A D | adi,ad7606.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Michael Hennerich <michael.hennerich@analog.com> 14 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7605-4.pdf 15 https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf 16 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf 17 https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-16.pdf 18 https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-18.pdf 19 https://www.analog.com/media/en/technical-documentation/data-sheets/ad7607.pdf [all …]
|
/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6qdl-skov-cpu-revc.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 compatible = "resistive-adc-touch"; 8 io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>, <&adc_ts 5>; 9 io-channel-names = "y", "z1", "z2", "x"; 10 touchscreen-min-pressure = <65000>; 11 touchscreen-inverted-y; 12 touchscreen-swapped-x-y; 13 touchscreen-x-plate-ohms = <300>; 14 touchscreen-y-plate-ohms = <800>; 19 pinctrl-names = "default"; [all …]
|
H A D | imx6dl-plym2m.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/leds/common.h> 17 stdout-path = &uart4; 21 compatible = "pwm-backlight"; 23 brightness-levels = <0 1000>; 24 num-interpolated-steps = <20>; 25 default-brightness-level = <19>; 26 power-supply = <®_12v0>; [all …]
|
H A D | imx6dl-victgo.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 /dts-v1/; 9 #include "imx6qdl-vicut1.dtsi" 15 gpio-keys { 16 compatible = "gpio-keys"; 17 pinctrl-names = "default"; 18 pinctrl-0 = <&pinctrl_gpiokeys>; 21 key-power { 25 wakeup-source; 28 key-enter { [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8mp-skov-revb-lt6.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 3 /dts-v1/; 5 #include "imx8mp-skov-reva.dtsi" 8 model = "SKOV IMX8MP CPU revB - LT6"; 9 compatible = "skov,imx8mp-skov-revb-lt6", "fsl,imx8mp"; 11 lvds-decoder { 12 compatible = "ti,sn65lvds822", "lvds-decoder"; 13 power-supply = <®_3v3>; 16 #address-cells = <1>; 17 #size-cells = <0>; [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-iio-adc-mcp3564 | 3 Contact: linux-iio@vger.kernel.org 6 circuit of the Delta-Sigma modulator. The different BOOST 12 Contact: linux-iio@vger.kernel.org 15 the current biasing circuit of the Delta-Sigma modulator. 19 Contact: linux-iio@vger.kernel.org 22 auto-zeroing algorithm (the input multiplexer and the ADC 26 input as VIN+/VIN-, one with VIN+/VIN- inverted. In this case the 30 ultra-low offset without any digital calibration. The resulting 39 Contact: linux-iio@vger.kernel.org 47 higher Oversampling Ratio values (over 256). To overcome this [all …]
|
/linux/drivers/iio/adc/ |
H A D | ad7380.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * ad7380/1 : https://www.analog.com/media/en/technical-documentation/data-sheets/AD7380-7381.pdf 10 * ad7383/4 : https://www.analog.com/media/en/technical-documentation/data-sheets/ad7383-7384.pdf 11 …* ad7386/7/8 : https://www.analog.com/media/en/technical-documentation/data-sheets/AD7386-7387-738… 12 * ad7380-4 : https://www.analog.com/media/en/technical-documentation/data-sheets/ad7380-4.pdf 13 * ad7381-4 : https://www.analog.com/media/en/technical-documentation/data-sheets/ad7381-4.pdf 14 …* ad7383/4-4 : https://www.analog.com/media/en/technical-documentation/data-sheets/ad7383-4-ad7384… 15 …* ad7386/7/8-4 : https://www.analog.com/media/en/technical-documentation/data-sheets/ad7386-4-7387… 16 * ad7389-4 : https://www.analog.com/media/en/technical-documentation/data-sheets/ad7389-4.pdf 17 * adaq4370-4 : https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4370-4.pdf [all …]
|
H A D | adi-axi-adc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright 2012-2020 Analog Devices Inc. 23 #include <linux/fpga/adi-axi-common.h> 26 #include <linux/iio/buffer-dmaengine.h> 126 guard(mutex)(&st->lock); in axi_adc_enable() 127 ret = regmap_set_bits(st->regmap, ADI_AXI_REG_RSTN, in axi_adc_enable() 137 ret = regmap_read_poll_timeout(st->regmap, ADI_AXI_ADC_REG_DRP_STATUS, in axi_adc_enable() 143 return regmap_set_bits(st->regmap, ADI_AXI_REG_RSTN, in axi_adc_enable() 151 guard(mutex)(&st->lock); in axi_adc_disable() 152 regmap_write(st->regmap, ADI_AXI_REG_RSTN, 0); in axi_adc_disable() [all …]
|
H A D | ad4695.c | 1 // SPDX-License-Identifier: GPL-2.0-only 22 #include <linux/iio/buffer-dmaengine.h> 38 #include <dt-bindings/iio/adc/adi,ad4695.h> 208 .name = "ad4695-8", 237 .name = "ad4695-16", 254 .tx_buf = st->regmap_bus_data, in ad4695_regmap_bus_reg_write() 257 if (count > ARRAY_SIZE(st->regmap_bus_data)) in ad4695_regmap_bus_reg_write() 258 return -EINVAL; in ad4695_regmap_bus_reg_write() 260 memcpy(st->regmap_bus_data, data, count); in ad4695_regmap_bus_reg_write() 262 return spi_sync_transfer(st->spi, &xfer, 1); in ad4695_regmap_bus_reg_write() [all …]
|
H A D | stm32-dfsdm-adc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 10 #include <linux/dma-mapping.h> 11 #include <linux/iio/adc/stm32-dfsdm-adc.h> 14 #include <linux/iio/hw-consumer.h> 16 #include <linux/iio/timer/stm32-lptim-trigger.h> 17 #include <linux/iio/timer/stm32-timer-trigger.h> 29 #include "stm32-dfsdm.h" 37 /* Oversampling attribute default */ 40 /* Oversampling max values */ [all …]
|
H A D | at91-sama5d2_adc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <linux/dma-mapping.h> 32 #include <linux/nvmem-consumer.h> 37 #include <dt-bindings/iio/adc/at91-sama5d2_adc.h> 111 /* Interrupt Enable Register - TS X measurement ready */ 113 /* Interrupt Enable Register - TS Y measurement ready */ 115 /* Interrupt Enable Register - TS pressure measurement ready */ 117 /* Interrupt Enable Register - Data ready */ 119 /* Interrupt Enable Register - general overrun error */ 121 /* Interrupt Enable Register - Pen detect */ [all …]
|
H A D | stm32-adc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016, STMicroelectronics - All Rights Reserved 13 #include <linux/dma-mapping.h> 17 #include <linux/iio/timer/stm32-lptim-trigger.h> 18 #include <linux/iio/timer/stm32-timer-trigger.h> 27 #include <linux/nvmem-consumer.h> 32 #include "stm32-adc-core.h" 59 /* extsel - trigger mux selection value */ 85 STM32_ADC_INT_CH_NONE = -1, 95 * struct stm32_adc_ic - ADC internal channels [all …]
|
H A D | ti-tsc2046.c | 1 // SPDX-License-Identifier: GPL-2.0 29 * - rate limiting: 31 * - hrtimer: 61 * conversion has 12-bit resolution, whereas with this bit high, the next 62 * conversion has 8-bit resolution. This driver is optimized for 12-bit mode. 68 * SER/DFR - The SER/DFR bit controls the reference mode, either single-ended 75 * auto-wake/suspend mode. In most case this bits should stay zero. 231 bit_count = DIV_ROUND_UP(time * NSEC_PER_USEC, priv->time_per_bit_ns); in tsc2046_adc_time_to_count() 234 …dev_dbg(&priv->spi->dev, "Effective speed %u, time per bit: %u, count bits: %u, count samples: %u\… in tsc2046_adc_time_to_count() 235 priv->effective_speed_hz, priv->time_per_bit_ns, in tsc2046_adc_time_to_count() [all …]
|
H A D | ad7606.c | 1 // SPDX-License-Identifier: GPL-2.0 115 .name = "ad7605-4", 124 .name = "ad7606-8", 135 .name = "ad7606-6", 147 .name = "ad7606-4", 249 if (st->gpio_reset) { in ad7606_reset() 250 gpiod_set_value(st->gpio_reset, 1); in ad7606_reset() 252 gpiod_set_value(st->gpio_reset, 0); in ad7606_reset() 256 return -ENODEV; in ad7606_reset() 264 struct ad7606_chan_scale *cs = &st->chan_scales[chan->scan_index]; in ad7606_16bit_chan_scale_setup() [all …]
|
/linux/include/linux/iio/ |
H A D | backend.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 31 * IIO_BACKEND_EX_INFO - Helper for an IIO extended channel attribute 45 * struct iio_backend_data_fmt - Backend data format 80 * struct iio_backend_ops - operations structure for an iio_backend 100 * @oversampling_ratio_set: Set Oversampling ratio. 147 unsigned int ratio); 164 * struct iio_backend_info - info structure for an iio_backend 212 unsigned int ratio);
|
/linux/drivers/iio/ |
H A D | industrialio-backend.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * ------------------------------------------------------- 12 * ------------------ | ------------ ------------ ------- FPGA| 13 * | ADC |------------------------| | ADC CORE |---------| DMA CORE |------| RAM | | 14 * | (Frontend/IIO) | Serial Data (eg: LVDS) | |(backend) |---------| |------| | | 15 * | |------------------------| ------------ ------------ ------- | 16 * ------------------ ------------------------------------------------------- 19 * - Backends should register themselves with devm_iio_backend_register() 20 * - Frontend devices should get backends with devm_iio_backend_get() 27 * the industrialio-backend.c is only left with the really generic stuff. Then, [all …]
|
/linux/drivers/iio/humidity/ |
H A D | hts221_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 132 err = regmap_read(hw->regmap, HTS221_REG_WHOAMI_ADDR, &data); in hts221_check_whoami() 134 dev_err(hw->dev, "failed to read whoami register\n"); in hts221_check_whoami() 139 dev_err(hw->dev, "wrong whoami {%02x vs %02x}\n", in hts221_check_whoami() 141 return -ENODEV; in hts221_check_whoami() 156 return -EINVAL; in hts221_update_odr() 158 err = regmap_update_bits(hw->regmap, HTS221_REG_CNTRL1_ADDR, in hts221_update_odr() 165 hw->odr = odr; in hts221_update_odr() 178 if (avg->avg_avl[i] == val) in hts221_update_avg() 182 return -EINVAL; in hts221_update_avg() [all …]
|
/linux/sound/soc/codecs/ |
H A D | nau8325.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // nau8325.c -- Nuvoton NAU8325 audio codec driver 30 #define CLK_PROC_BYPASS (-1) 192 static const DECLARE_TLV_DB_MINMAX_MUTE(dac_vol_tlv, -8000, 600); 195 SOC_ENUM("DAC Oversampling Rate", nau8325_dac_oversampl_enum), 219 snd_soc_dapm_to_component(w->dapm); in nau8325_dac_event() 224 regmap_update_bits(nau8325->regmap, NAU8325_R12_MUTE_CTRL, in nau8325_dac_event() 230 regmap_update_bits(nau8325->regmap, NAU8325_R12_MUTE_CTRL, in nau8325_dac_event() 235 return -EINVAL; in nau8325_dac_event() 245 snd_soc_dapm_to_component(w->dapm); in nau8325_powerup_event() [all …]
|
H A D | es8311.c | 1 // 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/pci/ice1712/ |
H A D | maya44.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 50 /* clock ratio identifiers for snd_wm8776_set_rate() */ 83 snd_vt1724_write_i2c(ice, wm->addr, in wm8776_write() 86 wm->regs[reg] = val; in wm8776_write() 96 val |= wm->regs[reg] & ~mask; in wm8776_write_bits() 97 if (val != wm->regs[reg]) { in wm8776_write_bits() 113 unsigned short offset; /* zero-value offset */ 126 .update = 0x180, /* update and zero-cross enable */ 134 .update = 0x100, /* zero-cross enable */ 150 /* headphone output: mute, -73..+6db (1db step) */ [all …]
|
H A D | aureon.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 11 * - we reuse the struct snd_akm4xxx record for storing the wm8770 codec data. 16 * - DAC digital volumes are not implemented in the mixer. 24 * added 64x/128x oversampling switch (should be 64x only for 96khz) 58 #define WM_DAC_ATTEN 0x00 /* DAC1-8 analog attenuation */ 60 #define WM_DAC_DIG_ATTEN 0x09 /* DAC1-8 digital attenuation */ 65 #define WM_DAC_CTRL2 0x15 /* de-emphasis and zefo-flag */ 68 #define WM_POWERDOWN 0x18 /* power-down controls */ 150 for (i = 7; i >= 0; i--) { in aureon_pca9554_write() 192 {"Internal Aux", "Wavetable", "Rear Line-In"}; in aureon_universe_inmux_info() [all …]
|
/linux/sound/soc/meson/ |
H A D | aiu-encoder-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <sound/soc-dai.h> 58 return -EINVAL; in aiu_encoder_i2s_setup_desc() 68 return -EINVAL; in aiu_encoder_i2s_setup_desc() 94 dev_err(component->dev, "Unsupported i2s divider: %u\n", bs); in aiu_encoder_i2s_set_legacy_div() 95 return -EINVAL; in aiu_encoder_i2s_set_legacy_div() 118 * However, in 16 bits - 8ch mode, this factor needs to be in aiu_encoder_i2s_set_more_div() 124 dev_err(component->dev, in aiu_encoder_i2s_set_more_div() 126 return -EINVAL; in aiu_encoder_i2s_set_more_div() 139 bs - 1)); in aiu_encoder_i2s_set_more_div() [all …]
|
/linux/drivers/tty/serial/ |
H A D | atmel_serial.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 27 #define ATMEL_US_STTTO BIT(11) /* Start Time-out */ 31 #define ATMEL_US_RETTO BIT(15) /* Rearm Time-out */ 81 #define ATMEL_US_MODE9 BIT(17) /* 9-bit Character Length */ 83 #define ATMEL_US_OVER BIT(19) /* Oversampling Mode */ 99 #define ATMEL_US_TIMEOUT BIT(8) /* Receiver Time-out */ 126 #define ATMEL_US_RTOR 0x24 /* Receiver Time-out Register for USART */ 127 #define ATMEL_UA_RTOR 0x28 /* Receiver Time-out Register for UART */ 128 #define ATMEL_US_TO GENMASK(15, 0) /* Time-out Value */ 133 #define ATMEL_US_FIDI 0x40 /* FI DI Ratio Register */
|
/linux/drivers/iio/accel/ |
H A D | bma400_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * - Support for power management 9 * - Support events and interrupts 10 * - Create channel for step count 11 * - Create channel for sensor time 38 * The G-range selection may be one of 2g, 4g, 8, or 16g. The scale may 205 return &data->orientation; in bma400_accel_get_mount_matrix() 267 return -EINVAL; in usec_to_tapreg_raw() 278 ret = regmap_read(data->regmap, BMA400_TAP_CONFIG1, ®_val); in in_accel_gesture_tap_maxtomin_time_show() 303 return -EINVAL; in in_accel_gesture_tap_maxtomin_time_store() [all …]
|