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