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