summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/Kconfig
blob: 68d71b4b55bd350af0e5cefbd1713ca206d131ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
# SPDX-License-Identifier: GPL-2.0-only
#
# Multifunction miscellaneous devices
#

if HAS_IOMEM
menu "Multifunction device drivers"

config MFD_CORE
	tristate
	select IRQ_DOMAIN
	default n

config MFD_CS5535
	tristate "AMD CS5535 and CS5536 southbridge core functions"
	select MFD_CORE
	depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
	depends on !UML
	help
	  This is the core driver for CS5535/CS5536 MFD functions.  This is
	  necessary for using the board's GPIO and MFGPT functionality.

config MFD_ALTERA_A10SR
	bool "Altera Arria10 DevKit System Resource chip"
	depends on ARCH_INTEL_SOCFPGA && SPI_MASTER=y && OF
	select REGMAP_SPI
	select MFD_CORE
	help
	  Support for the Altera Arria10 DevKit MAX5 System Resource chip
	  using the SPI interface. This driver provides common support for
	  accessing the external gpio extender (LEDs & buttons) and
	  power supply alarms (hwmon).

config MFD_ALTERA_SYSMGR
	bool "Altera SOCFPGA System Manager"
	depends on ARCH_INTEL_SOCFPGA && OF
	select MFD_SYSCON
	help
	  Select this to get System Manager support for all Altera branded
	  SOCFPGAs. The SOCFPGA System Manager handles all SOCFPGAs by
	  using regmap_mmio accesses for ARM32 parts and SMC calls to
	  EL3 for ARM64 parts.

config MFD_ACT8945A
	tristate "Active-semi ACT8945A"
	select MFD_CORE
	select REGMAP_I2C
	depends on I2C && OF
	help
	  Support for the ACT8945A PMIC from Active-semi. This device
	  features three step-down DC/DC converters and four low-dropout
	  linear regulators, along with a complete ActivePath battery
	  charger.

config MFD_SUN4I_GPADC
	tristate "Allwinner sunxi platforms' GPADC MFD driver"
	select MFD_CORE
	select REGMAP_MMIO
	select REGMAP_IRQ
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on !TOUCHSCREEN_SUN4I
	help
	  Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC.
	  This driver will only map the hardware interrupt and registers, you
	  have to select individual drivers based on this MFD to be able to use
	  the ADC or the thermal sensor. This will try to probe the ADC driver
	  sun4i-gpadc-iio and the hwmon driver iio_hwmon.

	  To compile this driver as a module, choose M here: the module will be
	  called sun4i-gpadc.

config MFD_AS3711
	bool "AMS AS3711"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y
	help
	  Support for the AS3711 PMIC from AMS

config MFD_SMPRO
	tristate "Ampere Computing SMpro core driver"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  Say yes here to enable SMpro driver support for Ampere's Altra
	  processor family.

	  Ampere's Altra SMpro exposes an I2C regmap interface that can
	  be accessed by child devices.

config MFD_AS3722
	tristate "ams AS3722 Power Management IC"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y && OF
	help
	  The ams AS3722 is a compact system PMU suitable for mobile phones,
	  tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
	  controllers, 11 LDOs, RTC, automatic battery, temperature and
	  over current monitoring, GPIOs, ADC and a watchdog.

config PMIC_ADP5520
	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
	depends on I2C=y
	help
	  Say yes here to add support for Analog Devices ADP5520 and ADP5501,
	  Multifunction Power Management IC. This includes
	  the I2C driver and the core APIs _only_, you have to select
	  individual components like LCD backlight, LEDs, GPIOs and Kepad
	  under the corresponding menus.

config MFD_AAT2870_CORE
	bool "AnalogicTech AAT2870"
	select MFD_CORE
	depends on I2C=y
	depends on GPIOLIB || COMPILE_TEST
	help
	  If you say yes here you get support for the AAT2870.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_AT91_USART
	tristate "AT91 USART Driver"
	select MFD_CORE
	depends on ARCH_AT91 || COMPILE_TEST
	help
	  Select this to get support for AT91 USART IP. This is a wrapper
	  over at91-usart-serial driver and usart-spi-driver. Only one function
	  can be used at a time. The choice is done at boot time by the probe
	  function of this MFD driver according to a device tree property.

config MFD_ATMEL_FLEXCOM
	tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
	select MFD_CORE
	depends on OF
	help
	  Select this to get support for Atmel Flexcom. This is a wrapper
	  which embeds a SPI controller, a I2C controller and a USART. Only
	  one function can be used at a time. The choice is done at boot time
	  by the probe function of this MFD driver according to a device tree
	  property.

config MFD_ATMEL_HLCDC
	tristate "Atmel HLCDC (High-end LCD Controller)"
	select MFD_CORE
	select REGMAP_MMIO
	depends on OF
	help
	  If you say yes here you get support for the HLCDC block.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_ATMEL_SMC
	bool
	select MFD_SYSCON

config MFD_BCM590XX
	tristate "Broadcom BCM590xx PMUs"
	select MFD_CORE
	select REGMAP_I2C
	depends on I2C
	help
	  Support for the BCM590xx PMUs from Broadcom

config MFD_BD9571MWV
	tristate "ROHM BD9571MWV PMIC"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C
	help
	  Support for the ROHM BD9571MWV PMIC, which contains single
	  voltage regulator, voltage sampling units, GPIO block and
	  watchdog block.

	  This driver can also be built as a module. If so, the module
	  will be called bd9571mwv.

config MFD_AC100
	tristate "X-Powers AC100"
	select MFD_CORE
	depends on SUNXI_RSB
	help
	  If you say Y here you get support for the X-Powers AC100 audio codec
	  IC.
	  This driver include only the core APIs. You have to select individual
	  components like codecs or RTC under the corresponding menus.

config MFD_AXP20X
	tristate
	select MFD_CORE
	select REGMAP_IRQ

config MFD_AXP20X_I2C
	tristate "X-Powers AXP series PMICs with I2C"
	select MFD_AXP20X
	select REGMAP_I2C
	depends on I2C
	help
	  If you say Y here you get support for the X-Powers AXP series power
	  management ICs (PMICs) controlled with I2C.
	  This driver include only the core APIs. You have to select individual
	  components like regulators or the PEK (Power Enable Key) under the
	  corresponding menus.

	  Note on x86 this provides an ACPI OpRegion, so this must be 'y'
	  (builtin) and not a module, as the OpRegion must be available as
	  soon as possible. For the same reason the I2C bus driver options
	  I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.

config MFD_AXP20X_RSB
	tristate "X-Powers AXP series PMICs with RSB"
	select MFD_AXP20X
	depends on SUNXI_RSB
	help
	  If you say Y here you get support for the X-Powers AXP series power
	  management ICs (PMICs) controlled with RSB.
	  This driver include only the core APIs. You have to select individual
	  components like regulators or the PEK (Power Enable Key) under the
	  corresponding menus.

config MFD_CROS_EC_DEV
	tristate "ChromeOS Embedded Controller multifunction device"
	select MFD_CORE
	depends on CROS_EC
	default CROS_EC
	help
	  Select this to get support for ChromeOS Embedded Controller
	  sub-devices. This driver will instantiate additional drivers such
	  as RTC, USBPD, etc. but you have to select the individual drivers.

	  To compile this driver as a module, choose M here: the module will be
	  called cros-ec-dev.

config MFD_CS42L43
	tristate
	select MFD_CORE
	select REGMAP
	select REGMAP_IRQ

config MFD_CS42L43_I2C
	tristate "Cirrus Logic CS42L43 (I2C)"
	depends on I2C
	select REGMAP_I2C
	select MFD_CS42L43
	help
	  Select this to support the Cirrus Logic CS42L43 PC CODEC with
	  headphone and class D speaker drivers over I2C.

config MFD_CS42L43_SDW
	tristate "Cirrus Logic CS42L43 (SoundWire)"
	depends on SOUNDWIRE
	select REGMAP_SOUNDWIRE
	select MFD_CS42L43
	help
	  Select this to support the Cirrus Logic CS42L43 PC CODEC with
	  headphone and class D speaker drivers over SoundWire.

config MFD_MADERA
	tristate "Cirrus Logic Madera codecs"
	select MFD_CORE
	select REGMAP
	select REGMAP_IRQ
	select MADERA_IRQ
	select PINCTRL
	select PINCTRL_MADERA
	help
	  Support for the Cirrus Logic Madera platform audio codecs

