summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/Kconfig
blob: 732c893c8d161815b476bf815ee689c92e3f25a9 (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
# SPDX-License-Identifier: GPL-2.0
#
# Serial device configuration
#

menu "Serial drivers"
	depends on HAS_IOMEM

config SERIAL_EARLYCON
	bool
	depends on SERIAL_CORE
	help
	  Support for early consoles with the earlycon parameter. This enables
	  the console before standard serial driver is probed. The console is
	  enabled when early_param is processed.

source "drivers/tty/serial/8250/Kconfig"

comment "Non-8250 serial port support"

config SERIAL_AMBA_PL010
	tristate "ARM AMBA PL010 serial port support"
	depends on ARM_AMBA || COMPILE_TEST
	select SERIAL_CORE
	help
	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
	  an Integrator/AP or Integrator/PP2 platform, or if you have a
	  Cirrus Logic EP93xx CPU, say Y or M here.

	  If unsure, say N.

config SERIAL_AMBA_PL010_CONSOLE
	bool "Support for console on AMBA serial port"
	depends on SERIAL_AMBA_PL010=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyAM0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_AMBA_PL011
	tristate "ARM AMBA PL011 serial port support"
	depends on ARM_AMBA
	select SERIAL_CORE
	help
	  This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
	  here.

	  If unsure, say N.

config SERIAL_AMBA_PL011_CONSOLE
	bool "Support for console on AMBA serial port"
	depends on SERIAL_AMBA_PL011=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyAMA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_EARLYCON_SEMIHOST
	bool "Early console using Arm compatible semihosting"
	depends on ARM64 || ARM || RISCV
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Support for early debug console using Arm compatible semihosting.
	  This enables the console before standard serial driver is probed.
	  This is enabled with "earlycon=smh" on the kernel command line.
	  The console is enabled when early_param is processed.

config SERIAL_EARLYCON_RISCV_SBI
	bool "Early console using RISC-V SBI"
	depends on RISCV_SBI_V01
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Support for early debug console using RISC-V SBI. This enables
	  the console before standard serial driver is probed. This is enabled
	  with "earlycon=sbi" on the kernel command line. The console is
	  enabled when early_param is processed.

config SERIAL_SB1250_DUART
	tristate "BCM1xxx on-chip DUART serial support"
	depends on SIBYTE_SB1xxx_SOC=y
	select SERIAL_CORE
	default y
	help
	  Support for the asynchronous serial interface (DUART) included in
	  the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
	  the letter D in DUART stands for "dual", which is how the device
	  is implemented.  Depending on the SOC configuration there may be
	  one or more DUARTs available of which all are handled.

	  If unsure, say Y.  To compile this driver as a module, choose M here:
	  the module will be called sb1250-duart.

config SERIAL_SB1250_DUART_CONSOLE
	bool "Support for console on a BCM1xxx DUART serial port"
	depends on SERIAL_SB1250_DUART=y
	select SERIAL_CORE_CONSOLE
	default y
	help
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  If unsure, say Y.

config SERIAL_ATMEL
	bool "AT91 on-chip serial port support"
	depends on COMMON_CLK
	depends on ARCH_AT91 || COMPILE_TEST
	select SERIAL_CORE
	select SERIAL_MCTRL_GPIO if GPIOLIB
	select MFD_AT91_USART
	help
	  This enables the driver for the on-chip UARTs of the Atmel
	  AT91 processors.

config SERIAL_ATMEL_CONSOLE
	bool "Support for console on AT91 serial port"
	depends on SERIAL_ATMEL=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say Y here if you wish to use an on-chip UART on a Atmel
	  AT91 processor as the system console (the system
	  console is the device which receives all kernel messages and
	  warnings and which allows logins in single user mode).

config SERIAL_ATMEL_PDC
	bool "Support DMA transfers on AT91 serial port"
	depends on SERIAL_ATMEL
	default y
	help
	  Say Y here if you wish to use the PDC to do DMA transfers to
	  and from the Atmel AT91 serial port. In order to
	  actually use DMA transfers, make sure that the use_dma_tx
	  and use_dma_rx members in the atmel_uart_data struct is set
	  appropriately for each port.

	  Note that break and error handling currently doesn't work
	  properly when DMA is enabled. Make sure that ports where
	  this matters don't use DMA.

config SERIAL_ATMEL_TTYAT
	bool "Install as device ttyATn instead of ttySn"
	depends on SERIAL_ATMEL=y
	help
	  Say Y here if you wish to have the internal AT91 UARTs
	  appear as /dev/ttyATn (major 204, minor starting at 154)
	  instead of the normal /dev/ttySn (major 4, minor starting at
	  64). This is necessary if you also want other UARTs, such as
	  external 8250/16C550 compatible UARTs.
	  The ttySn nodes are legally reserved for the 8250 serial driver
	  but are often misused by other serial drivers.

	  To use this, you should create suitable ttyATn device nodes in
	  /dev/, and pass "console=ttyATn" to the kernel.

	  Say Y if you have an external 8250/16C550 UART.  If unsure, say N.

config SERIAL_KGDB_NMI
	bool "Serial console over KGDB NMI debugger port"
	depends on KGDB_SERIAL_CONSOLE
	help
	  This special driver allows you to temporary use NMI debugger port
	  as a normal console (assuming that the port is attached to KGDB).

	  Unlike KDB's disable_nmi command, with this driver you are always
	  able to go back to the debugger using KGDB escape sequence ($3#33).
	  This is because this console driver processes the input in NMI
	  context, and thus is able to intercept the magic sequence.

	  Note that since the console interprets input and uses polling
	  communication methods, for things like PPP you still must fully
	  detach debugger port from the KGDB NMI (i.e. disable_nmi), and
	  use raw console.

	  If unsure, say N.

config SERIAL_MESON
	tristate "Meson serial port support"
	depends on ARCH_MESON || COMPILE_TEST
	select SERIAL_CORE
	help
	  This enables the driver for the on-chip UARTs of the Amlogic
	  MesonX processors.

config SERIAL_MESON_CONSOLE
	bool "Support for console on meson"
	depends on SERIAL_MESON
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say Y here if you wish to use a Amlogic MesonX UART as the
	  system console (the system console is the device which
	  receives all kernel messages and warnings and which allows
	  logins in single user mode) as /dev/ttyAMLx.

config SERIAL_CLPS711X
	tristate "CLPS711X serial port support"
	depends on ARCH_CLPS711X || COMPILE_TEST
	select SERIAL_CORE
	select SERIAL_MCTRL_GPIO if GPIOLIB
	help
	  This enables the driver for the on-chip UARTs of the Cirrus
	  Logic EP711x/EP721x/EP731x processors.

config SERIAL_CLPS711X_CONSOLE
	bool "Support for console on CLPS711X serial port"
	depends on SERIAL_CLPS711X=y
	select SERIAL_CORE_CONSOLE
	help
	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyCL1".

config SERIAL_SAMSUNG
	tristate "Samsung SoC serial support"
	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
	select SERIAL_CORE
	help
	  Support for the on-chip UARTs on the Samsung
	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
	  these ports, depending on how the serial port pins are configured.

	  Choose Y/M here only if you build for such SoC.

config SERIAL_SAMSUNG_UARTS
	int
	depends on SERIAL_SAMSUNG
	default 4
	help
	  Select the number of available UART ports for the Samsung S3C
	  serial driver

config SERIAL_SAMSUNG_CONSOLE
	bool "Support for console on Samsung SoC serial port"
	depends on SERIAL_SAMSUNG
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Allow selection of the S3C24XX on-board serial ports for use as
	  an virtual console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySACx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_TEGRA
	tristate "NVIDIA Tegra20/30 SoC serial controller"
	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
	select SERIAL_CORE
	help
	  Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
	  providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
	  provide all of these ports, depending on how the serial port
	  are enabled). This driver uses the APB DMA to achieve higher baudrate
	  and better performance.

config SERIAL_TEGRA_TCU
	tristate "NVIDIA Tegra Combined UART"
	depends on MAILBOX
	depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
	select SERIAL_CORE
	help
	  Support for the mailbox-based TCU (Tegra Combined UART) serial port.
	  TCU is a virtual serial port that allows multiplexing multiple data
	  streams into a single hardware serial port.

config SERIAL_TEGRA_TCU_CONSOLE
	bool "Support for console on a Tegra TCU serial port"
	depends on SERIAL_TEGRA_TCU=y
	select SERIAL_CORE_CONSOLE
	default y
	help
	  If you say Y here, it will be possible to use a the Tegra TCU as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  If unsure, say Y.

config SERIAL_MAX3100
	tristate "MAX3100 support"
	depends on SPI
	select SERIAL_CORE
	help
	  MAX3100 chip support

config SERIAL_MAX310X
	tristate "MAX310X support"
	depends on SPI_MASTER
	select SERIAL_CORE
	select REGMAP_SPI if SPI_MASTER
	select REGMAP_I2C if I2C
	help
	  This selects support for an advanced UART from Maxim (Dallas).
	  Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
	  Each IC contains 128 words each of receive and transmit FIFO
	  that can be controlled through I2C or high-speed SPI.

	  Say Y here if you want to support this ICs.

config SERIAL_DZ
	bool "DECstation DZ serial driver"
	depends on MACH_DECSTATION && 32BIT
	select SERIAL_CORE
	default y
	help
	  DZ11-family serial controllers for DECstations and VAXstations,
	  including the DC7085, M7814, and M7819.

config SERIAL_DZ_CONSOLE
	bool "Support console on DECstation DZ serial driver"
	depends on SERIAL_DZ=y
	select SERIAL_CORE_CONSOLE
	default y
	help
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  Note that the firmware uses ttyS3 as the serial console on
	  DECstations that use this driver.

	  If unsure, say Y.

config SERIAL_ZS
	tristate "DECstation Z85C30 serial support"
	depends on MACH_DECSTATION
	select SERIAL_CORE
	default y
	help
	  Support for the Zilog 85C350 serial communications controller used
	  for serial ports in newer DECstation systems.  These include the
	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
	  systems except from model 200.

	  If unsure, say Y.  To compile this driver as a module, choose M here:
	  the module will be called zs.

config SERIAL_ZS_CONSOLE
	bool "Support for console on a DECstation Z85C30 serial port"
	depends on SERIAL_ZS=y
	select SERIAL_CORE_CONSOLE
	default y
	help
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  Note that the firmware uses ttyS1 as the serial console on the
	  Maxine and ttyS3 on the others using this driver.

	  If unsure, say Y.

config SERIAL_21285
	tristate "DC21285 serial port support"
	depends on FOOTBRIDGE
	select SERIAL_CORE
	help
	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
	  PCI bridge you can enable its onboard serial port by enabling this
	  option.

config SERIAL_21285_CONSOLE
	bool "Console on DC21285 serial port"
	depends on SERIAL_21285=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the 21285 footbridge you can
	  make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyFB". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_PXA
	bool "PXA serial port support (DEPRECATED)"
	depends on ARCH_PXA || ARCH_MMP
	select SERIAL_CORE
	select SERIAL_8250_PXA if SERIAL_8250=y
	select SERIAL_PXA_NON8250 if !SERIAL_8250=y
	help
	  If you have a machine based on an Intel XScale PXA2xx CPU you
	  can enable its onboard serial ports by enabling this option.

	  Unless you have a specific need, you should use SERIAL_8250_PXA
	  instead of this.

config SERIAL_PXA_NON8250
	bool
	depends on !SERIAL_8250 || COMPILE_TEST

config SERIAL_PXA_CONSOLE
	bool "Console on PXA serial port (DEPRECATED)"
	depends on SERIAL_PXA
	select SERIAL_CORE_CONSOLE
	select SERIAL_8250_CONSOLE if SERIAL_8250=y
	help
	  If you have enabled the serial port on the Intel XScale PXA
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

	  Unless you have a specific need, you should use SERIAL_8250_PXA
	  and SERIAL_8250_CONSOLE instead of this.

config SERIAL_SA1100
	bool "SA1100 serial port support"
	depends on ARCH_SA1100
	select SERIAL_CORE
	select SERIAL_MCTRL_GPIO if GPIOLIB
	help
	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
	  can enable its onboard serial port by enabling this option.
	  Please read <file:Documentation/arch/arm/sa1100/serial_uart.rst> for
	  further info.

config SERIAL_SA1100_CONSOLE
	bool "Console on SA1100 serial port"
	depends on SERIAL_SA1100
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_IMX
	tristate "IMX serial port support"
	depends on ARCH_MXC || COMPILE_TEST
	select SERIAL_CORE
	select RATIONAL
	select SERIAL_MCTRL_GPIO if GPIOLIB
	help
	  If you have a machine based on a Motorola IMX CPU you
	  can enable its onboard serial port by enabling this option.

config SERIAL_IMX_CONSOLE
	tristate "Console on IMX serial port"
	depends on SERIAL_IMX
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the Freescale IMX
	  CPU you can make it the console by answering Y/M to this option.

	  Even if you say Y/M here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttymxc0". (Try "man bootparam" or see the documentation of
	  your bootloader about how to pass options to the kernel at boot time.)

