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