config MFD_MADERA_I2C
	tristate "Cirrus Logic Madera codecs with I2C"
	depends on MFD_MADERA
	depends on I2C
	select REGMAP_I2C
	help
	  Support for the Cirrus Logic Madera platform audio SoC
	  core functionality controlled via I2C.

config MFD_MADERA_SPI
	tristate "Cirrus Logic Madera codecs with SPI"
	depends on MFD_MADERA
	depends on SPI_MASTER
	select REGMAP_SPI
	help
	  Support for the Cirrus Logic Madera platform audio SoC
	  core functionality controlled via SPI.

config MFD_MAX5970
	tristate "Maxim 5970/5978 power switch and monitor"
	depends on (I2C && OF)
	select MFD_SIMPLE_MFD_I2C
	help
	  This driver controls a Maxim 5970/5978 switch via I2C bus.
	  The MAX5970/5978 is a smart switch with no output regulation, but
	  fault protection and voltage and current monitoring capabilities.
	  Also it supports upto 4 indication leds.

config MFD_CS47L15
	bool "Cirrus Logic CS47L15"
	select PINCTRL_CS47L15
	depends on MFD_MADERA
	help
	  Support for Cirrus Logic CS47L15 Smart Codec

config MFD_CS47L35
	bool "Cirrus Logic CS47L35"
	select PINCTRL_CS47L35
	depends on MFD_MADERA
	help
	  Support for Cirrus Logic CS47L35 Smart Codec

config MFD_CS47L85
	bool "Cirrus Logic CS47L85"
	select PINCTRL_CS47L85
	depends on MFD_MADERA
	help
	  Support for Cirrus Logic CS47L85 Smart Codec

config MFD_CS47L90
	bool "Cirrus Logic CS47L90/91"
	select PINCTRL_CS47L90
	depends on MFD_MADERA
	help
	  Support for Cirrus Logic CS47L90 and CS47L91 Smart Codecs

config MFD_CS47L92
	bool "Cirrus Logic CS47L92/93"
	select PINCTRL_CS47L92
	depends on MFD_MADERA
	help
	  Support for Cirrus Logic CS42L92, CS47L92 and CS47L93 Smart Codecs

config PMIC_DA903X
	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
	depends on I2C=y
	help
	  Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
	  usually found on PXA processors-based platforms. This includes
	  the I2C driver and the core APIs _only_, you have to select
	  individual components like LCD backlight, voltage regulators,
	  LEDs and battery-charger under the corresponding menus.

config PMIC_DA9052
	bool
	select MFD_CORE

config MFD_DA9052_SPI
	bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
	select REGMAP_SPI
	select REGMAP_IRQ
	select PMIC_DA9052
	depends on SPI_MASTER=y
	help
	  Support for the Dialog Semiconductor DA9052 PMIC
	  when controlled using SPI. This driver provides common support
	  for accessing the device, additional drivers must be enabled in
	  order to use the functionality of the device.

config MFD_DA9052_I2C
	bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
	select REGMAP_I2C
	select REGMAP_IRQ
	select PMIC_DA9052
	depends on I2C=y
	help
	  Support for the Dialog Semiconductor DA9052 PMIC
	  when controlled using I2C. This driver provides common support
	  for accessing the device, additional drivers must be enabled in
	  order to use the functionality of the device.

config MFD_DA9055
	bool "Dialog Semiconductor DA9055 PMIC Support"
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	depends on I2C=y
	help
	  Say yes here for support of Dialog Semiconductor DA9055. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device as well as the I2C interface to the chip itself.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_DA9062
	tristate "Dialog Semiconductor DA9062/61 PMIC Support"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C
	help
	  Say yes here for support for the Dialog Semiconductor DA9061 and
	  DA9062 PMICs.
	  This includes the I2C driver and core APIs.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_DA9063
	tristate "Dialog Semiconductor DA9063 PMIC Support"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C
	help
	  Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
	  This includes the I2C driver and core APIs.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_DA9150
	tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  This adds support for the DA9150 integrated charger and fuel-gauge
	  chip. This driver provides common support for accessing the device.
	  Additional drivers must be enabled in order to use the specific
	  features of the device.

config MFD_DLN2
	tristate "Diolan DLN2 support"
	select MFD_CORE
	depends on USB
	help
	  This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
	  DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
	  etc. must be enabled in order to use the functionality of
	  the device.

config MFD_ENE_KB3930
	tristate "ENE KB3930 Embedded Controller support"
	depends on I2C
	depends on MACH_MMP3_DT || COMPILE_TEST
	select MFD_CORE
	help
	  This adds support for the power-off functionality and access to
	  the registers that control LEDS and USB port power on ENE KB3930
	  Embedded Controller. To use the LED functionality LEDS_ARIEL must
	  be enabled.

config MFD_EXYNOS_LPASS
	tristate "Samsung Exynos SoC Low Power Audio Subsystem"
	depends on ARCH_EXYNOS || COMPILE_TEST
	select MFD_CORE
	select REGMAP_MMIO
	help
	  Select this option to enable support for Samsung Exynos Low Power
	  Audio Subsystem present on some of Samsung Exynos
	  SoCs (e.g. Exynos5433).
	  Choose Y here only if you build for such Samsung SoC.

config MFD_GATEWORKS_GSC
	tristate "Gateworks System Controller"
	depends on (I2C && OF)
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Enable support for the Gateworks System Controller (GSC) found
	  on Gateworks Single Board Computers supporting system functions
	  such as push-button monitor, multiple ADC's for voltage and
	  temperature monitoring, fan controller and watchdog monitor.
	  This driver provides common support for accessing the device.
	  Additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_MC13XXX
	tristate
	depends on (SPI_MASTER || I2C)
	select MFD_CORE
	select REGMAP_IRQ
	help
	  Enable support for the Freescale MC13783 and MC13892 PMICs.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_MC13XXX_SPI
	tristate "Freescale MC13783 and MC13892 SPI interface"
	depends on SPI_MASTER
	select REGMAP_SPI
	select MFD_MC13XXX
	help
	  Select this if your MC13xxx is connected via an SPI bus.

config MFD_MC13XXX_I2C
	tristate "Freescale MC13892 I2C interface"
	depends on I2C
	select REGMAP_I2C
	select MFD_MC13XXX
	help
	  Select this if your MC13xxx is connected via an I2C bus.

config MFD_MP2629
	tristate "Monolithic Power Systems MP2629 ADC and Battery charger"
	depends on I2C
	select REGMAP_I2C
	select MFD_CORE
	help
	  Select this option to enable support for Monolithic Power Systems
	  battery charger. This provides ADC, thermal and battery charger power
	  management functions.

config MFD_MXS_LRADC
	tristate "Freescale i.MX23/i.MX28 LRADC"
	depends on ARCH_MXS || COMPILE_TEST
	select MFD_CORE
	select STMP_DEVICE
	help
	  Say yes here to build support for the Low Resolution
	  Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
	  processors. This driver provides common support for accessing the
	  device, additional drivers must be enabled in order to use the
	  functionality of the device:
		mxs-lradc-adc for ADC readings
		mxs-lradc-ts  for touchscreen support

	  This driver can also be built as a module. If so, the module will be
	  called mxs-lradc.

config MFD_MX25_TSADC
	tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
	select REGMAP_MMIO
	depends on (SOC_IMX25 && OF) || COMPILE_TEST
	help
	  Enable support for the integrated Touchscreen and ADC unit of the
	  i.MX25 processors. They consist of a conversion queue for general
	  purpose ADC and a queue for Touchscreens.

config MFD_HI6421_PMIC
	tristate "HiSilicon Hi6421 PMU/Codec IC"
	depends on OF
	select MFD_CORE
	select REGMAP_MMIO
	help
	  Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
	  functions, such as regulators, RTC, codec, Coulomb counter, etc.
	  This driver includes core APIs _only_. You have to select
	  individual components like voltage regulators under corresponding
	  menus in order to enable them.
	  We communicate with the Hi6421 via memory-mapped I/O.

config MFD_HI6421_SPMI
	tristate "HiSilicon Hi6421v600 SPMI PMU/Codec IC"
	depends on OF
	depends on SPMI
	select MFD_CORE
	select REGMAP_SPMI
	help
	  Add support for HiSilicon Hi6421v600 SPMI PMIC. Hi6421 includes
	  multi-functions, such as regulators, RTC, codec, Coulomb counter,
	  etc.

	  This driver includes core APIs _only_. You have to select
	  individual components like voltage regulators under corresponding
	  menus in order to enable them.
	  We communicate with the Hi6421v600 via a SPMI bus.