config SERIAL_IMX_EARLYCON
	bool "Earlycon on IMX serial port"
	depends on ARCH_MXC || COMPILE_TEST
	depends on OF
	select SERIAL_CORE
	select SERIAL_EARLYCON
	select SERIAL_CORE_CONSOLE
	default y if SERIAL_IMX_CONSOLE
	help
	  If you have enabled the earlycon on the Freescale IMX
	  CPU you can make it the earlycon by answering Y to this option.

config SERIAL_UARTLITE
	tristate "Xilinx uartlite serial port support"
	depends on HAS_IOMEM
	select SERIAL_CORE
	help
	  Say Y here if you want to use the Xilinx uartlite serial controller.

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

config SERIAL_UARTLITE_CONSOLE
	bool "Support for console on Xilinx uartlite serial port"
	depends on SERIAL_UARTLITE=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say Y here if you wish to use a Xilinx uartlite as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

config SERIAL_UARTLITE_NR_UARTS
	int "Maximum number of uartlite serial ports"
	depends on SERIAL_UARTLITE
	range 1 256
	default 1
	help
	  Set this to the number of uartlites in your system, or the number
	  you think you might implement.

config SERIAL_SUNCORE
	bool
	depends on SPARC
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	default y

config SERIAL_SUNZILOG
	tristate "Sun Zilog8530 serial support"
	depends on SPARC
	help
	  This driver supports the Zilog8530 serial ports found on many Sparc
	  systems.  Say Y or M if you want to be able to these serial ports.

