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