config MFD_HI655X_PMIC
	tristate "HiSilicon Hi655X series PMU/Codec IC"
	depends on ARCH_HISI || COMPILE_TEST
	depends on OF
	select MFD_CORE
	select REGMAP_MMIO
	select REGMAP_IRQ
	help
	  Select this option to enable Hisilicon hi655x series pmic driver.

config MFD_INTEL_QUARK_I2C_GPIO
	tristate "Intel Quark MFD I2C GPIO"
	depends on PCI
	depends on X86
	depends on COMMON_CLK
	select MFD_CORE
	help
	  This MFD provides support for I2C and GPIO that exist only
	  in a single PCI device. It splits the 2 IO devices to
	  their respective IO driver.
	  The GPIO exports a total amount of 8 interrupt-capable GPIOs.

config LPC_ICH
	tristate "Intel ICH LPC"
	depends on PCI
	select MFD_CORE
	select P2SB if X86
	help
	  The LPC bridge function of the Intel ICH provides support for
	  many functional units. This driver provides needed support for
	  other drivers to control these functions, currently GPIO and
	  watchdog.

config LPC_SCH
	tristate "Intel SCH LPC"
	depends on PCI
	select MFD_CORE
	help
	  LPC bridge function of the Intel SCH provides support for
	  System Management Bus and General Purpose I/O.

config INTEL_SOC_PMIC
	bool "Support for Crystal Cove PMIC"
	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
	depends on (X86 && ACPI) || COMPILE_TEST
	depends on I2C_DESIGNWARE_PLATFORM=y || COMPILE_TEST
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Select this option to enable support for Crystal Cove PMIC
	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
	  thermal, charger and related power management functions
	  on these systems.

	  This option is a bool as it provides an ACPI OpRegion which must be
	  available before any devices using it are probed. This option also
	  causes the designware-i2c driver to be builtin for the same reason.

config INTEL_SOC_PMIC_BXTWC
	tristate "Support for Intel Broxton Whiskey Cove PMIC"
	depends on MFD_INTEL_PMC_BXT
	select MFD_CORE
	select REGMAP_IRQ
	help
	  Select this option to enable support for Whiskey Cove PMIC
	  on Intel Broxton systems. The PMIC provides ADC, GPIO,
	  thermal, charger and related power management functions
	  on these systems.

config INTEL_SOC_PMIC_CHTWC
	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
	depends on X86 || COMPILE_TEST
	depends on I2C_DESIGNWARE_PLATFORM=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Select this option to enable support for the Intel Cherry Trail
	  Whiskey Cove PMIC found on some Intel Cherry Trail systems.

	  This option is a bool as it provides an ACPI OpRegion which must be
	  available before any devices using it are probed. This option also
	  causes the designware-i2c driver to be builtin for the same reason.

config INTEL_SOC_PMIC_CHTDC_TI
	tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
	depends on GPIOLIB
	depends on I2C=y && I2C_DESIGNWARE_PLATFORM=y
	depends on ACPI
	depends on X86
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Select this option for supporting Dollar Cove (TI version) PMIC
	  device that is found on some Intel Cherry Trail systems.

	  This option is a bool as it provides an ACPI OpRegion which must be
	  available before any devices using it are probed. This option also
	  needs the designware-i2c driver to be builtin for the same reason.

config INTEL_SOC_PMIC_MRFLD
	tristate "Support for Intel Merrifield Basin Cove PMIC"
	depends on GPIOLIB
	depends on ACPI
	depends on INTEL_SCU
	select MFD_CORE
	select REGMAP_IRQ
	help
	  Select this option for supporting Basin Cove PMIC device
	  that is found on Intel Merrifield systems.

config MFD_INTEL_LPSS
	tristate
	select COMMON_CLK
	select MFD_CORE

config MFD_INTEL_LPSS_ACPI
	tristate "Intel Low Power Subsystem support in ACPI mode"
	select MFD_INTEL_LPSS
	depends on X86 && ACPI
	help
	  This driver supports Intel Low Power Subsystem (LPSS) devices such as
	  I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
	  PCH) in ACPI mode.

config MFD_INTEL_LPSS_PCI
	tristate "Intel Low Power Subsystem support in PCI mode"
	select MFD_INTEL_LPSS
	depends on X86 && PCI
	help
	  This driver supports Intel Low Power Subsystem (LPSS) devices such as
	  I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
	  PCH) in PCI mode.

config MFD_INTEL_PMC_BXT
	tristate "Intel PMC Driver for Broxton"
	depends on X86
	depends on X86_PLATFORM_DEVICES
	depends on ACPI
	select INTEL_SCU_IPC
	select MFD_CORE
	help
	  This driver provides support for the PMC (Power Management
	  Controller) on Intel Broxton and Apollo Lake. The PMC is a
	  multi-function device that exposes IPC, General Control
	  Register and P-unit access. In addition this creates devices
	  for iTCO watchdog and telemetry that are part of the PMC.

config MFD_IPAQ_MICRO
	bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
	depends on SA1100_H3600
	select MFD_CORE
	help
	  Select this to get support for the Microcontroller found in
	  the Compaq iPAQ handheld computers. This is an Atmel
	  AT90LS8535 microcontroller flashed with a special iPAQ
	  firmware using the custom protocol implemented in this driver.

config MFD_IQS62X
	tristate "Azoteq IQS620A/621/622/624/625 core support"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  Say Y here if you want to build core support for the Azoteq IQS620A,
	  IQS621, IQS622, IQS624 and IQS625 multi-function sensors. Additional
	  options must be selected to enable device-specific functions.

	  To compile this driver as a module, choose M here: the module will
	  be called iqs62x.

config MFD_JANZ_CMODIO
	tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
	select MFD_CORE
	depends on PCI
	help
	  This is the core driver for the Janz CMOD-IO PCI MODULbus
	  carrier board. This device is a PCI to MODULbus bridge which may
	  host many different types of MODULbus daughterboards, including
	  CAN and GPIO controllers.

config MFD_KEMPLD
	tristate "Kontron module PLD device"
	select MFD_CORE
	help
	  This is the core driver for the PLD (Programmable Logic Device) found
	  on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as
	  well as on some other Kontron products. The PLD device may provide
	  functions like watchdog, GPIO, UART and I2C bus.

	  This driver can also be built as a module. If so, the module
	  will be called kempld-core.

config MFD_88PM800
	tristate "Marvell 88PM800"
	depends on I2C
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  This supports for Marvell 88PM800 Power Management IC.
	  This includes the I2C driver and the core APIs _only_, you have to
	  select individual components like voltage regulators, RTC and
	  battery-charger under the corresponding menus.

config MFD_88PM805
	tristate "Marvell 88PM805"
	depends on I2C
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  This supports for Marvell 88PM805 Power Management IC. This includes
	  the I2C driver and the core APIs _only_, you have to select individual
	  components like codec device, headset/Mic device under the
	  corresponding menus.

config MFD_88PM860X
	bool "Marvell 88PM8606/88PM8607"
	depends on I2C=y
	select REGMAP_I2C
	select MFD_CORE
	help
	  This supports for Marvell 88PM8606/88PM8607 Power Management IC.
	  This includes the I2C driver and the core APIs _only_, you have to
	  select individual components like voltage regulators, RTC and
	  battery-charger under the corresponding menus.

config MFD_MAX14577
	tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX14577 and
	  MAX77836 Micro-USB ICs with battery charger.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX77541
	tristate "Analog Devices MAX77541/77540 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Analog Devices MAX77541 and
	  MAX77540 Power Management ICs. This driver provides
	  common support for accessing the device; additional drivers
	  must be enabled in order to use the functionality of the device.
	  There are regulators and adc.

config MFD_MAX77620
	bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
	depends on I2C=y
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX77620 and
	  MAX20024 which are Power Management IC with General purpose pins,
	  RTC, regulators, clock generator, watchdog etc. This driver
	  provides common support for accessing the device; additional drivers
	  must be enabled in order to use the functionality of the device.

