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