config SERIAL_SUNZILOG_CONSOLE
	bool "Console on Sun Zilog8530 serial port"
	depends on SERIAL_SUNZILOG=y
	help
	  If you would like to be able to use the Zilog8530 serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_SUNSU
	tristate "Sun SU serial support"
	depends on SPARC && PCI
	help
	  This driver supports the 8250 serial ports that run the keyboard and
	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
	  to these serial ports.

config SERIAL_SUNSU_CONSOLE
	bool "Console on Sun SU serial port"
	depends on SERIAL_SUNSU=y
	help
	  If you would like to be able to use the SU serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_MUX
	tristate "Serial MUX support"
	depends on GSC
	select SERIAL_CORE
	default y
	help
	  Saying Y here will enable the hardware MUX serial driver for
	  the Nova, K class systems and D class with a 'remote control card'.
	  The hardware MUX is not 8250/16550 compatible therefore the
	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
	  software console. The following steps need to be completed to use
	  the Serial MUX:

	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
		 root on this console.)
	    4. Change the kernel command console parameter to: console=ttyB0

config SERIAL_MUX_CONSOLE
	bool "Support for console on serial MUX"
	depends on SERIAL_MUX=y
	select SERIAL_CORE_CONSOLE
	default y

config SERIAL_SUNSAB
	tristate "Sun Siemens SAB82532 serial support"
	depends on SPARC && PCI
	help
	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
	  serial ports.

config SERIAL_SUNSAB_CONSOLE
	bool "Console on Sun Siemens SAB82532 serial port"
	depends on SERIAL_SUNSAB=y
	help
	  If you would like to be able to use the SAB82532 serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_SUNHV
	bool "Sun4v Hypervisor Console support"
	depends on SPARC64
	help
	  This driver supports the console device found on SUN4V Sparc
	  systems.  Say Y if you want to be able to use this device.

config SERIAL_IP22_ZILOG
	tristate "SGI Zilog8530 serial support"
	depends on SGI_HAS_ZILOG
	select SERIAL_CORE
	help
	  This driver supports the Zilog8530 serial ports found on SGI
	  systems.  Say Y or M if you want to be able to these serial ports.

config SERIAL_IP22_ZILOG_CONSOLE
	bool "Console on SGI Zilog8530 serial port"
	depends on SERIAL_IP22_ZILOG=y
	select SERIAL_CORE_CONSOLE