config MFD_MAX77650
	tristate "Maxim MAX77650/77651 PMIC Support"
	depends on I2C
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say Y here to add support for Maxim Semiconductor MAX77650 and
	  MAX77651 Power Management ICs. This is the core multifunction
	  driver for interacting with the device. The module name is
	  'max77650'. Additional drivers can be enabled in order to use
	  the following functionalities of the device: GPIO, regulator,
	  charger, LED, onkey.

config MFD_MAX77686
	tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
	depends on I2C
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX77686 and
	  MAX77802 which are Power Management IC with an RTC on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX77693
	tristate "Maxim Semiconductor MAX77693 PMIC Support"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Maxim Semiconductor MAX77693.
	  This is a companion Power Management IC with Flash, Haptic, Charger,
	  and MUIC(Micro USB Interface Controller) controls on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX77714
	tristate "Maxim Semiconductor MAX77714 PMIC Support"
	depends on I2C
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	help
	  Say yes here to add support for Maxim Semiconductor MAX77714.
	  This is a Power Management IC with 4 buck regulators, 9
	  low-dropout regulators, 8 GPIOs, RTC, watchdog etc. This driver
	  provides common support for accessing the device; additional
	  drivers must be enabled in order to use each functionality of the
	  device.

config MFD_MAX77843
	bool "Maxim Semiconductor MAX77843 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Maxim Semiconductor MAX77843.
	  This is companion Power Management IC with LEDs, Haptic, Charger,
	  Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX8907
	tristate "Maxim Semiconductor MAX8907 PMIC Support"
	select MFD_CORE
	depends on I2C
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Maxim Semiconductor MAX8907. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device; additional drivers must be enabled in order
	  to use the functionality of the device.

config MFD_MAX8925
	bool "Maxim Semiconductor MAX8925 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	help
	  Say yes here to add support for Maxim Semiconductor MAX8925. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device, additional drivers must be enabled in order
	  to use the functionality of the device.

config MFD_MAX8997
	bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX8997/8966.
	  This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
	  MUIC controls on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX8998
	bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX8998 and
	  National Semiconductor LP3974. This is a Power Management IC.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MT6360
	tristate "Mediatek MT6360 SubPMIC"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select CRC8
	depends on I2C
	help
	  Say Y here to enable MT6360 PMU/PMIC/LDO functional support.
	  PMU part includes Charger, Flashlight, RGB LED
	  PMIC part includes 2-channel BUCKs and 2-channel LDOs
	  LDO part includes 4-channel LDOs

config MFD_MT6370
	tristate "MediaTek MT6370 SubPMIC"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C
	help
	  Say Y here to enable MT6370 SubPMIC functional support.
	  It consists of a single cell battery charger with ADC monitoring, RGB
	  LEDs, dual channel flashlight, WLED backlight driver, display bias
	  voltage supply, one general purpose LDO, and the USB Type-C & PD
	  controller complies with the latest USB Type-C and PD standards.

	  This driver can also be built as a module. If so, the module
	  will be called "mt6370".

config MFD_MT6397
	tristate "MediaTek MT6397 PMIC Support"
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Say yes here to add support for MediaTek MT6397 PMIC. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device; additional drivers must be enabled in order
	  to use the functionality of the device.

config MFD_MENF21BMC
	tristate "MEN 14F021P00 Board Management Controller Support"
	depends on I2C
	select MFD_CORE
	help
	  Say yes here to add support for the MEN 14F021P00 BMC
	  which is a Board Management Controller connected to the I2C bus.
	  The device supports multiple sub-devices like LED, HWMON and WDT.
	  This driver provides common support for accessing the devices;
	  additional drivers must be enabled in order to use the
	  functionality of the BMC device.

	  This driver can also be built as a module. If so the module
	  will be called menf21bmc.

config MFD_OCELOT
	tristate "Microsemi Ocelot External Control Support"
	depends on SPI_MASTER
	select MFD_CORE
	select REGMAP_SPI
	help
	  Ocelot is a family of networking chips that support multiple ethernet
	  and fibre interfaces. In addition to networking, they contain several
	  other functions, including pinctrl, MDIO, and communication with
	  external chips. While some chips have an internal processor capable of
	  running an OS, others don't. All chips can be controlled externally
	  through different interfaces, including SPI, I2C, and PCIe.

	  Say yes here to add support for Ocelot chips (VSC7511, VSC7512,
	  VSC7513, VSC7514) controlled externally.

	  To compile this driver as a module, choose M here: the module will be
	  called ocelot-soc.

	  If unsure, say N.

config EZX_PCAP
	bool "Motorola EZXPCAP Support"
	depends on SPI_MASTER
	help
	  This enables the PCAP ASIC present on EZX Phones. This is
	  needed for MMC, TouchScreen, Sound, USB, etc..

config MFD_CPCAP
	tristate "Support for Motorola CPCAP"
	depends on SPI
	depends on OF
	select MFD_CORE
	select REGMAP_SPI
	select REGMAP_IRQ
	help
	  Say yes here if you want to include driver for CPCAP.
	  It is used on many Motorola phones and tablets as a PMIC.
	  At least Motorola Droid 4 is known to use CPCAP.

config MFD_VIPERBOARD
	tristate "Nano River Technologies Viperboard"
	select MFD_CORE
	depends on USB
	default n
	help
	  Say yes here if you want support for Nano River Technologies
	  Viperboard.
	  There are mfd cell drivers available for i2c master, adc and
	  both gpios found on the board. The spi part does not yet
	  have a driver.
	  You need to select the mfd cell drivers separately.
	  The drivers do not support all features the board exposes.

config MFD_NTXEC
	tristate "Netronix embedded controller (EC)"
	depends on OF
	depends on I2C
	select REGMAP_I2C
	select MFD_CORE
	help
	  Say yes here if you want to support the embedded controller found in
	  certain e-book readers designed by the original design manufacturer
	  Netronix.

config MFD_RETU
	tristate "Nokia Retu and Tahvo multi-function device"
	select MFD_CORE
	depends on I2C
	select REGMAP_IRQ
	help
	  Retu and Tahvo are a multi-function devices found on Nokia
	  Internet Tablets (770, N800 and N810).

config MFD_PCF50633
	tristate "NXP PCF50633"
	depends on I2C
	select REGMAP_I2C
	help
	  Say yes here if you have NXP PCF50633 chip on your board.
	  This core driver provides register access and IRQ handling
	  facilities, and registers devices for the various functions
	  so that function-specific drivers can bind to them.

config PCF50633_ADC
	tristate "NXP PCF50633 ADC"
	depends on MFD_PCF50633
	help
	  Say yes here if you want to include support for ADC in the
	  NXP PCF50633 chip.

config PCF50633_GPIO
	tristate "NXP PCF50633 GPIO"
	depends on MFD_PCF50633
	help
	  Say yes here if you want to include support GPIO for pins on
	  the PCF50633 chip.

config MFD_PM8XXX
	tristate "Qualcomm PM8xxx PMIC chips driver"
	depends on (ARM || HEXAGON || COMPILE_TEST)
	select IRQ_DOMAIN_HIERARCHY
	select MFD_CORE
	select REGMAP
	help
	  If you say yes to this option, support will be included for the
	  built-in PM8xxx PMIC chips.

	  This is required if your board has a PM8xxx and uses its features,
	  such as: MPPs, GPIOs, regulators, interrupts, and PWM.

	  Say M here if you want to include support for PM8xxx chips as a
	  module. This will build a module called "pm8xxx-core".

config MFD_QCOM_RPM
	tristate "Qualcomm Resource Power Manager (RPM)"
	depends on ARCH_QCOM && OF
	help
	  If you say yes to this option, support will be included for the
	  Resource Power Manager system found in the Qualcomm 8660, 8960 and
	  8064 based devices.

	  This is required to access many regulators, clocks and bus
	  frequencies controlled by the RPM on these devices.

	  Say M here if you want to include support for the Qualcomm RPM as a
	  module. This will build a module called "qcom_rpm".

config MFD_SPMI_PMIC
	tristate "Qualcomm SPMI PMICs"
	depends on ARCH_QCOM || COMPILE_TEST
	depends on OF
	depends on SPMI
	select REGMAP_SPMI
	help
	  This enables support for the Qualcomm SPMI PMICs.
	  These PMICs are currently used with the Snapdragon 800 series of
	  SoCs.  Note, that this will only be useful paired with descriptions
	  of the independent functions as children nodes in the device tree.

	  Say M here if you want to include support for the SPMI PMIC
	  series as a module.  The module will be called "qcom-spmi-pmic".

