]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/Kconfig.debug
Merge branch 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into...
[karo-tx-linux.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         select DEBUG_FS
9         ---help---
10           Say Y here if you want to show the kernel pagetable layout in a
11           debugfs file. This information is only useful for kernel developers
12           who are working in architecture specific areas of the kernel.
13           It is probably not a good idea to enable this feature in a production
14           kernel.
15           If in doubt, say "N"
16
17 config STRICT_DEVMEM
18         bool "Filter access to /dev/mem"
19         depends on MMU
20         ---help---
21           If this option is disabled, you allow userspace (root) access to all
22           of memory, including kernel and userspace memory. Accidental
23           access to this is obviously disastrous, but specific access can
24           be used by people debugging the kernel.
25
26           If this option is switched on, the /dev/mem file only allows
27           userspace access to memory mapped peripherals.
28
29           If in doubt, say Y.
30
31 # RMK wants arm kernels compiled with frame pointers or stack unwinding.
32 # If you know what you are doing and are willing to live without stack
33 # traces, you can get a slightly smaller kernel by setting this option to
34 # n, but then RMK will have to kill you ;).
35 config FRAME_POINTER
36         bool
37         depends on !THUMB2_KERNEL
38         default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
39         help
40           If you say N here, the resulting kernel will be slightly smaller and
41           faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42           when a problem occurs with the kernel, the information that is
43           reported is severely limited.
44
45 config ARM_UNWIND
46         bool "Enable stack unwinding support (EXPERIMENTAL)"
47         depends on AEABI
48         default y
49         help
50           This option enables stack unwinding support in the kernel
51           using the information automatically generated by the
52           compiler. The resulting kernel image is slightly bigger but
53           the performance is not affected. Currently, this feature
54           only works with EABI compilers. If unsure say Y.
55
56 config OLD_MCOUNT
57         bool
58         depends on FUNCTION_TRACER && FRAME_POINTER
59         default y
60
61 config DEBUG_USER
62         bool "Verbose user fault messages"
63         help
64           When a user program crashes due to an exception, the kernel can
65           print a brief message explaining what the problem was. This is
66           sometimes helpful for debugging but serves no purpose on a
67           production system. Most people should say N here.
68
69           In addition, you need to pass user_debug=N on the kernel command
70           line to enable this feature.  N consists of the sum of:
71
72               1 - undefined instruction events
73               2 - system calls
74               4 - invalid data aborts
75               8 - SIGSEGV faults
76              16 - SIGBUS faults
77
78 # These options are only for real kernel hackers who want to get their hands dirty.
79 config DEBUG_LL
80         bool "Kernel low-level debugging functions (read help!)"
81         depends on DEBUG_KERNEL
82         help
83           Say Y here to include definitions of printascii, printch, printhex
84           in the kernel.  This is helpful if you are debugging code that
85           executes before the console is initialized.
86
87           Note that selecting this option will limit the kernel to a single
88           UART definition, as specified below. Attempting to boot the kernel
89           image on a different platform *will not work*, so this option should
90           not be enabled for kernels that are intended to be portable.
91
92 choice
93         prompt "Kernel low-level debugging port"
94         depends on DEBUG_LL
95
96         config AT91_DEBUG_LL_DBGU0
97                 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
98                 depends on HAVE_AT91_DBGU0
99
100         config AT91_DEBUG_LL_DBGU1
101                 bool "Kernel low-level debugging on 9263 and 9g45"
102                 depends on HAVE_AT91_DBGU1
103
104         config DEBUG_BCM2835
105                 bool "Kernel low-level debugging on BCM2835 PL011 UART"
106                 depends on ARCH_BCM2835
107                 select DEBUG_UART_PL01X
108
109         config DEBUG_BCM_KONA_UART
110                 bool "Kernel low-level debugging messages via BCM KONA UART"
111                 depends on ARCH_BCM
112                 select DEBUG_UART_8250
113                 help
114                   Say Y here if you want kernel low-level debugging support
115                   on Broadcom SoC platforms.
116                   This low level debug works for Broadcom
117                   mobile SoCs in the Kona family of chips (e.g. bcm28155,
118                   bcm11351, etc...)
119
120         config DEBUG_BERLIN_UART
121                 bool "Marvell Berlin SoC Debug UART"
122                 depends on ARCH_BERLIN
123                 select DEBUG_UART_8250
124                 help
125                   Say Y here if you want kernel low-level debugging support
126                   on Marvell Berlin SoC based platforms.
127
128         config DEBUG_CLPS711X_UART1
129                 bool "Kernel low-level debugging messages via UART1"
130                 depends on ARCH_CLPS711X
131                 help
132                   Say Y here if you want the debug print routines to direct
133                   their output to the first serial port on these devices.
134
135         config DEBUG_CLPS711X_UART2
136                 bool "Kernel low-level debugging messages via UART2"
137                 depends on ARCH_CLPS711X
138                 help
139                   Say Y here if you want the debug print routines to direct
140                   their output to the second serial port on these devices.
141
142         config DEBUG_CNS3XXX
143                 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
144                 depends on ARCH_CNS3XXX
145                 select DEBUG_UART_PL01X
146                 help
147                   Say Y here if you want the debug print routines to direct
148                   their output to the CNS3xxx UART0.
149
150         config DEBUG_DAVINCI_DA8XX_UART1
151                 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
152                 depends on ARCH_DAVINCI_DA8XX
153                 select DEBUG_UART_8250
154                 help
155                   Say Y here if you want the debug print routines to direct
156                   their output to UART1 serial port on DaVinci DA8XX devices.
157
158         config DEBUG_DAVINCI_DA8XX_UART2
159                 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
160                 depends on ARCH_DAVINCI_DA8XX
161                 select DEBUG_UART_8250
162                 help
163                   Say Y here if you want the debug print routines to direct
164                   their output to UART2 serial port on DaVinci DA8XX devices.
165
166         config DEBUG_DAVINCI_DMx_UART0
167                 bool "Kernel low-level debugging on DaVinci DMx using UART0"
168                 depends on ARCH_DAVINCI_DMx
169                 select DEBUG_UART_8250
170                 help
171                   Say Y here if you want the debug print routines to direct
172                   their output to UART0 serial port on DaVinci DMx devices.
173
174         config DEBUG_DAVINCI_TNETV107X_UART1
175                 bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
176                 depends on ARCH_DAVINCI_TNETV107X
177                 select DEBUG_UART_8250
178                 help
179                   Say Y here if you want the debug print routines to direct
180                   their output to UART1 serial port on DaVinci TNETV107X
181                   devices.
182
183         config DEBUG_ZYNQ_UART0
184                 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
185                 depends on ARCH_ZYNQ
186                 help
187                   Say Y here if you want the debug print routines to direct
188                   their output to UART0 on the Zynq platform.
189
190         config DEBUG_ZYNQ_UART1
191                 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
192                 depends on ARCH_ZYNQ
193                 help
194                   Say Y here if you want the debug print routines to direct
195                   their output to UART1 on the Zynq platform.
196
197                   If you have a ZC702 board and want early boot messages to
198                   appear on the USB serial adaptor, select this option.
199
200         config DEBUG_DC21285_PORT
201                 bool "Kernel low-level debugging messages via footbridge serial port"
202                 depends on FOOTBRIDGE
203                 help
204                   Say Y here if you want the debug print routines to direct
205                   their output to the serial port in the DC21285 (Footbridge).
206
207         config DEBUG_FOOTBRIDGE_COM1
208                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
209                 depends on FOOTBRIDGE
210                 help
211                   Say Y here if you want the debug print routines to direct
212                   their output to the 8250 at PCI COM1.
213
214         config DEBUG_HI3620_UART
215                 bool "Hisilicon HI3620 Debug UART"
216                 depends on ARCH_HI3xxx
217                 select DEBUG_UART_PL01X
218                 help
219                   Say Y here if you want kernel low-level debugging support
220                   on HI3620 UART.
221
222         config DEBUG_HI3716_UART
223                 bool "Hisilicon Hi3716 Debug UART"
224                 depends on ARCH_HI3xxx
225                 select DEBUG_UART_PL01X
226                 help
227                   Say Y here if you want kernel low-level debugging support
228                   on HI3716 UART.
229
230         config DEBUG_HIGHBANK_UART
231                 bool "Kernel low-level debugging messages via Highbank UART"
232                 depends on ARCH_HIGHBANK
233                 select DEBUG_UART_PL01X
234                 help
235                   Say Y here if you want the debug print routines to direct
236                   their output to the UART on Highbank based devices.
237
238         config DEBUG_IMX1_UART
239                 bool "i.MX1 Debug UART"
240                 depends on SOC_IMX1
241                 help
242                   Say Y here if you want kernel low-level debugging support
243                   on i.MX1.
244
245         config DEBUG_IMX23_UART
246                 bool "i.MX23 Debug UART"
247                 depends on SOC_IMX23
248                 select DEBUG_UART_PL01X
249                 help
250                   Say Y here if you want kernel low-level debugging support
251                   on i.MX23.
252
253         config DEBUG_IMX25_UART
254                 bool "i.MX25 Debug UART"
255                 depends on SOC_IMX25
256                 help
257                   Say Y here if you want kernel low-level debugging support
258                   on i.MX25.
259
260         config DEBUG_IMX21_IMX27_UART
261                 bool "i.MX21 and i.MX27 Debug UART"
262                 depends on SOC_IMX21 || SOC_IMX27
263                 help
264                   Say Y here if you want kernel low-level debugging support
265                   on i.MX21 or i.MX27.
266
267         config DEBUG_IMX28_UART
268                 bool "i.MX28 Debug UART"
269                 depends on SOC_IMX28
270                 select DEBUG_UART_PL01X
271                 help
272                   Say Y here if you want kernel low-level debugging support
273                   on i.MX28.
274
275         config DEBUG_IMX31_UART
276                 bool "i.MX31 Debug UART"
277                 depends on SOC_IMX31
278                 help
279                   Say Y here if you want kernel low-level debugging support
280                   on i.MX31.
281
282         config DEBUG_IMX35_UART
283                 bool "i.MX35 Debug UART"
284                 depends on SOC_IMX35
285                 help
286                   Say Y here if you want kernel low-level debugging support
287                   on i.MX35.
288
289         config DEBUG_IMX50_UART
290                 bool "i.MX50 Debug UART"
291                 depends on SOC_IMX50
292                 help
293                   Say Y here if you want kernel low-level debugging support
294                   on i.MX50.
295
296         config DEBUG_IMX51_UART
297                 bool "i.MX51 Debug UART"
298                 depends on SOC_IMX51
299                 help
300                   Say Y here if you want kernel low-level debugging support
301                   on i.MX51.
302
303         config DEBUG_IMX53_UART
304                 bool "i.MX53 Debug UART"
305                 depends on SOC_IMX53
306                 help
307                   Say Y here if you want kernel low-level debugging support
308                   on i.MX53.
309
310         config DEBUG_IMX6Q_UART
311                 bool "i.MX6Q/DL Debug UART"
312                 depends on SOC_IMX6Q
313                 help
314                   Say Y here if you want kernel low-level debugging support
315                   on i.MX6Q/DL.
316
317         config DEBUG_IMX6SL_UART
318                 bool "i.MX6SL Debug UART"
319                 depends on SOC_IMX6SL
320                 help
321                   Say Y here if you want kernel low-level debugging support
322                   on i.MX6SL.
323
324         config DEBUG_KEYSTONE_UART0
325                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
326                 depends on ARCH_KEYSTONE
327                 select DEBUG_UART_8250
328                 help
329                   Say Y here if you want the debug print routines to direct
330                   their output to UART0 serial port on KEYSTONE2 devices.
331
332         config DEBUG_KEYSTONE_UART1
333                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
334                 depends on ARCH_KEYSTONE
335                 select DEBUG_UART_8250
336                 help
337                   Say Y here if you want the debug print routines to direct
338                   their output to UART1 serial port on KEYSTONE2 devices.
339
340         config DEBUG_MMP_UART2
341                 bool "Kernel low-level debugging message via MMP UART2"
342                 depends on ARCH_MMP
343                 select DEBUG_UART_8250
344                 help
345                   Say Y here if you want kernel low-level debugging support
346                   on MMP UART2.
347
348         config DEBUG_MMP_UART3
349                 bool "Kernel low-level debugging message via MMP UART3"
350                 depends on ARCH_MMP
351                 select DEBUG_UART_8250
352                 help
353                   Say Y here if you want kernel low-level debugging support
354                   on MMP UART3.
355
356         config DEBUG_MSM_UART1
357                 bool "Kernel low-level debugging messages via MSM UART1"
358                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
359                 select DEBUG_MSM_UART
360                 help
361                   Say Y here if you want the debug print routines to direct
362                   their output to the first serial port on MSM devices.
363
364         config DEBUG_MSM_UART2
365                 bool "Kernel low-level debugging messages via MSM UART2"
366                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
367                 select DEBUG_MSM_UART
368                 help
369                   Say Y here if you want the debug print routines to direct
370                   their output to the second serial port on MSM devices.
371
372         config DEBUG_MSM_UART3
373                 bool "Kernel low-level debugging messages via MSM UART3"
374                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
375                 select DEBUG_MSM_UART
376                 help
377                   Say Y here if you want the debug print routines to direct
378                   their output to the third serial port on MSM devices.
379
380         config DEBUG_MSM8660_UART
381                 bool "Kernel low-level debugging messages via MSM 8660 UART"
382                 depends on ARCH_MSM8X60
383                 select MSM_HAS_DEBUG_UART_HS
384                 select DEBUG_MSM_UART
385                 help
386                   Say Y here if you want the debug print routines to direct
387                   their output to the serial port on MSM 8660 devices.
388
389         config DEBUG_MSM8960_UART
390                 bool "Kernel low-level debugging messages via MSM 8960 UART"
391                 depends on ARCH_MSM8960
392                 select MSM_HAS_DEBUG_UART_HS
393                 select DEBUG_MSM_UART
394                 help
395                   Say Y here if you want the debug print routines to direct
396                   their output to the serial port on MSM 8960 devices.
397
398         config DEBUG_MSM8974_UART
399                 bool "Kernel low-level debugging messages via MSM 8974 UART"
400                 depends on ARCH_MSM8974
401                 select MSM_HAS_DEBUG_UART_HS
402                 select DEBUG_MSM_UART
403                 help
404                   Say Y here if you want the debug print routines to direct
405                   their output to the serial port on MSM 8974 devices.
406
407         config DEBUG_MVEBU_UART
408                 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
409                 depends on ARCH_MVEBU
410                 select DEBUG_UART_8250
411                 help
412                   Say Y here if you want kernel low-level debugging support
413                   on MVEBU based platforms.
414
415                   This option should be used with the old bootloaders
416                   that left the internal registers mapped at
417                   0xd0000000. As of today, this is the case on
418                   platforms such as the Globalscale Mirabox or the
419                   Plathome OpenBlocks AX3, when using the original
420                   bootloader.
421
422                   If the wrong DEBUG_MVEBU_UART* option is selected,
423                   when u-boot hands over to the kernel, the system
424                   silently crashes, with no serial output at all.
425
426         config DEBUG_MVEBU_UART_ALTERNATE
427                 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
428                 depends on ARCH_MVEBU
429                 select DEBUG_UART_8250
430                 help
431                   Say Y here if you want kernel low-level debugging support
432                   on MVEBU based platforms.
433
434                   This option should be used with the new bootloaders
435                   that remap the internal registers at 0xf1000000.
436
437                   If the wrong DEBUG_MVEBU_UART* option is selected,
438                   when u-boot hands over to the kernel, the system
439                   silently crashes, with no serial output at all.
440
441         config DEBUG_VF_UART
442                 bool "Vybrid UART"
443                 depends on SOC_VF610
444                 help
445                   Say Y here if you want kernel low-level debugging support
446                   on Vybrid based platforms.
447
448         config DEBUG_NOMADIK_UART
449                 bool "Kernel low-level debugging messages via NOMADIK UART"
450                 depends on ARCH_NOMADIK
451                 select DEBUG_UART_PL01X
452                 help
453                   Say Y here if you want kernel low-level debugging support
454                   on NOMADIK based platforms.
455
456         config DEBUG_NSPIRE_CLASSIC_UART
457                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
458                 depends on ARCH_NSPIRE
459                 select DEBUG_UART_8250
460                 help
461                   Say Y here if you want kernel low-level debugging support
462                   on TI-NSPIRE classic models.
463
464         config DEBUG_NSPIRE_CX_UART
465                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
466                 depends on ARCH_NSPIRE
467                 select DEBUG_UART_PL01X
468                 help
469                   Say Y here if you want kernel low-level debugging support
470                   on TI-NSPIRE CX models.
471
472         config DEBUG_OMAP2UART1
473                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
474                 depends on ARCH_OMAP2PLUS
475                 select DEBUG_OMAP2PLUS_UART
476                 help
477                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
478                   omap3 torpedo and 3530 lv som.
479
480         config DEBUG_OMAP2UART2
481                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
482                 depends on ARCH_OMAP2PLUS
483                 select DEBUG_OMAP2PLUS_UART
484
485         config DEBUG_OMAP2UART3
486                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
487                 depends on ARCH_OMAP2PLUS
488                 select DEBUG_OMAP2PLUS_UART
489
490         config DEBUG_OMAP3UART3
491                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
492                 depends on ARCH_OMAP2PLUS
493                 select DEBUG_OMAP2PLUS_UART
494                 help
495                   This covers at least cm_t3x, beagle, crane, devkit8000,
496                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
497                   and 3517evm.
498
499         config DEBUG_OMAP4UART3
500                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
501                 depends on ARCH_OMAP2PLUS
502                 select DEBUG_OMAP2PLUS_UART
503
504         config DEBUG_OMAP3UART4
505                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
506                 depends on ARCH_OMAP2PLUS
507                 select DEBUG_OMAP2PLUS_UART
508
509         config DEBUG_OMAP4UART4
510                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
511                 depends on ARCH_OMAP2PLUS
512                 select DEBUG_OMAP2PLUS_UART
513
514         config DEBUG_TI81XXUART1
515                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
516                 depends on ARCH_OMAP2PLUS
517                 select DEBUG_OMAP2PLUS_UART
518
519         config DEBUG_TI81XXUART2
520                 bool "Kernel low-level debugging messages via TI81XX UART2"
521                 depends on ARCH_OMAP2PLUS
522                 select DEBUG_OMAP2PLUS_UART
523
524         config DEBUG_TI81XXUART3
525                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
526                 depends on ARCH_OMAP2PLUS
527                 select DEBUG_OMAP2PLUS_UART
528
529         config DEBUG_AM33XXUART1
530                 bool "Kernel low-level debugging messages via AM33XX UART1"
531                 depends on ARCH_OMAP2PLUS
532                 select DEBUG_OMAP2PLUS_UART
533
534         config DEBUG_ZOOM_UART
535                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
536                 depends on ARCH_OMAP2PLUS
537                 select DEBUG_OMAP2PLUS_UART
538
539         config DEBUG_PICOXCELL_UART
540                 depends on ARCH_PICOXCELL
541                 bool "Use PicoXcell UART for low-level debug"
542                 select DEBUG_UART_8250
543                 help
544                   Say Y here if you want kernel low-level debugging support
545                   on PicoXcell based platforms.
546
547         config DEBUG_PXA_UART1
548                 depends on ARCH_PXA
549                 bool "Use PXA UART1 for low-level debug"
550                 select DEBUG_UART_8250
551                 help
552                   Say Y here if you want kernel low-level debugging support
553                   on PXA UART1.
554
555         config DEBUG_REALVIEW_STD_PORT
556                 bool "RealView Default UART"
557                 depends on ARCH_REALVIEW
558                 select DEBUG_UART_PL01X
559                 help
560                   Say Y here if you want the debug print routines to direct
561                   their output to the serial port on RealView EB, PB11MP, PBA8
562                   and PBX platforms.
563
564         config DEBUG_REALVIEW_PB1176_PORT
565                 bool "RealView PB1176 UART"
566                 depends on MACH_REALVIEW_PB1176
567                 select DEBUG_UART_PL01X
568                 help
569                   Say Y here if you want the debug print routines to direct
570                   their output to the standard serial port on the RealView
571                   PB1176 platform.
572
573         config DEBUG_RK29_UART0
574                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
575                 depends on ARCH_ROCKCHIP
576                 select DEBUG_UART_8250
577                 help
578                   Say Y here if you want kernel low-level debugging support
579                   on Rockchip based platforms.
580
581         config DEBUG_RK29_UART1
582                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
583                 depends on ARCH_ROCKCHIP
584                 select DEBUG_UART_8250
585                 help
586                   Say Y here if you want kernel low-level debugging support
587                   on Rockchip based platforms.
588
589         config DEBUG_RK29_UART2
590                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
591                 depends on ARCH_ROCKCHIP
592                 select DEBUG_UART_8250
593                 help
594                   Say Y here if you want kernel low-level debugging support
595                   on Rockchip based platforms.
596
597         config DEBUG_RK3X_UART0
598                 bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
599                 depends on ARCH_ROCKCHIP
600                 select DEBUG_UART_8250
601                 help
602                   Say Y here if you want kernel low-level debugging support
603                   on Rockchip based platforms.
604
605         config DEBUG_RK3X_UART1
606                 bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
607                 depends on ARCH_ROCKCHIP
608                 select DEBUG_UART_8250
609                 help
610                   Say Y here if you want kernel low-level debugging support
611                   on Rockchip based platforms.
612
613         config DEBUG_RK3X_UART2
614                 bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
615                 depends on ARCH_ROCKCHIP
616                 select DEBUG_UART_8250
617                 help
618                   Say Y here if you want kernel low-level debugging support
619                   on Rockchip based platforms.
620
621         config DEBUG_RK3X_UART3
622                 bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
623                 depends on ARCH_ROCKCHIP
624                 select DEBUG_UART_8250
625                 help
626                   Say Y here if you want kernel low-level debugging support
627                   on Rockchip based platforms.
628
629         config DEBUG_S3C_UART0
630                 depends on PLAT_SAMSUNG
631                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
632                 bool "Use S3C UART 0 for low-level debug"
633                 help
634                   Say Y here if you want the debug print routines to direct
635                   their output to UART 0. The port must have been initialised
636                   by the boot-loader before use.
637
638                   The uncompressor code port configuration is now handled
639                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
640
641         config DEBUG_S3C_UART1
642                 depends on PLAT_SAMSUNG
643                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
644                 bool "Use S3C UART 1 for low-level debug"
645                 help
646                   Say Y here if you want the debug print routines to direct
647                   their output to UART 1. The port must have been initialised
648                   by the boot-loader before use.
649
650                   The uncompressor code port configuration is now handled
651                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
652
653         config DEBUG_S3C_UART2
654                 depends on PLAT_SAMSUNG
655                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
656                 bool "Use S3C UART 2 for low-level debug"
657                 help
658                   Say Y here if you want the debug print routines to direct
659                   their output to UART 2. The port must have been initialised
660                   by the boot-loader before use.
661
662                   The uncompressor code port configuration is now handled
663                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
664
665         config DEBUG_S3C_UART3
666                 depends on PLAT_SAMSUNG && ARCH_EXYNOS
667                 select DEBUG_EXYNOS_UART
668                 bool "Use S3C UART 3 for low-level debug"
669                 help
670                   Say Y here if you want the debug print routines to direct
671                   their output to UART 3. The port must have been initialised
672                   by the boot-loader before use.
673
674                   The uncompressor code port configuration is now handled
675                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
676
677         config DEBUG_SOCFPGA_UART
678                 depends on ARCH_SOCFPGA
679                 bool "Use SOCFPGA UART for low-level debug"
680                 select DEBUG_UART_8250
681                 help
682                   Say Y here if you want kernel low-level debugging support
683                   on SOCFPGA based platforms.
684
685         config DEBUG_SUNXI_UART0
686                 bool "Kernel low-level debugging messages via sunXi UART0"
687                 depends on ARCH_SUNXI
688                 select DEBUG_UART_8250
689                 help
690                   Say Y here if you want kernel low-level debugging support
691                   on Allwinner A1X based platforms on the UART0.
692
693         config DEBUG_SUNXI_UART1
694                 bool "Kernel low-level debugging messages via sunXi UART1"
695                 depends on ARCH_SUNXI
696                 select DEBUG_UART_8250
697                 help
698                   Say Y here if you want kernel low-level debugging support
699                   on Allwinner A1X based platforms on the UART1.
700
701         config TEGRA_DEBUG_UART_AUTO_ODMDATA
702                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
703                 depends on ARCH_TEGRA
704                 select DEBUG_TEGRA_UART
705                 help
706                   Automatically determines which UART to use for low-level
707                   debug based on the ODMDATA value. This value is part of
708                   the BCT, and is written to the boot memory device using
709                   nvflash, or other flashing tool.  When bits 19:18 are 3,
710                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
711                   are UART A/B/C/D/E.
712
713         config TEGRA_DEBUG_UARTA
714                 bool "Kernel low-level debugging messages via Tegra UART A"
715                 depends on ARCH_TEGRA
716                 select DEBUG_TEGRA_UART
717                 help
718                   Say Y here if you want kernel low-level debugging support
719                   on Tegra based platforms.
720
721         config TEGRA_DEBUG_UARTB
722                 bool "Kernel low-level debugging messages via Tegra UART B"
723                 depends on ARCH_TEGRA
724                 select DEBUG_TEGRA_UART
725                 help
726                   Say Y here if you want kernel low-level debugging support
727                   on Tegra based platforms.
728
729         config TEGRA_DEBUG_UARTC
730                 bool "Kernel low-level debugging messages via Tegra UART C"
731                 depends on ARCH_TEGRA
732                 select DEBUG_TEGRA_UART
733                 help
734                   Say Y here if you want kernel low-level debugging support
735                   on Tegra based platforms.
736
737         config TEGRA_DEBUG_UARTD
738                 bool "Kernel low-level debugging messages via Tegra UART D"
739                 depends on ARCH_TEGRA
740                 select DEBUG_TEGRA_UART
741                 help
742                   Say Y here if you want kernel low-level debugging support
743                   on Tegra based platforms.
744
745         config TEGRA_DEBUG_UARTE
746                 bool "Kernel low-level debugging messages via Tegra UART E"
747                 depends on ARCH_TEGRA
748                 select DEBUG_TEGRA_UART
749                 help
750                   Say Y here if you want kernel low-level debugging support
751                   on Tegra based platforms.
752
753         config DEBUG_SIRFPRIMA2_UART1
754                 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
755                 depends on ARCH_PRIMA2
756                 help
757                   Say Y here if you want the debug print routines to direct
758                   their output to the uart1 port on SiRFprimaII devices.
759
760         config DEBUG_SIRFMARCO_UART1
761                 bool "Kernel low-level debugging messages via SiRFmarco UART1"
762                 depends on ARCH_MARCO
763                 help
764                   Say Y here if you want the debug print routines to direct
765                   their output to the uart1 port on SiRFmarco devices.
766
767         config STIH41X_DEBUG_ASC2
768                 bool "Use StiH415/416 ASC2 UART for low-level debug"
769                 depends on ARCH_STI
770                 select DEBUG_STI_UART
771                 help
772                   Say Y here if you want kernel low-level debugging support
773                   on STiH415/416 based platforms like b2000, which has
774                   default UART wired up to ASC2.
775
776                   If unsure, say N.
777
778         config STIH41X_DEBUG_SBC_ASC1
779                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
780                 depends on ARCH_STI
781                 select DEBUG_STI_UART
782                 help
783                   Say Y here if you want kernel low-level debugging support
784                   on STiH415/416 based platforms like b2020. which has
785                   default UART wired up to SBC ASC1.
786
787                   If unsure, say N.
788
789         config DEBUG_U300_UART
790                 bool "Kernel low-level debugging messages via U300 UART0"
791                 depends on ARCH_U300
792                 select DEBUG_UART_PL01X
793                 help
794                   Say Y here if you want the debug print routines to direct
795                   their output to the uart port on U300 devices.
796
797         config DEBUG_UX500_UART
798                 depends on ARCH_U8500
799                 bool "Use Ux500 UART for low-level debug"
800                 help
801                   Say Y here if you want kernel low-level debugging support
802                   on Ux500 based platforms.
803
804         config DEBUG_VEXPRESS_UART0_DETECT
805                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
806                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
807                 help
808                   This option enables a simple heuristic which tries to determine
809                   the motherboard's memory map variant (original or RS1) and then
810                   choose the relevant UART0 base address.
811
812                   Note that this will only work with standard A-class core tiles,
813                   and may fail with non-standard SMM or custom software models.
814
815         config DEBUG_VEXPRESS_UART0_CA9
816                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
817                 depends on ARCH_VEXPRESS
818                 select DEBUG_UART_PL01X
819                 help
820                   This option selects UART0 at 0x10009000. Except for custom models,
821                   this applies only to the V2P-CA9 tile.
822
823         config DEBUG_VEXPRESS_UART0_RS1
824                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
825                 depends on ARCH_VEXPRESS
826                 select DEBUG_UART_PL01X
827                 help
828                   This option selects UART0 at 0x1c090000. This applies to most
829                   of the tiles using the RS1 memory map, including all new A-class
830                   core tiles, FPGA-based SMMs and software models.
831
832         config DEBUG_VEXPRESS_UART0_CRX
833                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
834                 depends on ARCH_VEXPRESS && !MMU
835                 select DEBUG_UART_PL01X
836                 help
837                   This option selects UART0 at 0xb0090000. This is appropriate for
838                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
839
840         config DEBUG_VT8500_UART0
841                 bool "Use UART0 on VIA/Wondermedia SoCs"
842                 depends on ARCH_VT8500
843                 help
844                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
845                   devices, including VT8500, WM8505, WM8650 and WM8850.
846
847         config DEBUG_LL_UART_NONE
848                 bool "No low-level debugging UART"
849                 depends on !ARCH_MULTIPLATFORM
850                 help
851                   Say Y here if your platform doesn't provide a UART option
852                   above. This relies on your platform choosing the right UART
853                   definition internally in order for low-level debugging to
854                   work.
855
856         config DEBUG_ICEDCC
857                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
858                 help
859                   Say Y here if you want the debug print routines to direct
860                   their output to the EmbeddedICE macrocell's DCC channel using
861                   co-processor 14. This is known to work on the ARM9 style ICE
862                   channel and on the XScale with the PEEDI.
863
864                   Note that the system will appear to hang during boot if there
865                   is nothing connected to read from the DCC.
866
867         config DEBUG_SEMIHOSTING
868                 bool "Kernel low-level debug output via semihosting I/O"
869                 help
870                   Semihosting enables code running on an ARM target to use
871                   the I/O facilities on a host debugger/emulator through a
872                   simple SVC call. The host debugger or emulator must have
873                   semihosting enabled for the special svc call to be trapped
874                   otherwise the kernel will crash.
875
876                   This is known to work with OpenOCD, as well as
877                   ARM's Fast Models, or any other controlling environment
878                   that implements semihosting.
879
880                   For more details about semihosting, please see
881                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
882
883         config DEBUG_LL_UART_8250
884                 bool "Kernel low-level debugging via 8250 UART"
885                 help
886                   Say Y here if you wish the debug print routes to direct
887                   their output to an 8250 UART.  You can use this option
888                   to provide the parameters for the 8250 UART rather than
889                   selecting one of the platform specific options above if
890                   you know the parameters for the port.
891
892                   This option is preferred over the platform specific
893                   options; the platform specific options are deprecated
894                   and will be soon removed.
895
896         config DEBUG_LL_UART_EFM32
897                 bool "Kernel low-level debugging via efm32 UART"
898                 depends on ARCH_EFM32
899                 help
900                   Say Y here if you want the debug print routines to direct
901                   their output to an UART or USART port on efm32 based
902                   machines. Use the following addresses for DEBUG_UART_PHYS:
903
904                     0x4000c000 | USART0
905                     0x4000c400 | USART1
906                     0x4000c800 | USART2
907                     0x4000e000 | UART0
908                     0x4000e400 | UART1
909
910         config DEBUG_LL_UART_PL01X
911                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
912                 help
913                   Say Y here if you wish the debug print routes to direct
914                   their output to a PL01x Primecell UART.  You can use
915                   this option to provide the parameters for the UART
916                   rather than selecting one of the platform specific
917                   options above if you know the parameters for the port.
918
919                   This option is preferred over the platform specific
920                   options; the platform specific options are deprecated
921                   and will be soon removed.
922
923 endchoice
924
925 config DEBUG_EXYNOS_UART
926         bool
927
928 config DEBUG_OMAP2PLUS_UART
929         bool
930         depends on ARCH_OMAP2PLUS
931
932 config DEBUG_IMX_UART_PORT
933         int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
934                                                 DEBUG_IMX25_UART || \
935                                                 DEBUG_IMX21_IMX27_UART || \
936                                                 DEBUG_IMX31_UART || \
937                                                 DEBUG_IMX35_UART || \
938                                                 DEBUG_IMX50_UART || \
939                                                 DEBUG_IMX51_UART || \
940                                                 DEBUG_IMX53_UART || \
941                                                 DEBUG_IMX6Q_UART || \
942                                                 DEBUG_IMX6SL_UART
943         default 1
944         depends on ARCH_MXC
945         help
946           Choose UART port on which kernel low-level debug messages
947           should be output.
948
949 config DEBUG_TEGRA_UART
950         bool
951         depends on ARCH_TEGRA
952
953 config DEBUG_STI_UART
954         bool
955         depends on ARCH_STI
956
957 config DEBUG_MSM_UART
958         bool
959         depends on ARCH_MSM
960
961 config DEBUG_LL_INCLUDE
962         string
963         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
964         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
965         default "debug/exynos.S" if DEBUG_EXYNOS_UART
966         default "debug/efm32.S" if DEBUG_LL_UART_EFM32
967         default "debug/icedcc.S" if DEBUG_ICEDCC
968         default "debug/imx.S" if DEBUG_IMX1_UART || \
969                                  DEBUG_IMX25_UART || \
970                                  DEBUG_IMX21_IMX27_UART || \
971                                  DEBUG_IMX31_UART || \
972                                  DEBUG_IMX35_UART || \
973                                  DEBUG_IMX50_UART || \
974                                  DEBUG_IMX51_UART || \
975                                  DEBUG_IMX53_UART ||\
976                                  DEBUG_IMX6Q_UART || \
977                                  DEBUG_IMX6SL_UART
978         default "debug/msm.S" if DEBUG_MSM_UART
979         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
980         default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
981         default "debug/sti.S" if DEBUG_STI_UART
982         default "debug/tegra.S" if DEBUG_TEGRA_UART
983         default "debug/ux500.S" if DEBUG_UX500_UART
984         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
985         default "debug/vf.S" if DEBUG_VF_UART
986         default "debug/vt8500.S" if DEBUG_VT8500_UART0
987         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
988         default "mach/debug-macro.S"
989
990 # Compatibility options for PL01x
991 config DEBUG_UART_PL01X
992         def_bool ARCH_EP93XX || \
993                 ARCH_INTEGRATOR || \
994                 ARCH_SPEAR3XX || \
995                 ARCH_SPEAR6XX || \
996                 ARCH_SPEAR13XX || \
997                 ARCH_VERSATILE
998
999 # Compatibility options for 8250
1000 config DEBUG_UART_8250
1001         def_bool ARCH_DOVE || ARCH_EBSA110 || \
1002                 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1003                 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1004                 ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
1005                 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1006
1007 config DEBUG_UART_PHYS
1008         hex "Physical base address of debug UART"
1009         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1010         default 0x01c28000 if DEBUG_SUNXI_UART0
1011         default 0x01c28400 if DEBUG_SUNXI_UART1
1012         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1013         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1014         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1015         default 0x02531000 if DEBUG_KEYSTONE_UART1
1016         default 0x03010fe0 if ARCH_RPC
1017         default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
1018         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
1019                                 DEBUG_VEXPRESS_UART0_CA9
1020         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1021         default 0x10124000 if DEBUG_RK3X_UART0
1022         default 0x10126000 if DEBUG_RK3X_UART1
1023         default 0x101f1000 if ARCH_VERSATILE
1024         default 0x101fb000 if DEBUG_NOMADIK_UART
1025         default 0x16000000 if ARCH_INTEGRATOR
1026         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1027         default 0x20060000 if DEBUG_RK29_UART0
1028         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1029         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1030         default 0x20201000 if DEBUG_BCM2835
1031         default 0x3e000000 if DEBUG_BCM_KONA_UART
1032         default 0x4000e400 if DEBUG_LL_UART_EFM32
1033         default 0x40090000 if ARCH_LPC32XX
1034         default 0x40100000 if DEBUG_PXA_UART1
1035         default 0x42000000 if ARCH_GEMINI
1036         default 0x7c0003f8 if FOOTBRIDGE
1037         default 0x80230000 if DEBUG_PICOXCELL_UART
1038         default 0x80070000 if DEBUG_IMX23_UART
1039         default 0x80074000 if DEBUG_IMX28_UART
1040         default 0x808c0000 if ARCH_EP93XX
1041         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1042         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1043         default 0xc0013000 if DEBUG_U300_UART
1044         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1045         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1046         default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1047         default 0xd0012000 if DEBUG_MVEBU_UART
1048         default 0xd4017000 if DEBUG_MMP_UART2
1049         default 0xd4018000 if DEBUG_MMP_UART3
1050         default 0xe0000000 if ARCH_SPEAR13XX
1051         default 0xf0000be0 if ARCH_EBSA110
1052         default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1053         default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1054                                 ARCH_ORION5X
1055         default 0xf7fc9000 if DEBUG_BERLIN_UART
1056         default 0xf8b00000 if DEBUG_HI3716_UART
1057         default 0xfcb00000 if DEBUG_HI3620_UART
1058         default 0xfe800000 if ARCH_IOP32X
1059         default 0xffc02000 if DEBUG_SOCFPGA_UART
1060         default 0xffd82340 if ARCH_IOP13XX
1061         default 0xfff36000 if DEBUG_HIGHBANK_UART
1062         default 0xfffff700 if ARCH_IOP33X
1063         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1064                 DEBUG_LL_UART_EFM32 || \
1065                 DEBUG_UART_8250 || DEBUG_UART_PL01X
1066
1067 config DEBUG_UART_VIRT
1068         hex "Virtual base address of debug UART"
1069         default 0xe0010fe0 if ARCH_RPC
1070         default 0xf0000be0 if ARCH_EBSA110
1071         default 0xf0009000 if DEBUG_CNS3XXX
1072         default 0xf01fb000 if DEBUG_NOMADIK_UART
1073         default 0xf0201000 if DEBUG_BCM2835
1074         default 0xf11f1000 if ARCH_VERSATILE
1075         default 0xf1600000 if ARCH_INTEGRATOR
1076         default 0xf1c28000 if DEBUG_SUNXI_UART0
1077         default 0xf1c28400 if DEBUG_SUNXI_UART1
1078         default 0xf2100000 if DEBUG_PXA_UART1
1079         default 0xf4090000 if ARCH_LPC32XX
1080         default 0xf4200000 if ARCH_GEMINI
1081         default 0xf7fc9000 if DEBUG_BERLIN_UART
1082         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1083         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1084         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1085         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1086         default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1087         default 0xfd000000 if ARCH_SPEAR13XX
1088         default 0xfd012000 if ARCH_MV78XX0
1089         default 0xfde12000 if ARCH_DOVE
1090         default 0xfe012000 if ARCH_ORION5X
1091         default 0xfe017000 if DEBUG_MMP_UART2
1092         default 0xfe018000 if DEBUG_MMP_UART3
1093         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1094         default 0xfe230000 if DEBUG_PICOXCELL_UART
1095         default 0xfe300000 if DEBUG_BCM_KONA_UART
1096         default 0xfe800000 if ARCH_IOP32X
1097         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1098         default 0xfeb24000 if DEBUG_RK3X_UART0
1099         default 0xfeb26000 if DEBUG_RK3X_UART1
1100         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1101         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1102         default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1103         default 0xfed60000 if DEBUG_RK29_UART0
1104         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1105         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1106         default 0xfec02000 if DEBUG_SOCFPGA_UART
1107         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1108         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1109         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1110         default 0xfed12000 if ARCH_KIRKWOOD
1111         default 0xfedc0000 if ARCH_EP93XX
1112         default 0xfee003f8 if FOOTBRIDGE
1113         default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
1114         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1115         default 0xfef36000 if DEBUG_HIGHBANK_UART
1116         default 0xfee82340 if ARCH_IOP13XX
1117         default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1118         default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1119         default 0xfefff700 if ARCH_IOP33X
1120         default 0xff003000 if DEBUG_U300_UART
1121         default DEBUG_UART_PHYS if !MMU
1122         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1123                 DEBUG_UART_8250 || DEBUG_UART_PL01X
1124
1125 config DEBUG_UART_8250_SHIFT
1126         int "Register offset shift for the 8250 debug UART"
1127         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1128         default 0 if FOOTBRIDGE || ARCH_IOP32X
1129         default 2
1130
1131 config DEBUG_UART_8250_WORD
1132         bool "Use 32-bit accesses for 8250 UART"
1133         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1134         depends on DEBUG_UART_8250_SHIFT >= 2
1135         default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1136                 ARCH_KEYSTONE || \
1137                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1138                 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1 || \
1139                 DEBUG_BCM_KONA_UART
1140
1141 config DEBUG_UART_8250_FLOW_CONTROL
1142         bool "Enable flow control for 8250 UART"
1143         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1144         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1145
1146 config DEBUG_UNCOMPRESS
1147         bool
1148         depends on ARCH_MULTIPLATFORM || ARCH_MSM
1149         default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1150                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1151         help
1152           This option influences the normal decompressor output for
1153           multiplatform kernels.  Normally, multiplatform kernels disable
1154           decompressor output because it is not possible to know where to
1155           send the decompressor output.
1156
1157           When this option is set, the selected DEBUG_LL output method
1158           will be re-used for normal decompressor output on multiplatform
1159           kernels.
1160           
1161
1162 config UNCOMPRESS_INCLUDE
1163         string
1164         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM
1165         default "mach/uncompress.h"
1166
1167 config EARLY_PRINTK
1168         bool "Early printk"
1169         depends on DEBUG_LL
1170         help
1171           Say Y here if you want to have an early console using the
1172           kernel low-level debugging functions. Add earlyprintk to your
1173           kernel parameters to enable this console.
1174
1175 config OC_ETM
1176         bool "On-chip ETM and ETB"
1177         depends on ARM_AMBA
1178         help
1179           Enables the on-chip embedded trace macrocell and embedded trace
1180           buffer driver that will allow you to collect traces of the
1181           kernel code.
1182
1183 config ARM_KPROBES_TEST
1184         tristate "Kprobes test module"
1185         depends on KPROBES && MODULES
1186         help
1187           Perform tests of kprobes API and instruction set simulation.
1188
1189 config PID_IN_CONTEXTIDR
1190         bool "Write the current PID to the CONTEXTIDR register"
1191         depends on CPU_COPY_V6
1192         help
1193           Enabling this option causes the kernel to write the current PID to
1194           the PROCID field of the CONTEXTIDR register, at the expense of some
1195           additional instructions during context switch. Say Y here only if you
1196           are planning to use hardware trace tools with this kernel.
1197
1198 config DEBUG_SET_MODULE_RONX
1199         bool "Set loadable kernel module data as NX and text as RO"
1200         depends on MODULES
1201         ---help---
1202           This option helps catch unintended modifications to loadable
1203           kernel module's text and read-only data. It also prevents execution
1204           of module data. Such protection may interfere with run-time code
1205           patching and dynamic kernel tracing - and they might also protect
1206           against certain classes of kernel exploits.
1207           If in doubt, say "N".
1208
1209 endmenu