config SERIAL_SH_SCI
	tristate "SuperH SCI(F) serial port support"
	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
	select SERIAL_CORE
	select SERIAL_MCTRL_GPIO if GPIOLIB

config SERIAL_SH_SCI_NR_UARTS
	int "Maximum number of SCI(F) serial ports" if EXPERT
	range 1 64 if 64BIT
	range 1 32 if !64BIT
	depends on SERIAL_SH_SCI
	default "10" if SUPERH
	default "18" if ARCH_RENESAS
	default "2"

config SERIAL_SH_SCI_CONSOLE
	bool "Support for console on SuperH SCI(F)" if EXPERT
	depends on SERIAL_SH_SCI=y
	select SERIAL_CORE_CONSOLE
	default y

config SERIAL_SH_SCI_EARLYCON
	bool "Support for early console on SuperH SCI(F)" if EXPERT
	depends on SERIAL_SH_SCI=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default ARCH_RENESAS

config SERIAL_SH_SCI_DMA
	bool "DMA support" if EXPERT
	depends on SERIAL_SH_SCI && DMA_ENGINE
	default ARCH_RENESAS

config SERIAL_HS_LPC32XX
	tristate "LPC32XX high speed serial port support"
	depends on ARCH_LPC32XX || COMPILE_TEST
	depends on OF
	select SERIAL_CORE
	help
	  Support for the LPC32XX high speed serial ports (up to 900kbps).
	  Those are UARTs completely different from the Standard UARTs on the
	  LPC32XX SoC.
	  Choose M or Y here to build this driver.

config SERIAL_HS_LPC32XX_CONSOLE
	bool "Enable LPC32XX high speed UART serial console"
	depends on SERIAL_HS_LPC32XX=y
	select SERIAL_CORE_CONSOLE
	help
	  If you would like to be able to use one of the high speed serial
	  ports on the LPC32XX as the console, you can do so by answering
	  Y to this option.

config SERIAL_CORE
	tristate

config SERIAL_CORE_CONSOLE
	bool

config CONSOLE_POLL
	bool

config SERIAL_MCF
	bool "Coldfire serial support"
	depends on COLDFIRE
	select SERIAL_CORE
	help
	  This serial driver supports the Freescale Coldfire serial ports.

config SERIAL_MCF_BAUDRATE
	int "Default baudrate for Coldfire serial ports"
	depends on SERIAL_MCF
	default 19200
	help
	  This setting lets you define what the default baudrate is for the
	  ColdFire serial ports. The usual default varies from board to board,
	  and this setting is a way of catering for that.

config SERIAL_MCF_CONSOLE
	bool "Coldfire serial console support"
	depends on SERIAL_MCF
	select SERIAL_CORE_CONSOLE
	help
	  Enable a ColdFire internal serial port to be the system console.

config SERIAL_PMACZILOG
	tristate "Mac or PowerMac z85c30 ESCC support"
	depends on (M68K && MAC) || PPC_PMAC
	select SERIAL_CORE
	help
	  This driver supports the Zilog z85C30 serial ports found on
	  (Power)Mac machines.
	  Say Y or M if you want to be able to these serial ports.

config SERIAL_PMACZILOG_TTYS
	bool "Use ttySn device nodes for Zilog z85c30"
	depends on SERIAL_PMACZILOG
	help
	  The pmac_zilog driver for the z85C30 chip on many powermacs
	  historically used the device numbers for /dev/ttySn.  The
	  8250 serial port driver also uses these numbers, which means
	  the two drivers being unable to coexist; you could not use
	  both z85C30 and 8250 type ports at the same time.

	  If this option is not selected, the pmac_zilog driver will
	  use the device numbers allocated for /dev/ttyPZn.  This allows
	  the pmac_zilog and 8250 drivers to co-exist, but may cause
	  existing userspace setups to break.  Programs that need to
	  access the built-in serial ports on powermacs will need to
	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.

	  If you enable this option, any z85c30 ports in the system will
	  be registered as ttyS0 onwards as in the past, and you will be
	  unable to use the 8250 module for PCMCIA or other 16C550-style
	  UARTs.

	  Say N unless you need the z85c30 ports on your (Power)Mac
	  to appear as /dev/ttySn.

config SERIAL_PMACZILOG_CONSOLE
	bool "Console on Mac or PowerMac z85c30 serial port"
	depends on SERIAL_PMACZILOG=y
	select SERIAL_CORE_CONSOLE
	help
	  If you would like to be able to use the z85c30 serial port
	  on your (Power)Mac as the console, you can do so by answering
	  Y to this option.

config SERIAL_CPM
	tristate "CPM SCC/SMC serial port support"
	depends on CPM2 || CPM1
	select SERIAL_CORE
	help
	  This driver supports the SCC and SMC serial ports on Motorola 
	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)

config SERIAL_CPM_CONSOLE
	bool "Support for console on CPM SCC/SMC serial port"
	depends on SERIAL_CPM=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_PIC32
	tristate "Microchip PIC32 serial support"
	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
	select SERIAL_CORE
	help
	  If you have a PIC32, this driver supports the serial ports.

	  Say Y or M to use PIC32 serial ports, otherwise say N. Note that
	  to use a serial port as a console, this must be included in kernel and
	  not as a module.

config SERIAL_PIC32_CONSOLE
	bool "PIC32 serial console support"
	depends on SERIAL_PIC32=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have a PIC32, this driver supports the putting a console on one
	  of the serial ports.

	  Say Y to use the PIC32 console, otherwise say N.

