forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/iio/adc/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # ADC drivers
34 #
....@@ -5,10 +6,50 @@
56
67 menu "Analog to digital converters"
78
9
+config AB8500_GPADC
10
+ bool "ST-Ericsson AB8500 GPADC driver"
11
+ depends on AB8500_CORE && REGULATOR_AB8500
12
+ default y
13
+ help
14
+ AB8500 Analog Baseband, mixed signal integrated circuit GPADC
15
+ (General Purpose Analog to Digital Converter) driver used to monitor
16
+ internal voltages, convert accessory and battery, AC (charger, mains)
17
+ and USB voltages integral to the U8500 platform.
18
+
819 config AD_SIGMA_DELTA
920 tristate
1021 select IIO_BUFFER
1122 select IIO_TRIGGERED_BUFFER
23
+
24
+config AD7091R5
25
+ tristate "Analog Devices AD7091R5 ADC Driver"
26
+ depends on I2C
27
+ select REGMAP_I2C
28
+ help
29
+ Say yes here to build support for Analog Devices AD7091R-5 ADC.
30
+
31
+config AD7124
32
+ tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver"
33
+ depends on SPI_MASTER
34
+ select AD_SIGMA_DELTA
35
+ help
36
+ Say yes here to build support for Analog Devices AD7124-4 and AD7124-8
37
+ SPI analog to digital converters (ADC).
38
+
39
+ To compile this driver as a module, choose M here: the module will be
40
+ called ad7124.
41
+
42
+config AD7192
43
+ tristate "Analog Devices AD7190 AD7192 AD7193 AD7195 ADC driver"
44
+ depends on SPI
45
+ select AD_SIGMA_DELTA
46
+ help
47
+ Say yes here to build support for Analog Devices AD7190,
48
+ AD7192, AD7193 or AD7195 SPI analog to digital converters (ADC).
49
+ If unsure, say N (but it's safe to say "Y").
50
+
51
+ To compile this driver as a module, choose M here: the
52
+ module will be called ad7192.
1253
1354 config AD7266
1455 tristate "Analog Devices AD7265/AD7266 ADC driver"
....@@ -33,6 +74,16 @@
3374 To compile this driver as a module, choose M here: the
3475 module will be called ad7291.
3576
77
+config AD7292
78
+ tristate "Analog Devices AD7292 ADC driver"
79
+ depends on SPI
80
+ help
81
+ Say yes here to build support for Analog Devices AD7292
82
+ 8 Channel ADC with temperature sensor.
83
+
84
+ To compile this driver as a module, choose M here: the
85
+ module will be called ad7292.
86
+
3687 config AD7298
3788 tristate "Analog Devices AD7298 ADC driver"
3889 depends on SPI
....@@ -46,17 +97,47 @@
4697 module will be called ad7298.
4798
4899 config AD7476
49
- tristate "Analog Devices AD7476 and similar 1-channel ADCs driver"
100
+ tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD an TI"
50101 depends on SPI
51102 select IIO_BUFFER
52103 select IIO_TRIGGERED_BUFFER
53104 help
54
- Say yes here to build support for Analog Devices AD7273, AD7274, AD7276,
55
- AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468,
56
- AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC).
105
+ Say yes here to build support for the following SPI analog to
106
+ digital converters (ADCs):
107
+ Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475,
108
+ AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910,
109
+ AD7920.
110
+ Texas Instruments: ADS7866, ADS7867, ADS7868.
57111
58112 To compile this driver as a module, choose M here: the
59113 module will be called ad7476.
114
+
115
+config AD7606
116
+ tristate
117
+ select IIO_BUFFER
118
+ select IIO_TRIGGERED_BUFFER
119
+
120
+config AD7606_IFACE_PARALLEL
121
+ tristate "Analog Devices AD7606 ADC driver with parallel interface support"
122
+ depends on HAS_IOMEM
123
+ select AD7606
124
+ help
125
+ Say yes here to build parallel interface support for Analog Devices:
126
+ ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
127
+
128
+ To compile this driver as a module, choose M here: the
129
+ module will be called ad7606_parallel.
130
+
131
+config AD7606_IFACE_SPI
132
+ tristate "Analog Devices AD7606 ADC driver with spi interface support"
133
+ depends on SPI
134
+ select AD7606
135
+ help
136
+ Say yes here to build spi interface support for Analog Devices:
137
+ ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
138
+
139
+ To compile this driver as a module, choose M here: the
140
+ module will be called ad7606_spi.
60141
61142 config AD7766
62143 tristate "Analog Devices AD7766/AD7767 ADC driver"
....@@ -69,6 +150,31 @@
69150
70151 To compile this driver as a module, choose M here: the module will be
71152 called ad7766.
153
+
154
+config AD7768_1
155
+ tristate "Analog Devices AD7768-1 ADC driver"
156
+ depends on SPI
157
+ select IIO_BUFFER
158
+ select IIO_TRIGGER
159
+ select IIO_TRIGGERED_BUFFER
160
+ help
161
+ Say yes here to build support for Analog Devices AD7768-1 SPI
162
+ simultaneously sampling sigma-delta analog to digital converter (ADC).
163
+
164
+ To compile this driver as a module, choose M here: the module will be
165
+ called ad7768-1.
166
+
167
+config AD7780
168
+ tristate "Analog Devices AD7780 and similar ADCs driver"
169
+ depends on SPI
170
+ depends on GPIOLIB || COMPILE_TEST
171
+ select AD_SIGMA_DELTA
172
+ help
173
+ Say yes here to build support for Analog Devices AD7170, AD7171,
174
+ AD7780 and AD7781 SPI analog to digital converters (ADC).
175
+
176
+ To compile this driver as a module, choose M here: the
177
+ module will be called ad7780.
72178
73179 config AD7791
74180 tristate "Analog Devices AD7791 ADC driver"
....@@ -116,6 +222,16 @@
116222 To compile this driver as a module, choose M here: the
117223 module will be called ad7923.
118224
225
+config AD7949
226
+ tristate "Analog Devices AD7949 and similar ADCs driver"
227
+ depends on SPI
228
+ help
229
+ Say yes here to build support for Analog Devices
230
+ AD7949, AD7682, AD7689 8 Channel ADCs.
231
+
232
+ To compile this driver as a module, choose M here: the
233
+ module will be called ad7949.
234
+
119235 config AD799X
120236 tristate "Analog Devices AD799x ADC driver"
121237 depends on I2C
....@@ -130,6 +246,43 @@
130246 To compile this driver as a module, choose M here: the module will be
131247 called ad799x.
132248
249
+config AD9467
250
+ tristate "Analog Devices AD9467 High Speed ADC driver"
251
+ depends on SPI
252
+ depends on ADI_AXI_ADC
253
+ help
254
+ Say yes here to build support for Analog Devices:
255
+ * AD9467 16-Bit, 200 MSPS/250 MSPS Analog-to-Digital Converter
256
+
257
+ The driver requires the assistance of the AXI ADC IP core to operate,
258
+ since SPI is used for configuration only, while data has to be
259
+ streamed into memory via DMA.
260
+
261
+ To compile this driver as a module, choose M here: the module will be
262
+ called ad9467.
263
+
264
+config ADI_AXI_ADC
265
+ tristate "Analog Devices Generic AXI ADC IP core driver"
266
+ select IIO_BUFFER
267
+ select IIO_BUFFER_HW_CONSUMER
268
+ select IIO_BUFFER_DMAENGINE
269
+ depends on HAS_IOMEM
270
+ depends on OF
271
+ help
272
+ Say yes here to build support for Analog Devices Generic
273
+ AXI ADC IP core. The IP core is used for interfacing with
274
+ analog-to-digital (ADC) converters that require either a high-speed
275
+ serial interface (JESD204B/C) or a source synchronous parallel
276
+ interface (LVDS/CMOS).
277
+ Typically (for such devices) SPI will be used for configuration only,
278
+ while this IP core handles the streaming of data into memory via DMA.
279
+
280
+ Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip
281
+ If unsure, say N (but it's safe to say "Y").
282
+
283
+ To compile this driver as a module, choose M here: the
284
+ module will be called adi-axi-adc.
285
+
133286 config ASPEED_ADC
134287 tristate "Aspeed ADC"
135288 depends on ARCH_ASPEED || COMPILE_TEST
....@@ -143,8 +296,8 @@
143296
144297 config AT91_ADC
145298 tristate "Atmel AT91 ADC"
146
- depends on ARCH_AT91
147
- depends on INPUT && SYSFS
299
+ depends on ARCH_AT91 || COMPILE_TEST
300
+ depends on INPUT && SYSFS && OF
148301 select IIO_BUFFER
149302 select IIO_TRIGGERED_BUFFER
150303 help
....@@ -189,7 +342,7 @@
189342
190343 config BCM_IPROC_ADC
191344 tristate "Broadcom IPROC ADC driver"
192
- depends on ARCH_BCM_IPROC || COMPILE_TEST
345
+ depends on (ARCH_BCM_IPROC && OF) || COMPILE_TEST
193346 depends on MFD_SYSCON
194347 default ARCH_BCM_CYGNUS
195348 help
....@@ -274,7 +427,7 @@
274427
275428 config EXYNOS_ADC
276429 tristate "Exynos ADC driver support"
277
- depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
430
+ depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
278431 depends on HAS_IOMEM
279432 help
280433 Core support for the ADC block found in the Samsung EXYNOS series
....@@ -326,7 +479,7 @@
326479
327480 This driver uses two GPIOs, one acts as the clock and controls the
328481 channel selection and gain, the other one is used for the measurement
329
- data
482
+ data
330483
331484 Currently the raw value is read from the chip and delivered.
332485 To get an actual weight one needs to subtract the
....@@ -345,6 +498,27 @@
345498 help
346499 Say yes here to build support for TI INA2xx family of Power Monitors.
347500 This driver is mutually exclusive with the HWMON version.
501
+
502
+config INGENIC_ADC
503
+ tristate "Ingenic JZ47xx SoCs ADC driver"
504
+ depends on MIPS || COMPILE_TEST
505
+ select IIO_BUFFER
506
+ help
507
+ Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.
508
+
509
+ This driver can also be built as a module. If so, the module will be
510
+ called ingenic_adc.
511
+
512
+config INTEL_MRFLD_ADC
513
+ tristate "Intel Merrifield Basin Cove ADC driver"
514
+ depends on INTEL_SOC_PMIC_MRFLD
515
+ help
516
+ Say yes here to have support for Basin Cove power management IC (PMIC) ADC
517
+ device. Depending on platform configuration, this general purpose ADC can
518
+ be used for sampling sensors such as thermal resistors.
519
+
520
+ To compile this driver as a module, choose M here: the module will be
521
+ called intel_mrfld_adc.
348522
349523 config IMX7D_ADC
350524 tristate "Freescale IMX7D ADC driver"
....@@ -406,6 +580,16 @@
406580 To compile this driver as a module, choose M here: the module will be
407581 called ltc2485.
408582
583
+config LTC2496
584
+ tristate "Linear Technology LTC2496 ADC driver"
585
+ depends on SPI
586
+ help
587
+ Say yes here to build support for Linear Technology LTC2496
588
+ 16-Bit 8-/16-Channel Delta Sigma ADC.
589
+
590
+ To compile this driver as a module, choose M here: the module will be
591
+ called ltc2496.
592
+
409593 config LTC2497
410594 tristate "Linear Technology LTC2497 ADC driver"
411595 depends on I2C
....@@ -422,8 +606,8 @@
422606 select IIO_BUFFER
423607 select IIO_TRIGGERED_BUFFER
424608 help
425
- Say yes here to build support for Maxim SPI ADC models
426
- max1027, max1029 and max1031.
609
+ Say yes here to build support for Maxim SPI {10,12}-bit ADC models:
610
+ max1027, max1029, max1031, max1227, max1229 and max1231.
427611
428612 To compile this driver as a module, choose M here: the module will be
429613 called max1027.
....@@ -449,6 +633,16 @@
449633 To compile this driver as a module, choose M here: the module will be
450634 called max1118.
451635
636
+config MAX1241
637
+ tristate "Maxim max1241 ADC driver"
638
+ depends on SPI_MASTER
639
+ help
640
+ Say yes here to build support for Maxim max1241 12-bit, single-channel
641
+ ADC.
642
+
643
+ To compile this driver as a module, choose M here: the module will be
644
+ called max1241.
645
+
452646 config MAX1363
453647 tristate "Maxim max1363 ADC driver"
454648 depends on I2C
....@@ -468,7 +662,7 @@
468662 To compile this driver as a module, choose M here: the module will be
469663 called max1363.
470664
471
-config MAX9611
665
+config MAX9611
472666 tristate "Maxim max9611/max9612 ADC driver"
473667 depends on I2C
474668 help
....@@ -501,18 +695,28 @@
501695 This driver can also be built as a module. If so, the module will be
502696 called mcp3422.
503697
698
+config MCP3911
699
+ tristate "Microchip Technology MCP3911 driver"
700
+ depends on SPI
701
+ help
702
+ Say yes here to build support for Microchip Technology's MCP3911
703
+ analog to digital converter.
704
+
705
+ This driver can also be built as a module. If so, the module will be
706
+ called mcp3911.
707
+
504708 config MEDIATEK_MT6577_AUXADC
505
- tristate "MediaTek AUXADC driver"
506
- depends on ARCH_MEDIATEK || COMPILE_TEST
507
- depends on HAS_IOMEM
508
- help
509
- Say yes here to enable support for MediaTek mt65xx AUXADC.
709
+ tristate "MediaTek AUXADC driver"
710
+ depends on ARCH_MEDIATEK || COMPILE_TEST
711
+ depends on HAS_IOMEM
712
+ help
713
+ Say yes here to enable support for MediaTek mt65xx AUXADC.
510714
511
- The driver supports immediate mode operation to read from one of sixteen
512
- channels (external or internal).
715
+ The driver supports immediate mode operation to read from one of sixteen
716
+ channels (external or internal).
513717
514
- This driver can also be built as a module. If so, the module will be
515
- called mt6577_auxadc.
718
+ This driver can also be built as a module. If so, the module will be
719
+ called mt6577_auxadc.
516720
517721 config MEN_Z188_ADC
518722 tristate "MEN 16z188 ADC IP Core support"
....@@ -536,6 +740,16 @@
536740 To compile this driver as a module, choose M here: the
537741 module will be called meson_saradc.
538742
743
+config MP2629_ADC
744
+ tristate "Monolithic MP2629 ADC driver"
745
+ depends on MFD_MP2629
746
+ help
747
+ Say yes to have support for battery charger IC MP2629 ADC device
748
+ accessed over I2C.
749
+
750
+ This driver provides ADC conversion of system, input power supply
751
+ and battery voltage & current information.
752
+
539753 config NAU7802
540754 tristate "Nuvoton NAU7802 ADC driver"
541755 depends on I2C
....@@ -544,6 +758,16 @@
544758
545759 To compile this driver as a module, choose M here: the
546760 module will be called nau7802.
761
+
762
+config NPCM_ADC
763
+ tristate "Nuvoton NPCM ADC driver"
764
+ depends on ARCH_NPCM || COMPILE_TEST
765
+ depends on HAS_IOMEM
766
+ help
767
+ Say yes here to build support for Nuvoton NPCM ADC.
768
+
769
+ This driver can also be built as a module. If so, the module
770
+ will be called npcm_adc.
547771
548772 config PALMAS_GPADC
549773 tristate "TI Palmas General Purpose ADC"
....@@ -596,6 +820,26 @@
596820 To compile this driver as a module, choose M here: the module will
597821 be called qcom-spmi-vadc.
598822
823
+config QCOM_SPMI_ADC5
824
+ tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
825
+ depends on SPMI
826
+ select REGMAP_SPMI
827
+ select QCOM_VADC_COMMON
828
+ help
829
+ This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
830
+
831
+ The driver supports multiple channels read. The ADC is a 16-bit
832
+ sigma-delta ADC. The hardware supports calibrated results for
833
+ conversion requests and clients include reading voltage phone
834
+ power, on board system thermistors connected to the PMIC ADC,
835
+ PMIC die temperature, charger temperature, battery current, USB voltage
836
+ input, voltage signals connected to supported PMIC GPIO inputs. The
837
+ hardware supports internal pull-up for thermistors and can choose between
838
+ a 100k, 30k and 400k pull up using the ADC channels.
839
+
840
+ To compile this driver as a module, choose M here: the module will
841
+ be called qcom-spmi-adc5.
842
+
599843 config RCAR_GYRO_ADC
600844 tristate "Renesas R-Car GyroADC driver"
601845 depends on ARCH_RCAR_GEN2 || COMPILE_TEST
....@@ -609,9 +853,19 @@
609853 To compile this driver as a module, choose M here: the
610854 module will be called rcar-gyroadc.
611855
856
+config RN5T618_ADC
857
+ tristate "ADC for the RN5T618/RC5T619 family of chips"
858
+ depends on MFD_RN5T618
859
+ help
860
+ Say yes here to build support for the integrated ADC inside the
861
+ RN5T618/619 series PMICs:
862
+
863
+ This driver can also be built as a module. If so, the module
864
+ will be called rn5t618-adc.
865
+
612866 config ROCKCHIP_SARADC
613867 tristate "Rockchip SARADC driver"
614
- depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
868
+ depends on ARCH_ROCKCHIP || COMPILE_TEST
615869 depends on RESET_CONTROLLER
616870 select IIO_BUFFER
617871 select IIO_TRIGGERED_BUFFER
....@@ -708,12 +962,20 @@
708962 select REGMAP_MMIO
709963 select IIO_BUFFER
710964 select IIO_BUFFER_HW_CONSUMER
965
+ select IIO_TRIGGERED_BUFFER
711966 help
712967 Select this option to support ADCSigma delta modulator for
713968 STMicroelectronics STM32 digital filter for sigma delta converter.
714969
715970 This driver can also be built as a module. If so, the module
716971 will be called stm32-dfsdm-adc.
972
+
973
+config STMPE_ADC
974
+ tristate "STMicroelectronics STMPE ADC driver"
975
+ depends on OF && MFD_STMPE
976
+ help
977
+ Say yes here to build support for ST Microelectronics STMPE
978
+ built-in ADC block (stmpe811).
717979
718980 config STX104
719981 tristate "Apex Embedded Systems STX104 driver"
....@@ -834,7 +1096,7 @@
8341096
8351097 config TI_ADS1015
8361098 tristate "Texas Instruments ADS1015 ADC"
837
- depends on I2C && !SENSORS_ADS1015
1099
+ depends on I2C
8381100 select REGMAP_I2C
8391101 select IIO_BUFFER
8401102 select IIO_TRIGGERED_BUFFER
....@@ -847,7 +1109,7 @@
8471109
8481110 config TI_ADS7950
8491111 tristate "Texas Instruments ADS7950 ADC driver"
850
- depends on SPI
1112
+ depends on SPI && GPIOLIB
8511113 select IIO_BUFFER
8521114 select IIO_TRIGGERED_BUFFER
8531115 help
....@@ -858,6 +1120,16 @@
8581120 To compile this driver as a module, choose M here: the
8591121 module will be called ti-ads7950.
8601122
1123
+config TI_ADS8344
1124
+ tristate "Texas Instruments ADS8344"
1125
+ depends on SPI && OF
1126
+ help
1127
+ If you say yes here you get support for Texas Instruments ADS8344
1128
+ ADC chips
1129
+
1130
+ This driver can also be built as a module. If so, the module will be
1131
+ called ti-ads8344.
1132
+
8611133 config TI_ADS8688
8621134 tristate "Texas Instruments ADS8688"
8631135 depends on SPI && OF
....@@ -867,6 +1139,16 @@
8671139
8681140 This driver can also be built as a module. If so, the module will be
8691141 called ti-ads8688.
1142
+
1143
+config TI_ADS124S08
1144
+ tristate "Texas Instruments ADS124S08"
1145
+ depends on SPI && OF
1146
+ help
1147
+ If you say yes here you get support for Texas Instruments ADS124S08
1148
+ and ADS124S06 ADC chips
1149
+
1150
+ This driver can also be built as a module. If so, the module will be
1151
+ called ti-ads124s08.
8701152
8711153 config TI_AM335X_ADC
8721154 tristate "TI's AM335X ADC driver"
....@@ -941,7 +1223,6 @@
9411223
9421224 config XILINX_XADC
9431225 tristate "Xilinx XADC driver"
944
- depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
9451226 depends on HAS_IOMEM
9461227 select IIO_BUFFER
9471228 select IIO_TRIGGERED_BUFFER