Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.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 AT91_DEBUG_LL_DBGU2
105                 bool "Kernel low-level debugging on sama5d4"
106                 depends on HAVE_AT91_DBGU2
107
108         config DEBUG_BCM2835
109                 bool "Kernel low-level debugging on BCM2835 PL011 UART"
110                 depends on ARCH_BCM2835
111                 select DEBUG_UART_PL01X
112
113         config DEBUG_BCM_5301X
114                 bool "Kernel low-level debugging on BCM5301X UART1"
115                 depends on ARCH_BCM_5301X
116                 select DEBUG_UART_PL01X
117
118         config DEBUG_BCM_KONA_UART
119                 bool "Kernel low-level debugging messages via BCM KONA UART"
120                 depends on ARCH_BCM_MOBILE
121                 select DEBUG_UART_8250
122                 help
123                   Say Y here if you want kernel low-level debugging support
124                   on Broadcom SoC platforms.
125                   This low level debug works for Broadcom
126                   mobile SoCs in the Kona family of chips (e.g. bcm28155,
127                   bcm11351, etc...)
128
129         config DEBUG_BCM63XX
130                 bool "Kernel low-level debugging on BCM63XX UART"
131                 depends on ARCH_BCM_63XX
132                 select DEBUG_UART_BCM63XX
133
134         config DEBUG_BERLIN_UART
135                 bool "Marvell Berlin SoC Debug UART"
136                 depends on ARCH_BERLIN
137                 select DEBUG_UART_8250
138                 help
139                   Say Y here if you want kernel low-level debugging support
140                   on Marvell Berlin SoC based platforms.
141
142         config DEBUG_CLPS711X_UART1
143                 bool "Kernel low-level debugging messages via UART1"
144                 depends on ARCH_CLPS711X
145                 help
146                   Say Y here if you want the debug print routines to direct
147                   their output to the first serial port on these devices.
148
149         config DEBUG_CLPS711X_UART2
150                 bool "Kernel low-level debugging messages via UART2"
151                 depends on ARCH_CLPS711X
152                 help
153                   Say Y here if you want the debug print routines to direct
154                   their output to the second serial port on these devices.
155
156         config DEBUG_CNS3XXX
157                 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
158                 depends on ARCH_CNS3XXX
159                 select DEBUG_UART_8250
160                 help
161                   Say Y here if you want the debug print routines to direct
162                   their output to the CNS3xxx UART0.
163
164         config DEBUG_DAVINCI_DA8XX_UART1
165                 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
166                 depends on ARCH_DAVINCI_DA8XX
167                 select DEBUG_UART_8250
168                 help
169                   Say Y here if you want the debug print routines to direct
170                   their output to UART1 serial port on DaVinci DA8XX devices.
171
172         config DEBUG_DAVINCI_DA8XX_UART2
173                 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
174                 depends on ARCH_DAVINCI_DA8XX
175                 select DEBUG_UART_8250
176                 help
177                   Say Y here if you want the debug print routines to direct
178                   their output to UART2 serial port on DaVinci DA8XX devices.
179
180         config DEBUG_DAVINCI_DMx_UART0
181                 bool "Kernel low-level debugging on DaVinci DMx using UART0"
182                 depends on ARCH_DAVINCI_DMx
183                 select DEBUG_UART_8250
184                 help
185                   Say Y here if you want the debug print routines to direct
186                   their output to UART0 serial port on DaVinci DMx devices.
187
188         config DEBUG_ZYNQ_UART0
189                 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
190                 depends on ARCH_ZYNQ
191                 help
192                   Say Y here if you want the debug print routines to direct
193                   their output to UART0 on the Zynq platform.
194
195         config DEBUG_ZYNQ_UART1
196                 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
197                 depends on ARCH_ZYNQ
198                 help
199                   Say Y here if you want the debug print routines to direct
200                   their output to UART1 on the Zynq platform.
201
202                   If you have a ZC702 board and want early boot messages to
203                   appear on the USB serial adaptor, select this option.
204
205         config DEBUG_DC21285_PORT
206                 bool "Kernel low-level debugging messages via footbridge serial port"
207                 depends on FOOTBRIDGE
208                 help
209                   Say Y here if you want the debug print routines to direct
210                   their output to the serial port in the DC21285 (Footbridge).
211
212         config DEBUG_FOOTBRIDGE_COM1
213                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
214                 depends on FOOTBRIDGE
215                 help
216                   Say Y here if you want the debug print routines to direct
217                   their output to the 8250 at PCI COM1.
218
219         config DEBUG_HI3620_UART
220                 bool "Hisilicon HI3620 Debug UART"
221                 depends on ARCH_HI3xxx
222                 select DEBUG_UART_PL01X
223                 help
224                   Say Y here if you want kernel low-level debugging support
225                   on HI3620 UART.
226
227         config DEBUG_HI3716_UART
228                 bool "Hisilicon Hi3716 Debug UART"
229                 depends on ARCH_HI3xxx
230                 select DEBUG_UART_PL01X
231                 help
232                   Say Y here if you want kernel low-level debugging support
233                   on HI3716 UART.
234
235         config DEBUG_HIGHBANK_UART
236                 bool "Kernel low-level debugging messages via Highbank UART"
237                 depends on ARCH_HIGHBANK
238                 select DEBUG_UART_PL01X
239                 help
240                   Say Y here if you want the debug print routines to direct
241                   their output to the UART on Highbank based devices.
242
243         config DEBUG_HIP04_UART
244                 bool "Hisilicon HiP04 Debug UART"
245                 depends on ARCH_HIP04
246                 select DEBUG_UART_8250
247                 help
248                   Say Y here if you want kernel low-level debugging support
249                   on HIP04 UART.
250
251         config DEBUG_HIX5HD2_UART
252                 bool "Hisilicon Hix5hd2 Debug UART"
253                 depends on ARCH_HIX5HD2
254                 select DEBUG_UART_PL01X
255                 help
256                   Say Y here if you want kernel low-level debugging support
257                   on Hix5hd2 UART.
258
259         config DEBUG_IMX1_UART
260                 bool "i.MX1 Debug UART"
261                 depends on SOC_IMX1
262                 help
263                   Say Y here if you want kernel low-level debugging support
264                   on i.MX1.
265
266         config DEBUG_IMX23_UART
267                 bool "i.MX23 Debug UART"
268                 depends on SOC_IMX23
269                 select DEBUG_UART_PL01X
270                 help
271                   Say Y here if you want kernel low-level debugging support
272                   on i.MX23.
273
274         config DEBUG_IMX25_UART
275                 bool "i.MX25 Debug UART"
276                 depends on SOC_IMX25
277                 help
278                   Say Y here if you want kernel low-level debugging support
279                   on i.MX25.
280
281         config DEBUG_IMX21_IMX27_UART
282                 bool "i.MX21 and i.MX27 Debug UART"
283                 depends on SOC_IMX21 || SOC_IMX27
284                 help
285                   Say Y here if you want kernel low-level debugging support
286                   on i.MX21 or i.MX27.
287
288         config DEBUG_IMX28_UART
289                 bool "i.MX28 Debug UART"
290                 depends on SOC_IMX28
291                 select DEBUG_UART_PL01X
292                 help
293                   Say Y here if you want kernel low-level debugging support
294                   on i.MX28.
295
296         config DEBUG_IMX31_UART
297                 bool "i.MX31 Debug UART"
298                 depends on SOC_IMX31
299                 help
300                   Say Y here if you want kernel low-level debugging support
301                   on i.MX31.
302
303         config DEBUG_IMX35_UART
304                 bool "i.MX35 Debug UART"
305                 depends on SOC_IMX35
306                 help
307                   Say Y here if you want kernel low-level debugging support
308                   on i.MX35.
309
310         config DEBUG_IMX50_UART
311                 bool "i.MX50 Debug UART"
312                 depends on SOC_IMX50
313                 help
314                   Say Y here if you want kernel low-level debugging support
315                   on i.MX50.
316
317         config DEBUG_IMX51_UART
318                 bool "i.MX51 Debug UART"
319                 depends on SOC_IMX51
320                 help
321                   Say Y here if you want kernel low-level debugging support
322                   on i.MX51.
323
324         config DEBUG_IMX53_UART
325                 bool "i.MX53 Debug UART"
326                 depends on SOC_IMX53
327                 help
328                   Say Y here if you want kernel low-level debugging support
329                   on i.MX53.
330
331         config DEBUG_IMX6Q_UART
332                 bool "i.MX6Q/DL Debug UART"
333                 depends on SOC_IMX6Q
334                 help
335                   Say Y here if you want kernel low-level debugging support
336                   on i.MX6Q/DL.
337
338         config DEBUG_IMX6SL_UART
339                 bool "i.MX6SL Debug UART"
340                 depends on SOC_IMX6SL
341                 help
342                   Say Y here if you want kernel low-level debugging support
343                   on i.MX6SL.
344
345         config DEBUG_IMX6SX_UART
346                 bool "i.MX6SX Debug UART"
347                 depends on SOC_IMX6SX
348                 help
349                   Say Y here if you want kernel low-level debugging support
350                   on i.MX6SX.
351
352         config DEBUG_KEYSTONE_UART0
353                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
354                 depends on ARCH_KEYSTONE
355                 select DEBUG_UART_8250
356                 help
357                   Say Y here if you want the debug print routines to direct
358                   their output to UART0 serial port on KEYSTONE2 devices.
359
360         config DEBUG_KEYSTONE_UART1
361                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
362                 depends on ARCH_KEYSTONE
363                 select DEBUG_UART_8250
364                 help
365                   Say Y here if you want the debug print routines to direct
366                   their output to UART1 serial port on KEYSTONE2 devices.
367
368         config DEBUG_MESON_UARTAO
369                 bool "Kernel low-level debugging via Meson6 UARTAO"
370                 depends on ARCH_MESON
371                 help
372                   Say Y here if you want kernel low-lever debugging support
373                   on Amlogic Meson6 based platforms on the UARTAO.
374
375         config DEBUG_MMP_UART2
376                 bool "Kernel low-level debugging message via MMP UART2"
377                 depends on ARCH_MMP
378                 select DEBUG_UART_8250
379                 help
380                   Say Y here if you want kernel low-level debugging support
381                   on MMP UART2.
382
383         config DEBUG_MMP_UART3
384                 bool "Kernel low-level debugging message via MMP UART3"
385                 depends on ARCH_MMP
386                 select DEBUG_UART_8250
387                 help
388                   Say Y here if you want kernel low-level debugging support
389                   on MMP UART3.
390
391         config DEBUG_MSM_UART
392                 bool "Kernel low-level debugging messages via MSM UART"
393                 depends on ARCH_MSM
394                 help
395                   Say Y here if you want the debug print routines to direct
396                   their output to the serial port on MSM devices.
397
398                   ARCH                DEBUG_UART_PHYS   DEBUG_UART_BASE   #
399                   MSM7X00A, QSD8X50   0xa9a00000        0xe1000000        UART1
400                   MSM7X00A, QSD8X50   0xa9b00000        0xe1000000        UART2
401                   MSM7X00A, QSD8X50   0xa9c00000        0xe1000000        UART3
402
403                   MSM7X30             0xaca00000        0xe1000000        UART1
404                   MSM7X30             0xacb00000        0xe1000000        UART2
405                   MSM7X30             0xacc00000        0xe1000000        UART3
406
407                   Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
408                   options based on your needs.
409
410         config DEBUG_QCOM_UARTDM
411                 bool "Kernel low-level debugging messages via QCOM UARTDM"
412                 depends on ARCH_QCOM
413                 help
414                   Say Y here if you want the debug print routines to direct
415                   their output to the serial port on Qualcomm devices.
416
417                   ARCH      DEBUG_UART_PHYS   DEBUG_UART_BASE
418                   APQ8084   0xf995e000        0xfa75e000
419                   MSM8X60   0x19c40000        0xf0040000
420                   MSM8960   0x16440000        0xf0040000
421                   MSM8974   0xf991e000        0xfa71e000
422
423                   Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
424                   options based on your needs.
425
426         config DEBUG_MVEBU_UART
427                 bool "Kernel low-level debugging messages via MVEBU UART (old 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 old bootloaders
435                   that left the internal registers mapped at
436                   0xd0000000. As of today, this is the case on
437                   platforms such as the Globalscale Mirabox or the
438                   Plathome OpenBlocks AX3, when using the original
439                   bootloader.
440
441                   If the wrong DEBUG_MVEBU_UART* option is selected,
442                   when u-boot hands over to the kernel, the system
443                   silently crashes, with no serial output at all.
444
445         config DEBUG_MVEBU_UART_ALTERNATE
446                 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
447                 depends on ARCH_MVEBU
448                 select DEBUG_UART_8250
449                 help
450                   Say Y here if you want kernel low-level debugging support
451                   on MVEBU based platforms.
452
453                   This option should be used with the new bootloaders
454                   that remap the internal registers at 0xf1000000.
455
456                   If the wrong DEBUG_MVEBU_UART* option is selected,
457                   when u-boot hands over to the kernel, the system
458                   silently crashes, with no serial output at all.
459
460         config DEBUG_VF_UART
461                 bool "Vybrid UART"
462                 depends on SOC_VF610
463                 help
464                   Say Y here if you want kernel low-level debugging support
465                   on Vybrid based platforms.
466
467         config DEBUG_NOMADIK_UART
468                 bool "Kernel low-level debugging messages via NOMADIK UART"
469                 depends on ARCH_NOMADIK
470                 select DEBUG_UART_PL01X
471                 help
472                   Say Y here if you want kernel low-level debugging support
473                   on NOMADIK based platforms.
474
475         config DEBUG_NSPIRE_CLASSIC_UART
476                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
477                 depends on ARCH_NSPIRE
478                 select DEBUG_UART_8250
479                 help
480                   Say Y here if you want kernel low-level debugging support
481                   on TI-NSPIRE classic models.
482
483         config DEBUG_NSPIRE_CX_UART
484                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
485                 depends on ARCH_NSPIRE
486                 select DEBUG_UART_PL01X
487                 help
488                   Say Y here if you want kernel low-level debugging support
489                   on TI-NSPIRE CX models.
490
491         config DEBUG_OMAP2UART1
492                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
493                 depends on ARCH_OMAP2PLUS
494                 select DEBUG_OMAP2PLUS_UART
495                 help
496                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
497                   omap3 torpedo and 3530 lv som.
498
499         config DEBUG_OMAP2UART2
500                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
501                 depends on ARCH_OMAP2PLUS
502                 select DEBUG_OMAP2PLUS_UART
503
504         config DEBUG_OMAP2UART3
505                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
506                 depends on ARCH_OMAP2PLUS
507                 select DEBUG_OMAP2PLUS_UART
508
509         config DEBUG_OMAP3UART3
510                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
511                 depends on ARCH_OMAP2PLUS
512                 select DEBUG_OMAP2PLUS_UART
513                 help
514                   This covers at least cm_t3x, beagle, crane, devkit8000,
515                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
516                   and 3517evm.
517
518         config DEBUG_OMAP4UART3
519                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
520                 depends on ARCH_OMAP2PLUS
521                 select DEBUG_OMAP2PLUS_UART
522
523         config DEBUG_OMAP3UART4
524                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
525                 depends on ARCH_OMAP2PLUS
526                 select DEBUG_OMAP2PLUS_UART
527
528         config DEBUG_OMAP4UART4
529                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
530                 depends on ARCH_OMAP2PLUS
531                 select DEBUG_OMAP2PLUS_UART
532
533         config DEBUG_TI81XXUART1
534                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
535                 depends on ARCH_OMAP2PLUS
536                 select DEBUG_OMAP2PLUS_UART
537
538         config DEBUG_TI81XXUART2
539                 bool "Kernel low-level debugging messages via TI81XX UART2"
540                 depends on ARCH_OMAP2PLUS
541                 select DEBUG_OMAP2PLUS_UART
542
543         config DEBUG_TI81XXUART3
544                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
545                 depends on ARCH_OMAP2PLUS
546                 select DEBUG_OMAP2PLUS_UART
547
548         config DEBUG_AM33XXUART1
549                 bool "Kernel low-level debugging messages via AM33XX UART1"
550                 depends on ARCH_OMAP2PLUS
551                 select DEBUG_OMAP2PLUS_UART
552
553         config DEBUG_ZOOM_UART
554                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
555                 depends on ARCH_OMAP2PLUS
556                 select DEBUG_OMAP2PLUS_UART
557
558         config DEBUG_PICOXCELL_UART
559                 depends on ARCH_PICOXCELL
560                 bool "Use PicoXcell UART for low-level debug"
561                 select DEBUG_UART_8250
562                 help
563                   Say Y here if you want kernel low-level debugging support
564                   on PicoXcell based platforms.
565
566         config DEBUG_PXA_UART1
567                 depends on ARCH_PXA
568                 bool "Use PXA UART1 for low-level debug"
569                 select DEBUG_UART_8250
570                 help
571                   Say Y here if you want kernel low-level debugging support
572                   on PXA UART1.
573
574         config DEBUG_REALVIEW_STD_PORT
575                 bool "RealView Default UART"
576                 depends on ARCH_REALVIEW
577                 select DEBUG_UART_PL01X
578                 help
579                   Say Y here if you want the debug print routines to direct
580                   their output to the serial port on RealView EB, PB11MP, PBA8
581                   and PBX platforms.
582
583         config DEBUG_REALVIEW_PB1176_PORT
584                 bool "RealView PB1176 UART"
585                 depends on MACH_REALVIEW_PB1176
586                 select DEBUG_UART_PL01X
587                 help
588                   Say Y here if you want the debug print routines to direct
589                   their output to the standard serial port on the RealView
590                   PB1176 platform.
591
592         config DEBUG_RK29_UART0
593                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
594                 depends on ARCH_ROCKCHIP
595                 select DEBUG_UART_8250
596                 help
597                   Say Y here if you want kernel low-level debugging support
598                   on Rockchip based platforms.
599
600         config DEBUG_RK29_UART1
601                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
602                 depends on ARCH_ROCKCHIP
603                 select DEBUG_UART_8250
604                 help
605                   Say Y here if you want kernel low-level debugging support
606                   on Rockchip based platforms.
607
608         config DEBUG_RK29_UART2
609                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
610                 depends on ARCH_ROCKCHIP
611                 select DEBUG_UART_8250
612                 help
613                   Say Y here if you want kernel low-level debugging support
614                   on Rockchip based platforms.
615
616         config DEBUG_RK3X_UART0
617                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
618                 depends on ARCH_ROCKCHIP
619                 select DEBUG_UART_8250
620                 help
621                   Say Y here if you want kernel low-level debugging support
622                   on Rockchip based platforms.
623
624         config DEBUG_RK3X_UART1
625                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
626                 depends on ARCH_ROCKCHIP
627                 select DEBUG_UART_8250
628                 help
629                   Say Y here if you want kernel low-level debugging support
630                   on Rockchip based platforms.
631
632         config DEBUG_RK3X_UART2
633                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
634                 depends on ARCH_ROCKCHIP
635                 select DEBUG_UART_8250
636                 help
637                   Say Y here if you want kernel low-level debugging support
638                   on Rockchip based platforms.
639
640         config DEBUG_RK3X_UART3
641                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
642                 depends on ARCH_ROCKCHIP
643                 select DEBUG_UART_8250
644                 help
645                   Say Y here if you want kernel low-level debugging support
646                   on Rockchip based platforms.
647
648         config DEBUG_RK32_UART2
649                 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
650                 depends on ARCH_ROCKCHIP
651                 select DEBUG_UART_8250
652                 help
653                   Say Y here if you want kernel low-level debugging support
654                   on Rockchip RK32xx based platforms.
655
656         config DEBUG_S3C_UART0
657                 depends on PLAT_SAMSUNG
658                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
659                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
660                 select DEBUG_S5PV210_UART if ARCH_S5PV210
661                 bool "Use Samsung S3C UART 0 for low-level debug"
662                 help
663                   Say Y here if you want the debug print routines to direct
664                   their output to UART 0. The port must have been initialised
665                   by the boot-loader before use.
666
667         config DEBUG_S3C_UART1
668                 depends on PLAT_SAMSUNG
669                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
670                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
671                 select DEBUG_S5PV210_UART if ARCH_S5PV210
672                 bool "Use Samsung S3C UART 1 for low-level debug"
673                 help
674                   Say Y here if you want the debug print routines to direct
675                   their output to UART 1. The port must have been initialised
676                   by the boot-loader before use.
677
678         config DEBUG_S3C_UART2
679                 depends on PLAT_SAMSUNG
680                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
681                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
682                 select DEBUG_S5PV210_UART if ARCH_S5PV210
683                 bool "Use Samsung S3C UART 2 for low-level debug"
684                 help
685                   Say Y here if you want the debug print routines to direct
686                   their output to UART 2. The port must have been initialised
687                   by the boot-loader before use.
688
689         config DEBUG_S3C_UART3
690                 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
691                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
692                 select DEBUG_S5PV210_UART if ARCH_S5PV210
693                 bool "Use Samsung S3C UART 3 for low-level debug"
694                 help
695                   Say Y here if you want the debug print routines to direct
696                   their output to UART 3. The port must have been initialised
697                   by the boot-loader before use.
698
699         config DEBUG_S3C2410_UART0
700                 depends on ARCH_S3C24XX
701                 select DEBUG_S3C2410_UART
702                 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
703                 help
704                   Say Y here if you want the debug print routines to direct
705                   their output to UART 0. The port must have been initialised
706                   by the boot-loader before use.
707
708         config DEBUG_S3C2410_UART1
709                 depends on ARCH_S3C24XX
710                 select DEBUG_S3C2410_UART
711                 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
712                 help
713                   Say Y here if you want the debug print routines to direct
714                   their output to UART 1. The port must have been initialised
715                   by the boot-loader before use.
716
717         config DEBUG_S3C2410_UART2
718                 depends on ARCH_S3C24XX
719                 select DEBUG_S3C2410_UART
720                 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
721                 help
722                   Say Y here if you want the debug print routines to direct
723                   their output to UART 2. The port must have been initialised
724                   by the boot-loader before use.
725
726         config DEBUG_SOCFPGA_UART
727                 depends on ARCH_SOCFPGA
728                 bool "Use SOCFPGA UART for low-level debug"
729                 select DEBUG_UART_8250
730                 help
731                   Say Y here if you want kernel low-level debugging support
732                   on SOCFPGA based platforms.
733
734         config DEBUG_SUNXI_UART0
735                 bool "Kernel low-level debugging messages via sunXi UART0"
736                 depends on ARCH_SUNXI
737                 select DEBUG_UART_8250
738                 help
739                   Say Y here if you want kernel low-level debugging support
740                   on Allwinner A1X based platforms on the UART0.
741
742         config DEBUG_SUNXI_UART1
743                 bool "Kernel low-level debugging messages via sunXi UART1"
744                 depends on ARCH_SUNXI
745                 select DEBUG_UART_8250
746                 help
747                   Say Y here if you want kernel low-level debugging support
748                   on Allwinner A1X based platforms on the UART1.
749
750         config DEBUG_SUNXI_R_UART
751                 bool "Kernel low-level debugging messages via sunXi R_UART"
752                 depends on MACH_SUN6I || MACH_SUN8I
753                 select DEBUG_UART_8250
754                 help
755                   Say Y here if you want kernel low-level debugging support
756                   on Allwinner A31/A23 based platforms on the R_UART.
757
758         config TEGRA_DEBUG_UART_AUTO_ODMDATA
759                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
760                 depends on ARCH_TEGRA
761                 select DEBUG_TEGRA_UART
762                 help
763                   Automatically determines which UART to use for low-level
764                   debug based on the ODMDATA value. This value is part of
765                   the BCT, and is written to the boot memory device using
766                   nvflash, or other flashing tool.  When bits 19:18 are 3,
767                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
768                   are UART A/B/C/D/E.
769
770         config TEGRA_DEBUG_UARTA
771                 bool "Kernel low-level debugging messages via Tegra UART A"
772                 depends on ARCH_TEGRA
773                 select DEBUG_TEGRA_UART
774                 help
775                   Say Y here if you want kernel low-level debugging support
776                   on Tegra based platforms.
777
778         config TEGRA_DEBUG_UARTB
779                 bool "Kernel low-level debugging messages via Tegra UART B"
780                 depends on ARCH_TEGRA
781                 select DEBUG_TEGRA_UART
782                 help
783                   Say Y here if you want kernel low-level debugging support
784                   on Tegra based platforms.
785
786         config TEGRA_DEBUG_UARTC
787                 bool "Kernel low-level debugging messages via Tegra UART C"
788                 depends on ARCH_TEGRA
789                 select DEBUG_TEGRA_UART
790                 help
791                   Say Y here if you want kernel low-level debugging support
792                   on Tegra based platforms.
793
794         config TEGRA_DEBUG_UARTD
795                 bool "Kernel low-level debugging messages via Tegra UART D"
796                 depends on ARCH_TEGRA
797                 select DEBUG_TEGRA_UART
798                 help
799                   Say Y here if you want kernel low-level debugging support
800                   on Tegra based platforms.
801
802         config TEGRA_DEBUG_UARTE
803                 bool "Kernel low-level debugging messages via Tegra UART E"
804                 depends on ARCH_TEGRA
805                 select DEBUG_TEGRA_UART
806                 help
807                   Say Y here if you want kernel low-level debugging support
808                   on Tegra based platforms.
809
810         config DEBUG_SIRFPRIMA2_UART1
811                 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
812                 depends on ARCH_PRIMA2
813                 help
814                   Say Y here if you want the debug print routines to direct
815                   their output to the uart1 port on SiRFprimaII devices.
816
817         config DEBUG_SIRFMARCO_UART1
818                 bool "Kernel low-level debugging messages via SiRFmarco UART1"
819                 depends on ARCH_MARCO
820                 help
821                   Say Y here if you want the debug print routines to direct
822                   their output to the uart1 port on SiRFmarco devices.
823
824         config STIH41X_DEBUG_ASC2
825                 bool "Use StiH415/416 ASC2 UART for low-level debug"
826                 depends on ARCH_STI
827                 select DEBUG_STI_UART
828                 help
829                   Say Y here if you want kernel low-level debugging support
830                   on STiH415/416 based platforms like b2000, which has
831                   default UART wired up to ASC2.
832
833                   If unsure, say N.
834
835         config STIH41X_DEBUG_SBC_ASC1
836                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
837                 depends on ARCH_STI
838                 select DEBUG_STI_UART
839                 help
840                   Say Y here if you want kernel low-level debugging support
841                   on STiH415/416 based platforms like b2020. which has
842                   default UART wired up to SBC ASC1.
843
844                   If unsure, say N.
845
846         config DEBUG_U300_UART
847                 bool "Kernel low-level debugging messages via U300 UART0"
848                 depends on ARCH_U300
849                 select DEBUG_UART_PL01X
850                 help
851                   Say Y here if you want the debug print routines to direct
852                   their output to the uart port on U300 devices.
853
854         config DEBUG_UX500_UART
855                 depends on ARCH_U8500
856                 bool "Use Ux500 UART for low-level debug"
857                 help
858                   Say Y here if you want kernel low-level debugging support
859                   on Ux500 based platforms.
860
861         config DEBUG_MT6589_UART0
862                 bool "Mediatek mt6589 UART0"
863                 depends on ARCH_MEDIATEK
864                 select DEBUG_UART_8250
865                 help
866                   Say Y here if you want kernel low-level debugging support
867                   for Mediatek mt6589 based platforms on UART0.
868
869         config DEBUG_VEXPRESS_UART0_DETECT
870                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
871                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
872                 help
873                   This option enables a simple heuristic which tries to determine
874                   the motherboard's memory map variant (original or RS1) and then
875                   choose the relevant UART0 base address.
876
877                   Note that this will only work with standard A-class core tiles,
878                   and may fail with non-standard SMM or custom software models.
879
880         config DEBUG_VEXPRESS_UART0_CA9
881                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
882                 depends on ARCH_VEXPRESS
883                 select DEBUG_UART_PL01X
884                 help
885                   This option selects UART0 at 0x10009000. Except for custom models,
886                   this applies only to the V2P-CA9 tile.
887
888         config DEBUG_VEXPRESS_UART0_RS1
889                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
890                 depends on ARCH_VEXPRESS
891                 select DEBUG_UART_PL01X
892                 help
893                   This option selects UART0 at 0x1c090000. This applies to most
894                   of the tiles using the RS1 memory map, including all new A-class
895                   core tiles, FPGA-based SMMs and software models.
896
897         config DEBUG_VEXPRESS_UART0_CRX
898                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
899                 depends on ARCH_VEXPRESS && !MMU
900                 select DEBUG_UART_PL01X
901                 help
902                   This option selects UART0 at 0xb0090000. This is appropriate for
903                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
904
905         config DEBUG_VT8500_UART0
906                 bool "Use UART0 on VIA/Wondermedia SoCs"
907                 depends on ARCH_VT8500
908                 help
909                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
910                   devices, including VT8500, WM8505, WM8650 and WM8850.
911
912         config DEBUG_LL_UART_NONE
913                 bool "No low-level debugging UART"
914                 depends on !ARCH_MULTIPLATFORM
915                 help
916                   Say Y here if your platform doesn't provide a UART option
917                   above. This relies on your platform choosing the right UART
918                   definition internally in order for low-level debugging to
919                   work.
920
921         config DEBUG_ICEDCC
922                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
923                 help
924                   Say Y here if you want the debug print routines to direct
925                   their output to the EmbeddedICE macrocell's DCC channel using
926                   co-processor 14. This is known to work on the ARM9 style ICE
927                   channel and on the XScale with the PEEDI.
928
929                   Note that the system will appear to hang during boot if there
930                   is nothing connected to read from the DCC.
931
932         config DEBUG_SEMIHOSTING
933                 bool "Kernel low-level debug output via semihosting I/O"
934                 help
935                   Semihosting enables code running on an ARM target to use
936                   the I/O facilities on a host debugger/emulator through a
937                   simple SVC call. The host debugger or emulator must have
938                   semihosting enabled for the special svc call to be trapped
939                   otherwise the kernel will crash.
940
941                   This is known to work with OpenOCD, as well as
942                   ARM's Fast Models, or any other controlling environment
943                   that implements semihosting.
944
945                   For more details about semihosting, please see
946                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
947
948         config DEBUG_LL_UART_8250
949                 bool "Kernel low-level debugging via 8250 UART"
950                 help
951                   Say Y here if you wish the debug print routes to direct
952                   their output to an 8250 UART.  You can use this option
953                   to provide the parameters for the 8250 UART rather than
954                   selecting one of the platform specific options above if
955                   you know the parameters for the port.
956
957                   This option is preferred over the platform specific
958                   options; the platform specific options are deprecated
959                   and will be soon removed.
960
961         config DEBUG_LL_UART_EFM32
962                 bool "Kernel low-level debugging via efm32 UART"
963                 depends on ARCH_EFM32
964                 help
965                   Say Y here if you want the debug print routines to direct
966                   their output to an UART or USART port on efm32 based
967                   machines. Use the following addresses for DEBUG_UART_PHYS:
968
969                     0x4000c000 | USART0
970                     0x4000c400 | USART1
971                     0x4000c800 | USART2
972                     0x4000e000 | UART0
973                     0x4000e400 | UART1
974
975         config DEBUG_LL_UART_PL01X
976                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
977                 help
978                   Say Y here if you wish the debug print routes to direct
979                   their output to a PL01x Primecell UART.  You can use
980                   this option to provide the parameters for the UART
981                   rather than selecting one of the platform specific
982                   options above if you know the parameters for the port.
983
984                   This option is preferred over the platform specific
985                   options; the platform specific options are deprecated
986                   and will be soon removed.
987
988 endchoice
989
990 config DEBUG_EXYNOS_UART
991         bool
992
993 config DEBUG_S3C2410_UART
994         bool
995         select DEBUG_S3C24XX_UART
996
997 config DEBUG_S3C24XX_UART
998         bool
999
1000 config DEBUG_S5PV210_UART
1001         bool
1002
1003 config DEBUG_OMAP2PLUS_UART
1004         bool
1005         depends on ARCH_OMAP2PLUS
1006
1007 config DEBUG_IMX_UART_PORT
1008         int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1009                                                 DEBUG_IMX25_UART || \
1010                                                 DEBUG_IMX21_IMX27_UART || \
1011                                                 DEBUG_IMX31_UART || \
1012                                                 DEBUG_IMX35_UART || \
1013                                                 DEBUG_IMX50_UART || \
1014                                                 DEBUG_IMX51_UART || \
1015                                                 DEBUG_IMX53_UART || \
1016                                                 DEBUG_IMX6Q_UART || \
1017                                                 DEBUG_IMX6SL_UART || \
1018                                                 DEBUG_IMX6SX_UART
1019         default 1
1020         depends on ARCH_MXC
1021         help
1022           Choose UART port on which kernel low-level debug messages
1023           should be output.
1024
1025 config DEBUG_VF_UART_PORT
1026         int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1027         default 1
1028         range 0 3
1029         depends on SOC_VF610
1030         help
1031           Choose UART port on which kernel low-level debug messages
1032           should be output.
1033
1034 config DEBUG_TEGRA_UART
1035         bool
1036         depends on ARCH_TEGRA
1037
1038 config DEBUG_STI_UART
1039         bool
1040         depends on ARCH_STI
1041
1042 config DEBUG_LL_INCLUDE
1043         string
1044         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1045         default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1046         default "debug/meson.S" if DEBUG_MESON_UARTAO
1047         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1048         default "debug/exynos.S" if DEBUG_EXYNOS_UART
1049         default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1050         default "debug/icedcc.S" if DEBUG_ICEDCC
1051         default "debug/imx.S" if DEBUG_IMX1_UART || \
1052                                  DEBUG_IMX25_UART || \
1053                                  DEBUG_IMX21_IMX27_UART || \
1054                                  DEBUG_IMX31_UART || \
1055                                  DEBUG_IMX35_UART || \
1056                                  DEBUG_IMX50_UART || \
1057                                  DEBUG_IMX51_UART || \
1058                                  DEBUG_IMX53_UART ||\
1059                                  DEBUG_IMX6Q_UART || \
1060                                  DEBUG_IMX6SL_UART || \
1061                                  DEBUG_IMX6SX_UART
1062         default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1063         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1064         default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
1065         default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1066         default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
1067         default "debug/sti.S" if DEBUG_STI_UART
1068         default "debug/tegra.S" if DEBUG_TEGRA_UART
1069         default "debug/ux500.S" if DEBUG_UX500_UART
1070         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1071         default "debug/vf.S" if DEBUG_VF_UART
1072         default "debug/vt8500.S" if DEBUG_VT8500_UART0
1073         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1074         default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1075         default "mach/debug-macro.S"
1076
1077 # Compatibility options for PL01x
1078 config DEBUG_UART_PL01X
1079         def_bool ARCH_EP93XX || \
1080                 ARCH_INTEGRATOR || \
1081                 ARCH_SPEAR3XX || \
1082                 ARCH_SPEAR6XX || \
1083                 ARCH_SPEAR13XX || \
1084                 ARCH_VERSATILE
1085
1086 # Compatibility options for 8250
1087 config DEBUG_UART_8250
1088         def_bool ARCH_DOVE || ARCH_EBSA110 || \
1089                 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1090                 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1091                 ARCH_IOP33X || ARCH_IXP4XX || \
1092                 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1093
1094 # Compatibility options for BCM63xx
1095 config DEBUG_UART_BCM63XX
1096         def_bool ARCH_BCM_63XX
1097
1098 config DEBUG_UART_PHYS
1099         hex "Physical base address of debug UART"
1100         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1101         default 0x01c28000 if DEBUG_SUNXI_UART0
1102         default 0x01c28400 if DEBUG_SUNXI_UART1
1103         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1104         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1105         default 0x01f02800 if DEBUG_SUNXI_R_UART
1106         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1107         default 0x02531000 if DEBUG_KEYSTONE_UART1
1108         default 0x03010fe0 if ARCH_RPC
1109         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1110                                 DEBUG_VEXPRESS_UART0_CA9
1111         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1112         default 0x10124000 if DEBUG_RK3X_UART0
1113         default 0x10126000 if DEBUG_RK3X_UART1
1114         default 0x101f1000 if ARCH_VERSATILE
1115         default 0x101fb000 if DEBUG_NOMADIK_UART
1116         default 0x11006000 if DEBUG_MT6589_UART0
1117         default 0x16000000 if ARCH_INTEGRATOR
1118         default 0x18000300 if DEBUG_BCM_5301X
1119         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1120         default 0x20060000 if DEBUG_RK29_UART0
1121         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1122         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1123         default 0x20201000 if DEBUG_BCM2835
1124         default 0x3e000000 if DEBUG_BCM_KONA_UART
1125         default 0x4000e400 if DEBUG_LL_UART_EFM32
1126         default 0x40090000 if ARCH_LPC32XX
1127         default 0x40100000 if DEBUG_PXA_UART1
1128         default 0x42000000 if ARCH_GEMINI
1129         default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1130                                 DEBUG_S3C2410_UART0)
1131         default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1132                                 DEBUG_S3C2410_UART1)
1133         default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1134                                 DEBUG_S3C2410_UART2)
1135         default 0x78000000 if DEBUG_CNS3XXX
1136         default 0x7c0003f8 if FOOTBRIDGE
1137         default 0x78000000 if DEBUG_CNS3XXX
1138         default 0x80070000 if DEBUG_IMX23_UART
1139         default 0x80074000 if DEBUG_IMX28_UART
1140         default 0x80230000 if DEBUG_PICOXCELL_UART
1141         default 0x808c0000 if ARCH_EP93XX
1142         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1143         default 0xa9a00000 if DEBUG_MSM_UART
1144         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1145         default 0xc0013000 if DEBUG_U300_UART
1146         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1147         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1148         default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1149         default 0xd0012000 if DEBUG_MVEBU_UART
1150         default 0xc81004c0 if DEBUG_MESON_UARTAO
1151         default 0xd4017000 if DEBUG_MMP_UART2
1152         default 0xd4018000 if DEBUG_MMP_UART3
1153         default 0xe0000000 if ARCH_SPEAR13XX
1154         default 0xe4007000 if DEBUG_HIP04_UART
1155         default 0xf0000be0 if ARCH_EBSA110
1156         default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1157         default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1158                                 ARCH_ORION5X
1159         default 0xf7fc9000 if DEBUG_BERLIN_UART
1160         default 0xf8b00000 if DEBUG_HIX5HD2_UART
1161         default 0xf991e000 if DEBUG_QCOM_UARTDM
1162         default 0xfcb00000 if DEBUG_HI3620_UART
1163         default 0xfe800000 if ARCH_IOP32X
1164         default 0xff690000 if DEBUG_RK32_UART2
1165         default 0xffc02000 if DEBUG_SOCFPGA_UART
1166         default 0xffd82340 if ARCH_IOP13XX
1167         default 0xfff36000 if DEBUG_HIGHBANK_UART
1168         default 0xfffe8600 if DEBUG_UART_BCM63XX
1169         default 0xfffff700 if ARCH_IOP33X
1170         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1171                 DEBUG_LL_UART_EFM32 || \
1172                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1173                 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1174                 DEBUG_UART_BCM63XX
1175
1176 config DEBUG_UART_VIRT
1177         hex "Virtual base address of debug UART"
1178         default 0xe0010fe0 if ARCH_RPC
1179         default 0xe1000000 if DEBUG_MSM_UART
1180         default 0xf0000be0 if ARCH_EBSA110
1181         default 0xf01fb000 if DEBUG_NOMADIK_UART
1182         default 0xf0201000 if DEBUG_BCM2835
1183         default 0xf1000300 if DEBUG_BCM_5301X
1184         default 0xf1006000 if DEBUG_MT6589_UART0
1185         default 0xf11f1000 if ARCH_VERSATILE
1186         default 0xf1600000 if ARCH_INTEGRATOR
1187         default 0xf1c28000 if DEBUG_SUNXI_UART0
1188         default 0xf1c28400 if DEBUG_SUNXI_UART1
1189         default 0xf1f02800 if DEBUG_SUNXI_R_UART
1190         default 0xf2100000 if DEBUG_PXA_UART1
1191         default 0xf4090000 if ARCH_LPC32XX
1192         default 0xf4200000 if ARCH_GEMINI
1193         default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1194                                 DEBUG_S3C2410_UART0)
1195         default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1196                                 DEBUG_S3C2410_UART1)
1197         default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1198                                 DEBUG_S3C2410_UART2)
1199         default 0xf7fc9000 if DEBUG_BERLIN_UART
1200         default 0xf8007000 if DEBUG_HIP04_UART
1201         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1202         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1203         default 0xfa71e000 if DEBUG_QCOM_UARTDM
1204         default 0xfb002000 if DEBUG_CNS3XXX
1205         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1206         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1207         default 0xfcfe8600 if DEBUG_UART_BCM63XX
1208         default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1209         default 0xfd000000 if ARCH_SPEAR13XX
1210         default 0xfd012000 if ARCH_MV78XX0
1211         default 0xfde12000 if ARCH_DOVE
1212         default 0xfe012000 if ARCH_ORION5X
1213         default 0xf31004c0 if DEBUG_MESON_UARTAO
1214         default 0xfe017000 if DEBUG_MMP_UART2
1215         default 0xfe018000 if DEBUG_MMP_UART3
1216         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1217         default 0xfe230000 if DEBUG_PICOXCELL_UART
1218         default 0xfe300000 if DEBUG_BCM_KONA_UART
1219         default 0xfe800000 if ARCH_IOP32X
1220         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1221         default 0xfeb24000 if DEBUG_RK3X_UART0
1222         default 0xfeb26000 if DEBUG_RK3X_UART1
1223         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1224         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1225         default 0xfec02000 if DEBUG_SOCFPGA_UART
1226         default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1227         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1228         default 0xfec90000 if DEBUG_RK32_UART2
1229         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1230         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1231         default 0xfed60000 if DEBUG_RK29_UART0
1232         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1233         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1234         default 0xfedc0000 if ARCH_EP93XX
1235         default 0xfee003f8 if FOOTBRIDGE
1236         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1237         default 0xfee82340 if ARCH_IOP13XX
1238         default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1239         default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1240         default 0xfef36000 if DEBUG_HIGHBANK_UART
1241         default 0xfefff700 if ARCH_IOP33X
1242         default 0xff003000 if DEBUG_U300_UART
1243         default DEBUG_UART_PHYS if !MMU
1244         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1245                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1246                 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1247                 DEBUG_UART_BCM63XX
1248
1249 config DEBUG_UART_8250_SHIFT
1250         int "Register offset shift for the 8250 debug UART"
1251         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1252         default 0 if FOOTBRIDGE || ARCH_IOP32X
1253         default 2
1254
1255 config DEBUG_UART_8250_WORD
1256         bool "Use 32-bit accesses for 8250 UART"
1257         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1258         depends on DEBUG_UART_8250_SHIFT >= 2
1259         default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1260                 ARCH_KEYSTONE || \
1261                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1262                 DEBUG_DAVINCI_DA8XX_UART2 || \
1263                 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
1264
1265 config DEBUG_UART_8250_FLOW_CONTROL
1266         bool "Enable flow control for 8250 UART"
1267         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1268         default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1269
1270 config DEBUG_UNCOMPRESS
1271         bool
1272         depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1273         default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1274                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1275         help
1276           This option influences the normal decompressor output for
1277           multiplatform kernels.  Normally, multiplatform kernels disable
1278           decompressor output because it is not possible to know where to
1279           send the decompressor output.
1280
1281           When this option is set, the selected DEBUG_LL output method
1282           will be re-used for normal decompressor output on multiplatform
1283           kernels.
1284           
1285
1286 config UNCOMPRESS_INCLUDE
1287         string
1288         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1289                                         PLAT_SAMSUNG || ARCH_EFM32
1290         default "mach/uncompress.h"
1291
1292 config EARLY_PRINTK
1293         bool "Early printk"
1294         depends on DEBUG_LL
1295         help
1296           Say Y here if you want to have an early console using the
1297           kernel low-level debugging functions. Add earlyprintk to your
1298           kernel parameters to enable this console.
1299
1300 config OC_ETM
1301         bool "On-chip ETM and ETB"
1302         depends on ARM_AMBA
1303         help
1304           Enables the on-chip embedded trace macrocell and embedded trace
1305           buffer driver that will allow you to collect traces of the
1306           kernel code.
1307
1308 config ARM_KPROBES_TEST
1309         tristate "Kprobes test module"
1310         depends on KPROBES && MODULES
1311         help
1312           Perform tests of kprobes API and instruction set simulation.
1313
1314 config PID_IN_CONTEXTIDR
1315         bool "Write the current PID to the CONTEXTIDR register"
1316         depends on CPU_COPY_V6
1317         help
1318           Enabling this option causes the kernel to write the current PID to
1319           the PROCID field of the CONTEXTIDR register, at the expense of some
1320           additional instructions during context switch. Say Y here only if you
1321           are planning to use hardware trace tools with this kernel.
1322
1323 config DEBUG_SET_MODULE_RONX
1324         bool "Set loadable kernel module data as NX and text as RO"
1325         depends on MODULES
1326         ---help---
1327           This option helps catch unintended modifications to loadable
1328           kernel module's text and read-only data. It also prevents execution
1329           of module data. Such protection may interfere with run-time code
1330           patching and dynamic kernel tracing - and they might also protect
1331           against certain classes of kernel exploits.
1332           If in doubt, say "N".
1333
1334 endmenu