config SERIAL_MPC52xx
	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
	depends on PPC_MPC52xx || PPC_MPC512x
	select SERIAL_CORE
	help
	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
	  like to use them, you must answer Y or M to this option. Note that
	  for use as console, it must be included in kernel and not as a
	  module.

config SERIAL_MPC52xx_CONSOLE
	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
	depends on SERIAL_MPC52xx=y
	select SERIAL_CORE_CONSOLE
	help
	  Select this options if you'd like to use one of the PSC serial port
	  of the Freescale MPC52xx family as a console.

config SERIAL_MPC52xx_CONSOLE_BAUD
	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
	depends on SERIAL_MPC52xx_CONSOLE=y
	default "9600"
	help
	  Select the MPC52xx console baud rate.
	  This value is only used if the bootloader doesn't pass in the
	  console baudrate

config SERIAL_ICOM
	tristate "IBM Multiport Serial Adapter"
	depends on PCI
	depends on PPC_PSERIES || COMPILE_TEST
	select SERIAL_CORE
	select FW_LOADER
	help
	  This driver is for a family of multiport serial adapters
	  including 2 port RVX, 2 port internal modem, 4 port internal
	  modem and a split 1 port RVX and 1 port internal modem.

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

config SERIAL_TXX9
	bool "TMPTX39XX/49XX SIO support"
	depends on HAS_TXX9_SERIAL
	select SERIAL_CORE
	default y

config HAS_TXX9_SERIAL
	bool

config SERIAL_TXX9_NR_UARTS
	int "Maximum number of TMPTX39XX/49XX SIO ports"
	depends on SERIAL_TXX9
	default "6"

config SERIAL_TXX9_CONSOLE
	bool "TMPTX39XX/49XX SIO Console support"
	depends on SERIAL_TXX9=y
	select SERIAL_CORE_CONSOLE

config SERIAL_TXX9_STDSERIAL
	bool "TX39XX/49XX SIO act as standard serial"
	depends on !SERIAL_8250 && SERIAL_TXX9

config SERIAL_JSM
	tristate "Digi International NEO and Classic PCI Support"
	depends on PCI
	select SERIAL_CORE
	help
	  This is a driver for Digi International's Neo and Classic series
	  of cards which provide multiple serial ports. You would need
	  something like this to connect more than two modems to your Linux
	  box, for instance in order to become a dial-in server. This driver
	  supports PCI boards only.

	  If you have a card like this, say Y here, otherwise say N.

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

config SERIAL_MSM
	tristate "MSM on-chip serial port support"
	depends on ARCH_QCOM || COMPILE_TEST
	select SERIAL_CORE

config SERIAL_MSM_CONSOLE
	bool "MSM serial console support"
	depends on SERIAL_MSM=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON

config SERIAL_QCOM_GENI
	tristate "QCOM on-chip GENI based serial port support"
	depends on ARCH_QCOM || COMPILE_TEST
	depends on QCOM_GENI_SE
	select SERIAL_CORE

config SERIAL_QCOM_GENI_CONSOLE
	bool "QCOM GENI Serial Console support"
	depends on SERIAL_QCOM_GENI
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Serial console driver for Qualcomm Technologies Inc's GENI based
	  QUP hardware.

config SERIAL_VT8500
	bool "VIA VT8500 on-chip serial port support"
	depends on ARCH_VT8500 || COMPILE_TEST
	select SERIAL_CORE

config SERIAL_VT8500_CONSOLE
	bool "VIA VT8500 serial console support"
	depends on SERIAL_VT8500=y
	select SERIAL_CORE_CONSOLE

config SERIAL_OMAP
	tristate "OMAP serial port support"
	depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
	select SERIAL_CORE
	help
	  If you have a machine based on an Texas Instruments OMAP CPU you
	  can enable its onboard serial ports by enabling this option.

	  By enabling this option you take advantage of dma feature available
	  with the omap-serial driver. DMA support can be enabled from platform
	  data.

config SERIAL_OMAP_CONSOLE
	bool "Console on OMAP serial port"
	depends on SERIAL_OMAP=y
	select SERIAL_CORE_CONSOLE
	help
	  Select this option if you would like to use omap serial port as
	  console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyOx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_SIFIVE
	tristate "SiFive UART support"
	depends on OF
	default ARCH_SIFIVE || ARCH_CANAAN
	select SERIAL_CORE
	help
	  Select this option if you are building a kernel for a device that
	  contains a SiFive UART IP block.  This type of UART is present on
	  SiFive FU540 SoCs, among others.

config SERIAL_SIFIVE_CONSOLE
	bool "Console on SiFive UART"
	depends on SERIAL_SIFIVE=y
	default ARCH_SIFIVE || ARCH_CANAAN
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Select this option if you would like to use a SiFive UART as the
	  system console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_LANTIQ
	tristate "Lantiq serial driver"
	depends on (LANTIQ || X86) || COMPILE_TEST
	select SERIAL_CORE
	help
	  Support for UART on Lantiq and Intel SoCs.
	  To compile this driver as a module, select M here. The
	  module will be called lantiq.

config SERIAL_LANTIQ_CONSOLE
	bool "Console on Lantiq UART"
	depends on SERIAL_LANTIQ=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Select this option if you would like to use a Lantiq UART as the
	  system console.

config SERIAL_QE
	tristate "Freescale QUICC Engine serial port support"
	depends on QUICC_ENGINE
	select SERIAL_CORE
	select FW_LOADER
	help
	  This driver supports the QE serial ports on Freescale embedded
	  PowerPC that contain a QUICC Engine.

config SERIAL_SCCNXP
	tristate "SCCNXP serial port support"
	select SERIAL_CORE
	help
	  This selects support for an advanced UART from NXP (Philips).
	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
	  SC28L202, SCC68681 and SCC68692.