config MFD_SY7636A
	tristate "Silergy SY7636A voltage regulator"
	depends on I2C
	select MFD_SIMPLE_MFD_I2C
	help
	  Enable support for Silergy SY7636A voltage regulator.

	  To enable support for building sub-devices as modules,
	  choose M here.

config MFD_RDC321X
	tristate "RDC R-321x southbridge"
	select MFD_CORE
	depends on PCI
	help
	  Say yes here if you want to have support for the RDC R-321x SoC
	  southbridge which provides access to GPIOs and Watchdog using the
	  southbridge PCI device configuration space.

config MFD_RT4831
	tristate "Richtek RT4831 four channel WLED and Display Bias Voltage"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  This enables support for the Richtek RT4831 that includes 4 channel
	  WLED driving and Display Bias Voltage. It's commonly used to provide
	  power to the LCD display and LCD backlight.

config MFD_RT5033
	tristate "Richtek RT5033 Power Management IC"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  This driver provides for the Richtek RT5033 Power Management IC,
	  which includes the I2C driver and the Core APIs. This driver provides
	  common support for accessing the device. The device supports multiple
	  sub-devices like charger, fuel gauge, flash LED, current source,
	  LDO and Buck.

config MFD_RT5120
	tristate "Richtek RT5120 Power Management IC"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  The enables support for Richtek RT5120 PMIC. It includes four high
	  efficiency buck converters and one LDO voltage regulator. The device
	  is targeted at providing the CPU voltage, memory, I/O and peripheral
	  power rails in home entertainment devices.

config MFD_RC5T583
	bool "Ricoh RC5T583 Power Management system device"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	help
	  Select this option to get support for the RICOH583 Power
	  Management system device.
	  This driver provides common support for accessing the device
	  through i2c interface. The device supports multiple sub-devices
	  like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
	  Additional drivers must be enabled in order to use the
	  different functionality of the device.

config MFD_RK8XX
	tristate
	select MFD_CORE

config MFD_RK8XX_I2C
	tristate "Rockchip RK805/RK808/RK809/RK817/RK818 Power Management Chip"
	depends on I2C && OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_RK8XX
	help
	  If you say yes here you get support for the RK805, RK808, RK809,
	  RK817 and RK818 Power Management chips.
	  This driver provides common support for accessing the device
	  through I2C interface. The device supports multiple sub-devices
	  including interrupts, RTC, LDO & DCDC regulators, and onkey.

config MFD_RK8XX_SPI
	tristate "Rockchip RK806 Power Management Chip"
	depends on SPI && OF
	select MFD_CORE
	select REGMAP_SPI
	select REGMAP_IRQ
	select MFD_RK8XX
	help
	  If you say yes here you get support for the RK806 Power Management
	  chip.
	  This driver provides common support for accessing the device
	  through an SPI interface. The device supports multiple sub-devices
	  including interrupts, LDO & DCDC regulators, and power on-key.

config MFD_RN5T618
	tristate "Ricoh RN5T567/618 PMIC"
	depends on I2C
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for the Ricoh RN5T567,
	  RN5T618, RC5T619 PMIC.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_SEC_CORE
	tristate "Samsung Electronics PMIC Series Support"
	depends on I2C=y
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Support for the Samsung Electronics PMIC devices coming
	  usually along with Samsung Exynos SoC chipset.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device

	  To compile this driver as a module, choose M here: the
	  module will be called sec-core.
	  Have in mind that important core drivers (like regulators) depend
	  on this driver so building this as a module might require proper
	  initial ramdisk or might not boot up as well in certain scenarios.

config MFD_SI476X_CORE
	tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  This is the core driver for the SI476x series of AM/FM
	  radio. This MFD driver connects the radio-si476x V4L2 module
	  and the si476x audio codec.

	  To compile this driver as a module, choose M here: the
	  module will be called si476x-core.

config MFD_SIMPLE_MFD_I2C
	tristate
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  This driver creates a single register map with the intention for it
	  to be shared by all sub-devices.

	  Once the register map has been successfully initialised, any
	  sub-devices represented by child nodes in Device Tree will be
	  subsequently registered.

config MFD_SL28CPLD
	tristate "Kontron sl28cpld Board Management Controller"
	depends on I2C
	depends on ARCH_LAYERSCAPE || COMPILE_TEST
	select MFD_SIMPLE_MFD_I2C
	help
	  Say yes here to enable support for the Kontron sl28cpld board
	  management controller.

	  It can be found on the following boards:
		* SMARC-sAL28

config MFD_SM501
	tristate "Silicon Motion SM501"
	depends on HAS_DMA
	help
	  This is the core driver for the Silicon Motion SM501 multimedia
	  companion chip. This device is a multifunction device which may
	  provide numerous interfaces including USB host controller, USB gadget,
	  asynchronous serial ports, audio functions, and a dual display video
	  interface. The device may be connected by PCI or local bus with
	  varying functions enabled.

config MFD_SM501_GPIO
	bool "Export GPIO via GPIO layer"
	depends on MFD_SM501 && GPIOLIB
	help
	  This option uses the gpio library layer to export the 64 GPIO
	  lines on the SM501. The platform data is used to supply the
	  base number for the first GPIO line to register.

config MFD_SKY81452
	tristate "Skyworks Solutions SKY81452"
	select MFD_CORE
	select REGMAP_I2C
	depends on I2C
	help
	  This is the core driver for the Skyworks SKY81452 backlight and
	  voltage regulator device.

	  This driver can also be built as a module.  If so, the module
	  will be called sky81452.

config MFD_SC27XX_PMIC
	tristate "Spreadtrum SC27xx PMICs"
	depends on ARCH_SPRD || COMPILE_TEST
	depends on SPI_MASTER
	select MFD_CORE
	select REGMAP_SPI
	select REGMAP_IRQ
	help
	  This enables support for the Spreadtrum SC27xx PMICs with SPI
	  interface. The SC27xx series PMICs integrate power management,
	  audio codec, battery management and user interface support
	  function (such as RTC, Typec, indicator and so on) in a single chip.

	  This driver provides common support for accessing the SC27xx PMICs,
	  and it also adds the irq_chip parts for handling the PMIC chip events.

config RZ_MTU3
	tristate "Renesas RZ/G2L MTU3a core driver"
	depends on (ARCH_RZG2L && OF) || COMPILE_TEST
	select MFD_CORE
	help
	  Select this option to enable Renesas RZ/G2L MTU3a core driver for
	  the Multi-Function Timer Pulse Unit 3 (MTU3a) hardware available
	  on SoCs from Renesas. The core driver shares the clk and channel
	  register access for the other child devices like Counter, PWM,
	  Clock Source, and Clock event.

config ABX500_CORE
	bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
	depends on ARCH_U8500 || COMPILE_TEST
	default y if ARCH_U8500
	help
	  Say yes here if you have the ABX500 Mixed Signal IC family
	  chips. This core driver expose register access functions.
	  Functionality specific drivers using these functions can
	  remain unchanged when IC changes. Binding of the functions to
	  actual register access is done by the IC core driver.

config AB8500_CORE
	bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
	depends on ABX500_CORE && MFD_DB8500_PRCMU
	select POWER_SUPPLY
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Select this option to enable access to AB8500 power management
	  chip. This connects to U8500 either on the SSP/SPI bus (deprecated
	  since hardware version v1.0) or the I2C bus via PRCMU. It also adds
	  the irq_chip parts for handling the Mixed Signal chip events.
	  This chip embeds various other multimedia functionalities as well.

config MFD_DB8500_PRCMU
	bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
	depends on UX500_SOC_DB8500
	select MFD_CORE
	help
	  Select this option to enable support for the DB8500 Power Reset
	  and Control Management Unit. This is basically an autonomous
	  system controller running an XP70 microprocessor, which is accessed
	  through a register map.

config MFD_STMPE
	bool "STMicroelectronics STMPE"
	depends on (I2C=y || SPI_MASTER=y)
	depends on OF
	select MFD_CORE
	help
	  Support for the STMPE family of I/O Expanders from
	  STMicroelectronics.

	  Currently supported devices are:

		STMPE811: GPIO, Touchscreen, ADC
		STMPE1601: GPIO, Keypad
		STMPE1801: GPIO, Keypad
		STMPE2401: GPIO, Keypad
		STMPE2403: GPIO, Keypad

	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device.  Currently available sub drivers are:

		GPIO: stmpe-gpio
		Keypad: stmpe-keypad
		Touchscreen: stmpe-ts
		ADC: stmpe-adc

