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