config SERIAL_SCCNXP_CONSOLE
	bool "Console on SCCNXP serial port"
	depends on SERIAL_SCCNXP=y
	select SERIAL_CORE_CONSOLE
	help
	  Support for console on SCCNXP serial ports.

config SERIAL_SC16IS7XX_CORE
	tristate

config SERIAL_SC16IS7XX
	tristate "SC16IS7xx serial support"
	select SERIAL_CORE
	depends on (SPI_MASTER && !I2C) || I2C
	help
	  This selects support for SC16IS7xx serial ports.
	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
	  SC16IS760 and SC16IS762. Select supported buses using options below.

config SERIAL_SC16IS7XX_I2C
	bool "SC16IS7xx for I2C interface"
	depends on SERIAL_SC16IS7XX
	depends on I2C
	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
	select REGMAP_I2C if I2C
	default y
	help
	  Enable SC16IS7xx driver on I2C bus,
	  If required say y, and say n to i2c if not required,
	  Enabled by default to support oldconfig.
	  You must select at least one bus for the driver to be built.

config SERIAL_SC16IS7XX_SPI
	bool "SC16IS7xx for spi interface"
	depends on SERIAL_SC16IS7XX
	depends on SPI_MASTER
	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
	select REGMAP_SPI if SPI_MASTER
	help
	  Enable SC16IS7xx driver on SPI bus,
	  If required say y, and say n to spi if not required,
	  This is additional support to existing driver.
	  You must select at least one bus for the driver to be built.

config SERIAL_TIMBERDALE
	tristate "Support for timberdale UART"
	select SERIAL_CORE
	depends on X86_32 || COMPILE_TEST
	help
	Add support for UART controller on timberdale.

config SERIAL_BCM63XX
	tristate "Broadcom BCM63xx/BCM33xx UART support"
	select SERIAL_CORE
	depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
	default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
	help
	  This enables the driver for the onchip UART core found on
	  the following chipsets:

	    BCM33xx (cable modem)
	    BCM63xx/BCM63xxx (DSL)
	    BCM68xx (PON)
	    BCM7xxx (STB) - DOCSIS console

config SERIAL_BCM63XX_CONSOLE
	bool "Console on BCM63xx serial port"
	depends on SERIAL_BCM63XX=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  If you have enabled the serial port on the BCM63xx CPU
	  you can make it the console by answering Y to this option.

config SERIAL_GRLIB_GAISLER_APBUART
	tristate "GRLIB APBUART serial support"
	depends on OF && SPARC
	select SERIAL_CORE
	help
	Add support for the GRLIB APBUART serial port.

config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
	bool "Console on GRLIB APBUART serial port"
	depends on SERIAL_GRLIB_GAISLER_APBUART=y
	select SERIAL_CORE_CONSOLE
	help
	Support for running a console on the GRLIB APBUART

config SERIAL_ALTERA_JTAGUART
	tristate "Altera JTAG UART support"
	select SERIAL_CORE
	help
	  This driver supports the Altera JTAG UART port.

config SERIAL_ALTERA_JTAGUART_CONSOLE
	bool "Altera JTAG UART console support"
	depends on SERIAL_ALTERA_JTAGUART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Enable a Altera JTAG UART port to be the system console.

config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
	bool "Bypass output when no connection"
	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
	select SERIAL_CORE_CONSOLE
	help
	  Bypass console output and keep going even if there is no
	  JTAG terminal connection with the host.

config SERIAL_ALTERA_UART
	tristate "Altera UART support"
	select SERIAL_CORE
	help
	  This driver supports the Altera softcore UART port.

config SERIAL_ALTERA_UART_MAXPORTS
	int "Maximum number of Altera UART ports"
	depends on SERIAL_ALTERA_UART
	default 4
	help
	  This setting lets you define the maximum number of the Altera
	  UART ports. The usual default varies from board to board, and
	  this setting is a way of catering for that.

config SERIAL_ALTERA_UART_BAUDRATE
	int "Default baudrate for Altera UART ports"
	depends on SERIAL_ALTERA_UART
	default 115200
	help
	  This setting lets you define what the default baudrate is for the
	  Altera UART ports. The usual default varies from board to board,
	  and this setting is a way of catering for that.

config SERIAL_ALTERA_UART_CONSOLE
	bool "Altera UART console support"
	depends on SERIAL_ALTERA_UART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Enable a Altera UART port to be the system console.

config SERIAL_PCH_UART
	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
	select SERIAL_CORE
	help
	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
	  which is an IOH(Input/Output Hub) for x86 embedded processor.
	  Enabling PCH_DMA, this PCH UART works as DMA mode.

	  This driver also can be used for LAPIS Semiconductor IOH(Input/
	  Output Hub), ML7213, ML7223 and ML7831.
	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.

config SERIAL_PCH_UART_CONSOLE
	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
	depends on SERIAL_PCH_UART=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use the PCH UART as the system console
	  (the system  console is the device which receives all kernel messages and
	  warnings and which allows logins in single user mode).

config SERIAL_MXS_AUART
	tristate "MXS AUART support"
	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
	select SERIAL_CORE
	select SERIAL_MCTRL_GPIO if GPIOLIB
	help
	  This driver supports the MXS and Alphascale ASM9260 Application
	  UART (AUART) port.

config SERIAL_MXS_AUART_CONSOLE
	bool "MXS AUART console support"
	depends on SERIAL_MXS_AUART=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a MXS AUART port to be the system console.

config SERIAL_XILINX_PS_UART
	tristate "Cadence (Xilinx Zynq) UART support"
	depends on OF
	select SERIAL_CORE
	help
	  This driver supports the Cadence UART. It is found e.g. in Xilinx
	  Zynq.

