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