menu "STMicroelectronics STMPE Interface Drivers"
depends on MFD_STMPE

config STMPE_I2C
	bool "STMicroelectronics STMPE I2C Interface"
	depends on I2C=y
	default y
	help
	  This is used to enable I2C interface of STMPE

config STMPE_SPI
	bool "STMicroelectronics STMPE SPI Interface"
	depends on SPI_MASTER
	help
	  This is used to enable SPI interface of STMPE
endmenu

config MFD_STA2X11
	bool "STMicroelectronics STA2X11"
	depends on STA2X11
	select MFD_CORE
	select REGMAP_MMIO

config MFD_SUN6I_PRCM
	bool "Allwinner A31/A23/A33 PRCM controller"
	depends on ARCH_SUNXI || COMPILE_TEST
	select MFD_CORE
	help
	  Support for the PRCM (Power/Reset/Clock Management) unit available
	  in the A31, A23, and A33 SoCs. Other Allwinner SoCs contain similar
	  hardware, but they do not use this driver.

config MFD_SYSCON
	bool "System Controller Register R/W Based on Regmap"
	select REGMAP_MMIO
	help
	  Select this option to enable accessing system control registers
	  via regmap.

config MFD_TI_AM335X_TSCADC
	tristate "TI ADC / Touch Screen chip support"
	depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
	select MFD_CORE
	select REGMAP
	select REGMAP_MMIO
	help
	  If you say yes here you get support for Texas Instruments series
	  of Touch Screen /ADC chips.
	  To compile this driver as a module, choose M here: the
	  module will be called ti_am335x_tscadc.

config MFD_LP3943
	tristate "TI/National Semiconductor LP3943 MFD Driver"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  Support for the TI/National Semiconductor LP3943.
	  This driver consists of GPIO and PWM drivers.
	  With these functionalities, it can be used for LED string control or
	  general usage such like a GPIO controller and a PWM controller.

config MFD_LP8788
	bool "TI LP8788 Power Management Unit Driver"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select IRQ_DOMAIN
	help
	  TI LP8788 PMU supports regulators, battery charger, RTC,
	  ADC, backlight driver and current sinks.

config MFD_TI_LMU
	tristate "TI Lighting Management Unit driver"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  Say yes here to enable support for TI LMU chips.
	  TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and
	  LM36274.  It consists of backlight, LED and regulator driver.
	  It provides consistent device controls for lighting functions.

config MFD_OMAP_USB_HOST
	bool "TI OMAP USBHS core and TLL driver"
	depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
	depends on COMMON_CLK
	default y
	help
	  This is the core driver for the OAMP EHCI and OHCI drivers.
	  This MFD driver does the required setup functionalities for
	  OMAP USB Host drivers.

config MFD_PALMAS
	tristate "TI Palmas series chips"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y
	help
	  If you say yes here you get support for the Palmas
	  series of PMIC chips from Texas Instruments.

config TPS6105X
	tristate "TI TPS61050/61052 Boost Converters"
	depends on I2C
	select REGMAP_I2C
	select REGULATOR
	select MFD_CORE
	select REGULATOR_FIXED_VOLTAGE
	help
	  This option enables a driver for the TP61050/TPS61052
	  high-power "white LED driver". This boost converter is
	  sometimes used for other things than white LEDs, and
	  also contains a GPIO pin.

config TPS65010
	tristate "TI TPS6501x Power Management chips"
	depends on I2C && GPIOLIB
	default MACH_OMAP_OSK
	help
	  If you say yes here you get support for the TPS6501x series of
	  Power Management chips.  These include voltage regulators,
	  lithium ion/polymer battery charging, and other features that
	  are often used in portable devices like cell phones and cameras.

	  This driver can also be built as a module.  If so, the module
	  will be called tps65010.

config TPS6507X
	tristate "TI TPS6507x Power Management / Touch Screen chips"
	select MFD_CORE
	depends on I2C
	help
	  If you say yes here you get support for the TPS6507x series of
	  Power Management / Touch Screen chips.  These include voltage
	  regulators, lithium ion/polymer battery charging, touch screen
	  and other features that are often used in portable devices.
	  This driver can also be built as a module.  If so, the module
	  will be called tps6507x.

config MFD_TPS65086
	tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
	select MFD_CORE
	select REGMAP
	select REGMAP_IRQ
	select REGMAP_I2C
	depends on I2C
	help
	  If you say yes here you get support for the TPS65086 series of
	  Power Management chips.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config TPS65911_COMPARATOR
	tristate

config MFD_TPS65090
	bool "TI TPS65090 Power Management chips"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  If you say yes here you get support for the TPS65090 series of
	  Power Management chips.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_TPS65217
	tristate "TI TPS65217 Power Management / White LED chips"
	depends on I2C && OF
	select MFD_CORE
	select REGMAP_I2C
	select IRQ_DOMAIN
	help
	  If you say yes here you get support for the TPS65217 series of
	  Power Management / White LED chips.
	  These include voltage regulators, lithium ion/polymer battery
	  charger, wled and other features that are often used in portable
	  devices.

	  This driver can also be built as a module.  If so, the module
	  will be called tps65217.

config MFD_TI_LP873X
	tristate "TI LP873X Power Management IC"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  If you say yes here then you get support for the LP873X series of
	  Power Management Integrated Circuits (PMIC).
	  These include voltage regulators, thermal protection, configurable
	  General Purpose Outputs (GPO) that are used in portable devices.

	  This driver can also be built as a module. If so, the module
	  will be called lp873x.

config MFD_TI_LP87565
	tristate "TI LP87565 Power Management IC"
	depends on I2C && OF
	select MFD_CORE
	select REGMAP_I2C
	help
	  If you say yes here then you get support for the LP87565 series of
	  Power Management Integrated Circuits (PMIC).
	  These include voltage regulators, thermal protection, configurable
	  General Purpose Outputs (GPO) that are used in portable devices.

	  This driver can also be built as a module. If so, the module
	  will be called lp87565.

config MFD_TPS65218
	tristate "TI TPS65218 Power Management chips"
	depends on I2C && OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  If you say yes here you get support for the TPS65218 series of
	  Power Management chips.
	  These include voltage regulators, gpio and other features
	  that are often used in portable devices.

	  This driver can also be built as a module.  If so, the module
	  will be called tps65218.

config MFD_TPS65219
	tristate "TI TPS65219 Power Management IC"
	depends on I2C && OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  If you say yes here you get support for the TPS65219 series of Power
	  Management ICs. These include voltage regulators, GPIOs and
	  push/power button that is often used in portable devices.

	  This driver can also be built as a module. If so, the module
	  will be called tps65219.

config MFD_TPS6586X
	bool "TI TPS6586x Power Management chips"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	help
	  If you say yes here you get support for the TPS6586X series of
	  Power Management chips.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

	  This driver can also be built as a module.  If so, the module
	  will be called tps6586x.

config MFD_TPS65910
	bool "TI TPS65910 Power Management chip"
	depends on I2C=y
	depends on GPIOLIB || COMPILE_TEST
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select IRQ_DOMAIN
	help
	  if you say yes here you get support for the TPS65910 series of
	  Power Management chips.

config MFD_TPS65912
	tristate
	select MFD_CORE
	select REGMAP
	select REGMAP_IRQ

config MFD_TPS65912_I2C
	tristate "TI TPS65912 Power Management chip with I2C"
	select MFD_TPS65912
	select REGMAP_I2C
	depends on I2C
	help
	  If you say yes here you get support for the TPS65912 series of
	  PM chips with I2C interface.

config MFD_TPS65912_SPI
	tristate "TI TPS65912 Power Management chip with SPI"
	select MFD_TPS65912
	select REGMAP_SPI
	depends on SPI_MASTER
	help
	  If you say yes here you get support for the TPS65912 series of
	  PM chips with SPI interface.

config MFD_TPS6594
	tristate
	select MFD_CORE
	select REGMAP
	select REGMAP_IRQ

