]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/Kconfig.debug
ARM: imx: add low-level debug support for imx6sx
[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_IMX6SX_UART
325                 bool "i.MX6SX Debug UART"
326                 depends on SOC_IMX6SX
327                 help
328                   Say Y here if you want kernel low-level debugging support
329                   on i.MX6SX.
330
331         config DEBUG_KEYSTONE_UART0
332                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
333                 depends on ARCH_KEYSTONE
334                 select DEBUG_UART_8250
335                 help
336                   Say Y here if you want the debug print routines to direct
337                   their output to UART0 serial port on KEYSTONE2 devices.
338
339         config DEBUG_KEYSTONE_UART1
340                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
341                 depends on ARCH_KEYSTONE
342                 select DEBUG_UART_8250
343                 help
344                   Say Y here if you want the debug print routines to direct
345                   their output to UART1 serial port on KEYSTONE2 devices.
346
347         config DEBUG_MMP_UART2
348                 bool "Kernel low-level debugging message via MMP UART2"
349                 depends on ARCH_MMP
350                 select DEBUG_UART_8250
351                 help
352                   Say Y here if you want kernel low-level debugging support
353                   on MMP UART2.
354
355         config DEBUG_MMP_UART3
356                 bool "Kernel low-level debugging message via MMP UART3"
357                 depends on ARCH_MMP
358                 select DEBUG_UART_8250
359                 help
360                   Say Y here if you want kernel low-level debugging support
361                   on MMP UART3.
362
363         config DEBUG_MSM_UART1
364                 bool "Kernel low-level debugging messages via MSM UART1"
365                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
366                 select DEBUG_MSM_UART
367                 help
368                   Say Y here if you want the debug print routines to direct
369                   their output to the first serial port on MSM devices.
370
371         config DEBUG_MSM_UART2
372                 bool "Kernel low-level debugging messages via MSM UART2"
373                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
374                 select DEBUG_MSM_UART
375                 help
376                   Say Y here if you want the debug print routines to direct
377                   their output to the second serial port on MSM devices.
378
379         config DEBUG_MSM_UART3
380                 bool "Kernel low-level debugging messages via MSM UART3"
381                 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
382                 select DEBUG_MSM_UART
383                 help
384                   Say Y here if you want the debug print routines to direct
385                   their output to the third serial port on MSM devices.
386
387         config DEBUG_MSM8660_UART
388                 bool "Kernel low-level debugging messages via MSM 8660 UART"
389                 depends on ARCH_MSM8X60
390                 select MSM_HAS_DEBUG_UART_HS
391                 select DEBUG_MSM_UART
392                 help
393                   Say Y here if you want the debug print routines to direct
394                   their output to the serial port on MSM 8660 devices.
395
396         config DEBUG_MSM8960_UART
397                 bool "Kernel low-level debugging messages via MSM 8960 UART"
398                 depends on ARCH_MSM8960
399                 select MSM_HAS_DEBUG_UART_HS
400                 select DEBUG_MSM_UART
401                 help
402                   Say Y here if you want the debug print routines to direct
403                   their output to the serial port on MSM 8960 devices.
404
405         config DEBUG_MSM8974_UART
406                 bool "Kernel low-level debugging messages via MSM 8974 UART"
407                 depends on ARCH_MSM8974
408                 select MSM_HAS_DEBUG_UART_HS
409                 select DEBUG_MSM_UART
410                 help
411                   Say Y here if you want the debug print routines to direct
412                   their output to the serial port on MSM 8974 devices.
413
414         config DEBUG_MVEBU_UART
415                 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
416                 depends on ARCH_MVEBU
417                 select DEBUG_UART_8250
418                 help
419                   Say Y here if you want kernel low-level debugging support
420                   on MVEBU based platforms.
421
422                   This option should be used with the old bootloaders
423                   that left the internal registers mapped at
424                   0xd0000000. As of today, this is the case on
425                   platforms such as the Globalscale Mirabox or the
426                   Plathome OpenBlocks AX3, when using the original
427                   bootloader.
428
429                   If the wrong DEBUG_MVEBU_UART* option is selected,
430                   when u-boot hands over to the kernel, the system
431                   silently crashes, with no serial output at all.
432
433         config DEBUG_MVEBU_UART_ALTERNATE
434                 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
435                 depends on ARCH_MVEBU
436                 select DEBUG_UART_8250
437                 help
438                   Say Y here if you want kernel low-level debugging support
439                   on MVEBU based platforms.
440
441                   This option should be used with the new bootloaders
442                   that remap the internal registers at 0xf1000000.
443
444                   If the wrong DEBUG_MVEBU_UART* option is selected,
445                   when u-boot hands over to the kernel, the system
446                   silently crashes, with no serial output at all.
447
448         config DEBUG_VF_UART
449                 bool "Vybrid UART"
450                 depends on SOC_VF610
451                 help
452                   Say Y here if you want kernel low-level debugging support
453                   on Vybrid based platforms.
454
455         config DEBUG_NOMADIK_UART
456                 bool "Kernel low-level debugging messages via NOMADIK UART"
457                 depends on ARCH_NOMADIK
458                 select DEBUG_UART_PL01X
459                 help
460                   Say Y here if you want kernel low-level debugging support
461                   on NOMADIK based platforms.
462
463         config DEBUG_NSPIRE_CLASSIC_UART
464                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
465                 depends on ARCH_NSPIRE
466                 select DEBUG_UART_8250
467                 help
468                   Say Y here if you want kernel low-level debugging support
469                   on TI-NSPIRE classic models.
470
471         config DEBUG_NSPIRE_CX_UART
472                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
473                 depends on ARCH_NSPIRE
474                 select DEBUG_UART_PL01X
475                 help
476                   Say Y here if you want kernel low-level debugging support
477                   on TI-NSPIRE CX models.
478
479         config DEBUG_OMAP2UART1
480                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
481                 depends on ARCH_OMAP2PLUS
482                 select DEBUG_OMAP2PLUS_UART
483                 help
484                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
485                   omap3 torpedo and 3530 lv som.
486
487         config DEBUG_OMAP2UART2
488                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
489                 depends on ARCH_OMAP2PLUS
490                 select DEBUG_OMAP2PLUS_UART
491
492         config DEBUG_OMAP2UART3
493                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
494                 depends on ARCH_OMAP2PLUS
495                 select DEBUG_OMAP2PLUS_UART
496
497         config DEBUG_OMAP3UART3
498                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
499                 depends on ARCH_OMAP2PLUS
500                 select DEBUG_OMAP2PLUS_UART
501                 help
502                   This covers at least cm_t3x, beagle, crane, devkit8000,
503                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
504                   and 3517evm.
505
506         config DEBUG_OMAP4UART3
507                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
508                 depends on ARCH_OMAP2PLUS
509                 select DEBUG_OMAP2PLUS_UART
510
511         config DEBUG_OMAP3UART4
512                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
513                 depends on ARCH_OMAP2PLUS
514                 select DEBUG_OMAP2PLUS_UART
515
516         config DEBUG_OMAP4UART4
517                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
518                 depends on ARCH_OMAP2PLUS
519                 select DEBUG_OMAP2PLUS_UART
520
521         config DEBUG_TI81XXUART1
522                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
523                 depends on ARCH_OMAP2PLUS
524                 select DEBUG_OMAP2PLUS_UART
525
526         config DEBUG_TI81XXUART2
527                 bool "Kernel low-level debugging messages via TI81XX UART2"
528                 depends on ARCH_OMAP2PLUS
529                 select DEBUG_OMAP2PLUS_UART
530
531         config DEBUG_TI81XXUART3
532                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
533                 depends on ARCH_OMAP2PLUS
534                 select DEBUG_OMAP2PLUS_UART
535
536         config DEBUG_AM33XXUART1
537                 bool "Kernel low-level debugging messages via AM33XX UART1"
538                 depends on ARCH_OMAP2PLUS
539                 select DEBUG_OMAP2PLUS_UART
540
541         config DEBUG_ZOOM_UART
542                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
543                 depends on ARCH_OMAP2PLUS
544                 select DEBUG_OMAP2PLUS_UART
545
546         config DEBUG_PICOXCELL_UART
547                 depends on ARCH_PICOXCELL
548                 bool "Use PicoXcell UART for low-level debug"
549                 select DEBUG_UART_8250
550                 help
551                   Say Y here if you want kernel low-level debugging support
552                   on PicoXcell based platforms.
553
554         config DEBUG_PXA_UART1
555                 depends on ARCH_PXA
556                 bool "Use PXA UART1 for low-level debug"
557                 select DEBUG_UART_8250
558                 help
559                   Say Y here if you want kernel low-level debugging support
560                   on PXA UART1.
561
562         config DEBUG_REALVIEW_STD_PORT
563                 bool "RealView Default UART"
564                 depends on ARCH_REALVIEW
565                 select DEBUG_UART_PL01X
566                 help
567                   Say Y here if you want the debug print routines to direct
568                   their output to the serial port on RealView EB, PB11MP, PBA8
569                   and PBX platforms.
570
571         config DEBUG_REALVIEW_PB1176_PORT
572                 bool "RealView PB1176 UART"
573                 depends on MACH_REALVIEW_PB1176
574                 select DEBUG_UART_PL01X
575                 help
576                   Say Y here if you want the debug print routines to direct
577                   their output to the standard serial port on the RealView
578                   PB1176 platform.
579
580         config DEBUG_RK29_UART0
581                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
582                 depends on ARCH_ROCKCHIP
583                 select DEBUG_UART_8250
584                 help
585                   Say Y here if you want kernel low-level debugging support
586                   on Rockchip based platforms.
587
588         config DEBUG_RK29_UART1
589                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
590                 depends on ARCH_ROCKCHIP
591                 select DEBUG_UART_8250
592                 help
593                   Say Y here if you want kernel low-level debugging support
594                   on Rockchip based platforms.
595
596         config DEBUG_RK29_UART2
597                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
598                 depends on ARCH_ROCKCHIP
599                 select DEBUG_UART_8250
600                 help
601                   Say Y here if you want kernel low-level debugging support
602                   on Rockchip based platforms.
603
604         config DEBUG_RK3X_UART0
605                 bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
606                 depends on ARCH_ROCKCHIP
607                 select DEBUG_UART_8250
608                 help
609                   Say Y here if you want kernel low-level debugging support
610                   on Rockchip based platforms.
611
612         config DEBUG_RK3X_UART1
613                 bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
614                 depends on ARCH_ROCKCHIP
615                 select DEBUG_UART_8250
616                 help
617                   Say Y here if you want kernel low-level debugging support
618                   on Rockchip based platforms.
619
620         config DEBUG_RK3X_UART2
621                 bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
622                 depends on ARCH_ROCKCHIP
623                 select DEBUG_UART_8250
624                 help
625                   Say Y here if you want kernel low-level debugging support
626                   on Rockchip based platforms.
627
628         config DEBUG_RK3X_UART3
629                 bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
630                 depends on ARCH_ROCKCHIP
631                 select DEBUG_UART_8250
632                 help
633                   Say Y here if you want kernel low-level debugging support
634                   on Rockchip based platforms.
635
636         config DEBUG_S3C_UART0
637                 depends on PLAT_SAMSUNG
638                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
639                 bool "Use S3C UART 0 for low-level debug"
640                 help
641                   Say Y here if you want the debug print routines to direct
642                   their output to UART 0. The port must have been initialised
643                   by the boot-loader before use.
644
645                   The uncompressor code port configuration is now handled
646                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
647
648         config DEBUG_S3C_UART1
649                 depends on PLAT_SAMSUNG
650                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
651                 bool "Use S3C UART 1 for low-level debug"
652                 help
653                   Say Y here if you want the debug print routines to direct
654                   their output to UART 1. The port must have been initialised
655                   by the boot-loader before use.
656
657                   The uncompressor code port configuration is now handled
658                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
659
660         config DEBUG_S3C_UART2
661                 depends on PLAT_SAMSUNG
662                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
663                 bool "Use S3C UART 2 for low-level debug"
664                 help
665                   Say Y here if you want the debug print routines to direct
666                   their output to UART 2. The port must have been initialised
667                   by the boot-loader before use.
668
669                   The uncompressor code port configuration is now handled
670                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
671
672         config DEBUG_S3C_UART3
673                 depends on PLAT_SAMSUNG && ARCH_EXYNOS
674                 select DEBUG_EXYNOS_UART
675                 bool "Use S3C UART 3 for low-level debug"
676                 help
677                   Say Y here if you want the debug print routines to direct
678                   their output to UART 3. The port must have been initialised
679                   by the boot-loader before use.
680
681                   The uncompressor code port configuration is now handled
682                   by CONFIG_S3C_LOWLEVEL_UART_PORT.
683
684         config DEBUG_SOCFPGA_UART
685                 depends on ARCH_SOCFPGA
686                 bool "Use SOCFPGA UART for low-level debug"
687                 select DEBUG_UART_8250
688                 help
689                   Say Y here if you want kernel low-level debugging support
690                   on SOCFPGA based platforms.
691
692         config DEBUG_SUNXI_UART0
693                 bool "Kernel low-level debugging messages via sunXi UART0"
694                 depends on ARCH_SUNXI
695                 select DEBUG_UART_8250
696                 help
697                   Say Y here if you want kernel low-level debugging support
698                   on Allwinner A1X based platforms on the UART0.
699
700         config DEBUG_SUNXI_UART1
701                 bool "Kernel low-level debugging messages via sunXi UART1"
702                 depends on ARCH_SUNXI
703                 select DEBUG_UART_8250
704                 help
705                   Say Y here if you want kernel low-level debugging support
706                   on Allwinner A1X based platforms on the UART1.
707
708         config TEGRA_DEBUG_UART_AUTO_ODMDATA
709                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
710                 depends on ARCH_TEGRA
711                 select DEBUG_TEGRA_UART
712                 help
713                   Automatically determines which UART to use for low-level
714                   debug based on the ODMDATA value. This value is part of
715                   the BCT, and is written to the boot memory device using
716                   nvflash, or other flashing tool.  When bits 19:18 are 3,
717                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
718                   are UART A/B/C/D/E.
719
720         config TEGRA_DEBUG_UARTA
721                 bool "Kernel low-level debugging messages via Tegra UART A"
722                 depends on ARCH_TEGRA
723                 select DEBUG_TEGRA_UART
724                 help
725                   Say Y here if you want kernel low-level debugging support
726                   on Tegra based platforms.
727
728         config TEGRA_DEBUG_UARTB
729                 bool "Kernel low-level debugging messages via Tegra UART B"
730                 depends on ARCH_TEGRA
731                 select DEBUG_TEGRA_UART
732                 help
733                   Say Y here if you want kernel low-level debugging support
734                   on Tegra based platforms.
735
736         config TEGRA_DEBUG_UARTC
737                 bool "Kernel low-level debugging messages via Tegra UART C"
738                 depends on ARCH_TEGRA
739                 select DEBUG_TEGRA_UART
740                 help
741                   Say Y here if you want kernel low-level debugging support
742                   on Tegra based platforms.
743
744         config TEGRA_DEBUG_UARTD
745                 bool "Kernel low-level debugging messages via Tegra UART D"
746                 depends on ARCH_TEGRA
747                 select DEBUG_TEGRA_UART
748                 help
749                   Say Y here if you want kernel low-level debugging support
750                   on Tegra based platforms.
751
752         config TEGRA_DEBUG_UARTE
753                 bool "Kernel low-level debugging messages via Tegra UART E"
754                 depends on ARCH_TEGRA
755                 select DEBUG_TEGRA_UART
756                 help
757                   Say Y here if you want kernel low-level debugging support
758                   on Tegra based platforms.
759
760         config DEBUG_SIRFPRIMA2_UART1
761                 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
762                 depends on ARCH_PRIMA2
763                 help
764                   Say Y here if you want the debug print routines to direct
765                   their output to the uart1 port on SiRFprimaII devices.
766
767         config DEBUG_SIRFMARCO_UART1
768                 bool "Kernel low-level debugging messages via SiRFmarco UART1"
769                 depends on ARCH_MARCO
770                 help
771                   Say Y here if you want the debug print routines to direct
772                   their output to the uart1 port on SiRFmarco devices.
773
774         config STIH41X_DEBUG_ASC2
775                 bool "Use StiH415/416 ASC2 UART for low-level debug"
776                 depends on ARCH_STI
777                 select DEBUG_STI_UART
778                 help
779                   Say Y here if you want kernel low-level debugging support
780                   on STiH415/416 based platforms like b2000, which has
781                   default UART wired up to ASC2.
782
783                   If unsure, say N.
784
785         config STIH41X_DEBUG_SBC_ASC1
786                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
787                 depends on ARCH_STI
788                 select DEBUG_STI_UART
789                 help
790                   Say Y here if you want kernel low-level debugging support
791                   on STiH415/416 based platforms like b2020. which has
792                   default UART wired up to SBC ASC1.
793
794                   If unsure, say N.
795
796         config DEBUG_U300_UART
797                 bool "Kernel low-level debugging messages via U300 UART0"
798                 depends on ARCH_U300
799                 select DEBUG_UART_PL01X
800                 help
801                   Say Y here if you want the debug print routines to direct
802                   their output to the uart port on U300 devices.
803
804         config DEBUG_UX500_UART
805                 depends on ARCH_U8500
806                 bool "Use Ux500 UART for low-level debug"
807                 help
808                   Say Y here if you want kernel low-level debugging support
809                   on Ux500 based platforms.
810
811         config DEBUG_VEXPRESS_UART0_DETECT
812                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
813                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
814                 help
815                   This option enables a simple heuristic which tries to determine
816                   the motherboard's memory map variant (original or RS1) and then
817                   choose the relevant UART0 base address.
818
819                   Note that this will only work with standard A-class core tiles,
820                   and may fail with non-standard SMM or custom software models.
821
822         config DEBUG_VEXPRESS_UART0_CA9
823                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
824                 depends on ARCH_VEXPRESS
825                 select DEBUG_UART_PL01X
826                 help
827                   This option selects UART0 at 0x10009000. Except for custom models,
828                   this applies only to the V2P-CA9 tile.
829
830         config DEBUG_VEXPRESS_UART0_RS1
831                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
832                 depends on ARCH_VEXPRESS
833                 select DEBUG_UART_PL01X
834                 help
835                   This option selects UART0 at 0x1c090000. This applies to most
836                   of the tiles using the RS1 memory map, including all new A-class
837                   core tiles, FPGA-based SMMs and software models.
838
839         config DEBUG_VEXPRESS_UART0_CRX
840                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
841                 depends on ARCH_VEXPRESS && !MMU
842                 select DEBUG_UART_PL01X
843                 help
844                   This option selects UART0 at 0xb0090000. This is appropriate for
845                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
846
847         config DEBUG_VT8500_UART0
848                 bool "Use UART0 on VIA/Wondermedia SoCs"
849                 depends on ARCH_VT8500
850                 help
851                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
852                   devices, including VT8500, WM8505, WM8650 and WM8850.
853
854         config DEBUG_LL_UART_NONE
855                 bool "No low-level debugging UART"
856                 depends on !ARCH_MULTIPLATFORM
857                 help
858                   Say Y here if your platform doesn't provide a UART option
859                   above. This relies on your platform choosing the right UART
860                   definition internally in order for low-level debugging to
861                   work.
862
863         config DEBUG_ICEDCC
864                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
865                 help
866                   Say Y here if you want the debug print routines to direct
867                   their output to the EmbeddedICE macrocell's DCC channel using
868                   co-processor 14. This is known to work on the ARM9 style ICE
869                   channel and on the XScale with the PEEDI.
870
871                   Note that the system will appear to hang during boot if there
872                   is nothing connected to read from the DCC.
873
874         config DEBUG_SEMIHOSTING
875                 bool "Kernel low-level debug output via semihosting I/O"
876                 help
877                   Semihosting enables code running on an ARM target to use
878                   the I/O facilities on a host debugger/emulator through a
879                   simple SVC call. The host debugger or emulator must have
880                   semihosting enabled for the special svc call to be trapped
881                   otherwise the kernel will crash.
882
883                   This is known to work with OpenOCD, as well as
884                   ARM's Fast Models, or any other controlling environment
885                   that implements semihosting.
886
887                   For more details about semihosting, please see
888                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
889
890         config DEBUG_LL_UART_8250
891                 bool "Kernel low-level debugging via 8250 UART"
892                 help
893                   Say Y here if you wish the debug print routes to direct
894                   their output to an 8250 UART.  You can use this option
895                   to provide the parameters for the 8250 UART rather than
896                   selecting one of the platform specific options above if
897                   you know the parameters for the port.
898
899                   This option is preferred over the platform specific
900                   options; the platform specific options are deprecated
901                   and will be soon removed.
902
903         config DEBUG_LL_UART_EFM32
904                 bool "Kernel low-level debugging via efm32 UART"
905                 depends on ARCH_EFM32
906                 help
907                   Say Y here if you want the debug print routines to direct
908                   their output to an UART or USART port on efm32 based
909                   machines. Use the following addresses for DEBUG_UART_PHYS:
910
911                     0x4000c000 | USART0
912                     0x4000c400 | USART1
913                     0x4000c800 | USART2
914                     0x4000e000 | UART0
915                     0x4000e400 | UART1
916
917         config DEBUG_LL_UART_PL01X
918                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
919                 help
920                   Say Y here if you wish the debug print routes to direct
921                   their output to a PL01x Primecell UART.  You can use
922                   this option to provide the parameters for the UART
923                   rather than selecting one of the platform specific
924                   options above if you know the parameters for the port.
925
926                   This option is preferred over the platform specific
927                   options; the platform specific options are deprecated
928                   and will be soon removed.
929
930 endchoice
931
932 config DEBUG_EXYNOS_UART
933         bool
934
935 config DEBUG_OMAP2PLUS_UART
936         bool
937         depends on ARCH_OMAP2PLUS
938
939 config DEBUG_IMX_UART_PORT
940         int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
941                                                 DEBUG_IMX25_UART || \
942                                                 DEBUG_IMX21_IMX27_UART || \
943                                                 DEBUG_IMX31_UART || \
944                                                 DEBUG_IMX35_UART || \
945                                                 DEBUG_IMX50_UART || \
946                                                 DEBUG_IMX51_UART || \
947                                                 DEBUG_IMX53_UART || \
948                                                 DEBUG_IMX6Q_UART || \
949                                                 DEBUG_IMX6SL_UART || \
950                                                 DEBUG_IMX6SX_UART
951         default 1
952         depends on ARCH_MXC
953         help
954           Choose UART port on which kernel low-level debug messages
955           should be output.
956
957 config DEBUG_TEGRA_UART
958         bool
959         depends on ARCH_TEGRA
960
961 config DEBUG_STI_UART
962         bool
963         depends on ARCH_STI
964
965 config DEBUG_MSM_UART
966         bool
967         depends on ARCH_MSM
968
969 config DEBUG_LL_INCLUDE
970         string
971         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
972         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
973         default "debug/exynos.S" if DEBUG_EXYNOS_UART
974         default "debug/efm32.S" if DEBUG_LL_UART_EFM32
975         default "debug/icedcc.S" if DEBUG_ICEDCC
976         default "debug/imx.S" if DEBUG_IMX1_UART || \
977                                  DEBUG_IMX25_UART || \
978                                  DEBUG_IMX21_IMX27_UART || \
979                                  DEBUG_IMX31_UART || \
980                                  DEBUG_IMX35_UART || \
981                                  DEBUG_IMX50_UART || \
982                                  DEBUG_IMX51_UART || \
983                                  DEBUG_IMX53_UART ||\
984                                  DEBUG_IMX6Q_UART || \
985                                  DEBUG_IMX6SL_UART || \
986                                  DEBUG_IMX6SX_UART
987         default "debug/msm.S" if DEBUG_MSM_UART
988         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
989         default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
990         default "debug/sti.S" if DEBUG_STI_UART
991         default "debug/tegra.S" if DEBUG_TEGRA_UART
992         default "debug/ux500.S" if DEBUG_UX500_UART
993         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
994         default "debug/vf.S" if DEBUG_VF_UART
995         default "debug/vt8500.S" if DEBUG_VT8500_UART0
996         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
997         default "mach/debug-macro.S"
998
999 # Compatibility options for PL01x
1000 config DEBUG_UART_PL01X
1001         def_bool ARCH_EP93XX || \
1002                 ARCH_INTEGRATOR || \
1003                 ARCH_SPEAR3XX || \
1004                 ARCH_SPEAR6XX || \
1005                 ARCH_SPEAR13XX || \
1006                 ARCH_VERSATILE
1007
1008 # Compatibility options for 8250
1009 config DEBUG_UART_8250
1010         def_bool ARCH_DOVE || ARCH_EBSA110 || \
1011                 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1012                 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1013                 ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
1014                 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1015
1016 config DEBUG_UART_PHYS
1017         hex "Physical base address of debug UART"
1018         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1019         default 0x01c28000 if DEBUG_SUNXI_UART0
1020         default 0x01c28400 if DEBUG_SUNXI_UART1
1021         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1022         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1023         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1024         default 0x02531000 if DEBUG_KEYSTONE_UART1
1025         default 0x03010fe0 if ARCH_RPC
1026         default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
1027         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
1028                                 DEBUG_VEXPRESS_UART0_CA9
1029         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1030         default 0x10124000 if DEBUG_RK3X_UART0
1031         default 0x10126000 if DEBUG_RK3X_UART1
1032         default 0x101f1000 if ARCH_VERSATILE
1033         default 0x101fb000 if DEBUG_NOMADIK_UART
1034         default 0x16000000 if ARCH_INTEGRATOR
1035         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1036         default 0x20060000 if DEBUG_RK29_UART0
1037         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1038         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1039         default 0x20201000 if DEBUG_BCM2835
1040         default 0x3e000000 if DEBUG_BCM_KONA_UART
1041         default 0x4000e400 if DEBUG_LL_UART_EFM32
1042         default 0x40090000 if ARCH_LPC32XX
1043         default 0x40100000 if DEBUG_PXA_UART1
1044         default 0x42000000 if ARCH_GEMINI
1045         default 0x7c0003f8 if FOOTBRIDGE
1046         default 0x80230000 if DEBUG_PICOXCELL_UART
1047         default 0x80070000 if DEBUG_IMX23_UART
1048         default 0x80074000 if DEBUG_IMX28_UART
1049         default 0x808c0000 if ARCH_EP93XX
1050         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1051         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1052         default 0xc0013000 if DEBUG_U300_UART
1053         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1054         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1055         default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1056         default 0xd0012000 if DEBUG_MVEBU_UART
1057         default 0xd4017000 if DEBUG_MMP_UART2
1058         default 0xd4018000 if DEBUG_MMP_UART3
1059         default 0xe0000000 if ARCH_SPEAR13XX
1060         default 0xf0000be0 if ARCH_EBSA110
1061         default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1062         default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1063                                 ARCH_ORION5X
1064         default 0xf7fc9000 if DEBUG_BERLIN_UART
1065         default 0xf8b00000 if DEBUG_HI3716_UART
1066         default 0xfcb00000 if DEBUG_HI3620_UART
1067         default 0xfe800000 if ARCH_IOP32X
1068         default 0xffc02000 if DEBUG_SOCFPGA_UART
1069         default 0xffd82340 if ARCH_IOP13XX
1070         default 0xfff36000 if DEBUG_HIGHBANK_UART
1071         default 0xfffff700 if ARCH_IOP33X
1072         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1073                 DEBUG_LL_UART_EFM32 || \
1074                 DEBUG_UART_8250 || DEBUG_UART_PL01X
1075
1076 config DEBUG_UART_VIRT
1077         hex "Virtual base address of debug UART"
1078         default 0xe0010fe0 if ARCH_RPC
1079         default 0xf0000be0 if ARCH_EBSA110
1080         default 0xf0009000 if DEBUG_CNS3XXX
1081         default 0xf01fb000 if DEBUG_NOMADIK_UART
1082         default 0xf0201000 if DEBUG_BCM2835
1083         default 0xf11f1000 if ARCH_VERSATILE
1084         default 0xf1600000 if ARCH_INTEGRATOR
1085         default 0xf1c28000 if DEBUG_SUNXI_UART0
1086         default 0xf1c28400 if DEBUG_SUNXI_UART1
1087         default 0xf2100000 if DEBUG_PXA_UART1
1088         default 0xf4090000 if ARCH_LPC32XX
1089         default 0xf4200000 if ARCH_GEMINI
1090         default 0xf7fc9000 if DEBUG_BERLIN_UART
1091         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1092         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1093         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1094         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1095         default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1096         default 0xfd000000 if ARCH_SPEAR13XX
1097         default 0xfd012000 if ARCH_MV78XX0
1098         default 0xfde12000 if ARCH_DOVE
1099         default 0xfe012000 if ARCH_ORION5X
1100         default 0xfe017000 if DEBUG_MMP_UART2
1101         default 0xfe018000 if DEBUG_MMP_UART3
1102         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1103         default 0xfe230000 if DEBUG_PICOXCELL_UART
1104         default 0xfe300000 if DEBUG_BCM_KONA_UART
1105         default 0xfe800000 if ARCH_IOP32X
1106         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1107         default 0xfeb24000 if DEBUG_RK3X_UART0
1108         default 0xfeb26000 if DEBUG_RK3X_UART1
1109         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1110         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1111         default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1112         default 0xfed60000 if DEBUG_RK29_UART0
1113         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1114         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1115         default 0xfec02000 if DEBUG_SOCFPGA_UART
1116         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1117         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1118         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1119         default 0xfed12000 if ARCH_KIRKWOOD
1120         default 0xfedc0000 if ARCH_EP93XX
1121         default 0xfee003f8 if FOOTBRIDGE
1122         default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
1123         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1124         default 0xfef36000 if DEBUG_HIGHBANK_UART
1125         default 0xfee82340 if ARCH_IOP13XX
1126         default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1127         default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1128         default 0xfefff700 if ARCH_IOP33X
1129         default 0xff003000 if DEBUG_U300_UART
1130         default DEBUG_UART_PHYS if !MMU
1131         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1132                 DEBUG_UART_8250 || DEBUG_UART_PL01X
1133
1134 config DEBUG_UART_8250_SHIFT
1135         int "Register offset shift for the 8250 debug UART"
1136         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1137         default 0 if FOOTBRIDGE || ARCH_IOP32X
1138         default 2
1139
1140 config DEBUG_UART_8250_WORD
1141         bool "Use 32-bit accesses for 8250 UART"
1142         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1143         depends on DEBUG_UART_8250_SHIFT >= 2
1144         default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1145                 ARCH_KEYSTONE || \
1146                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1147                 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1 || \
1148                 DEBUG_BCM_KONA_UART
1149
1150 config DEBUG_UART_8250_FLOW_CONTROL
1151         bool "Enable flow control for 8250 UART"
1152         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1153         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1154
1155 config DEBUG_UNCOMPRESS
1156         bool
1157         depends on ARCH_MULTIPLATFORM || ARCH_MSM
1158         default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1159                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1160         help
1161           This option influences the normal decompressor output for
1162           multiplatform kernels.  Normally, multiplatform kernels disable
1163           decompressor output because it is not possible to know where to
1164           send the decompressor output.
1165
1166           When this option is set, the selected DEBUG_LL output method
1167           will be re-used for normal decompressor output on multiplatform
1168           kernels.
1169           
1170
1171 config UNCOMPRESS_INCLUDE
1172         string
1173         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM
1174         default "mach/uncompress.h"
1175
1176 config EARLY_PRINTK
1177         bool "Early printk"
1178         depends on DEBUG_LL
1179         help
1180           Say Y here if you want to have an early console using the
1181           kernel low-level debugging functions. Add earlyprintk to your
1182           kernel parameters to enable this console.
1183
1184 config OC_ETM
1185         bool "On-chip ETM and ETB"
1186         depends on ARM_AMBA
1187         help
1188           Enables the on-chip embedded trace macrocell and embedded trace
1189           buffer driver that will allow you to collect traces of the
1190           kernel code.
1191
1192 config ARM_KPROBES_TEST
1193         tristate "Kprobes test module"
1194         depends on KPROBES && MODULES
1195         help
1196           Perform tests of kprobes API and instruction set simulation.
1197
1198 config PID_IN_CONTEXTIDR
1199         bool "Write the current PID to the CONTEXTIDR register"
1200         depends on CPU_COPY_V6
1201         help
1202           Enabling this option causes the kernel to write the current PID to
1203           the PROCID field of the CONTEXTIDR register, at the expense of some
1204           additional instructions during context switch. Say Y here only if you
1205           are planning to use hardware trace tools with this kernel.
1206
1207 config DEBUG_SET_MODULE_RONX
1208         bool "Set loadable kernel module data as NX and text as RO"
1209         depends on MODULES
1210         ---help---
1211           This option helps catch unintended modifications to loadable
1212           kernel module's text and read-only data. It also prevents execution
1213           of module data. Such protection may interfere with run-time code
1214           patching and dynamic kernel tracing - and they might also protect
1215           against certain classes of kernel exploits.
1216           If in doubt, say "N".
1217
1218 endmenu