Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm / Kconfig.debug
1 # SPDX-License-Identifier: GPL-2.0
2
3 config ARM_PTDUMP_CORE
4         def_bool n
5
6 config ARM_PTDUMP_DEBUGFS
7         bool "Export kernel pagetable layout to userspace via debugfs"
8         depends on DEBUG_KERNEL
9         depends on MMU
10         select ARM_PTDUMP_CORE
11         select DEBUG_FS
12         help
13           Say Y here if you want to show the kernel pagetable layout in a
14           debugfs file. This information is only useful for kernel developers
15           who are working in architecture specific areas of the kernel.
16           It is probably not a good idea to enable this feature in a production
17           kernel.
18           If in doubt, say "N"
19
20 config DEBUG_WX
21         bool "Warn on W+X mappings at boot"
22         depends on MMU
23         select ARM_PTDUMP_CORE
24         help
25                 Generate a warning if any W+X mappings are found at boot.
26
27                 This is useful for discovering cases where the kernel is leaving
28                 W+X mappings after applying NX, as such mappings are a security risk.
29
30                 Look for a message in dmesg output like this:
31
32                         arm/mm: Checked W+X mappings: passed, no W+X pages found.
33
34                 or like this, if the check failed:
35
36                         arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
37
38                 Note that even if the check fails, your kernel is possibly
39                 still fine, as W+X mappings are not a security hole in
40                 themselves, what they do is that they make the exploitation
41                 of other unfixed kernel bugs easier.
42
43                 There is no runtime or memory usage effect of this option
44                 once the kernel has booted up - it's a one time check.
45
46                 If in doubt, say "Y".
47
48 choice
49         prompt "Choose kernel unwinder"
50         default UNWINDER_ARM if AEABI
51         default UNWINDER_FRAME_POINTER if !AEABI
52         help
53           This determines which method will be used for unwinding kernel stack
54           traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
55           livepatch, lockdep, and more.
56
57 config UNWINDER_FRAME_POINTER
58         bool "Frame pointer unwinder"
59         depends on !THUMB2_KERNEL
60         select ARCH_WANT_FRAME_POINTERS
61         select FRAME_POINTER
62         help
63           This option enables the frame pointer unwinder for unwinding
64           kernel stack traces.
65
66 config UNWINDER_ARM
67         bool "ARM EABI stack unwinder"
68         depends on AEABI && !FUNCTION_GRAPH_TRACER
69         # https://github.com/ClangBuiltLinux/linux/issues/732
70         depends on !LD_IS_LLD || LLD_VERSION >= 110000
71         select ARM_UNWIND
72         help
73           This option enables stack unwinding support in the kernel
74           using the information automatically generated by the
75           compiler. The resulting kernel image is slightly bigger but
76           the performance is not affected. Currently, this feature
77           only works with EABI compilers.
78
79 endchoice
80
81 config ARM_UNWIND
82         bool
83
84 config FRAME_POINTER
85         bool
86
87 config DEBUG_USER
88         bool "Verbose user fault messages"
89         help
90           When a user program crashes due to an exception, the kernel can
91           print a brief message explaining what the problem was. This is
92           sometimes helpful for debugging but serves no purpose on a
93           production system. Most people should say N here.
94
95           In addition, you need to pass user_debug=N on the kernel command
96           line to enable this feature.  N consists of the sum of:
97
98               1 - undefined instruction events
99               2 - system calls
100               4 - invalid data aborts
101               8 - SIGSEGV faults
102              16 - SIGBUS faults
103
104 # These options are only for real kernel hackers who want to get their hands dirty.
105 config DEBUG_LL
106         bool "Kernel low-level debugging functions (read help!)"
107         depends on DEBUG_KERNEL
108         help
109           Say Y here to include definitions of printascii, printch, printhex
110           in the kernel.  This is helpful if you are debugging code that
111           executes before the console is initialized.
112
113           Note that selecting this option will limit the kernel to a single
114           UART definition, as specified below. Attempting to boot the kernel
115           image on a different platform *will not work*, so this option should
116           not be enabled for kernels that are intended to be portable.
117
118 choice
119         prompt "Kernel low-level debugging port"
120         depends on DEBUG_LL
121
122         config DEBUG_ALPINE_UART0
123                 bool "Kernel low-level debugging messages via Alpine UART0"
124                 depends on ARCH_ALPINE
125                 select DEBUG_UART_8250
126                 help
127                   Say Y here if you want kernel low-level debugging support
128                   on Alpine based platforms.
129
130         config DEBUG_ASM9260_UART
131                 bool "Kernel low-level debugging via asm9260 UART"
132                 depends on MACH_ASM9260
133                 help
134                   Say Y here if you want the debug print routines to direct
135                   their output to an UART or USART port on asm9260 based
136                   machines.
137
138                     DEBUG_UART_PHYS | DEBUG_UART_VIRT
139
140                     0x80000000      | 0xf0000000     | UART0
141                     0x80004000      | 0xf0004000     | UART1
142                     0x80008000      | 0xf0008000     | UART2
143                     0x8000c000      | 0xf000c000     | UART3
144                     0x80010000      | 0xf0010000     | UART4
145                     0x80014000      | 0xf0014000     | UART5
146                     0x80018000      | 0xf0018000     | UART6
147                     0x8001c000      | 0xf001c000     | UART7
148                     0x80020000      | 0xf0020000     | UART8
149                     0x80024000      | 0xf0024000     | UART9
150
151         config DEBUG_AT91_RM9200_DBGU
152                 bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
153                 select DEBUG_AT91_UART
154                 depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
155                 help
156                   Say Y here if you want kernel low-level debugging support
157                   on the DBGU port of:
158                     at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
159                     at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
160
161         config DEBUG_AT91_SAM9263_DBGU
162                 bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
163                 select DEBUG_AT91_UART
164                 depends on SOC_AT91SAM9 || SOC_SAMA5D3
165                 help
166                   Say Y here if you want kernel low-level debugging support
167                   on the DBGU port of:
168                     at91sam9263, at91sam9g45, at91sam9m10,
169                     sama5d3
170
171         config DEBUG_AT91_SAMA5D2_UART1
172                 bool "Kernel low-level debugging on SAMA5D2 UART1"
173                 select DEBUG_AT91_UART
174                 depends on SOC_SAMA5D2
175                 help
176                   Say Y here if you want kernel low-level debugging support
177                   on the UART1 port of sama5d2.
178
179         config DEBUG_AT91_SAMA5D4_USART3
180                 bool "Kernel low-level debugging on SAMA5D4 USART3"
181                 select DEBUG_AT91_UART
182                 depends on SOC_SAMA5D4
183                 help
184                   Say Y here if you want kernel low-level debugging support
185                   on the USART3 port of sama5d4.
186
187         config DEBUG_AT91_SAMV7_USART1
188                 bool "Kernel low-level debugging via SAMV7 USART1"
189                 select DEBUG_AT91_UART
190                 depends on SOC_SAMV7
191                 help
192                   Say Y here if you want the debug print routines to direct
193                   their output to the USART1 port on SAMV7 based
194                   machines.
195
196         config DEBUG_BCM2835
197                 bool "Kernel low-level debugging on BCM2835 PL011 UART"
198                 depends on ARCH_BCM2835 && ARCH_MULTI_V6
199                 select DEBUG_UART_PL01X
200
201         config DEBUG_BCM2836
202                 bool "Kernel low-level debugging on BCM2836 PL011 UART"
203                 depends on ARCH_BCM2835 && ARCH_MULTI_V7
204                 select DEBUG_UART_PL01X
205
206         config DEBUG_BCM_5301X
207                 bool "Kernel low-level debugging on BCM5301X/NSP UART1"
208                 depends on ARCH_BCM_5301X || ARCH_BCM_NSP
209                 select DEBUG_UART_8250
210
211         config DEBUG_BCM_HR2
212                 bool "Kernel low-level debugging on Hurricane 2 UART2"
213                 depends on ARCH_BCM_HR2
214                 select DEBUG_UART_8250
215
216         config DEBUG_BCM_IPROC_UART3
217                 bool "Kernel low-level debugging on BCM IPROC UART3"
218                 depends on ARCH_BCM_CYGNUS
219                 select DEBUG_UART_8250
220                 help
221                   Say Y here if you want the debug print routines to direct
222                   their output to the third serial port on these devices.
223
224         config DEBUG_BCM_KONA_UART
225                 bool "Kernel low-level debugging messages via BCM KONA UART"
226                 depends on ARCH_BCM_MOBILE
227                 select DEBUG_UART_8250
228                 help
229                   Say Y here if you want kernel low-level debugging support
230                   on Broadcom SoC platforms.
231                   This low level debug works for Broadcom
232                   mobile SoCs in the Kona family of chips (e.g. bcm28155,
233                   bcm11351, etc...)
234
235         config DEBUG_BCM63XX_UART
236                 bool "Kernel low-level debugging on BCM63XX UART"
237                 depends on ARCH_BCM_63XX
238
239         config DEBUG_BERLIN_UART
240                 bool "Marvell Berlin SoC Debug UART"
241                 depends on ARCH_BERLIN
242                 select DEBUG_UART_8250
243                 help
244                   Say Y here if you want kernel low-level debugging support
245                   on Marvell Berlin SoC based platforms.
246
247         config DEBUG_BRCMSTB_UART
248                 bool "Use BRCMSTB UART for low-level debug"
249                 depends on ARCH_BRCMSTB
250                 help
251                   Say Y here if you want the debug print routines to direct
252                   their output to the first serial port on these devices. The
253                   UART physical and virtual address is automatically provided
254                   based on the chip identification register value.
255
256                   If you have a Broadcom STB chip and would like early print
257                   messages to appear over the UART, select this option.
258
259         config DEBUG_CLPS711X_UART1
260                 bool "Kernel low-level debugging messages via UART1"
261                 depends on ARCH_CLPS711X
262                 help
263                   Say Y here if you want the debug print routines to direct
264                   their output to the first serial port on these devices.
265
266         config DEBUG_CLPS711X_UART2
267                 bool "Kernel low-level debugging messages via UART2"
268                 depends on ARCH_CLPS711X
269                 help
270                   Say Y here if you want the debug print routines to direct
271                   their output to the second serial port on these devices.
272
273         config DEBUG_CNS3XXX
274                 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
275                 depends on ARCH_CNS3XXX
276                 select DEBUG_UART_8250
277                 help
278                   Say Y here if you want the debug print routines to direct
279                   their output to the CNS3xxx UART0.
280
281         config DEBUG_DAVINCI_DA8XX_UART1
282                 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
283                 depends on ARCH_DAVINCI_DA8XX
284                 select DEBUG_UART_8250
285                 help
286                   Say Y here if you want the debug print routines to direct
287                   their output to UART1 serial port on DaVinci DA8XX devices.
288
289         config DEBUG_DAVINCI_DA8XX_UART2
290                 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
291                 depends on ARCH_DAVINCI_DA8XX
292                 select DEBUG_UART_8250
293                 help
294                   Say Y here if you want the debug print routines to direct
295                   their output to UART2 serial port on DaVinci DA8XX devices.
296
297         config DEBUG_DAVINCI_DMx_UART0
298                 bool "Kernel low-level debugging on DaVinci DMx using UART0"
299                 depends on ARCH_DAVINCI_DMx
300                 select DEBUG_UART_8250
301                 help
302                   Say Y here if you want the debug print routines to direct
303                   their output to UART0 serial port on DaVinci DMx devices.
304
305         config DEBUG_DC21285_PORT
306                 bool "Kernel low-level debugging messages via footbridge serial port"
307                 depends on FOOTBRIDGE
308                 help
309                   Say Y here if you want the debug print routines to direct
310                   their output to the serial port in the DC21285 (Footbridge).
311
312         config DEBUG_DIGICOLOR_UA0
313                 bool "Kernel low-level debugging messages via Digicolor UA0"
314                 depends on ARCH_DIGICOLOR
315                 help
316                   Say Y here if you want the debug print routines to direct
317                   their output to the UA0 serial port in the CX92755.
318
319         config DEBUG_EP93XX
320                 bool "Kernel low-level debugging messages via ep93xx UART"
321                 depends on ARCH_EP93XX
322                 select DEBUG_UART_PL01X
323                 help
324                   Say Y here if you want kernel low-level debugging support
325                   on Cirrus Logic EP93xx based platforms.
326
327         config DEBUG_FOOTBRIDGE_COM1
328                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
329                 depends on FOOTBRIDGE
330                 select DEBUG_UART_8250
331                 help
332                   Say Y here if you want the debug print routines to direct
333                   their output to the 8250 at PCI COM1.
334
335         config DEBUG_GEMINI
336                 bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
337                 depends on ARCH_GEMINI
338                 select DEBUG_UART_8250
339                 help
340                   Say Y here if you want kernel low-level debugging support
341                   on Cortina Gemini based platforms.
342
343         config DEBUG_HI3620_UART
344                 bool "Hisilicon HI3620 Debug UART"
345                 depends on ARCH_HI3xxx
346                 select DEBUG_UART_PL01X
347                 help
348                   Say Y here if you want kernel low-level debugging support
349                   on HI3620 UART.
350
351         config DEBUG_HIGHBANK_UART
352                 bool "Kernel low-level debugging messages via Highbank UART"
353                 depends on ARCH_HIGHBANK
354                 select DEBUG_UART_PL01X
355                 help
356                   Say Y here if you want the debug print routines to direct
357                   their output to the UART on Highbank based devices.
358
359         config DEBUG_HIP01_UART
360                 bool "Hisilicon Hip01 Debug UART"
361                 depends on ARCH_HIP01
362                 select DEBUG_UART_8250
363                 help
364                   Say Y here if you want kernel low-level debugging support
365                   on HIP01 UART.
366
367         config DEBUG_HIP04_UART
368                 bool "Hisilicon HiP04 Debug UART"
369                 depends on ARCH_HIP04
370                 select DEBUG_UART_8250
371                 help
372                   Say Y here if you want kernel low-level debugging support
373                   on HIP04 UART.
374
375         config DEBUG_HIX5HD2_UART
376                 bool "Hisilicon Hix5hd2 Debug UART"
377                 depends on ARCH_HIX5HD2
378                 select DEBUG_UART_PL01X
379                 help
380                   Say Y here if you want kernel low-level debugging support
381                   on Hix5hd2 UART.
382
383         config DEBUG_IMX1_UART
384                 bool "i.MX1 Debug UART"
385                 depends on SOC_IMX1
386                 help
387                   Say Y here if you want kernel low-level debugging support
388                   on i.MX1.
389
390         config DEBUG_IMX23_UART
391                 bool "i.MX23 Debug UART"
392                 depends on SOC_IMX23
393                 select DEBUG_UART_PL01X
394                 help
395                   Say Y here if you want kernel low-level debugging support
396                   on i.MX23.
397
398         config DEBUG_IMX25_UART
399                 bool "i.MX25 Debug UART"
400                 depends on SOC_IMX25
401                 help
402                   Say Y here if you want kernel low-level debugging support
403                   on i.MX25.
404
405         config DEBUG_IMX21_IMX27_UART
406                 bool "i.MX21 and i.MX27 Debug UART"
407                 depends on SOC_IMX21 || SOC_IMX27
408                 help
409                   Say Y here if you want kernel low-level debugging support
410                   on i.MX21 or i.MX27.
411
412         config DEBUG_IMX28_UART
413                 bool "i.MX28 Debug UART"
414                 depends on SOC_IMX28
415                 select DEBUG_UART_PL01X
416                 help
417                   Say Y here if you want kernel low-level debugging support
418                   on i.MX28.
419
420         config DEBUG_IMX31_UART
421                 bool "i.MX31 Debug UART"
422                 depends on SOC_IMX31
423                 help
424                   Say Y here if you want kernel low-level debugging support
425                   on i.MX31.
426
427         config DEBUG_IMX35_UART
428                 bool "i.MX35 Debug UART"
429                 depends on SOC_IMX35
430                 help
431                   Say Y here if you want kernel low-level debugging support
432                   on i.MX35.
433
434         config DEBUG_IMX50_UART
435                 bool "i.MX50 Debug UART"
436                 depends on SOC_IMX50
437                 help
438                   Say Y here if you want kernel low-level debugging support
439                   on i.MX50.
440
441         config DEBUG_IMX51_UART
442                 bool "i.MX51 Debug UART"
443                 depends on SOC_IMX51
444                 help
445                   Say Y here if you want kernel low-level debugging support
446                   on i.MX51.
447
448         config DEBUG_IMX53_UART
449                 bool "i.MX53 Debug UART"
450                 depends on SOC_IMX53
451                 help
452                   Say Y here if you want kernel low-level debugging support
453                   on i.MX53.
454
455         config DEBUG_IMX6Q_UART
456                 bool "i.MX6Q/DL Debug UART"
457                 depends on SOC_IMX6Q
458                 help
459                   Say Y here if you want kernel low-level debugging support
460                   on i.MX6Q/DL.
461
462         config DEBUG_IMX6SL_UART
463                 bool "i.MX6SL Debug UART"
464                 depends on SOC_IMX6SL
465                 help
466                   Say Y here if you want kernel low-level debugging support
467                   on i.MX6SL.
468
469         config DEBUG_IMX6SX_UART
470                 bool "i.MX6SX Debug UART"
471                 depends on SOC_IMX6SX
472                 help
473                   Say Y here if you want kernel low-level debugging support
474                   on i.MX6SX.
475
476         config DEBUG_IMX6UL_UART
477                 bool "i.MX6UL Debug UART"
478                 depends on SOC_IMX6UL
479                 help
480                   Say Y here if you want kernel low-level debugging support
481                   on i.MX6UL.
482
483         config DEBUG_IMX7D_UART
484                 bool "i.MX7D Debug UART"
485                 depends on SOC_IMX7D
486                 help
487                   Say Y here if you want kernel low-level debugging support
488                   on i.MX7D.
489
490         config DEBUG_INTEGRATOR
491                 bool "Kernel low-level debugging messages via ARM Integrator UART"
492                 depends on ARCH_INTEGRATOR
493                 select DEBUG_UART_PL01X
494                 help
495                   Say Y here if you want kernel low-level debugging support
496                   on ARM Integrator platforms.
497
498         config DEBUG_KEYSTONE_UART0
499                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
500                 depends on ARCH_KEYSTONE
501                 select DEBUG_UART_8250
502                 help
503                   Say Y here if you want the debug print routines to direct
504                   their output to UART0 serial port on KEYSTONE2 devices.
505
506         config DEBUG_KEYSTONE_UART1
507                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
508                 depends on ARCH_KEYSTONE
509                 select DEBUG_UART_8250
510                 help
511                   Say Y here if you want the debug print routines to direct
512                   their output to UART1 serial port on KEYSTONE2 devices.
513
514         config DEBUG_LPC18XX_UART0
515                 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
516                 depends on ARCH_LPC18XX
517                 select DEBUG_UART_8250
518                 help
519                   Say Y here if you want kernel low-level debugging support
520                   on NXP LPC18xx/43xx UART0.
521
522         config DEBUG_LPC32XX
523                 bool "Kernel low-level debugging messages via NXP LPC32xx UART"
524                 depends on ARCH_LPC32XX
525                 select DEBUG_UART_8250
526                 help
527                   Say Y here if you want kernel low-level debugging support
528                   on NXP LPC32xx based platforms.
529
530         config DEBUG_MESON_UARTAO
531                 bool "Kernel low-level debugging via Meson6 UARTAO"
532                 depends on ARCH_MESON
533                 help
534                   Say Y here if you want kernel low-lever debugging support
535                   on Amlogic Meson6 based platforms on the UARTAO.
536
537         config DEBUG_MMP_UART2
538                 bool "Kernel low-level debugging message via MMP UART2"
539                 depends on ARCH_MMP
540                 select DEBUG_UART_8250
541                 help
542                   Say Y here if you want kernel low-level debugging support
543                   on MMP UART2.
544
545         config DEBUG_MMP_UART3
546                 bool "Kernel low-level debugging message via MMP UART3"
547                 depends on ARCH_MMP
548                 select DEBUG_UART_8250
549                 help
550                   Say Y here if you want kernel low-level debugging support
551                   on MMP UART3.
552
553         config DEBUG_MVEBU_UART0
554                 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
555                 depends on ARCH_MVEBU
556                 depends on ARCH_MVEBU && CPU_V7
557                 select DEBUG_UART_8250
558                 help
559                   Say Y here if you want kernel low-level debugging support
560                   on MVEBU based platforms on UART0.
561
562                   This option should be used with the old bootloaders
563                   that left the internal registers mapped at
564                   0xd0000000. As of today, this is the case on
565                   platforms such as the Globalscale Mirabox or the
566                   Plathome OpenBlocks AX3, when using the original
567                   bootloader.
568
569                   This option will not work on older Marvell platforms
570                   (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
571                   the "new bootloader" variant.
572
573                   If the wrong DEBUG_MVEBU_UART* option is selected,
574                   when u-boot hands over to the kernel, the system
575                   silently crashes, with no serial output at all.
576
577         config DEBUG_MVEBU_UART0_ALTERNATE
578                 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
579                 depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
580                 select DEBUG_UART_8250
581                 help
582                   Say Y here if you want kernel low-level debugging support
583                   on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
584                   Kirkwood, Dove, MV78xx0, Orion5x).
585
586
587                   This option should be used with the new bootloaders
588                   that remap the internal registers at 0xf1000000.
589
590                   If the wrong DEBUG_MVEBU_UART* option is selected,
591                   when u-boot hands over to the kernel, the system
592                   silently crashes, with no serial output at all.
593
594         config DEBUG_MVEBU_UART1_ALTERNATE
595                 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
596                 depends on ARCH_MVEBU
597                 select DEBUG_UART_8250
598                 help
599                   Say Y here if you want kernel low-level debugging support
600                   on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
601                   Kirkwood, Dove, MV78xx0, Orion5x).
602
603                   This option should be used with the new bootloaders
604                   that remap the internal registers at 0xf1000000.
605                   All of the older (pre Armada XP/370) platforms also use
606                   this address, regardless of the boot loader version.
607
608                   If the wrong DEBUG_MVEBU_UART* option is selected,
609                   when u-boot hands over to the kernel, the system
610                   silently crashes, with no serial output at all.
611
612         config DEBUG_MSTARV7_PMUART
613                 bool "Kernel low-level debugging messages via MSTARV7 PM UART"
614                 depends on ARCH_MSTARV7
615                 select DEBUG_UART_8250
616                 help
617                   Say Y here if you want kernel low-level debugging support
618                   for MSTAR ARMv7-based platforms on PM UART.
619
620         config DEBUG_MT6589_UART0
621                 bool "Mediatek mt6589 UART0"
622                 depends on ARCH_MEDIATEK
623                 select DEBUG_UART_8250
624                 help
625                   Say Y here if you want kernel low-level debugging support
626                   for Mediatek mt6589 based platforms on UART0.
627
628         config DEBUG_MT8127_UART0
629                 bool "Mediatek mt8127/mt6592 UART0"
630                 depends on ARCH_MEDIATEK
631                 select DEBUG_UART_8250
632                 help
633                   Say Y here if you want kernel low-level debugging support
634                   for Mediatek mt8127 based platforms on UART0.
635
636         config DEBUG_MT8135_UART3
637                 bool "Mediatek mt8135 UART3"
638                 depends on ARCH_MEDIATEK
639                 select DEBUG_UART_8250
640                 help
641                   Say Y here if you want kernel low-level debugging support
642                   for Mediatek mt8135 based platforms on UART3.
643
644         config DEBUG_NOMADIK_UART
645                 bool "Kernel low-level debugging messages via NOMADIK UART"
646                 depends on ARCH_NOMADIK
647                 select DEBUG_UART_PL01X
648                 help
649                   Say Y here if you want kernel low-level debugging support
650                   on NOMADIK based platforms.
651
652         config DEBUG_NSPIRE_CLASSIC_UART
653                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
654                 depends on ARCH_NSPIRE
655                 select DEBUG_UART_8250
656                 help
657                   Say Y here if you want kernel low-level debugging support
658                   on TI-NSPIRE classic models.
659
660         config DEBUG_NSPIRE_CX_UART
661                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
662                 depends on ARCH_NSPIRE
663                 select DEBUG_UART_PL01X
664                 help
665                   Say Y here if you want kernel low-level debugging support
666                   on TI-NSPIRE CX models.
667
668         config DEBUG_OMAP1UART1
669                 bool "Kernel low-level debugging via OMAP1 UART1"
670                 depends on ARCH_OMAP1
671                 select DEBUG_UART_8250
672                 help
673                   Say Y here if you want kernel low-level debugging support
674                   on OMAP1 based platforms (except OMAP730) on the UART1.
675
676         config DEBUG_OMAP1UART2
677                 bool "Kernel low-level debugging via OMAP1 UART2"
678                 depends on ARCH_OMAP1
679                 select DEBUG_UART_8250
680                 help
681                   Say Y here if you want kernel low-level debugging support
682                   on OMAP1 based platforms (except OMAP730) on the UART2.
683
684         config DEBUG_OMAP1UART3
685                 bool "Kernel low-level debugging via OMAP1 UART3"
686                 depends on ARCH_OMAP1
687                 select DEBUG_UART_8250
688                 help
689                   Say Y here if you want kernel low-level debugging support
690                   on OMAP1 based platforms (except OMAP730) on the UART3.
691
692         config DEBUG_OMAP2UART1
693                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
694                 depends on ARCH_OMAP2PLUS
695                 select DEBUG_UART_8250
696                 help
697                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
698                   omap3 torpedo and 3530 lv som.
699
700         config DEBUG_OMAP2UART2
701                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
702                 depends on ARCH_OMAP2PLUS
703                 select DEBUG_UART_8250
704
705         config DEBUG_OMAP2UART3
706                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
707                 depends on ARCH_OMAP2PLUS
708                 select DEBUG_UART_8250
709
710         config DEBUG_OMAP3UART3
711                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
712                 depends on ARCH_OMAP2PLUS
713                 select DEBUG_UART_8250
714                 help
715                   This covers at least cm_t3x, beagle, crane, devkit8000,
716                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
717                   and 3517evm.
718
719         config DEBUG_OMAP4UART3
720                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
721                 depends on ARCH_OMAP2PLUS
722                 select DEBUG_UART_8250
723
724         config DEBUG_OMAP3UART4
725                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
726                 depends on ARCH_OMAP2PLUS
727                 select DEBUG_UART_8250
728
729         config DEBUG_OMAP4UART4
730                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
731                 depends on ARCH_OMAP2PLUS
732                 select DEBUG_UART_8250
733
734         config DEBUG_OMAP7XXUART1
735                 bool "Kernel low-level debugging via OMAP730 UART1"
736                 depends on ARCH_OMAP730
737                 select DEBUG_UART_8250
738                 help
739                   Say Y here if you want kernel low-level debugging support
740                   on OMAP730 based platforms on the UART1.
741
742         config DEBUG_OMAP7XXUART2
743                 bool "Kernel low-level debugging via OMAP730 UART2"
744                 depends on ARCH_OMAP730
745                 select DEBUG_UART_8250
746                 help
747                   Say Y here if you want kernel low-level debugging support
748                   on OMAP730 based platforms on the UART2.
749
750         config DEBUG_OMAP7XXUART3
751                 bool "Kernel low-level debugging via OMAP730 UART3"
752                 depends on ARCH_OMAP730
753                 select DEBUG_UART_8250
754                 help
755                   Say Y here if you want kernel low-level debugging support
756                   on OMAP730 based platforms on the UART3.
757
758         config DEBUG_TI81XXUART1
759                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
760                 depends on ARCH_OMAP2PLUS
761                 select DEBUG_UART_8250
762
763         config DEBUG_TI81XXUART2
764                 bool "Kernel low-level debugging messages via TI81XX UART2"
765                 depends on ARCH_OMAP2PLUS
766                 select DEBUG_UART_8250
767
768         config DEBUG_TI81XXUART3
769                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
770                 depends on ARCH_OMAP2PLUS
771                 select DEBUG_UART_8250
772
773         config DEBUG_AM33XXUART1
774                 bool "Kernel low-level debugging messages via AM33XX UART1"
775                 depends on ARCH_OMAP2PLUS
776                 select DEBUG_UART_8250
777
778         config DEBUG_ZOOM_UART
779                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
780                 depends on ARCH_OMAP2PLUS
781                 select DEBUG_OMAP2PLUS_UART
782
783         config DEBUG_PXA_UART1
784                 depends on ARCH_PXA
785                 bool "Use PXA UART1 for low-level debug"
786                 select DEBUG_UART_8250
787                 help
788                   Say Y here if you want kernel low-level debugging support
789                   on PXA UART1.
790
791         config DEBUG_QCOM_UARTDM
792                 bool "Kernel low-level debugging messages via QCOM UARTDM"
793                 depends on ARCH_QCOM
794                 help
795                   Say Y here if you want the debug print routines to direct
796                   their output to the serial port on Qualcomm devices.
797
798                   ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
799                   APQ8064   0x16640000        0xf0040000
800                   APQ8084   0xf995e000        0xfa75e000
801                   IPQ4019   0x078af000        0xf78af000
802                   MSM8X60   0x19c40000        0xf0040000
803                   MSM8960   0x16440000        0xf0040000
804                   MSM8974   0xf991e000        0xfa71e000
805
806                   Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
807                   options based on your needs.
808
809         config DEBUG_REALVIEW_STD_PORT
810                 bool "RealView Default UART"
811                 depends on ARCH_REALVIEW
812                 select DEBUG_UART_PL01X
813                 help
814                   Say Y here if you want the debug print routines to direct
815                   their output to the serial port on RealView EB, PB11MP, PBA8
816                   and PBX platforms.
817
818         config DEBUG_REALVIEW_PB1176_PORT
819                 bool "RealView PB1176 UART"
820                 depends on MACH_REALVIEW_PB1176
821                 select DEBUG_UART_PL01X
822                 help
823                   Say Y here if you want the debug print routines to direct
824                   their output to the standard serial port on the RealView
825                   PB1176 platform.
826
827         config DEBUG_RV1108_UART0
828                 bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
829                 depends on ARCH_ROCKCHIP
830                 select DEBUG_UART_8250
831                 help
832                   Say Y here if you want kernel low-level debugging support
833                   on Rockchip RV1108 based platforms.
834
835         config DEBUG_RV1108_UART1
836                 bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
837                 depends on ARCH_ROCKCHIP
838                 select DEBUG_UART_8250
839                 help
840                   Say Y here if you want kernel low-level debugging support
841                   on Rockchip RV1108 based platforms.
842
843         config DEBUG_RV1108_UART2
844                 bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
845                 depends on ARCH_ROCKCHIP
846                 select DEBUG_UART_8250
847                 help
848                   Say Y here if you want kernel low-level debugging support
849                   on Rockchip RV1108 based platforms.
850
851         config DEBUG_RK29_UART0
852                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
853                 depends on ARCH_ROCKCHIP
854                 select DEBUG_UART_8250
855                 help
856                   Say Y here if you want kernel low-level debugging support
857                   on Rockchip based platforms.
858
859         config DEBUG_RK29_UART1
860                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
861                 depends on ARCH_ROCKCHIP
862                 select DEBUG_UART_8250
863                 help
864                   Say Y here if you want kernel low-level debugging support
865                   on Rockchip based platforms.
866
867         config DEBUG_RK29_UART2
868                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
869                 depends on ARCH_ROCKCHIP
870                 select DEBUG_UART_8250
871                 help
872                   Say Y here if you want kernel low-level debugging support
873                   on Rockchip based platforms.
874
875         config DEBUG_RK3X_UART0
876                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
877                 depends on ARCH_ROCKCHIP
878                 select DEBUG_UART_8250
879                 help
880                   Say Y here if you want kernel low-level debugging support
881                   on Rockchip based platforms.
882
883         config DEBUG_RK3X_UART1
884                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
885                 depends on ARCH_ROCKCHIP
886                 select DEBUG_UART_8250
887                 help
888                   Say Y here if you want kernel low-level debugging support
889                   on Rockchip based platforms.
890
891         config DEBUG_RK3X_UART2
892                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
893                 depends on ARCH_ROCKCHIP
894                 select DEBUG_UART_8250
895                 help
896                   Say Y here if you want kernel low-level debugging support
897                   on Rockchip based platforms.
898
899         config DEBUG_RK3X_UART3
900                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
901                 depends on ARCH_ROCKCHIP
902                 select DEBUG_UART_8250
903                 help
904                   Say Y here if you want kernel low-level debugging support
905                   on Rockchip based platforms.
906
907         config DEBUG_RK32_UART2
908                 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
909                 depends on ARCH_ROCKCHIP
910                 select DEBUG_UART_8250
911                 help
912                   Say Y here if you want kernel low-level debugging support
913                   on Rockchip RK32xx based platforms.
914
915         config DEBUG_R7S72100_SCIF2
916                 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
917                 depends on ARCH_R7S72100
918                 help
919                   Say Y here if you want kernel low-level debugging support
920                   via SCIF2 on Renesas RZ/A1H (R7S72100).
921
922         config DEBUG_R7S9210_SCIF2
923                 bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
924                 depends on ARCH_R7S9210
925                 help
926                   Say Y here if you want kernel low-level debugging support
927                   via SCIF2 on Renesas RZ/A2M (R7S9210).
928
929         config DEBUG_R7S9210_SCIF4
930                 bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
931                 depends on ARCH_R7S9210
932                 help
933                   Say Y here if you want kernel low-level debugging support
934                   via SCIF4 on Renesas RZ/A2M (R7S9210).
935
936         config DEBUG_RCAR_GEN1_SCIF0
937                 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
938                 depends on ARCH_R8A7778
939                 help
940                   Say Y here if you want kernel low-level debugging support
941                   via SCIF0 on Renesas R-Car M1A (R8A7778).
942
943         config DEBUG_RCAR_GEN1_SCIF2
944                 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
945                 depends on ARCH_R8A7779
946                 help
947                   Say Y here if you want kernel low-level debugging support
948                   via SCIF2 on Renesas R-Car H1 (R8A7779).
949
950         config DEBUG_RCAR_GEN2_SCIF0
951                 bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
952                 depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
953                         ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
954                 help
955                   Say Y here if you want kernel low-level debugging support
956                   via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
957                   R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
958                   M2-N (R8A7793).
959
960         config DEBUG_RCAR_GEN2_SCIF1
961                 bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
962                 depends on ARCH_R8A77470
963                 help
964                   Say Y here if you want kernel low-level debugging support
965                   via SCIF1 on Renesas RZ/G1C (R8A77470).
966
967         config DEBUG_RCAR_GEN2_SCIF2
968                 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
969                 depends on ARCH_R8A7794
970                 help
971                   Say Y here if you want kernel low-level debugging support
972                   via SCIF2 on Renesas R-Car E2 (R8A7794).
973
974         config DEBUG_RCAR_GEN2_SCIF4
975                 bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
976                 depends on ARCH_R8A7745
977                 help
978                   Say Y here if you want kernel low-level debugging support
979                   via SCIF4 on Renesas RZ/G1E (R8A7745).
980
981         config DEBUG_RCAR_GEN2_SCIFA2
982                 bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
983                 depends on ARCH_R8A7742
984                 help
985                   Say Y here if you want kernel low-level debugging support
986                   via SCIFA2 on Renesas RZ/G1H (R8A7742).
987
988         config DEBUG_RMOBILE_SCIFA0
989                 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
990                 depends on ARCH_R8A73A4
991                 help
992                   Say Y here if you want kernel low-level debugging support
993                   via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
994
995         config DEBUG_RMOBILE_SCIFA1
996                 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
997                 depends on ARCH_R8A7740
998                 help
999                   Say Y here if you want kernel low-level debugging support
1000                   via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
1001
1002         config DEBUG_RMOBILE_SCIFA4
1003                 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
1004                 depends on ARCH_SH73A0
1005                 help
1006                   Say Y here if you want kernel low-level debugging support
1007                   via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
1008
1009         config DEBUG_S3C_UART0
1010                 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1011                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1012                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1013                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1014                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1015                 bool "Use Samsung S3C UART 0 for low-level debug"
1016                 help
1017                   Say Y here if you want the debug print routines to direct
1018                   their output to UART 0. The port must have been initialised
1019                   by the boot-loader before use.
1020
1021         config DEBUG_S3C_UART1
1022                 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1023                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1024                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1025                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1026                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1027                 bool "Use Samsung S3C UART 1 for low-level debug"
1028                 help
1029                   Say Y here if you want the debug print routines to direct
1030                   their output to UART 1. The port must have been initialised
1031                   by the boot-loader before use.
1032
1033         config DEBUG_S3C_UART2
1034                 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1035                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1036                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1037                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1038                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1039                 bool "Use Samsung S3C UART 2 for low-level debug"
1040                 help
1041                   Say Y here if you want the debug print routines to direct
1042                   their output to UART 2. The port must have been initialised
1043                   by the boot-loader before use.
1044
1045         config DEBUG_S3C_UART3
1046                 depends on ARCH_EXYNOS || ARCH_S5PV210
1047                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1048                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1049                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1050                 bool "Use Samsung S3C UART 3 for low-level debug"
1051                 help
1052                   Say Y here if you want the debug print routines to direct
1053                   their output to UART 3. The port must have been initialised
1054                   by the boot-loader before use.
1055
1056         config DEBUG_S3C2410_UART0
1057                 depends on ARCH_S3C24XX
1058                 select DEBUG_S3C2410_UART
1059                 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
1060                 help
1061                   Say Y here if you want the debug print routines to direct
1062                   their output to UART 0. The port must have been initialised
1063                   by the boot-loader before use.
1064
1065         config DEBUG_S3C2410_UART1
1066                 depends on ARCH_S3C24XX
1067                 select DEBUG_S3C2410_UART
1068                 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
1069                 help
1070                   Say Y here if you want the debug print routines to direct
1071                   their output to UART 1. The port must have been initialised
1072                   by the boot-loader before use.
1073
1074         config DEBUG_S3C2410_UART2
1075                 depends on ARCH_S3C24XX
1076                 select DEBUG_S3C2410_UART
1077                 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
1078                 help
1079                   Say Y here if you want the debug print routines to direct
1080                   their output to UART 2. The port must have been initialised
1081                   by the boot-loader before use.
1082
1083         config DEBUG_SA1100
1084                 depends on ARCH_SA1100
1085                 bool "Use SA1100 UARTs for low-level debug"
1086                 help
1087                   Say Y here if you want kernel low-level debugging support
1088                   on SA-11x0 UART ports. The kernel will check for the first
1089                   enabled UART in a sequence 3-1-2.
1090
1091         config DEBUG_SD5203_UART
1092                 bool "Hisilicon SD5203 Debug UART"
1093                 depends on ARCH_SD5203
1094                 select DEBUG_UART_8250
1095                 help
1096                   Say Y here if you want kernel low-level debugging support
1097                   on SD5203 UART.
1098
1099         config DEBUG_SOCFPGA_UART0
1100                 depends on ARCH_INTEL_SOCFPGA
1101                 bool "Use SOCFPGA UART0 for low-level debug"
1102                 select DEBUG_UART_8250
1103                 help
1104                   Say Y here if you want kernel low-level debugging support
1105                   on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1106
1107         config DEBUG_SOCFPGA_ARRIA10_UART1
1108                 depends on ARCH_INTEL_SOCFPGA
1109                 bool "Use SOCFPGA Arria10 UART1 for low-level debug"
1110                 select DEBUG_UART_8250
1111                 help
1112                   Say Y here if you want kernel low-level debugging support
1113                   on SOCFPGA(Arria 10) based platforms.
1114
1115         config DEBUG_SOCFPGA_CYCLONE5_UART1
1116                 depends on ARCH_INTEL_SOCFPGA
1117                 bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1118                 select DEBUG_UART_8250
1119                 help
1120                   Say Y here if you want kernel low-level debugging support
1121                   on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1122
1123         config DEBUG_SUN9I_UART0
1124                 bool "Kernel low-level debugging messages via sun9i UART0"
1125                 depends on MACH_SUN9I
1126                 select DEBUG_UART_8250
1127                 help
1128                   Say Y here if you want kernel low-level debugging support
1129                   on Allwinner A80 based platforms on the UART0.
1130
1131         config DEBUG_SUNXI_UART0
1132                 bool "Kernel low-level debugging messages via sunXi UART0"
1133                 depends on ARCH_SUNXI
1134                 select DEBUG_UART_8250
1135                 help
1136                   Say Y here if you want kernel low-level debugging support
1137                   on Allwinner A1X based platforms on the UART0.
1138
1139         config DEBUG_SUNXI_UART1
1140                 bool "Kernel low-level debugging messages via sunXi UART1"
1141                 depends on ARCH_SUNXI
1142                 select DEBUG_UART_8250
1143                 help
1144                   Say Y here if you want kernel low-level debugging support
1145                   on Allwinner A1X based platforms on the UART1.
1146
1147         config DEBUG_SUNXI_R_UART
1148                 bool "Kernel low-level debugging messages via sunXi R_UART"
1149                 depends on MACH_SUN6I || MACH_SUN8I
1150                 select DEBUG_UART_8250
1151                 help
1152                   Say Y here if you want kernel low-level debugging support
1153                   on Allwinner A31/A23 based platforms on the R_UART.
1154
1155         config DEBUG_SPEAR3XX
1156                 bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1157                 depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1158                 select DEBUG_UART_PL01X
1159                 help
1160                   Say Y here if you want kernel low-level debugging support
1161                   on ST SPEAr based platforms.
1162
1163         config DEBUG_SPEAR13XX
1164                 bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1165                 depends on ARCH_SPEAR13XX
1166                 select DEBUG_UART_PL01X
1167                 help
1168                   Say Y here if you want kernel low-level debugging support
1169                   on ST SPEAr13xx based platforms.
1170
1171         config DEBUG_STIH41X_ASC2
1172                 bool "Use StiH415/416 ASC2 UART for low-level debug"
1173                 depends on ARCH_STI
1174                 help
1175                   Say Y here if you want kernel low-level debugging support
1176                   on STiH415/416 based platforms like b2000, which has
1177                   default UART wired up to ASC2.
1178
1179                   If unsure, say N.
1180
1181         config DEBUG_STIH41X_SBC_ASC1
1182                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1183                 depends on ARCH_STI
1184                 help
1185                   Say Y here if you want kernel low-level debugging support
1186                   on STiH415/416 based platforms like b2020. which has
1187                   default UART wired up to SBC ASC1.
1188
1189                   If unsure, say N.
1190
1191         config DEBUG_STIH418_SBC_ASC0
1192                 bool "Use StiH418 SBC ASC0 UART for low-level debug"
1193                 depends on ARCH_STI
1194                 help
1195                   Say Y here if you want kernel low-level debugging support
1196                   on STiH418 based platforms which has default UART wired
1197                   up to SBC ASC0.
1198
1199                   If unsure, say N.
1200
1201         config STM32F4_DEBUG_UART
1202                 bool "Use STM32F4 UART for low-level debug"
1203                 depends on MACH_STM32F429 || MACH_STM32F469
1204                 select DEBUG_STM32_UART
1205                 help
1206                   Say Y here if you want kernel low-level debugging support
1207                   on STM32F4 based platforms, which default UART is wired on
1208                   USART1, but another UART instance can be selected by modifying
1209                   CONFIG_DEBUG_UART_PHYS.
1210
1211                   If unsure, say N.
1212
1213         config STM32F7_DEBUG_UART
1214                 bool "Use STM32F7 UART for low-level debug"
1215                 depends on MACH_STM32F746 || MACH_STM32F769
1216                 select DEBUG_STM32_UART
1217                 help
1218                   Say Y here if you want kernel low-level debugging support
1219                   on STM32F7 based platforms, which default UART is wired on
1220                   USART1, but another UART instance can be selected by modifying
1221                   CONFIG_DEBUG_UART_PHYS.
1222
1223                   If unsure, say N.
1224
1225         config STM32H7_DEBUG_UART
1226                 bool "Use STM32H7 UART for low-level debug"
1227                 depends on MACH_STM32H743
1228                 select DEBUG_STM32_UART
1229                 help
1230                   Say Y here if you want kernel low-level debugging support
1231                   on STM32H7 based platforms, which default UART is wired on
1232                   USART1, but another UART instance can be selected by modifying
1233                   CONFIG_DEBUG_UART_PHYS.
1234
1235                   If unsure, say N.
1236
1237         config STM32MP1_DEBUG_UART
1238                 bool "Use STM32MP1 UART for low-level debug"
1239                 depends on MACH_STM32MP157
1240                 select DEBUG_STM32_UART
1241                 help
1242                   Say Y here if you want kernel low-level debugging support
1243                   on STM32MP1 based platforms, wich default UART is wired on
1244                   UART4, but another UART instance can be selected by modifying
1245                   CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
1246
1247                   If unsure, say N.
1248
1249         config TEGRA_DEBUG_UART_AUTO_ODMDATA
1250                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1251                 depends on ARCH_TEGRA
1252                 select DEBUG_TEGRA_UART
1253                 help
1254                   Automatically determines which UART to use for low-level
1255                   debug based on the ODMDATA value. This value is part of
1256                   the BCT, and is written to the boot memory device using
1257                   nvflash, or other flashing tool.  When bits 19:18 are 3,
1258                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
1259                   are UART A/B/C/D/E.
1260
1261         config TEGRA_DEBUG_UARTA
1262                 bool "Kernel low-level debugging messages via Tegra UART A"
1263                 depends on ARCH_TEGRA
1264                 select DEBUG_TEGRA_UART
1265                 help
1266                   Say Y here if you want kernel low-level debugging support
1267                   on Tegra based platforms.
1268
1269         config TEGRA_DEBUG_UARTB
1270                 bool "Kernel low-level debugging messages via Tegra UART B"
1271                 depends on ARCH_TEGRA
1272                 select DEBUG_TEGRA_UART
1273                 help
1274                   Say Y here if you want kernel low-level debugging support
1275                   on Tegra based platforms.
1276
1277         config TEGRA_DEBUG_UARTC
1278                 bool "Kernel low-level debugging messages via Tegra UART C"
1279                 depends on ARCH_TEGRA
1280                 select DEBUG_TEGRA_UART
1281                 help
1282                   Say Y here if you want kernel low-level debugging support
1283                   on Tegra based platforms.
1284
1285         config TEGRA_DEBUG_UARTD
1286                 bool "Kernel low-level debugging messages via Tegra UART D"
1287                 depends on ARCH_TEGRA
1288                 select DEBUG_TEGRA_UART
1289                 help
1290                   Say Y here if you want kernel low-level debugging support
1291                   on Tegra based platforms.
1292
1293         config TEGRA_DEBUG_UARTE
1294                 bool "Kernel low-level debugging messages via Tegra UART E"
1295                 depends on ARCH_TEGRA
1296                 select DEBUG_TEGRA_UART
1297                 help
1298                   Say Y here if you want kernel low-level debugging support
1299                   on Tegra based platforms.
1300
1301         config DEBUG_UX500_UART
1302                 depends on ARCH_U8500
1303                 bool "Use Ux500 UART for low-level debug"
1304                 help
1305                   Say Y here if you want kernel low-level debugging support
1306                   on Ux500 based platforms.
1307
1308         config DEBUG_VERSATILE
1309                 bool "Kernel low-level debugging messages via ARM Versatile UART"
1310                 depends on ARCH_VERSATILE
1311                 select DEBUG_UART_PL01X
1312                 help
1313                   Say Y here if you want kernel low-level debugging support
1314                   on ARM Versatile platforms.
1315
1316         config DEBUG_VEXPRESS_UART0_DETECT
1317                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1318                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1319                 help
1320                   This option enables a simple heuristic which tries to determine
1321                   the motherboard's memory map variant (original or RS1) and then
1322                   choose the relevant UART0 base address.
1323
1324                   Note that this will only work with standard A-class core tiles,
1325                   and may fail with non-standard SMM or custom software models.
1326
1327         config DEBUG_VEXPRESS_UART0_CA9
1328                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1329                 depends on ARCH_VEXPRESS
1330                 select DEBUG_UART_PL01X
1331                 help
1332                   This option selects UART0 at 0x10009000. Except for custom models,
1333                   this applies only to the V2P-CA9 tile.
1334
1335         config DEBUG_VEXPRESS_UART0_RS1
1336                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1337                 depends on ARCH_VEXPRESS
1338                 select DEBUG_UART_PL01X
1339                 help
1340                   This option selects UART0 at 0x1c090000. This applies to most
1341                   of the tiles using the RS1 memory map, including all new A-class
1342                   core tiles, FPGA-based SMMs and software models.
1343
1344         config DEBUG_VEXPRESS_UART0_CRX
1345                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1346                 depends on ARCH_VEXPRESS && !MMU
1347                 select DEBUG_UART_PL01X
1348                 help
1349                   This option selects UART0 at 0xb0090000. This is appropriate for
1350                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1351
1352         config DEBUG_VF_UART
1353                 bool "Vybrid UART"
1354                 depends on SOC_VF610
1355                 help
1356                   Say Y here if you want kernel low-level debugging support
1357                   on Vybrid based platforms.
1358
1359         config DEBUG_VT8500_UART0
1360                 bool "Use UART0 on VIA/Wondermedia SoCs"
1361                 depends on ARCH_VT8500
1362                 help
1363                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
1364                   devices, including VT8500, WM8505, WM8650 and WM8850.
1365
1366         config DEBUG_ZYNQ_UART0
1367                 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1368                 depends on ARCH_ZYNQ
1369                 help
1370                   Say Y here if you want the debug print routines to direct
1371                   their output to UART0 on the Zynq platform.
1372
1373         config DEBUG_ZYNQ_UART1
1374                 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1375                 depends on ARCH_ZYNQ
1376                 help
1377                   Say Y here if you want the debug print routines to direct
1378                   their output to UART1 on the Zynq platform.
1379
1380                   If you have a ZC702 board and want early boot messages to
1381                   appear on the USB serial adaptor, select this option.
1382
1383         config DEBUG_ICEDCC
1384                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1385                 help
1386                   Say Y here if you want the debug print routines to direct
1387                   their output to the EmbeddedICE macrocell's DCC channel using
1388                   co-processor 14. This is known to work on the ARM9 style ICE
1389                   channel and on the XScale with the PEEDI.
1390
1391                   Note that the system will appear to hang during boot if there
1392                   is nothing connected to read from the DCC.
1393
1394         config DEBUG_SEMIHOSTING
1395                 bool "Kernel low-level debug output via semihosting I/O"
1396                 help
1397                   Semihosting enables code running on an ARM target to use
1398                   the I/O facilities on a host debugger/emulator through a
1399                   simple SVC call. The host debugger or emulator must have
1400                   semihosting enabled for the special svc call to be trapped
1401                   otherwise the kernel will crash.
1402
1403                   This is known to work with OpenOCD, as well as
1404                   ARM's Fast Models, or any other controlling environment
1405                   that implements semihosting.
1406
1407                   For more details about semihosting, please see
1408                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1409
1410         config DEBUG_LL_UART_8250
1411                 bool "Kernel low-level debugging via 8250 UART"
1412                 help
1413                   Say Y here if you wish the debug print routes to direct
1414                   their output to an 8250 UART.  You can use this option
1415                   to provide the parameters for the 8250 UART rather than
1416                   selecting one of the platform specific options above if
1417                   you know the parameters for the port.
1418
1419                   This option is preferred over the platform specific
1420                   options; the platform specific options are deprecated
1421                   and will be soon removed.
1422
1423         config DEBUG_LL_UART_PL01X
1424                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1425                 help
1426                   Say Y here if you wish the debug print routes to direct
1427                   their output to a PL01x Primecell UART.  You can use
1428                   this option to provide the parameters for the UART
1429                   rather than selecting one of the platform specific
1430                   options above if you know the parameters for the port.
1431
1432                   This option is preferred over the platform specific
1433                   options; the platform specific options are deprecated
1434                   and will be soon removed.
1435
1436 endchoice
1437
1438 config DEBUG_AT91_UART
1439         bool
1440         depends on ARCH_AT91
1441
1442 config DEBUG_EXYNOS_UART
1443         bool
1444
1445 config DEBUG_S3C2410_UART
1446         bool
1447         select DEBUG_S3C24XX_UART
1448
1449 config DEBUG_S3C24XX_UART
1450         bool
1451
1452 config DEBUG_S3C64XX_UART
1453         bool
1454
1455 config DEBUG_S5PV210_UART
1456         bool
1457
1458 config DEBUG_S3C_UART
1459         depends on DEBUG_S3C2410_UART || DEBUG_S3C24XX_UART || \
1460                    DEBUG_S3C64XX_UART ||  DEBUG_S5PV210_UART || \
1461                    DEBUG_EXYNOS_UART
1462         int
1463         default "0" if DEBUG_S3C_UART0
1464         default "1" if DEBUG_S3C_UART1
1465         default "2" if DEBUG_S3C_UART2
1466         default "3" if DEBUG_S3C_UART3
1467
1468 config DEBUG_OMAP2PLUS_UART
1469         bool
1470         depends on ARCH_OMAP2PLUS
1471
1472 config DEBUG_IMX_UART_PORT
1473         int "i.MX Debug UART Port Selection"
1474         depends on DEBUG_IMX1_UART || \
1475                    DEBUG_IMX25_UART || \
1476                    DEBUG_IMX21_IMX27_UART || \
1477                    DEBUG_IMX31_UART || \
1478                    DEBUG_IMX35_UART || \
1479                    DEBUG_IMX50_UART || \
1480                    DEBUG_IMX51_UART || \
1481                    DEBUG_IMX53_UART || \
1482                    DEBUG_IMX6Q_UART || \
1483                    DEBUG_IMX6SL_UART || \
1484                    DEBUG_IMX6SX_UART || \
1485                    DEBUG_IMX6UL_UART || \
1486                    DEBUG_IMX7D_UART
1487         default 1
1488         help
1489           Choose UART port on which kernel low-level debug messages
1490           should be output.
1491
1492 config DEBUG_VF_UART_PORT
1493         int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1494         default 1
1495         range 0 3
1496         depends on SOC_VF610
1497         help
1498           Choose UART port on which kernel low-level debug messages
1499           should be output.
1500
1501 config DEBUG_TEGRA_UART
1502         bool
1503         depends on ARCH_TEGRA
1504
1505 config DEBUG_STM32_UART
1506         bool
1507         depends on ARCH_STM32
1508
1509 config DEBUG_UART_FLOW_CONTROL
1510         bool "Enable flow control (CTS) for the debug UART"
1511         depends on DEBUG_LL
1512         default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1513         help
1514           Some UART ports are connected to terminals that will use modem
1515           control signals to indicate whether they are ready to receive text.
1516           In practice this means that the terminal is asserting the special
1517           control signal CTS (Clear To Send). If your debug UART supports
1518           this and your debug terminal will require it, enable this option.
1519
1520 config DEBUG_LL_INCLUDE
1521         string
1522         default "debug/sa1100.S" if DEBUG_SA1100
1523         default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1524         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1525         default "debug/at91.S" if DEBUG_AT91_UART
1526         default "debug/asm9260.S" if DEBUG_ASM9260_UART
1527         default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1528         default "debug/dc21285.S" if DEBUG_DC21285_PORT
1529         default "debug/meson.S" if DEBUG_MESON_UARTAO
1530         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1531         default "debug/exynos.S" if DEBUG_EXYNOS_UART
1532         default "debug/icedcc.S" if DEBUG_ICEDCC
1533         default "debug/imx.S" if DEBUG_IMX1_UART || \
1534                                  DEBUG_IMX25_UART || \
1535                                  DEBUG_IMX21_IMX27_UART || \
1536                                  DEBUG_IMX31_UART || \
1537                                  DEBUG_IMX35_UART || \
1538                                  DEBUG_IMX50_UART || \
1539                                  DEBUG_IMX51_UART || \
1540                                  DEBUG_IMX53_UART ||\
1541                                  DEBUG_IMX6Q_UART || \
1542                                  DEBUG_IMX6SL_UART || \
1543                                  DEBUG_IMX6SX_UART || \
1544                                  DEBUG_IMX6UL_UART || \
1545                                  DEBUG_IMX7D_UART
1546         default "debug/msm.S" if DEBUG_QCOM_UARTDM
1547         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1548         default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1549         default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
1550         default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
1551         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1552         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1553         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1554         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
1555         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1556         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
1557         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
1558         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1559         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1560         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1561         default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1562         default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1563         default "debug/sti.S" if DEBUG_STIH41X_ASC2
1564         default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
1565         default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
1566         default "debug/stm32.S" if DEBUG_STM32_UART
1567         default "debug/tegra.S" if DEBUG_TEGRA_UART
1568         default "debug/ux500.S" if DEBUG_UX500_UART
1569         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1570         default "debug/vf.S" if DEBUG_VF_UART
1571         default "debug/vt8500.S" if DEBUG_VT8500_UART0
1572         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1573         default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1574         default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1575         default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
1576         default "mach/debug-macro.S"
1577
1578 # Compatibility options for PL01x
1579 config DEBUG_UART_PL01X
1580         bool
1581
1582 # Compatibility options for 8250
1583 config DEBUG_UART_8250
1584         def_bool ARCH_IOP32X || ARCH_IXP4XX || ARCH_RPC
1585
1586 config DEBUG_UART_PHYS
1587         hex "Physical base address of debug UART"
1588         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1589         default 0x01c28000 if DEBUG_SUNXI_UART0
1590         default 0x01c28400 if DEBUG_SUNXI_UART1
1591         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1592         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1593         default 0x01f02800 if DEBUG_SUNXI_R_UART
1594         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1595         default 0x02531000 if DEBUG_KEYSTONE_UART1
1596         default 0x03010fe0 if ARCH_RPC
1597         default 0x07000000 if DEBUG_SUN9I_UART0
1598         default 0x09530000 if DEBUG_STIH418_SBC_ASC0
1599         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1600                                 DEBUG_VEXPRESS_UART0_CA9
1601         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1602         default 0x10124000 if DEBUG_RK3X_UART0
1603         default 0x10126000 if DEBUG_RK3X_UART1
1604         default 0x101f1000 if DEBUG_VERSATILE
1605         default 0x101fb000 if DEBUG_NOMADIK_UART
1606         default 0x10210000 if DEBUG_RV1108_UART2
1607         default 0x10220000 if DEBUG_RV1108_UART1
1608         default 0x10230000 if DEBUG_RV1108_UART0
1609         default 0x11002000 if DEBUG_MT8127_UART0
1610         default 0x11006000 if DEBUG_MT6589_UART0
1611         default 0x11009000 if DEBUG_MT8135_UART3
1612         default 0x16000000 if DEBUG_INTEGRATOR
1613         default 0x1600d000 if DEBUG_SD5203_UART
1614         default 0x18000300 if DEBUG_BCM_5301X
1615         default 0x18000400 if DEBUG_BCM_HR2
1616         default 0x18023000 if DEBUG_BCM_IPROC_UART3
1617         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1618         default 0x1f221000 if DEBUG_MSTARV7_PMUART
1619         default 0x20001000 if DEBUG_HIP01_UART
1620         default 0x20060000 if DEBUG_RK29_UART0
1621         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1622         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1623         default 0x20201000 if DEBUG_BCM2835
1624         default 0x3e000000 if DEBUG_BCM_KONA_UART
1625         default 0x3f201000 if DEBUG_BCM2836
1626         default 0x40010000 if STM32MP1_DEBUG_UART
1627         default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
1628                                 STM32H7_DEBUG_UART
1629         default 0x40028000 if DEBUG_AT91_SAMV7_USART1
1630         default 0x40081000 if DEBUG_LPC18XX_UART0
1631         default 0x40090000 if DEBUG_LPC32XX
1632         default 0x40100000 if DEBUG_PXA_UART1
1633         default 0x42000000 if DEBUG_GEMINI
1634         default 0x44e09000 if DEBUG_AM33XXUART1
1635         default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1636         default 0x48022000 if DEBUG_TI81XXUART2
1637         default 0x48024000 if DEBUG_TI81XXUART3
1638         default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1639                                 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1640         default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1641                                 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1642         default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1643         default 0x49020000 if DEBUG_OMAP3UART3
1644         default 0x49042000 if DEBUG_OMAP3UART4
1645         default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1646                                 DEBUG_S3C2410_UART0)
1647         default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1648                                 DEBUG_S3C2410_UART1)
1649         default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1650                                 DEBUG_S3C2410_UART2)
1651         default 0x78000000 if DEBUG_CNS3XXX
1652         default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1653         default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1654         default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1655         default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1656         default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1657         default 0x80010000 if DEBUG_ASM9260_UART
1658         default 0x80070000 if DEBUG_IMX23_UART
1659         default 0x80074000 if DEBUG_IMX28_UART
1660         default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1661         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1662         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1663         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1664         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1665         default 0xd0000000 if DEBUG_SPEAR3XX
1666         default 0xd0012000 if DEBUG_MVEBU_UART0
1667         default 0xc81004c0 if DEBUG_MESON_UARTAO
1668         default 0xd4017000 if DEBUG_MMP_UART2
1669         default 0xd4018000 if DEBUG_MMP_UART3
1670         default 0xe0000000 if DEBUG_SPEAR13XX
1671         default 0xe4007000 if DEBUG_HIP04_UART
1672         default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1673         default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1674         default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
1675         default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1676         default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1677         default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1678         default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
1679         default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
1680         default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
1681         default 0xe8009000 if DEBUG_R7S9210_SCIF4
1682         default 0xf0000000 if DEBUG_DIGICOLOR_UA0
1683         default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1684         default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1685         default 0xf7fc9000 if DEBUG_BERLIN_UART
1686         default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
1687         default 0xf8b00000 if DEBUG_HIX5HD2_UART
1688         default 0xf991e000 if DEBUG_QCOM_UARTDM
1689         default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
1690         default 0xfcb00000 if DEBUG_HI3620_UART
1691         default 0xfd883000 if DEBUG_ALPINE_UART0
1692         default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
1693         default 0xfe800000 if ARCH_IOP32X
1694         default 0xfed32000 if DEBUG_STIH41X_ASC2
1695         default 0xff690000 if DEBUG_RK32_UART2
1696         default 0xffc02000 if DEBUG_SOCFPGA_UART0
1697         default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1698         default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1699         default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1700         default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1701         default 0xfff36000 if DEBUG_HIGHBANK_UART
1702         default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1703         default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1704         default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1705         default 0xfffe8600 if DEBUG_BCM63XX_UART
1706         default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
1707         default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1708         depends on ARCH_EP93XX || \
1709                 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1710                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1711                 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1712                 DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
1713                 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1714                 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
1715                 DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
1716                 DEBUG_RCAR_GEN2_SCIFA2 || \
1717                 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1718                 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1719                 DEBUG_S3C64XX_UART || \
1720                 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1721                 DEBUG_DIGICOLOR_UA0 || \
1722                 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1723                 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1724                 DEBUG_STIH418_SBC_ASC0
1725
1726 config DEBUG_UART_VIRT
1727         hex "Virtual base address of debug UART"
1728         default 0xc881f000 if DEBUG_RV1108_UART2
1729         default 0xc8821000 if DEBUG_RV1108_UART1
1730         default 0xc8912000 if DEBUG_RV1108_UART0
1731         default 0xe0010fe0 if ARCH_RPC
1732         default 0xf0010000 if DEBUG_ASM9260_UART
1733         default 0xf0100000 if DEBUG_DIGICOLOR_UA0
1734         default 0xf01fb000 if DEBUG_NOMADIK_UART
1735         default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1736         default 0xf0221000 if DEBUG_MSTARV7_PMUART
1737         default 0xf1000300 if DEBUG_BCM_5301X
1738         default 0xf1000400 if DEBUG_BCM_HR2
1739         default 0xf1002000 if DEBUG_MT8127_UART0
1740         default 0xf1006000 if DEBUG_MT6589_UART0
1741         default 0xf1009000 if DEBUG_MT8135_UART3
1742         default 0xf1023000 if DEBUG_BCM_IPROC_UART3
1743         default 0xf11f1000 if DEBUG_VERSATILE
1744         default 0xf1600000 if DEBUG_INTEGRATOR
1745         default 0xf1c28000 if DEBUG_SUNXI_UART0
1746         default 0xf1c28400 if DEBUG_SUNXI_UART1
1747         default 0xf1f02800 if DEBUG_SUNXI_R_UART
1748         default 0xf31004c0 if DEBUG_MESON_UARTAO
1749         default 0xf4090000 if DEBUG_LPC32XX
1750         default 0xf4200000 if DEBUG_GEMINI
1751         default 0xf6200000 if DEBUG_PXA_UART1
1752         default 0xf7000000 if DEBUG_SUN9I_UART0
1753         default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1754         default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1755                                 DEBUG_S3C2410_UART0)
1756         default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1757         default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1758         default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1759         default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1760                                 DEBUG_S3C2410_UART1)
1761         default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1762                                 DEBUG_S3C2410_UART2)
1763         default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1764         default 0xf7fc9000 if DEBUG_BERLIN_UART
1765         default 0xf8007000 if DEBUG_HIP04_UART
1766         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1767         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1768         default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
1769         default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
1770         default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
1771         default 0xf9e09000 if DEBUG_AM33XXUART1
1772         default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1773         default 0xfa022000 if DEBUG_TI81XXUART2
1774         default 0xfa024000 if DEBUG_TI81XXUART3
1775         default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1776                                 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1777         default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1778                                 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1779         default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1780         default 0xfa71e000 if DEBUG_QCOM_UARTDM
1781         default 0xfb002000 if DEBUG_CNS3XXX
1782         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1783         default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1784         default 0xfb020000 if DEBUG_OMAP3UART3
1785         default 0xfb042000 if DEBUG_OMAP3UART4
1786         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1787         default 0xfcfe8600 if DEBUG_BCM63XX_UART
1788         default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1789         default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
1790         default 0xfd883000 if DEBUG_ALPINE_UART0
1791         default 0xfdd32000 if DEBUG_STIH41X_ASC2
1792         default 0xfe010000 if STM32MP1_DEBUG_UART
1793         default 0xfe017000 if DEBUG_MMP_UART2
1794         default 0xfe018000 if DEBUG_MMP_UART3
1795         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1796         default 0xfe300000 if DEBUG_BCM_KONA_UART
1797         default 0xfe800000 if ARCH_IOP32X
1798         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1799         default 0xfeb24000 if DEBUG_RK3X_UART0
1800         default 0xfeb26000 if DEBUG_RK3X_UART1
1801         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1802         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1803         default 0xfec02000 if DEBUG_SOCFPGA_UART0
1804         default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1805         default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1806         default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1807         default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1808         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1809         default 0xfec90000 if DEBUG_RK32_UART2
1810         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1811         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
1812         default 0xfed60000 if DEBUG_RK29_UART0
1813         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1814         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1815         default 0xfedc0000 if DEBUG_EP93XX
1816         default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1817         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1818         default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1819         default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1820         default 0xfef36000 if DEBUG_HIGHBANK_UART
1821         default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1822         default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1823         default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1824         default 0xffd01000 if DEBUG_HIP01_UART
1825         default DEBUG_UART_PHYS if !MMU
1826         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1827                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1828                 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1829                 DEBUG_S3C64XX_UART || \
1830                 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1831                 DEBUG_DIGICOLOR_UA0 || \
1832                 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1833                 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1834                 DEBUG_STIH418_SBC_ASC0
1835
1836 config DEBUG_UART_8250_SHIFT
1837         int "Register offset shift for the 8250 debug UART"
1838         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1839         default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1840                 DEBUG_BCM_HR2 || DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || \
1841                 DEBUG_OMAP7XXUART3
1842         default 3 if DEBUG_MSTARV7_PMUART
1843         default 2
1844
1845 config DEBUG_UART_8250_WORD
1846         bool "Use 32-bit accesses for 8250 UART"
1847         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1848         depends on DEBUG_UART_8250_SHIFT >= 2
1849         default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1850                 DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1851                 DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
1852                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1853                 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
1854                 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
1855
1856 config DEBUG_UART_8250_PALMCHIP
1857         bool "8250 UART is Palmchip BK-310x"
1858         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1859         help
1860           Palmchip provides a UART implementation compatible with 16550
1861           except for having a different register layout.  Say Y here if
1862           the debug UART is of this type.
1863
1864 config DEBUG_UNCOMPRESS
1865         bool "Enable decompressor debugging via DEBUG_LL output"
1866         depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1867         depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1868                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
1869                      !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
1870         help
1871           This option influences the normal decompressor output for
1872           multiplatform kernels.  Normally, multiplatform kernels disable
1873           decompressor output because it is not possible to know where to
1874           send the decompressor output.
1875
1876           When this option is set, the selected DEBUG_LL output method
1877           will be re-used for normal decompressor output on multiplatform
1878           kernels.
1879           
1880
1881 config UNCOMPRESS_INCLUDE
1882         string
1883         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1884                                         PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1885         default "mach/uncompress.h"
1886
1887 config EARLY_PRINTK
1888         bool "Early printk"
1889         depends on DEBUG_LL
1890         help
1891           Say Y here if you want to have an early console using the
1892           kernel low-level debugging functions. Add earlyprintk to your
1893           kernel parameters to enable this console.
1894
1895 config ARM_KPROBES_TEST
1896         tristate "Kprobes test module"
1897         depends on KPROBES && MODULES
1898         help
1899           Perform tests of kprobes API and instruction set simulation.
1900
1901 config PID_IN_CONTEXTIDR
1902         bool "Write the current PID to the CONTEXTIDR register"
1903         depends on CPU_COPY_V6
1904         help
1905           Enabling this option causes the kernel to write the current PID to
1906           the PROCID field of the CONTEXTIDR register, at the expense of some
1907           additional instructions during context switch. Say Y here only if you
1908           are planning to use hardware trace tools with this kernel.
1909
1910 source "drivers/hwtracing/coresight/Kconfig"