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