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