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