config MFD_TPS6594_I2C
	tristate "TI TPS6594 Power Management chip with I2C"
	select MFD_TPS6594
	select REGMAP_I2C
	select CRC8
	depends on I2C
	help
	  If you say yes here you get support for the TPS6594 series of
	  PM chips with I2C interface.

	  This driver can also be built as a module.  If so, the module
	  will be called tps6594-i2c.

config MFD_TPS6594_SPI
	tristate "TI TPS6594 Power Management chip with SPI"
	select MFD_TPS6594
	select REGMAP_SPI
	select CRC8
	depends on SPI_MASTER
	help
	  If you say yes here you get support for the TPS6594 series of
	  PM chips with SPI interface.

	  This driver can also be built as a module.  If so, the module
	  will be called tps6594-spi.

config TWL4030_CORE
	bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
	depends on I2C=y
	select IRQ_DOMAIN
	select REGMAP_I2C
	help
	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
	  This core driver provides register access and IRQ handling
	  facilities, and registers devices for the various functions
	  so that function-specific drivers can bind to them.

	  These multi-function chips are found on many OMAP2 and OMAP3
	  boards, providing power management, RTC, GPIO, keypad, a
	  high speed USB OTG transceiver, an audio codec (on most
	  versions) and many other features.

config TWL4030_POWER
	bool "TI TWL4030 power resources"
	depends on TWL4030_CORE && ARM
	help
	  Say yes here if you want to use the power resources on the
	  TWL4030 family chips.  Most of these resources are regulators,
	  which have a separate driver; some are control signals, such
	  as clock request handshaking.

	  This driver uses board-specific data to initialize the resources
	  and load scripts controlling which resources are switched off/on
	  or reset when a sleep, wakeup or warm reset event occurs.

config MFD_TWL4030_AUDIO
	bool "TI TWL4030 Audio"
	depends on TWL4030_CORE
	select MFD_CORE
	default n

config TWL6040_CORE
	bool "TI TWL6040 audio codec"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	default n
	help
	  Say yes here if you want support for Texas Instruments TWL6040 audio
	  codec.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device (audio, vibra).

config MENELAUS
	bool "TI TWL92330/Menelaus PM chip"
	depends on I2C=y && ARCH_OMAP2
	help
	  If you say yes here you get support for the Texas Instruments
	  TWL92330/Menelaus Power Management chip. This include voltage
	  regulators, Dual slot memory card transceivers, real-time clock
	  and other features that are often used in portable devices like
	  cell phones and PDAs.

config MFD_WL1273_CORE
	tristate "TI WL1273 FM radio"
	depends on I2C
	select MFD_CORE
	default n
	help
	  This is the core driver for the TI WL1273 FM radio. This MFD
	  driver connects the radio-wl1273 V4L2 module and the wl1273
	  audio codec.

config MFD_LM3533
	tristate "TI/National Semiconductor LM3533 Lighting Power chip"
	depends on I2C
	select MFD_CORE
	select REGMAP_I2C
	help
	  Say yes here to enable support for National Semiconductor / TI
	  LM3533 Lighting Power chips.

	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the LED,
	  backlight or ambient-light-sensor functionality of the device.

config MFD_TIMBERDALE
	tristate "Timberdale FPGA"
	select MFD_CORE
	depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
	help
	This is the core driver for the timberdale FPGA. This device is a
	multifunction device which exposes numerous platform devices.

	The timberdale FPGA can be found on the Intel Atom development board
	for in-vehicle infontainment, called Russellville.

config MFD_TC3589X
	bool "Toshiba TC35892 and variants"
	depends on I2C=y
	depends on OF
	select MFD_CORE
	help
	  Support for the Toshiba TC35892 and variants I/O Expander.

	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_TQMX86
	tristate "TQ-Systems IO controller TQMX86"
	select MFD_CORE
	help
	  Say yes here to enable support for various functions of the
	  TQ-Systems IO controller and watchdog device, found on their
	  ComExpress CPU modules.

config MFD_VX855
	tristate "VIA VX855/VX875 integrated south bridge"
	depends on PCI
	select MFD_CORE
	help
	  Say yes here to enable support for various functions of the
	  VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
	  and/or vx855_gpio drivers for this to do anything useful.

config MFD_LOCHNAGAR
	bool "Cirrus Logic Lochnagar Audio Development Board"
	select MFD_CORE
	select REGMAP_I2C
	depends on I2C=y && OF
	help
	  Support for Cirrus Logic Lochnagar audio development board.

config MFD_ARIZONA
	select REGMAP
	select REGMAP_IRQ
	select MFD_CORE
	tristate

config MFD_ARIZONA_I2C
	tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
	select MFD_ARIZONA
	select REGMAP_I2C
	depends on I2C
	help
	  Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
	  audio SoC core functionality controlled via I2C.

config MFD_ARIZONA_SPI
	tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
	select MFD_ARIZONA
	select REGMAP_SPI
	depends on SPI_MASTER
	help
	  Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
	  audio SoC core functionality controlled via SPI.

config MFD_CS47L24
	bool "Cirrus Logic CS47L24 and WM1831"
	depends on MFD_ARIZONA
	help
	  Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC

config MFD_WM5102
	bool "Wolfson Microelectronics WM5102"
	depends on MFD_ARIZONA
	help
	  Support for Wolfson Microelectronics WM5102 low power audio SoC

config MFD_WM5110
	bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
	depends on MFD_ARIZONA
	help
	  Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
	  low power audio SoC

config MFD_WM8997
	bool "Wolfson Microelectronics WM8997"
	depends on MFD_ARIZONA
	help
	  Support for Wolfson Microelectronics WM8997 low power audio SoC

config MFD_WM8998
	bool "Wolfson Microelectronics WM8998"
	depends on MFD_ARIZONA
	help
	  Support for Wolfson Microelectronics WM8998 low power audio SoC

config MFD_WM8400
	bool "Wolfson Microelectronics WM8400"
	select MFD_CORE
	depends on I2C=y
	select REGMAP_I2C
	help
	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
	  CODEC.  This driver provides common support for accessing
	  the device, additional drivers must be enabled in order to use
	  the functionality of the device.

config MFD_WM831X
	bool

config MFD_WM831X_I2C
	bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
	select MFD_CORE
	select MFD_WM831X
	select REGMAP_I2C
	select IRQ_DOMAIN
	depends on I2C=y
	help
	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
	  when controlled using I2C.  This driver provides common support
	  for accessing the device, additional drivers must be enabled in
	  order to use the functionality of the device.

config MFD_WM831X_SPI
	bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
	select MFD_CORE
	select MFD_WM831X
	select REGMAP_SPI
	select IRQ_DOMAIN
	depends on SPI_MASTER
	help
	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
	  when controlled using SPI.  This driver provides common support
	  for accessing the device, additional drivers must be enabled in
	  order to use the functionality of the device.

config MFD_WM8350
	bool

config MFD_WM8350_I2C
	bool "Wolfson Microelectronics WM8350 with I2C"
	select MFD_WM8350
	select REGMAP_I2C
	depends on I2C=y
	help
	  The WM8350 is an integrated audio and power management
	  subsystem with watchdog and RTC functionality for embedded
	  systems.  This option enables core support for the WM8350 with
	  I2C as the control interface.  Additional options must be
	  selected to enable support for the functionality of the chip.

config MFD_WM8994
	tristate "Wolfson Microelectronics WM8994"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C
	help
	  The WM8994 is a highly integrated hi-fi CODEC designed for
	  smartphone applications.  As well as audio functionality it
	  has on board GPIO and regulator functionality which is
	  supported via the relevant subsystems.  This driver provides
	  core support for the WM8994, in order to use the actual
	  functionality of the device other drivers must be enabled.

config MFD_WM97xx
	tristate "Wolfson Microelectronics WM97xx"
	select MFD_CORE
	select REGMAP_AC97
	select AC97_BUS_COMPAT
	depends on AC97_BUS_NEW
	help
	  The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
	  designed for smartphone applications.  As well as audio functionality
	  it has on board GPIO and a touchscreen functionality which is
	  supported via the relevant subsystems.  This driver provides core
	  support for the WM97xx, in order to use the actual functionality of
	  the device other drivers must be enabled.

config MFD_STW481X
	tristate "Support for ST Microelectronics STw481x"
	depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
	select REGMAP_I2C
	select MFD_CORE
	help
	  Select this option to enable the STw481x chip driver used
	  in various ST Microelectronics and ST-Ericsson embedded
	  Nomadik series.

