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