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