config MFD_ROHM_BD718XX
	tristate "ROHM BD71837 Power Management IC"
	depends on I2C=y
	depends on OF
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  Select this option to get support for the ROHM BD71837
	  Power Management ICs. BD71837 is designed to power processors like
	  NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring
	  and emergency shut down as well as 32,768KHz clock output.

config MFD_ROHM_BD71828
	tristate "ROHM BD71828 and BD71815 Power Management IC"
	depends on I2C=y
	depends on OF
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  Select this option to get support for the ROHM BD71828 and BD71815
	  Power Management ICs. BD71828GW and BD71815AGW are single-chip power
	  management ICs mainly for battery-powered portable devices.
	  The BD71828 integrates 7 buck converters and 7 LDOs. The BD71815
	  has 5 bucks, 7 LDOs, and a boost for driving LEDs. Both ICs provide
	  also a single-cell linear charger, a Coulomb counter, a real-time
	  clock (RTC), GPIOs and a 32.768 kHz clock gate.

config MFD_ROHM_BD957XMUF
	tristate "ROHM BD9576MUF and BD9573MUF Power Management ICs"
	depends on I2C=y
	depends on OF
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  Select this option to get support for the ROHM BD9576MUF and
	  BD9573MUF Power Management ICs. BD9576 and BD9573 are primarily
	  designed to be used to power R-Car series processors.

config MFD_STM32_LPTIMER
	tristate "Support for STM32 Low-Power Timer"
	depends on (ARCH_STM32 && OF) || COMPILE_TEST
	select MFD_CORE
	select REGMAP
	select REGMAP_MMIO
	help
	  Select this option to enable STM32 Low-Power Timer driver
	  used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
	  resources are also dealt with here.

	  To compile this driver as a module, choose M here: the
	  module will be called stm32-lptimer.

config MFD_STM32_TIMERS
	tristate "Support for STM32 Timers"
	depends on (ARCH_STM32 && OF) || COMPILE_TEST
	select MFD_CORE
	select REGMAP
	select REGMAP_MMIO
	help
	  Select this option to enable STM32 timers driver used
	  for PWM and IIO Timer. This driver allow to share the
	  registers between the others drivers.

config MFD_STPMIC1
	tristate "Support for STPMIC1 PMIC"
	depends on (I2C=y && OF)
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on
	  key, watchdog and regulator functionalities which are supported via
	  the relevant subsystems. This driver provides core support for the
	  STPMIC1. In order to use the actual functionality of the device other
	  drivers must be enabled.

	  To compile this driver as a module, choose M here: the
	  module will be called stpmic1.

config MFD_STMFX
	tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)"
	depends on I2C
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	help
	  Support for the STMicroelectronics Multi-Function eXpander.

	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_WCD934X
	tristate "Support for WCD9340/WCD9341 Codec"
	depends on SLIMBUS
	select REGMAP
	select REGMAP_SLIMBUS
	select REGMAP_IRQ
	select MFD_CORE
	help
	  Support for the Qualcomm WCD9340/WCD9341 Codec.
	  This driver provides common support WCD934x audio codec and its
	  associated Pin Controller, Soundwire Controller and Audio codec.

config MFD_ATC260X
	tristate
	select MFD_CORE
	select REGMAP
	select REGMAP_IRQ

config MFD_ATC260X_I2C
	tristate "Actions Semi ATC260x PMICs with I2C"
	select MFD_ATC260X
	select REGMAP_I2C
	depends on I2C
	help
	  Support for the Actions Semi ATC260x PMICs controlled via I2C.

	  This driver provides common support for accessing the ATC2603C
	  and ATC2609A chip variants, additional drivers must be enabled
	  in order to use the functionality of the device.

config MFD_KHADAS_MCU
	tristate "Support for Khadas System control Microcontroller"
	depends on I2C
	depends on ARCH_MESON || ARCH_ROCKCHIP || COMPILE_TEST
	select MFD_CORE
	select REGMAP_I2C
	help
	  Support for the Khadas System control Microcontroller interface
	  present on their VIM and Edge boards.

	  This Microcontroller is present on the Khadas VIM1, VIM2, VIM3 and
	  Edge boards.

	  It provides multiple boot control features like password check,
	  power-on options, power-off control and system FAN control on recent
	  boards.

	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_ACER_A500_EC
	tristate "Support for Acer Iconia Tab A500 Embedded Controller"
	depends on I2C
	depends on (ARCH_TEGRA_2x_SOC && OF) || COMPILE_TEST
	select MFD_CORE
	select REGMAP
	help
	  Support for Embedded Controller found on Acer Iconia Tab A500.
	  The controller itself is ENE KB930, it is running firmware
	  customized for the specific needs of the Acer A500 hardware.

config MFD_QCOM_PM8008
	tristate "QCOM PM8008 Power Management IC"
	depends on I2C && OF
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Select this option to get support for the Qualcomm Technologies, Inc.
	  PM8008 PMIC chip. PM8008 is a dedicated camera PMIC that integrates
	  all the necessary power management, housekeeping, and interface
	  support functions into a single IC. This driver provides common
	  support for accessing the device by instantiating all the child nodes
	  under it in the device tree. Additional drivers must be enabled in
	  order to use the functionality of the device.

menu "Multimedia Capabilities Port drivers"
	depends on ARCH_SA1100

config MCP
	tristate

# Interface drivers
config MCP_SA11X0
	tristate "Support SA11x0 MCP interface"
	depends on ARCH_SA1100
	select MCP

# Chip drivers
config MCP_UCB1200
	tristate "Support for UCB1200 / UCB1300"
	depends on MCP_SA11X0
	select MCP

config MCP_UCB1200_TS
	tristate "Touchscreen interface support"
	depends on MCP_UCB1200 && INPUT

endmenu

config MFD_VEXPRESS_SYSREG
	tristate "Versatile Express System Registers"
	depends on VEXPRESS_CONFIG && GPIOLIB
	default y
	select GPIO_GENERIC_PLATFORM
	select MFD_CORE
	select MFD_SYSCON
	help
	  System Registers are the platform configuration block
	  on the ARM Ltd. Versatile Express board.

config RAVE_SP_CORE
	tristate "RAVE SP MCU core driver"
	depends on SERIAL_DEV_BUS
	select CRC_CCITT
	help
	  Select this to get support for the Supervisory Processor
	  device found on several devices in RAVE line of hardware.

config SGI_MFD_IOC3
	bool "SGI IOC3 core driver"
	depends on PCI && MIPS && 64BIT
	select MFD_CORE
	help
	  This option enables basic support for the SGI IOC3-based
	  controller cards.  This option does not enable any specific
	  functions on such a card, but provides necessary infrastructure
	  for other drivers to utilize.

	  If you have an SGI Origin, Octane, or a PCI IOC3 card,
	  then say Y. Otherwise say N.

config MFD_INTEL_M10_BMC_CORE
        tristate
        select MFD_CORE
        select REGMAP
        default n

config MFD_INTEL_M10_BMC_SPI
        tristate "Intel MAX 10 Board Management Controller with SPI"
        depends on SPI_MASTER
        select MFD_INTEL_M10_BMC_CORE
        select REGMAP_SPI_AVMM
        help
          Support for the Intel MAX 10 board management controller using the
          SPI interface.

          This driver provides common support for accessing the device,
          additional drivers must be enabled in order to use the functionality
          of the device.

config MFD_INTEL_M10_BMC_PMCI
	tristate "Intel MAX 10 Board Management Controller with PMCI"
	depends on FPGA_DFL
	select MFD_INTEL_M10_BMC_CORE
	select REGMAP
	help
	  Support for the Intel MAX 10 board management controller via PMCI.

	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_RSMU_I2C
	tristate "Renesas Synchronization Management Unit with I2C"
	depends on I2C && OF
	select MFD_CORE
	select REGMAP_I2C
	help
	  Support for the Renesas Synchronization Management Unit, such as
	  Clockmatrix and 82P33XXX series. This option supports I2C as
	  the control interface.

	  This driver provides common support for accessing the device.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_RSMU_SPI
	tristate "Renesas Synchronization Management Unit with SPI"
	depends on SPI && OF
	select MFD_CORE
	select REGMAP_SPI
	help
	  Support for the Renesas Synchronization Management Unit, such as
	  Clockmatrix and 82P33XXX series. This option supports SPI as
	  the control interface.

	  This driver provides common support for accessing the device.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

endmenu
endif