config SERIAL_XILINX_PS_UART_CONSOLE
	bool "Cadence UART console support"
	depends on SERIAL_XILINX_PS_UART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Enable a Cadence UART port to be the system console.

config SERIAL_AR933X
	tristate "AR933X serial port support"
	depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
	select SERIAL_CORE
	select SERIAL_MCTRL_GPIO if GPIOLIB
	help
	  If you have an Atheros AR933X SOC based board and want to use the
	  built-in UART of the SoC, say Y to this option.

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

config SERIAL_AR933X_CONSOLE
	bool "Console on AR933X serial port"
	depends on SERIAL_AR933X=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a built-in UART port of the AR933X to be the system console.

config SERIAL_AR933X_NR_UARTS
	int "Maximum number of AR933X serial ports"
	depends on SERIAL_AR933X
	default "2"
	help
	  Set this to the number of serial ports you want the driver
	  to support.

config SERIAL_MPS2_UART_CONSOLE
	bool "MPS2 UART console support"
	depends on SERIAL_MPS2_UART
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON

config SERIAL_MPS2_UART
	bool "MPS2 UART port"
	depends on ARCH_MPS2 || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver support the UART ports on ARM MPS2.

config SERIAL_ARC
	tristate "ARC UART driver support"
	select SERIAL_CORE
	help
	  Driver for on-chip UART for ARC(Synopsys) for the legacy
	  FPGA Boards (ML50x/ARCAngel4)

config SERIAL_ARC_CONSOLE
	bool "Console on ARC UART"
	depends on SERIAL_ARC=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Enable system Console on ARC UART

config SERIAL_ARC_NR_PORTS
	int "Number of ARC UART ports"
	depends on SERIAL_ARC
	range 1 3
	default "1"
	help
	  Set this to the number of serial ports you want the driver
	  to support.

config SERIAL_RP2
	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
	depends on PCI
	select SERIAL_CORE
	help
	  This driver supports the Comtrol RocketPort EXPRESS and
	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
	  These adapters use a "RocketPort 2" ASIC that is not compatible
	  with the original RocketPort driver (CONFIG_ROCKETPORT).

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

	  If you want to compile this driver into the kernel, say Y here.  If
	  you don't have a suitable RocketPort card installed, say N.

config SERIAL_RP2_NR_UARTS
	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
	depends on SERIAL_RP2
	default "32"
	help
	  If multiple cards are present, the default limit of 32 ports may
	  need to be increased.

config SERIAL_FSL_LPUART
	tristate "Freescale lpuart serial port support"
	depends on HAS_DMA
	select SERIAL_CORE
	help
	  Support for the on-chip lpuart on some Freescale SOCs.

config SERIAL_FSL_LPUART_CONSOLE
	bool "Console on Freescale lpuart serial port"
	depends on SERIAL_FSL_LPUART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  If you have enabled the lpuart serial port on the Freescale SoCs,
	  you can make it the console by answering Y to this option.

config SERIAL_FSL_LINFLEXUART
	tristate "Freescale LINFlexD UART serial port support"
	depends on PRINTK
	select SERIAL_CORE
	help
	  Support for the on-chip LINFlexD UART on some Freescale SOCs.

config SERIAL_FSL_LINFLEXUART_CONSOLE
	bool "Console on Freescale LINFlexD UART serial port"
	depends on SERIAL_FSL_LINFLEXUART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  If you have enabled the LINFlexD UART serial port on the Freescale
	  SoCs, you can make it the console by answering Y to this option.

config SERIAL_CONEXANT_DIGICOLOR
	tristate "Conexant Digicolor CX92xxx USART serial port support"
	depends on OF
	select SERIAL_CORE
	help
	  Support for the on-chip USART on Conexant Digicolor SoCs.

config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
	bool "Console on Conexant Digicolor serial port"
	depends on SERIAL_CONEXANT_DIGICOLOR=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the USART serial port on Conexant Digicolor
	  SoCs, you can make it the console by answering Y to this option.

config SERIAL_ST_ASC
	tristate "ST ASC serial port support"
	select SERIAL_CORE
	depends on ARM || COMPILE_TEST
	help
	  This driver is for the on-chip Asynchronous Serial Controller on
	  STMicroelectronics STi SoCs.
	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
	  It support all industry standard baud rates.

	  If unsure, say N.

config SERIAL_ST_ASC_CONSOLE
	bool "Support for console on ST ASC"
	depends on SERIAL_ST_ASC=y
	select SERIAL_CORE_CONSOLE

config SERIAL_MEN_Z135
	tristate "MEN 16z135 Support"
	select SERIAL_CORE
	depends on MCB
	help
	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
	  on a MCB carrier.

	  This driver can also be build as a module. If so, the module will be called
	  men_z135_uart.ko

config SERIAL_SPRD
	tristate "Support for Spreadtrum serial"
	select SERIAL_CORE
	depends on COMMON_CLK
	help
	  This enables the driver for the Spreadtrum's serial.

config SERIAL_SPRD_CONSOLE
	bool "Spreadtrum UART console support"
	depends on SERIAL_SPRD=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Support for early debug console using Spreadtrum's serial. This enables
	  the console before standard serial driver is probed. This is enabled
	  with "earlycon" on the kernel command line. The console is
	  enabled when early_param is processed.

config SERIAL_STM32
	tristate "STMicroelectronics STM32 serial port support"
	select SERIAL_CORE
	depends on ARCH_STM32 || COMPILE_TEST
	select SERIAL_MCTRL_GPIO if GPIOLIB
	help
	  This driver is for the on-chip Serial Controller on
	  STMicroelectronics STM32 MCUs.
	  USART supports Rx & Tx functionality.
	  It support all industry standard baud rates.

	  If unsure, say N.

