?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/adc.zip
???????
PK �!(\6V# # Makefilenu �[��� # SPDX-License-Identifier: GPL-2.0 # # Makefile for IIO ADC drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AB8500_GPADC) += ab8500-gpadc.o obj-$(CONFIG_AD_SIGMA_DELTA) += ad_sigma_delta.o obj-$(CONFIG_AD7091R5) += ad7091r5.o ad7091r-base.o obj-$(CONFIG_AD7124) += ad7124.o obj-$(CONFIG_AD7192) += ad7192.o obj-$(CONFIG_AD7266) += ad7266.o obj-$(CONFIG_AD7291) += ad7291.o obj-$(CONFIG_AD7292) += ad7292.o obj-$(CONFIG_AD7298) += ad7298.o obj-$(CONFIG_AD7923) += ad7923.o obj-$(CONFIG_AD7476) += ad7476.o obj-$(CONFIG_AD7606_IFACE_PARALLEL) += ad7606_par.o obj-$(CONFIG_AD7606_IFACE_SPI) += ad7606_spi.o obj-$(CONFIG_AD7606) += ad7606.o obj-$(CONFIG_AD7766) += ad7766.o obj-$(CONFIG_AD7768_1) += ad7768-1.o obj-$(CONFIG_AD7780) += ad7780.o obj-$(CONFIG_AD7791) += ad7791.o obj-$(CONFIG_AD7793) += ad7793.o obj-$(CONFIG_AD7887) += ad7887.o obj-$(CONFIG_AD7949) += ad7949.o obj-$(CONFIG_AD799X) += ad799x.o obj-$(CONFIG_AD9467) += ad9467.o obj-$(CONFIG_ADI_AXI_ADC) += adi-axi-adc.o obj-$(CONFIG_ASPEED_ADC) += aspeed_adc.o obj-$(CONFIG_AT91_ADC) += at91_adc.o obj-$(CONFIG_AT91_SAMA5D2_ADC) += at91-sama5d2_adc.o obj-$(CONFIG_AXP20X_ADC) += axp20x_adc.o obj-$(CONFIG_AXP288_ADC) += axp288_adc.o obj-$(CONFIG_BCM_IPROC_ADC) += bcm_iproc_adc.o obj-$(CONFIG_BERLIN2_ADC) += berlin2-adc.o obj-$(CONFIG_CC10001_ADC) += cc10001_adc.o obj-$(CONFIG_CPCAP_ADC) += cpcap-adc.o obj-$(CONFIG_DA9150_GPADC) += da9150-gpadc.o obj-$(CONFIG_DLN2_ADC) += dln2-adc.o obj-$(CONFIG_ENVELOPE_DETECTOR) += envelope-detector.o obj-$(CONFIG_EP93XX_ADC) += ep93xx_adc.o obj-$(CONFIG_EXYNOS_ADC) += exynos_adc.o obj-$(CONFIG_FSL_MX25_ADC) += fsl-imx25-gcq.o obj-$(CONFIG_HI8435) += hi8435.o obj-$(CONFIG_HX711) += hx711.o obj-$(CONFIG_IMX7D_ADC) += imx7d_adc.o obj-$(CONFIG_IMX8QXP_ADC) += imx8qxp-adc.o obj-$(CONFIG_IMX93_ADC) += imx93_adc.o obj-$(CONFIG_INA2XX_ADC) += ina2xx-adc.o obj-$(CONFIG_INGENIC_ADC) += ingenic-adc.o obj-$(CONFIG_INTEL_MRFLD_ADC) += intel_mrfld_adc.o obj-$(CONFIG_LP8788_ADC) += lp8788_adc.o obj-$(CONFIG_LPC18XX_ADC) += lpc18xx_adc.o obj-$(CONFIG_LPC32XX_ADC) += lpc32xx_adc.o obj-$(CONFIG_LTC2471) += ltc2471.o obj-$(CONFIG_LTC2485) += ltc2485.o obj-$(CONFIG_LTC2496) += ltc2496.o ltc2497-core.o obj-$(CONFIG_LTC2497) += ltc2497.o ltc2497-core.o obj-$(CONFIG_MAX1027) += max1027.o obj-$(CONFIG_MAX11100) += max11100.o obj-$(CONFIG_MAX1118) += max1118.o obj-$(CONFIG_MAX1241) += max1241.o obj-$(CONFIG_MAX1363) += max1363.o obj-$(CONFIG_MAX9611) += max9611.o obj-$(CONFIG_MCP320X) += mcp320x.o obj-$(CONFIG_MCP3422) += mcp3422.o obj-$(CONFIG_MCP3911) += mcp3911.o obj-$(CONFIG_MEDIATEK_MT6360_ADC) += mt6360-adc.o obj-$(CONFIG_MEDIATEK_MT6577_AUXADC) += mt6577_auxadc.o obj-$(CONFIG_MEN_Z188_ADC) += men_z188_adc.o obj-$(CONFIG_MESON_SARADC) += meson_saradc.o obj-$(CONFIG_MP2629_ADC) += mp2629_adc.o obj-$(CONFIG_MXS_LRADC_ADC) += mxs-lradc-adc.o obj-$(CONFIG_NAU7802) += nau7802.o obj-$(CONFIG_NPCM_ADC) += npcm_adc.o obj-$(CONFIG_PALMAS_GPADC) += palmas_gpadc.o obj-$(CONFIG_QCOM_SPMI_ADC5) += qcom-spmi-adc5.o obj-$(CONFIG_QCOM_SPMI_IADC) += qcom-spmi-iadc.o obj-$(CONFIG_QCOM_VADC_COMMON) += qcom-vadc-common.o obj-$(CONFIG_QCOM_SPMI_VADC) += qcom-spmi-vadc.o obj-$(CONFIG_QCOM_PM8XXX_XOADC) += qcom-pm8xxx-xoadc.o obj-$(CONFIG_RCAR_GYRO_ADC) += rcar-gyroadc.o obj-$(CONFIG_RN5T618_ADC) += rn5t618-adc.o obj-$(CONFIG_ROCKCHIP_SARADC) += rockchip_saradc.o obj-$(CONFIG_RZG2L_ADC) += rzg2l_adc.o obj-$(CONFIG_SC27XX_ADC) += sc27xx_adc.o obj-$(CONFIG_SPEAR_ADC) += spear_adc.o obj-$(CONFIG_STX104) += stx104.o obj-$(CONFIG_SUN4I_GPADC) += sun4i-gpadc-iio.o obj-$(CONFIG_STM32_ADC_CORE) += stm32-adc-core.o obj-$(CONFIG_STM32_ADC) += stm32-adc.o obj-$(CONFIG_STM32_DFSDM_CORE) += stm32-dfsdm-core.o obj-$(CONFIG_STM32_DFSDM_ADC) += stm32-dfsdm-adc.o obj-$(CONFIG_STMPE_ADC) += stmpe-adc.o obj-$(CONFIG_TI_ADC081C) += ti-adc081c.o obj-$(CONFIG_TI_ADC0832) += ti-adc0832.o obj-$(CONFIG_TI_ADC084S021) += ti-adc084s021.o obj-$(CONFIG_TI_ADC12138) += ti-adc12138.o obj-$(CONFIG_TI_ADC108S102) += ti-adc108s102.o obj-$(CONFIG_TI_ADC128S052) += ti-adc128s052.o obj-$(CONFIG_TI_ADC161S626) += ti-adc161s626.o obj-$(CONFIG_TI_ADS1015) += ti-ads1015.o obj-$(CONFIG_TI_ADS7950) += ti-ads7950.o obj-$(CONFIG_TI_ADS8344) += ti-ads8344.o obj-$(CONFIG_TI_ADS8688) += ti-ads8688.o obj-$(CONFIG_TI_ADS124S08) += ti-ads124s08.o obj-$(CONFIG_TI_ADS131E08) += ti-ads131e08.o obj-$(CONFIG_TI_AM335X_ADC) += ti_am335x_adc.o obj-$(CONFIG_TI_TLC4541) += ti-tlc4541.o obj-$(CONFIG_TI_TSC2046) += ti-tsc2046.o obj-$(CONFIG_TWL4030_MADC) += twl4030-madc.o obj-$(CONFIG_TWL6030_GPADC) += twl6030-gpadc.o obj-$(CONFIG_VF610_ADC) += vf610_adc.o obj-$(CONFIG_VIPERBOARD_ADC) += viperboard_adc.o xilinx-xadc-y := xilinx-xadc-core.o xilinx-xadc-events.o obj-$(CONFIG_XILINX_XADC) += xilinx-xadc.o obj-$(CONFIG_XILINX_AMS) += xilinx-ams.o obj-$(CONFIG_SD_ADC_MODULATOR) += sd_adc_modulator.o PK �!(\�_�� � Kconfignu �[��� # SPDX-License-Identifier: GPL-2.0-only # # ADC drivers # # When adding new entries keep the list in alphabetical order menu "Analog to digital converters" config AB8500_GPADC bool "ST-Ericsson AB8500 GPADC driver" depends on AB8500_CORE && REGULATOR_AB8500 default y help AB8500 Analog Baseband, mixed signal integrated circuit GPADC (General Purpose Analog to Digital Converter) driver used to monitor internal voltages, convert accessory and battery, AC (charger, mains) and USB voltages integral to the U8500 platform. config AD_SIGMA_DELTA tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config AD7091R5 tristate "Analog Devices AD7091R5 ADC Driver" depends on I2C select REGMAP_I2C help Say yes here to build support for Analog Devices AD7091R-5 ADC. config AD7124 tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver" depends on SPI_MASTER select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7124-4 and AD7124-8 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7124. config AD7192 tristate "Analog Devices AD7190 AD7192 AD7193 AD7195 ADC driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7190, AD7192, AD7193 or AD7195 SPI analog to digital converters (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7192. config AD7266 tristate "Analog Devices AD7265/AD7266 ADC driver" depends on SPI_MASTER select IIO_BUFFER select IIO_TRIGGER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7265 and AD7266 ADCs. To compile this driver as a module, choose M here: the module will be called ad7266. config AD7291 tristate "Analog Devices AD7291 ADC driver" depends on I2C help Say yes here to build support for Analog Devices AD7291 8 Channel ADC with temperature sensor. To compile this driver as a module, choose M here: the module will be called ad7291. config AD7292 tristate "Analog Devices AD7292 ADC driver" depends on SPI help Say yes here to build support for Analog Devices AD7292 8 Channel ADC with temperature sensor. To compile this driver as a module, choose M here: the module will be called ad7292. config AD7298 tristate "Analog Devices AD7298 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7298 8 Channel ADC with temperature sensor. To compile this driver as a module, choose M here: the module will be called ad7298. config AD7476 tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD and TI" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the following SPI analog to digital converters (ADCs): Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910, AD7920. Texas Instruments: ADS7866, ADS7867, ADS7868. To compile this driver as a module, choose M here: the module will be called ad7476. config AD7606 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config AD7606_IFACE_PARALLEL tristate "Analog Devices AD7606 ADC driver with parallel interface support" depends on HAS_IOMEM select AD7606 help Say yes here to build parallel interface support for Analog Devices: ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7606_parallel. config AD7606_IFACE_SPI tristate "Analog Devices AD7606 ADC driver with spi interface support" depends on SPI select AD7606 help Say yes here to build spi interface support for Analog Devices: ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7606_spi. config AD7766 tristate "Analog Devices AD7766/AD7767 ADC driver" depends on SPI_MASTER select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7766, AD7766-1, AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters. To compile this driver as a module, choose M here: the module will be called ad7766. config AD7768_1 tristate "Analog Devices AD7768-1 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7768-1 SPI simultaneously sampling sigma-delta analog to digital converter (ADC). To compile this driver as a module, choose M here: the module will be called ad7768-1. config AD7780 tristate "Analog Devices AD7780 and similar ADCs driver" depends on SPI depends on GPIOLIB || COMPILE_TEST select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7170, AD7171, AD7780 and AD7781 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7780. config AD7791 tristate "Analog Devices AD7791 ADC driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7787, AD7788, AD7789, AD7790 and AD7791 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7791. config AD7793 tristate "Analog Devices AD7793 and similar ADCs driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7785, AD7792, AD7793, AD7794 and AD7795 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called AD7793. config AD7887 tristate "Analog Devices AD7887 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7887 SPI analog to digital converter (ADC). To compile this driver as a module, choose M here: the module will be called ad7887. config AD7923 tristate "Analog Devices AD7923 and similar ADCs driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs. To compile this driver as a module, choose M here: the module will be called ad7923. config AD7949 tristate "Analog Devices AD7949 and similar ADCs driver" depends on SPI help Say yes here to build support for Analog Devices AD7949, AD7682, AD7689 8 Channel ADCs. To compile this driver as a module, choose M here: the module will be called ad7949. config AD799X tristate "Analog Devices AD799x ADC driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices: ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998 i2c analog to digital converters (ADC). Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad799x. config AD9467 tristate "Analog Devices AD9467 High Speed ADC driver" depends on SPI depends on ADI_AXI_ADC help Say yes here to build support for Analog Devices: * AD9467 16-Bit, 200 MSPS/250 MSPS Analog-to-Digital Converter The driver requires the assistance of the AXI ADC IP core to operate, since SPI is used for configuration only, while data has to be streamed into memory via DMA. To compile this driver as a module, choose M here: the module will be called ad9467. config ADI_AXI_ADC tristate "Analog Devices Generic AXI ADC IP core driver" select IIO_BUFFER select IIO_BUFFER_HW_CONSUMER select IIO_BUFFER_DMAENGINE depends on HAS_IOMEM depends on OF help Say yes here to build support for Analog Devices Generic AXI ADC IP core. The IP core is used for interfacing with analog-to-digital (ADC) converters that require either a high-speed serial interface (JESD204B/C) or a source synchronous parallel interface (LVDS/CMOS). Typically (for such devices) SPI will be used for configuration only, while this IP core handles the streaming of data into memory via DMA. Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called adi-axi-adc. config ASPEED_ADC tristate "Aspeed ADC" depends on ARCH_ASPEED || COMPILE_TEST depends on COMMON_CLK help If you say yes here you get support for the ADC included in Aspeed BMC SoCs. To compile this driver as a module, choose M here: the module will be called aspeed_adc. config AT91_ADC tristate "Atmel AT91 ADC" depends on ARCH_AT91 || COMPILE_TEST depends on INPUT && SYSFS && OF select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Atmel AT91 ADC. To compile this driver as a module, choose M here: the module will be called at91_adc. config AT91_SAMA5D2_ADC tristate "Atmel AT91 SAMA5D2 ADC" depends on ARCH_AT91 || COMPILE_TEST depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Atmel SAMA5D2 ADC which is available on SAMA5D2 SoC family. To compile this driver as a module, choose M here: the module will be called at91-sama5d2_adc. config AXP20X_ADC tristate "X-Powers AXP20X and AXP22X ADC driver" depends on MFD_AXP20X help Say yes here to have support for X-Powers power management IC (PMIC) AXP20X and AXP22X ADC devices. To compile this driver as a module, choose M here: the module will be called axp20x_adc. config AXP288_ADC tristate "X-Powers AXP288 ADC driver" depends on MFD_AXP20X help Say yes here to have support for X-Powers power management IC (PMIC) ADC device. Depending on platform configuration, this general purpose ADC can be used for sampling sensors such as thermal resistors. To compile this driver as a module, choose M here: the module will be called axp288_adc. config BCM_IPROC_ADC tristate "Broadcom IPROC ADC driver" depends on (ARCH_BCM_IPROC && OF) || COMPILE_TEST depends on MFD_SYSCON default ARCH_BCM_CYGNUS help Say Y here if you want to add support for the Broadcom static ADC driver. Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8 channels. The driver allows the user to read voltage values. config BERLIN2_ADC tristate "Marvell Berlin2 ADC driver" depends on ARCH_BERLIN || COMPILE_TEST help Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for temperature measurement. config CC10001_ADC tristate "Cosmic Circuits 10001 ADC driver" depends on HAS_IOMEM && HAVE_CLK && REGULATOR select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Cosmic Circuits 10001 ADC. This driver can also be built as a module. If so, the module will be called cc10001_adc. config CPCAP_ADC tristate "Motorola CPCAP PMIC ADC driver" depends on MFD_CPCAP select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Motorola CPCAP PMIC ADC. This driver can also be built as a module. If so, the module will be called cpcap-adc. config DA9150_GPADC tristate "Dialog DA9150 GPADC driver support" depends on MFD_DA9150 help Say yes here to build support for Dialog DA9150 GPADC. This driver can also be built as a module. If chosen, the module name will be da9150-gpadc. To compile this driver as a module, choose M here: the module will be called berlin2-adc. config DLN2_ADC tristate "Diolan DLN-2 ADC driver support" depends on MFD_DLN2 select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Diolan DLN-2 ADC. This driver can also be built as a module. If so, the module will be called adc_dln2. config ENVELOPE_DETECTOR tristate "Envelope detector using a DAC and a comparator" depends on OF help Say yes here to build support for an envelope detector using a DAC and a comparator. To compile this driver as a module, choose M here: the module will be called envelope-detector. config EP93XX_ADC tristate "Cirrus Logic EP93XX ADC driver" depends on ARCH_EP93XX help Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic. It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this case driver will reduce its CPU usage by 90% in some use cases. To compile this driver as a module, choose M here: the module will be called ep93xx_adc. config EXYNOS_ADC tristate "Exynos ADC driver support" depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST) depends on HAS_IOMEM help Driver for the ADC block found in the Samsung S3C (S3C2410, S3C2416, S3C2440, S3C2443, S3C6410), S5Pv210 and Exynos SoCs. Choose Y here only if you build for such Samsung SoC. To compile this driver as a module, choose M here: the module will be called exynos_adc. config MXS_LRADC_ADC tristate "Freescale i.MX23/i.MX28 LRADC ADC" depends on MFD_MXS_LRADC select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the ADC functions of the i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings, battery voltage measurement, and die temperature measurement. This driver can also be built as a module. If so, the module will be called mxs-lradc-adc. config FSL_MX25_ADC tristate "Freescale MX25 ADC driver" depends on MFD_MX25_TSADC help Generic Conversion Queue driver used for general purpose ADC in the MX25. This driver supports single measurements using the MX25 ADC. config HI8435 tristate "Holt Integrated Circuits HI-8435 threshold detector" select IIO_TRIGGERED_EVENT depends on SPI help If you say yes here you get support for Holt Integrated Circuits HI-8435 chip. This driver can also be built as a module. If so, the module will be called hi8435. config HX711 tristate "AVIA HX711 ADC for weight cells" depends on GPIOLIB select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for AVIA HX711 ADC which is used for weigh cells This driver uses two GPIOs, one acts as the clock and controls the channel selection and gain, the other one is used for the measurement data Currently the raw value is read from the chip and delivered. To get an actual weight one needs to subtract the zero offset and multiply by a scale factor. This should be done in userspace. This driver can also be built as a module. If so, the module will be called hx711. config INA2XX_ADC tristate "Texas Instruments INA2xx Power Monitors IIO driver" depends on I2C && !SENSORS_INA2XX select REGMAP_I2C select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for TI INA2xx family of Power Monitors. This driver is mutually exclusive with the HWMON version. config INGENIC_ADC tristate "Ingenic JZ47xx SoCs ADC driver" depends on MIPS || COMPILE_TEST select IIO_BUFFER help Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit. This driver can also be built as a module. If so, the module will be called ingenic_adc. config INTEL_MRFLD_ADC tristate "Intel Merrifield Basin Cove ADC driver" depends on INTEL_SOC_PMIC_MRFLD help Say yes here to have support for Basin Cove power management IC (PMIC) ADC device. Depending on platform configuration, this general purpose ADC can be used for sampling sensors such as thermal resistors. To compile this driver as a module, choose M here: the module will be called intel_mrfld_adc. config IMX7D_ADC tristate "Freescale IMX7D ADC driver" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for IMX7D ADC. This driver can also be built as a module. If so, the module will be called imx7d_adc. config IMX8QXP_ADC tristate "NXP IMX8QXP ADC driver" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for IMX8QXP ADC. This driver can also be built as a module. If so, the module will be called imx8qxp-adc. config IMX93_ADC tristate "IMX93 ADC driver" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for IMX93 ADC. This driver can also be built as a module. If so, the module will be called imx93_adc. config LP8788_ADC tristate "LP8788 ADC driver" depends on MFD_LP8788 help Say yes here to build support for TI LP8788 ADC. To compile this driver as a module, choose M here: the module will be called lp8788_adc. config LPC18XX_ADC tristate "NXP LPC18xx ADC driver" depends on ARCH_LPC18XX || COMPILE_TEST depends on OF && HAS_IOMEM help Say yes here to build support for NXP LPC18XX ADC. To compile this driver as a module, choose M here: the module will be called lpc18xx_adc. config LPC32XX_ADC tristate "NXP LPC32XX ADC" depends on ARCH_LPC32XX || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for the integrated ADC inside the LPC32XX SoC. Note that this feature uses the same hardware as the touchscreen driver, so you should either select only one of the two drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case, activate only one via device tree selection. Provides direct access via sysfs. config LTC2471 tristate "Linear Technology LTC2471 and LTC2473 ADC driver" depends on I2C help Say yes here to build support for Linear Technology LTC2471 and LTC2473 16-bit I2C ADC. This driver can also be built as a module. If so, the module will be called ltc2471. config LTC2485 tristate "Linear Technology LTC2485 ADC driver" depends on I2C help Say yes here to build support for Linear Technology LTC2485 ADC. To compile this driver as a module, choose M here: the module will be called ltc2485. config LTC2496 tristate "Linear Technology LTC2496 ADC driver" depends on SPI help Say yes here to build support for Linear Technology LTC2496 16-Bit 8-/16-Channel Delta Sigma ADC. To compile this driver as a module, choose M here: the module will be called ltc2496. config LTC2497 tristate "Linear Technology LTC2497 ADC driver" depends on I2C help Say yes here to build support for Linear Technology LTC2497 16-Bit 8-/16-Channel Delta Sigma ADC. To compile this driver as a module, choose M here: the module will be called ltc2497. config MAX1027 tristate "Maxim max1027 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Maxim SPI {10,12}-bit ADC models: max1027, max1029, max1031, max1227, max1229 and max1231. To compile this driver as a module, choose M here: the module will be called max1027. config MAX11100 tristate "Maxim max11100 ADC driver" depends on SPI_MASTER help Say yes here to build support for Maxim max11100 SPI ADC To compile this driver as a module, choose M here: the module will be called max11100. config MAX1118 tristate "Maxim max1117/max1118/max1119 ADCs driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Maxim max1117/max1118/max1119 8-bit, dual-channel ADCs. To compile this driver as a module, choose M here: the module will be called max1118. config MAX1241 tristate "Maxim max1241 ADC driver" depends on SPI_MASTER help Say yes here to build support for Maxim max1241 12-bit, single-channel ADC. To compile this driver as a module, choose M here: the module will be called max1241. config MAX1363 tristate "Maxim max1363 ADC driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for many Maxim i2c analog to digital converters (ADC). (max1361, max1362, max1363, max1364, max1036, max1037, max1038, max1039, max1136, max1136, max1137, max1138, max1139, max1236, max1237, max11238, max1239, max11600, max11601, max11602, max11603, max11604, max11605, max11606, max11607, max11608, max11609, max11610, max11611, max11612, max11613, max11614, max11615, max11616, max11617, max11644, max11645, max11646, max11647) Provides direct access via sysfs and buffered data via the iio dev interface. To compile this driver as a module, choose M here: the module will be called max1363. config MAX9611 tristate "Maxim max9611/max9612 ADC driver" depends on I2C help Say yes here to build support for Maxim max9611/max9612 current sense amplifier with 12-bits ADC interface. To compile this driver as a module, choose M here: the module will be called max9611. config MCP320X tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3" depends on SPI help Say yes here to build support for Microchip Technology's MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204, MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital converters. This driver can also be built as a module. If so, the module will be called mcp320x. config MCP3422 tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver" depends on I2C help Say yes here to build support for Microchip Technology's MCP3421 MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428 analog to digital converters. This driver can also be built as a module. If so, the module will be called mcp3422. config MCP3911 tristate "Microchip Technology MCP3911 driver" depends on SPI help Say yes here to build support for Microchip Technology's MCP3911 analog to digital converter. This driver can also be built as a module. If so, the module will be called mcp3911. config MEDIATEK_MT6360_ADC tristate "Mediatek MT6360 ADC driver" depends on MFD_MT6360 select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here to enable MT6360 ADC support. Integrated for System Monitoring includes is used in smartphones and tablets and supports a 11 channel general purpose ADC. config MEDIATEK_MT6577_AUXADC tristate "MediaTek AUXADC driver" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help Say yes here to enable support for MediaTek mt65xx AUXADC. The driver supports immediate mode operation to read from one of sixteen channels (external or internal). This driver can also be built as a module. If so, the module will be called mt6577_auxadc. config MEN_Z188_ADC tristate "MEN 16z188 ADC IP Core support" depends on MCB help Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB carrier. This driver can also be built as a module. If so, the module will be called men_z188_adc. config MESON_SARADC tristate "Amlogic Meson SAR ADC driver" default ARCH_MESON depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) select REGMAP_MMIO help Say yes here to build support for the SAR ADC found in Amlogic Meson SoCs. To compile this driver as a module, choose M here: the module will be called meson_saradc. config MP2629_ADC tristate "Monolithic MP2629 ADC driver" depends on MFD_MP2629 help Say yes to have support for battery charger IC MP2629 ADC device accessed over I2C. This driver provides ADC conversion of system, input power supply and battery voltage & current information. config NAU7802 tristate "Nuvoton NAU7802 ADC driver" depends on I2C help Say yes here to build support for Nuvoton NAU7802 ADC. To compile this driver as a module, choose M here: the module will be called nau7802. config NPCM_ADC tristate "Nuvoton NPCM ADC driver" depends on ARCH_NPCM || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for Nuvoton NPCM ADC. This driver can also be built as a module. If so, the module will be called npcm_adc. config PALMAS_GPADC tristate "TI Palmas General Purpose ADC" depends on MFD_PALMAS help Palmas series pmic chip by Texas Instruments (twl6035/6037) is used in smartphones and tablets and supports a 16 channel general purpose ADC. config QCOM_VADC_COMMON tristate config QCOM_PM8XXX_XOADC tristate "Qualcomm SSBI PM8xxx PMIC XOADCs" depends on MFD_PM8XXX select QCOM_VADC_COMMON help ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs using SSBI transport: PM8018, PM8038, PM8058, PM8921. To compile this driver as a module, choose M here: the module will be called qcom-pm8xxx-xoadc. config QCOM_SPMI_IADC tristate "Qualcomm SPMI PMIC current ADC" depends on SPMI select REGMAP_SPMI help This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip. The driver supports single mode operation to read from one of two channels (external or internal). Hardware have additional channels internally used for gain and offset calibration. To compile this driver as a module, choose M here: the module will be called qcom-spmi-iadc. config QCOM_SPMI_VADC tristate "Qualcomm SPMI PMIC voltage ADC" depends on SPMI select REGMAP_SPMI select QCOM_VADC_COMMON help This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip. The driver supports multiple channels read. The VADC is a 15-bit sigma-delta ADC. Some of the channels are internally used for calibration. To compile this driver as a module, choose M here: the module will be called qcom-spmi-vadc. config QCOM_SPMI_ADC5 tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC" depends on SPMI select REGMAP_SPMI select QCOM_VADC_COMMON help This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc. The driver supports multiple channels read. The ADC is a 16-bit sigma-delta ADC. The hardware supports calibrated results for conversion requests and clients include reading voltage phone power, on board system thermistors connected to the PMIC ADC, PMIC die temperature, charger temperature, battery current, USB voltage input, voltage signals connected to supported PMIC GPIO inputs. The hardware supports internal pull-up for thermistors and can choose between a 100k, 30k and 400k pull up using the ADC channels. To compile this driver as a module, choose M here: the module will be called qcom-spmi-adc5. config RCAR_GYRO_ADC tristate "Renesas R-Car GyroADC driver" depends on ARCH_RCAR_GEN2 || COMPILE_TEST help Say yes here to build support for the GyroADC found in Renesas R-Car Gen2 SoCs. This block is a simple SPI offload engine for reading data out of attached compatible ADCs in a round-robin fashion. Up to 4 or 8 ADC channels are supported by this block, depending on which ADCs are attached. To compile this driver as a module, choose M here: the module will be called rcar-gyroadc. config RN5T618_ADC tristate "ADC for the RN5T618/RC5T619 family of chips" depends on MFD_RN5T618 help Say yes here to build support for the integrated ADC inside the RN5T618/619 series PMICs: This driver can also be built as a module. If so, the module will be called rn5t618-adc. config ROCKCHIP_SARADC tristate "Rockchip SARADC driver" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on RESET_CONTROLLER select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the SARADC found in SoCs from Rockchip. To compile this driver as a module, choose M here: the module will be called rockchip_saradc. config RZG2L_ADC tristate "Renesas RZ/G2L ADC driver" depends on ARCH_R9A07G044 || COMPILE_TEST help Say yes here to build support for the ADC found in Renesas RZ/G2L family. To compile this driver as a module, choose M here: the module will be called rzg2l_adc. config SC27XX_ADC tristate "Spreadtrum SC27xx series PMICs ADC" depends on MFD_SC27XX_PMIC || COMPILE_TEST help Say yes here to build support for the integrated ADC inside the Spreadtrum SC27xx series PMICs. This driver can also be built as a module. If so, the module will be called sc27xx_adc. config SPEAR_ADC tristate "ST SPEAr ADC" depends on PLAT_SPEAR || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for the integrated ADC inside the ST SPEAr SoC. Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called spear_adc. config SD_ADC_MODULATOR tristate "Generic sigma delta modulator" depends on OF select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Select this option to enables sigma delta modulator. This driver can support generic sigma delta modulators. This driver can also be built as a module. If so, the module will be called sd_adc_modulator. config STM32_ADC_CORE tristate "STMicroelectronics STM32 adc core" depends on ARCH_STM32 || COMPILE_TEST depends on OF depends on REGULATOR depends on HAS_IOMEM select IIO_BUFFER select MFD_STM32_TIMERS select IIO_STM32_TIMER_TRIGGER select IIO_TRIGGERED_BUFFER help Select this option to enable the core driver for STMicroelectronics STM32 analog-to-digital converter (ADC). This driver can also be built as a module. If so, the module will be called stm32-adc-core. config STM32_ADC tristate "STMicroelectronics STM32 adc" depends on STM32_ADC_CORE help Say yes here to build support for STMicroelectronics stm32 Analog to Digital Converter (ADC). This driver can also be built as a module. If so, the module will be called stm32-adc. config STM32_DFSDM_CORE tristate "STMicroelectronics STM32 DFSDM core" depends on (ARCH_STM32 && OF) || COMPILE_TEST select REGMAP select REGMAP_MMIO help Select this option to enable the driver for STMicroelectronics STM32 digital filter for sigma delta converter. This driver can also be built as a module. If so, the module will be called stm32-dfsdm-core. config STM32_DFSDM_ADC tristate "STMicroelectronics STM32 dfsdm adc" depends on (ARCH_STM32 && OF) || COMPILE_TEST select STM32_DFSDM_CORE select REGMAP_MMIO select IIO_BUFFER select IIO_BUFFER_HW_CONSUMER select IIO_TRIGGERED_BUFFER help Select this option to support ADCSigma delta modulator for STMicroelectronics STM32 digital filter for sigma delta converter. This driver can also be built as a module. If so, the module will be called stm32-dfsdm-adc. config STMPE_ADC tristate "STMicroelectronics STMPE ADC driver" depends on OF && MFD_STMPE help Say yes here to build support for ST Microelectronics STMPE built-in ADC block (stmpe811). config STX104 tristate "Apex Embedded Systems STX104 driver" depends on PC104 && X86 select ISA_BUS_API select GPIOLIB help Say yes here to build support for the Apex Embedded Systems STX104 integrated analog PC/104 card. This driver supports the 16 channels of single-ended (8 channels of differential) analog inputs, 2 channels of analog output, 4 digital inputs, and 4 digital outputs provided by the STX104. The base port addresses for the devices may be configured via the base array module parameter. config SUN4I_GPADC tristate "Support for the Allwinner SoCs GPADC" depends on IIO depends on MFD_SUN4I_GPADC || MACH_SUN8I depends on THERMAL || !THERMAL_OF select REGMAP_IRQ help Say yes here to build support for Allwinner (A10, A13 and A31) SoCs GPADC. This ADC provides 4 channels which can be used as an ADC or as a touchscreen input and one channel for thermal sensor. The thermal sensor slows down ADC readings and can be disabled by disabling CONFIG_THERMAL_OF. However, the thermal sensor should be enabled by default since the SoC temperature is usually more critical than ADC readings. To compile this driver as a module, choose M here: the module will be called sun4i-gpadc-iio. config TI_ADC081C tristate "Texas Instruments ADC081C/ADC101C/ADC121C family" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC081C, ADC101C and ADC121C ADC chips. This driver can also be built as a module. If so, the module will be called ti-adc081c. config TI_ADC0832 tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC0831, ADC0832, ADC0834, ADC0838 ADC chips. This driver can also be built as a module. If so, the module will be called ti-adc0832. config TI_ADC084S021 tristate "Texas Instruments ADC084S021" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC084S021 chips. This driver can also be built as a module. If so, the module will be called ti-adc084s021. config TI_ADC12138 tristate "Texas Instruments ADC12130/ADC12132/ADC12138" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC12130, ADC12132 and ADC12138 chips. This driver can also be built as a module. If so, the module will be called ti-adc12138. config TI_ADC108S102 tristate "Texas Instruments ADC108S102 and ADC128S102 driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Texas Instruments ADC108S102 and ADC128S102 ADC. To compile this driver as a module, choose M here: the module will be called ti-adc108s102. config TI_ADC128S052 tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021" depends on SPI help If you say yes here you get support for Texas Instruments ADC128S052, ADC122S021 and ADC124S021 chips. This driver can also be built as a module. If so, the module will be called ti-adc128s052. config TI_ADC161S626 tristate "Texas Instruments ADC161S626 1-channel differential ADC" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC141S626, and ADC161S626 chips. This driver can also be built as a module. If so, the module will be called ti-adc161s626. config TI_ADS1015 tristate "Texas Instruments ADS1015 ADC" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADS1015 ADC chip. This driver can also be built as a module. If so, the module will be called ti-ads1015. config TI_ADS7950 tristate "Texas Instruments ADS7950 ADC driver" depends on SPI && GPIOLIB select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Texas Instruments ADS7950, ADS7951, ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959. ADS7960, ADS7961. To compile this driver as a module, choose M here: the module will be called ti-ads7950. config TI_ADS8344 tristate "Texas Instruments ADS8344" depends on SPI help If you say yes here you get support for Texas Instruments ADS8344 ADC chips This driver can also be built as a module. If so, the module will be called ti-ads8344. config TI_ADS8688 tristate "Texas Instruments ADS8688" depends on SPI help If you say yes here you get support for Texas Instruments ADS8684 and and ADS8688 ADC chips This driver can also be built as a module. If so, the module will be called ti-ads8688. config TI_ADS124S08 tristate "Texas Instruments ADS124S08" depends on SPI help If you say yes here you get support for Texas Instruments ADS124S08 and ADS124S06 ADC chips This driver can also be built as a module. If so, the module will be called ti-ads124s08. config TI_ADS131E08 tristate "Texas Instruments ADS131E08" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to get support for Texas Instruments ADS131E04, ADS131E06 and ADS131E08 chips. This driver can also be built as a module. If so, the module will be called ti-ads131e08. config TI_AM335X_ADC tristate "TI's AM335X ADC driver" depends on MFD_TI_AM335X_TSCADC && HAS_DMA select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for Texas Instruments ADC driver which is also a MFD client. To compile this driver as a module, choose M here: the module will be called ti_am335x_adc. config TI_TLC4541 tristate "Texas Instruments TLC4541 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Texas Instruments TLC4541 / TLC3541 ADC chips. This driver can also be built as a module. If so, the module will be called ti-tlc4541. config TI_TSC2046 tristate "Texas Instruments TSC2046 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for ADC functionality of Texas Instruments TSC2046 touch screen controller. This driver can also be built as a module. If so, the module will be called ti-tsc2046. config TWL4030_MADC tristate "TWL4030 MADC (Monitoring A/D Converter)" depends on TWL4030_CORE help This driver provides support for Triton TWL4030-MADC. The driver supports both RT and SW conversion methods. This driver can also be built as a module. If so, the module will be called twl4030-madc. config TWL6030_GPADC tristate "TWL6030 GPADC (General Purpose A/D Converter) Support" depends on TWL4030_CORE default n help Say yes here if you want support for the TWL6030/TWL6032 General Purpose A/D Converter. This will add support for battery type detection, battery voltage and temperature measurement, die temperature measurement, system supply voltage, audio accessory, USB ID detection. This driver can also be built as a module. If so, the module will be called twl6030-gpadc. config VF610_ADC tristate "Freescale vf610 ADC driver" depends on OF depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to support for Vybrid board analog-to-digital converter. Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX. This driver can also be built as a module. If so, the module will be called vf610_adc. config VIPERBOARD_ADC tristate "Viperboard ADC support" depends on MFD_VIPERBOARD && USB help Say yes here to access the ADC part of the Nano River Technologies Viperboard. To compile this driver as a module, choose M here: the module will be called viperboard_adc. config XILINX_XADC tristate "Xilinx XADC driver" depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to have support for the Xilinx 7 Series XADC or UltraScale/UltraScale+ System Management Wizard. For the 7 Series the driver does support both the ZYNQ interface to the XADC as well as the AXI-XADC interface. The driver also support the Xilinx System Management Wizard IP core that can be used to access the System Monitor ADC on the Xilinx UltraScale and UltraScale+ FPGAs. The driver can also be build as a module. If so, the module will be called xilinx-xadc. config XILINX_AMS tristate "Xilinx AMS driver" depends on ARCH_ZYNQMP || COMPILE_TEST depends on HAS_IOMEM help Say yes here to have support for the Xilinx AMS for Ultrascale/Ultrascale+ System Monitor. With this you can measure and monitor the Voltages and Temperature values on the SOC. The driver supports Voltage and Temperature monitoring on Xilinx Ultrascale devices. The driver can also be built as a module. If so, the module will be called xilinx-ams. endmenu PK :#(\KJ�[ ad_sigma_delta.hnu �[��� /* SPDX-License-Identifier: GPL-2.0-only */ /* * Support code for Analog Devices Sigma-Delta ADCs * * Copyright 2012 Analog Devices Inc. * Author: Lars-Peter Clausen <lars@metafoo.de> */ #ifndef __AD_SIGMA_DELTA_H__ #define __AD_SIGMA_DELTA_H__ enum ad_sigma_delta_mode { AD_SD_MODE_CONTINUOUS = 0, AD_SD_MODE_SINGLE = 1, AD_SD_MODE_IDLE = 2, AD_SD_MODE_POWERDOWN = 3, }; /** * struct ad_sigma_delta_calib_data - Calibration data for Sigma Delta devices * @mode: Calibration mode. * @channel: Calibration channel. */ struct ad_sd_calib_data { unsigned int mode; unsigned int channel; }; struct ad_sigma_delta; struct device; struct iio_dev; /** * struct ad_sigma_delta_info - Sigma Delta driver specific callbacks and options * @set_channel: Will be called to select the current channel, may be NULL. * @set_mode: Will be called to select the current mode, may be NULL. * @postprocess_sample: Is called for each sampled data word, can be used to * modify or drop the sample data, it, may be NULL. * @has_registers: true if the device has writable and readable registers, false * if there is just one read-only sample data shift register. * @addr_shift: Shift of the register address in the communications register. * @read_mask: Mask for the communications register having the read bit set. * @data_reg: Address of the data register, if 0 the default address of 0x3 will * be used. * @irq_flags: flags for the interrupt used by the triggered buffer */ struct ad_sigma_delta_info { int (*set_channel)(struct ad_sigma_delta *, unsigned int channel); int (*set_mode)(struct ad_sigma_delta *, enum ad_sigma_delta_mode mode); int (*postprocess_sample)(struct ad_sigma_delta *, unsigned int raw_sample); bool has_registers; unsigned int addr_shift; unsigned int read_mask; unsigned int data_reg; unsigned long irq_flags; }; /** * struct ad_sigma_delta - Sigma Delta device struct * @spi: The spi device associated with the Sigma Delta device. * @trig: The IIO trigger associated with the Sigma Delta device. * * Most of the fields are private to the sigma delta library code and should not * be accessed by individual drivers. */ struct ad_sigma_delta { struct spi_device *spi; struct iio_trigger *trig; /* private: */ struct completion completion; bool irq_dis; bool bus_locked; bool keep_cs_asserted; uint8_t comm; const struct ad_sigma_delta_info *info; /* * DMA (thus cache coherency maintenance) requires the * transfer buffers to live in their own cache lines. * 'tx_buf' is up to 32 bits. * 'rx_buf' is up to 32 bits per sample + 64 bit timestamp, * rounded to 16 bytes to take into account padding. */ uint8_t tx_buf[4] ____cacheline_aligned; uint8_t rx_buf[16] __aligned(8); }; static inline int ad_sigma_delta_set_channel(struct ad_sigma_delta *sd, unsigned int channel) { if (sd->info->set_channel) return sd->info->set_channel(sd, channel); return 0; } static inline int ad_sigma_delta_set_mode(struct ad_sigma_delta *sd, unsigned int mode) { if (sd->info->set_mode) return sd->info->set_mode(sd, mode); return 0; } static inline int ad_sigma_delta_postprocess_sample(struct ad_sigma_delta *sd, unsigned int raw_sample) { if (sd->info->postprocess_sample) return sd->info->postprocess_sample(sd, raw_sample); return 0; } void ad_sd_set_comm(struct ad_sigma_delta *sigma_delta, uint8_t comm); int ad_sd_write_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg, unsigned int size, unsigned int val); int ad_sd_read_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg, unsigned int size, unsigned int *val); int ad_sd_reset(struct ad_sigma_delta *sigma_delta, unsigned int reset_length); int ad_sigma_delta_single_conversion(struct iio_dev *indio_dev, const struct iio_chan_spec *chan, int *val); int ad_sd_calibrate(struct ad_sigma_delta *sigma_delta, unsigned int mode, unsigned int channel); int ad_sd_calibrate_all(struct ad_sigma_delta *sigma_delta, const struct ad_sd_calib_data *cd, unsigned int n); int ad_sd_init(struct ad_sigma_delta *sigma_delta, struct iio_dev *indio_dev, struct spi_device *spi, const struct ad_sigma_delta_info *info); int devm_ad_sd_setup_buffer_and_trigger(struct device *dev, struct iio_dev *indio_dev); int ad_sd_validate_trigger(struct iio_dev *indio_dev, struct iio_trigger *trig); #endif PK :#(\�NO?K K qcom-vadc-common.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 */ /* * Code shared between the different Qualcomm PMIC voltage ADCs */ #ifndef QCOM_VADC_COMMON_H #define QCOM_VADC_COMMON_H #include <linux/math.h> #include <linux/types.h> #define VADC_CONV_TIME_MIN_US 2000 #define VADC_CONV_TIME_MAX_US 2100 /* Min ADC code represents 0V */ #define VADC_MIN_ADC_CODE 0x6000 /* Max ADC code represents full-scale range of 1.8V */ #define VADC_MAX_ADC_CODE 0xa800 #define VADC_ABSOLUTE_RANGE_UV 625000 #define VADC_RATIOMETRIC_RANGE 1800 #define VADC_DEF_PRESCALING 0 /* 1:1 */ #define VADC_DEF_DECIMATION 0 /* 512 */ #define VADC_DEF_HW_SETTLE_TIME 0 /* 0 us */ #define VADC_DEF_AVG_SAMPLES 0 /* 1 sample */ #define VADC_DEF_CALIB_TYPE VADC_CALIB_ABSOLUTE #define VADC_DECIMATION_MIN 512 #define VADC_DECIMATION_MAX 4096 #define ADC5_DEF_VBAT_PRESCALING 1 /* 1:3 */ #define ADC5_DECIMATION_SHORT 250 #define ADC5_DECIMATION_MEDIUM 420 #define ADC5_DECIMATION_LONG 840 /* Default decimation - 1024 for rev2, 840 for pmic5 */ #define ADC5_DECIMATION_DEFAULT 2 #define ADC5_DECIMATION_SAMPLES_MAX 3 #define VADC_HW_SETTLE_DELAY_MAX 10000 #define VADC_HW_SETTLE_SAMPLES_MAX 16 #define VADC_AVG_SAMPLES_MAX 512 #define ADC5_AVG_SAMPLES_MAX 16 #define PMIC5_CHG_TEMP_SCALE_FACTOR 377500 #define PMIC5_SMB_TEMP_CONSTANT 419400 #define PMIC5_SMB_TEMP_SCALE_FACTOR 356 #define PMI_CHG_SCALE_1 -138890 #define PMI_CHG_SCALE_2 391750000000LL #define VADC5_MAX_CODE 0x7fff #define ADC5_FULL_SCALE_CODE 0x70e4 #define ADC5_USR_DATA_CHECK 0x8000 #define R_PU_100K 100000 #define RATIO_MAX_ADC7 BIT(14) /* * VADC_CALIB_ABSOLUTE: uses the 625mV and 1.25V as reference channels. * VADC_CALIB_RATIOMETRIC: uses the reference voltage (1.8V) and GND for * calibration. */ enum vadc_calibration { VADC_CALIB_ABSOLUTE = 0, VADC_CALIB_RATIOMETRIC }; /** * struct vadc_linear_graph - Represent ADC characteristics. * @dy: numerator slope to calculate the gain. * @dx: denominator slope to calculate the gain. * @gnd: A/D word of the ground reference used for the channel. * * Each ADC device has different offset and gain parameters which are * computed to calibrate the device. */ struct vadc_linear_graph { s32 dy; s32 dx; s32 gnd; }; /** * enum vadc_scale_fn_type - Scaling function to convert ADC code to * physical scaled units for the channel. * SCALE_DEFAULT: Default scaling to convert raw adc code to voltage (uV). * SCALE_THERM_100K_PULLUP: Returns temperature in millidegC. * Uses a mapping table with 100K pullup. * SCALE_PMIC_THERM: Returns result in milli degree's Centigrade. * SCALE_XOTHERM: Returns XO thermistor voltage in millidegC. * SCALE_PMI_CHG_TEMP: Conversion for PMI CHG temp * SCALE_HW_CALIB_DEFAULT: Default scaling to convert raw adc code to * voltage (uV) with hardware applied offset/slope values to adc code. * SCALE_HW_CALIB_THERM_100K_PULLUP: Returns temperature in millidegC using * lookup table. The hardware applies offset/slope to adc code. * SCALE_HW_CALIB_XOTHERM: Returns XO thermistor voltage in millidegC using * 100k pullup. The hardware applies offset/slope to adc code. * SCALE_HW_CALIB_THERM_100K_PU_PM7: Returns temperature in millidegC using * lookup table for PMIC7. The hardware applies offset/slope to adc code. * SCALE_HW_CALIB_PMIC_THERM: Returns result in milli degree's Centigrade. * The hardware applies offset/slope to adc code. * SCALE_HW_CALIB_PMIC_THERM: Returns result in milli degree's Centigrade. * The hardware applies offset/slope to adc code. This is for PMIC7. * SCALE_HW_CALIB_PM5_CHG_TEMP: Returns result in millidegrees for PMIC5 * charger temperature. * SCALE_HW_CALIB_PM5_SMB_TEMP: Returns result in millidegrees for PMIC5 * SMB1390 temperature. */ enum vadc_scale_fn_type { SCALE_DEFAULT = 0, SCALE_THERM_100K_PULLUP, SCALE_PMIC_THERM, SCALE_XOTHERM, SCALE_PMI_CHG_TEMP, SCALE_HW_CALIB_DEFAULT, SCALE_HW_CALIB_THERM_100K_PULLUP, SCALE_HW_CALIB_XOTHERM, SCALE_HW_CALIB_THERM_100K_PU_PM7, SCALE_HW_CALIB_PMIC_THERM, SCALE_HW_CALIB_PMIC_THERM_PM7, SCALE_HW_CALIB_PM5_CHG_TEMP, SCALE_HW_CALIB_PM5_SMB_TEMP, SCALE_HW_CALIB_INVALID, }; struct adc5_data { const u32 full_scale_code_volt; const u32 full_scale_code_cur; const struct adc5_channels *adc_chans; const struct iio_info *info; unsigned int *decimation; unsigned int *hw_settle_1; unsigned int *hw_settle_2; }; int qcom_vadc_scale(enum vadc_scale_fn_type scaletype, const struct vadc_linear_graph *calib_graph, const struct u32_fract *prescale, bool absolute, u16 adc_code, int *result_mdec); struct qcom_adc5_scale_type { int (*scale_fn)(const struct u32_fract *prescale, const struct adc5_data *data, u16 adc_code, int *result); }; int qcom_adc5_hw_scale(enum vadc_scale_fn_type scaletype, unsigned int prescale_ratio, const struct adc5_data *data, u16 adc_code, int *result_mdec); u16 qcom_adc_tm5_temp_volt_scale(unsigned int prescale_ratio, u32 full_scale_code_volt, int temp); u16 qcom_adc_tm5_gen2_temp_res_scale(int temp); int qcom_adc5_prescaling_from_dt(u32 num, u32 den); int qcom_adc5_hw_settle_time_from_dt(u32 value, const unsigned int *hw_settle); int qcom_adc5_avg_samples_from_dt(u32 value); int qcom_adc5_decimation_from_dt(u32 value, const unsigned int *decimation); int qcom_vadc_decimation_from_dt(u32 value); #endif /* QCOM_VADC_COMMON_H */ PK :#(\�� stm32-dfsdm-adc.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 */ /* * This file discribe the STM32 DFSDM IIO driver API for audio part * * Copyright (C) 2017, STMicroelectronics - All Rights Reserved * Author(s): Arnaud Pouliquen <arnaud.pouliquen@st.com>. */ #ifndef STM32_DFSDM_ADC_H #define STM32_DFSDM_ADC_H #include <linux/iio/iio.h> int stm32_dfsdm_get_buff_cb(struct iio_dev *iio_dev, int (*cb)(const void *data, size_t size, void *private), void *private); int stm32_dfsdm_release_buff_cb(struct iio_dev *iio_dev); #endif PK :#(\�噲� � adi-axi-adc.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 */ /* * Analog Devices Generic AXI ADC IP core driver/library * Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip * * Copyright 2012-2020 Analog Devices Inc. */ #ifndef __ADI_AXI_ADC_H__ #define __ADI_AXI_ADC_H__ struct device; struct iio_chan_spec; /** * struct adi_axi_adc_chip_info - Chip specific information * @name Chip name * @id Chip ID (usually product ID) * @channels Channel specifications of type @struct iio_chan_spec * @num_channels Number of @channels * @scale_table Supported scales by the chip; tuples of 2 ints * @num_scales Number of scales in the table * @max_rate Maximum sampling rate supported by the device */ struct adi_axi_adc_chip_info { const char *name; unsigned int id; const struct iio_chan_spec *channels; unsigned int num_channels; const unsigned int (*scale_table)[2]; int num_scales; unsigned long max_rate; }; /** * struct adi_axi_adc_conv - data of the ADC attached to the AXI ADC * @chip_info chip info details for the client ADC * @preenable_setup op to run in the client before enabling the AXI ADC * @reg_access IIO debugfs_reg_access hook for the client ADC * @read_raw IIO read_raw hook for the client ADC * @write_raw IIO write_raw hook for the client ADC */ struct adi_axi_adc_conv { const struct adi_axi_adc_chip_info *chip_info; int (*preenable_setup)(struct adi_axi_adc_conv *conv); int (*reg_access)(struct adi_axi_adc_conv *conv, unsigned int reg, unsigned int writeval, unsigned int *readval); int (*read_raw)(struct adi_axi_adc_conv *conv, struct iio_chan_spec const *chan, int *val, int *val2, long mask); int (*write_raw)(struct adi_axi_adc_conv *conv, struct iio_chan_spec const *chan, int val, int val2, long mask); }; struct adi_axi_adc_conv *devm_adi_axi_adc_conv_register(struct device *dev, size_t sizeof_priv); void *adi_axi_adc_conv_priv(struct adi_axi_adc_conv *conv); #endif PK �n*\>R� � at91-sama5d2_adc.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 */ /* * This header provides constants for configuring the AT91 SAMA5D2 ADC */ #ifndef _DT_BINDINGS_IIO_ADC_AT91_SAMA5D2_ADC_H #define _DT_BINDINGS_IIO_ADC_AT91_SAMA5D2_ADC_H /* X relative position channel index */ #define AT91_SAMA5D2_ADC_X_CHANNEL 24 /* Y relative position channel index */ #define AT91_SAMA5D2_ADC_Y_CHANNEL 25 /* pressure channel index */ #define AT91_SAMA5D2_ADC_P_CHANNEL 26 #endif PK �n*\��Gb� � fsl-imx25-gcq.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 */ /* * This header provides constants for configuring the I.MX25 ADC */ #ifndef _DT_BINDINGS_IIO_ADC_FS_IMX25_GCQ_H #define _DT_BINDINGS_IIO_ADC_FS_IMX25_GCQ_H #define MX25_ADC_REFP_YP 0 /* YP voltage reference */ #define MX25_ADC_REFP_XP 1 /* XP voltage reference */ #define MX25_ADC_REFP_EXT 2 /* External voltage reference */ #define MX25_ADC_REFP_INT 3 /* Internal voltage reference */ #define MX25_ADC_REFN_XN 0 /* XN ground reference */ #define MX25_ADC_REFN_YN 1 /* YN ground reference */ #define MX25_ADC_REFN_NGND 2 /* Internal ground reference */ #define MX25_ADC_REFN_NGND2 3 /* External ground reference */ #endif PK �n*\�7ru� � ingenic,adc.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _DT_BINDINGS_IIO_ADC_INGENIC_ADC_H #define _DT_BINDINGS_IIO_ADC_INGENIC_ADC_H /* ADC channel idx. */ #define INGENIC_ADC_AUX 0 #define INGENIC_ADC_BATTERY 1 #define INGENIC_ADC_AUX2 2 #define INGENIC_ADC_TOUCH_XP 3 #define INGENIC_ADC_TOUCH_YP 4 #define INGENIC_ADC_TOUCH_XN 5 #define INGENIC_ADC_TOUCH_YN 6 #define INGENIC_ADC_TOUCH_XD 7 #define INGENIC_ADC_TOUCH_YD 8 #endif PK �!(\6V# # Makefilenu �[��� PK �!(\�_�� � [ Kconfignu �[��� PK :#(\KJ�[ �� ad_sigma_delta.hnu �[��� PK :#(\�NO?K K � qcom-vadc-common.hnu �[��� PK :#(\�� _� stm32-dfsdm-adc.hnu �[��� PK :#(\�噲� � �� adi-axi-adc.hnu �[��� PK �n*\>R� � �� at91-sama5d2_adc.hnu �[��� PK �n*\��Gb� � �� fsl-imx25-gcq.hnu �[��� PK �n*\�7ru� � �� ingenic,adc.hnu �[��� PK � y�
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0 |
proxy
|
phpinfo
|
???????????