config SERIAL_STM32_CONSOLE
	bool "Support for console on STM32"
	depends on SERIAL_STM32=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON

config SERIAL_MVEBU_UART
	bool "Marvell EBU serial port support"
	depends on ARCH_MVEBU || COMPILE_TEST
	depends on COMMON_CLK
	select SERIAL_CORE
	help
	  This driver is for Marvell EBU SoC's UART. If you have a machine
	  based on the Armada-3700 SoC and wish to use the on-board serial
	  port,
	  say 'Y' here.
	  Otherwise, say 'N'.

config SERIAL_MVEBU_CONSOLE
	bool "Console on Marvell EBU serial port"
	depends on SERIAL_MVEBU_UART
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default y
	help
	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
	  (the system console is the device which receives all kernel messages
	  and warnings and which allows logins in single user mode)
	  Otherwise, say 'N'.

config SERIAL_OWL
	tristate "Actions Semi Owl serial port support"
	depends on ARCH_ACTIONS || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
	  Say 'Y' here if you wish to use the on-board serial port.
	  Otherwise, say 'N'.

config SERIAL_OWL_CONSOLE
	bool "Console on Actions Semi Owl serial port"
	depends on SERIAL_OWL=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default y
	help
	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
	  as the system console.

config SERIAL_RDA
	bool "RDA Micro serial port support"
	depends on ARCH_RDA || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver is for RDA8810PL SoC's UART.
	  Say 'Y' here if you wish to use the on-board serial port.
	  Otherwise, say 'N'.

config SERIAL_RDA_CONSOLE
	bool "Console on RDA Micro serial port"
	depends on SERIAL_RDA=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default y
	help
	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
	  console. Only earlycon is implemented currently.

config SERIAL_MILBEAUT_USIO
	tristate "Milbeaut USIO/UART serial port support"
	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
	default ARCH_MILBEAUT
	select SERIAL_CORE
	help
	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.

config SERIAL_MILBEAUT_USIO_PORTS
	int "Maximum number of CSIO/UART ports (1-8)"
	range 1 8
	depends on SERIAL_MILBEAUT_USIO
	default "4"

config SERIAL_MILBEAUT_USIO_CONSOLE
	bool "Support for console on MILBEAUT USIO/UART serial port"
	depends on SERIAL_MILBEAUT_USIO=y
	default y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
	  SoCs as the system console (the system console is the device which
	  receives all kernel messages and warnings and which allows logins in
	  single user mode).

config SERIAL_LITEUART
	tristate "LiteUART serial port support"
	depends on HAS_IOMEM
	depends on OF
	depends on LITEX || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver is for the FPGA-based LiteUART serial controller from LiteX
	  SoC builder.

	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
	  Otherwise, say 'N'.

config SERIAL_LITEUART_MAX_PORTS
	int "Maximum number of LiteUART ports"
	depends on SERIAL_LITEUART
	default "1"
	help
	  Set this to the maximum number of serial ports you want the driver
	  to support.

config SERIAL_LITEUART_CONSOLE
	bool "LiteUART serial port console support"
	depends on SERIAL_LITEUART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
	  controller from LiteX SoC builder as the system console
	  (the system console is the device which receives all kernel messages
	  and warnings and which allows logins in single user mode).
	  Otherwise, say 'N'.

config SERIAL_SUNPLUS
	tristate "Sunplus UART support"
	depends on ARCH_SUNPLUS || COMPILE_TEST
	select SERIAL_CORE
	help
	  Select this option if you would like to use Sunplus serial port on
	  Sunplus SoC SP7021.
	  If you enable this option, Sunplus serial ports in the system will
	  be registered as ttySUPx.
	  This driver can also be built as a module. If so, the module will be
	  called sunplus-uart.

config SERIAL_SUNPLUS_CONSOLE
	bool "Console on Sunplus UART"
	depends on SERIAL_SUNPLUS
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Select this option if you would like to use a Sunplus UART as the
	  system console.
	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySUPx".

config SERIAL_NUVOTON_MA35D1
	tristate "Nuvoton MA35D1 family UART support"
	depends on ARCH_MA35 || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver supports Nuvoton MA35D1 family UART ports. If you would
	  like to use them, you must answer Y or M to this option. Note that
	  for use as console, it must be included in kernel and not as a
	  module. If you enable this option, Ma35D1 serial ports in the system
	  will be registered as ttyNVTx.

config SERIAL_NUVOTON_MA35D1_CONSOLE
	bool "Console on a Nuvotn MA35D1 family UART port"
	depends on SERIAL_NUVOTON_MA35D1=y
	select SERIAL_CORE_CONSOLE
	help
	  Select this options if you'd like to use the UART port0 of the
	  Nuvoton MA35D1 family as a console.
	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default,
	  but you can alter that using a kernel command line option such as
	  "console=ttyNVTx".

config SERIAL_ESP32
	tristate "Espressif ESP32 UART support"
	depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Driver for the UART controllers of the Espressif ESP32xx SoCs.
	  When earlycon option is enabled the following kernel command line
	  snippets may be used:
	    earlycon=esp32s3uart,mmio32,0x60000000,115200n8,40000000
	    earlycon=esp32uart,mmio32,0x3ff40000,115200n8

config SERIAL_ESP32_ACM
	tristate "Espressif ESP32 USB ACM gadget support"
	depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Driver for the CDC ACM gadget controller of the Espressif ESP32S3
	  SoCs that share separate USB controller with the JTAG adapter.
	  When earlycon option is enabled the following kernel command line
	  snippet may be used:
	    earlycon=esp32s3acm,mmio32,0x60038000

endmenu

config SERIAL_MCTRL_GPIO
	tristate