• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_ARRIA10_UART1
1027		depends on ARCH_SOCFPGA
1028		bool "Use SOCFPGA Arria10 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	config DEBUG_SOCFPGA_CYCLONE5_UART1
1035		depends on ARCH_SOCFPGA
1036		bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1037		select DEBUG_UART_8250
1038		help
1039		  Say Y here if you want kernel low-level debugging support
1040		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1041
1042	config DEBUG_SUN9I_UART0
1043		bool "Kernel low-level debugging messages via sun9i UART0"
1044		depends on MACH_SUN9I
1045		select DEBUG_UART_8250
1046		help
1047		  Say Y here if you want kernel low-level debugging support
1048		  on Allwinner A80 based platforms on the UART0.
1049
1050	config DEBUG_SUNXI_UART0
1051		bool "Kernel low-level debugging messages via sunXi UART0"
1052		depends on ARCH_SUNXI
1053		select DEBUG_UART_8250
1054		help
1055		  Say Y here if you want kernel low-level debugging support
1056		  on Allwinner A1X based platforms on the UART0.
1057
1058	config DEBUG_SUNXI_UART1
1059		bool "Kernel low-level debugging messages via sunXi UART1"
1060		depends on ARCH_SUNXI
1061		select DEBUG_UART_8250
1062		help
1063		  Say Y here if you want kernel low-level debugging support
1064		  on Allwinner A1X based platforms on the UART1.
1065
1066	config DEBUG_SUNXI_R_UART
1067		bool "Kernel low-level debugging messages via sunXi R_UART"
1068		depends on MACH_SUN6I || MACH_SUN8I
1069		select DEBUG_UART_8250
1070		help
1071		  Say Y here if you want kernel low-level debugging support
1072		  on Allwinner A31/A23 based platforms on the R_UART.
1073
1074	config DEBUG_SIRFPRIMA2_UART1
1075		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
1076		depends on ARCH_PRIMA2
1077		select DEBUG_SIRFSOC_UART
1078		help
1079		  Say Y here if you want the debug print routines to direct
1080		  their output to the uart1 port on SiRFprimaII devices.
1081
1082	config DEBUG_SIRFATLAS7_UART0
1083		bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
1084		depends on ARCH_ATLAS7
1085		select DEBUG_SIRFSOC_UART
1086		help
1087		  Say Y here if you want the debug print routines to direct
1088		  their output to the uart0 port on SiRFATLAS7 devices.The uart0
1089		  is used on SiRFATLAS7 as a extra debug port.sometimes an extra
1090		  debug port can be very useful.
1091
1092	config DEBUG_SIRFATLAS7_UART1
1093		bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
1094		depends on ARCH_ATLAS7
1095		select DEBUG_SIRFSOC_UART
1096		help
1097		  Say Y here if you want the debug print routines to direct
1098		  their output to the uart1 port on SiRFATLAS7 devices.
1099
1100	config DEBUG_SPEAR3XX
1101		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1102		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1103		select DEBUG_UART_PL01X
1104		help
1105		  Say Y here if you want kernel low-level debugging support
1106		  on ST SPEAr based platforms.
1107
1108	config DEBUG_SPEAR13XX
1109		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1110		depends on ARCH_SPEAR13XX
1111		select DEBUG_UART_PL01X
1112		help
1113		  Say Y here if you want kernel low-level debugging support
1114		  on ST SPEAr13xx based platforms.
1115
1116	config STIH41X_DEBUG_ASC2
1117		bool "Use StiH415/416 ASC2 UART for low-level debug"
1118		depends on ARCH_STI
1119		select DEBUG_STI_UART
1120		help
1121		  Say Y here if you want kernel low-level debugging support
1122		  on STiH415/416 based platforms like b2000, which has
1123		  default UART wired up to ASC2.
1124
1125		  If unsure, say N.
1126
1127	config STIH41X_DEBUG_SBC_ASC1
1128		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1129		depends on ARCH_STI
1130		select DEBUG_STI_UART
1131		help
1132		  Say Y here if you want kernel low-level debugging support
1133		  on STiH415/416 based platforms like b2020. which has
1134		  default UART wired up to SBC ASC1.
1135
1136		  If unsure, say N.
1137
1138	config TEGRA_DEBUG_UART_AUTO_ODMDATA
1139		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1140		depends on ARCH_TEGRA
1141		select DEBUG_TEGRA_UART
1142		help
1143		  Automatically determines which UART to use for low-level
1144		  debug based on the ODMDATA value. This value is part of
1145		  the BCT, and is written to the boot memory device using
1146		  nvflash, or other flashing tool.  When bits 19:18 are 3,
1147		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
1148		  are UART A/B/C/D/E.
1149
1150	config TEGRA_DEBUG_UARTA
1151		bool "Kernel low-level debugging messages via Tegra UART A"
1152		depends on ARCH_TEGRA
1153		select DEBUG_TEGRA_UART
1154		help
1155		  Say Y here if you want kernel low-level debugging support
1156		  on Tegra based platforms.
1157
1158	config TEGRA_DEBUG_UARTB
1159		bool "Kernel low-level debugging messages via Tegra UART B"
1160		depends on ARCH_TEGRA
1161		select DEBUG_TEGRA_UART
1162		help
1163		  Say Y here if you want kernel low-level debugging support
1164		  on Tegra based platforms.
1165
1166	config TEGRA_DEBUG_UARTC
1167		bool "Kernel low-level debugging messages via Tegra UART C"
1168		depends on ARCH_TEGRA
1169		select DEBUG_TEGRA_UART
1170		help
1171		  Say Y here if you want kernel low-level debugging support
1172		  on Tegra based platforms.
1173
1174	config TEGRA_DEBUG_UARTD
1175		bool "Kernel low-level debugging messages via Tegra UART D"
1176		depends on ARCH_TEGRA
1177		select DEBUG_TEGRA_UART
1178		help
1179		  Say Y here if you want kernel low-level debugging support
1180		  on Tegra based platforms.
1181
1182	config TEGRA_DEBUG_UARTE
1183		bool "Kernel low-level debugging messages via Tegra UART E"
1184		depends on ARCH_TEGRA
1185		select DEBUG_TEGRA_UART
1186		help
1187		  Say Y here if you want kernel low-level debugging support
1188		  on Tegra based platforms.
1189
1190	config DEBUG_U300_UART
1191		bool "Kernel low-level debugging messages via U300 UART0"
1192		depends on ARCH_U300
1193		select DEBUG_UART_PL01X
1194		help
1195		  Say Y here if you want the debug print routines to direct
1196		  their output to the uart port on U300 devices.
1197
1198	config DEBUG_UX500_UART
1199		depends on ARCH_U8500
1200		bool "Use Ux500 UART for low-level debug"
1201		help
1202		  Say Y here if you want kernel low-level debugging support
1203		  on Ux500 based platforms.
1204
1205	config DEBUG_VERSATILE
1206		bool "Kernel low-level debugging messages via ARM Versatile UART"
1207		depends on ARCH_VERSATILE
1208		select DEBUG_UART_PL01X
1209		help
1210		  Say Y here if you want kernel low-level debugging support
1211		  on ARM Versatile platforms.
1212
1213	config DEBUG_VEXPRESS_UART0_DETECT
1214		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1215		depends on ARCH_VEXPRESS && CPU_CP15_MMU
1216		help
1217		  This option enables a simple heuristic which tries to determine
1218		  the motherboard's memory map variant (original or RS1) and then
1219		  choose the relevant UART0 base address.
1220
1221		  Note that this will only work with standard A-class core tiles,
1222		  and may fail with non-standard SMM or custom software models.
1223
1224	config DEBUG_VEXPRESS_UART0_CA9
1225		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1226		depends on ARCH_VEXPRESS
1227		select DEBUG_UART_PL01X
1228		help
1229		  This option selects UART0 at 0x10009000. Except for custom models,
1230		  this applies only to the V2P-CA9 tile.
1231
1232	config DEBUG_VEXPRESS_UART0_RS1
1233		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1234		depends on ARCH_VEXPRESS
1235		select DEBUG_UART_PL01X
1236		help
1237		  This option selects UART0 at 0x1c090000. This applies to most
1238		  of the tiles using the RS1 memory map, including all new A-class
1239		  core tiles, FPGA-based SMMs and software models.
1240
1241	config DEBUG_VEXPRESS_UART0_CRX
1242		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1243		depends on ARCH_VEXPRESS && !MMU
1244		select DEBUG_UART_PL01X
1245		help
1246		  This option selects UART0 at 0xb0090000. This is appropriate for
1247		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1248
1249	config DEBUG_VF_UART
1250		bool "Vybrid UART"
1251		depends on SOC_VF610
1252		help
1253		  Say Y here if you want kernel low-level debugging support
1254		  on Vybrid based platforms.
1255
1256	config DEBUG_VT8500_UART0
1257		bool "Use UART0 on VIA/Wondermedia SoCs"
1258		depends on ARCH_VT8500
1259		help
1260		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1261		  devices, including VT8500, WM8505, WM8650 and WM8850.
1262
1263	config DEBUG_ZTE_ZX
1264		bool "Use ZTE ZX UART"
1265		select DEBUG_UART_PL01X
1266		depends on ARCH_ZX
1267		help
1268		  Say Y here if you are enabling ZTE ZX296702 SOC and need
1269		  debug uart support.
1270
1271		  This option is preferred over the platform specific
1272		  options; the platform specific options are deprecated
1273		  and will be soon removed.
1274
1275	config DEBUG_ZYNQ_UART0
1276		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1277		depends on ARCH_ZYNQ
1278		help
1279		  Say Y here if you want the debug print routines to direct
1280		  their output to UART0 on the Zynq platform.
1281
1282	config DEBUG_ZYNQ_UART1
1283		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1284		depends on ARCH_ZYNQ
1285		help
1286		  Say Y here if you want the debug print routines to direct
1287		  their output to UART1 on the Zynq platform.
1288
1289		  If you have a ZC702 board and want early boot messages to
1290		  appear on the USB serial adaptor, select this option.
1291
1292	config DEBUG_ICEDCC
1293		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1294		help
1295		  Say Y here if you want the debug print routines to direct
1296		  their output to the EmbeddedICE macrocell's DCC channel using
1297		  co-processor 14. This is known to work on the ARM9 style ICE
1298		  channel and on the XScale with the PEEDI.
1299
1300		  Note that the system will appear to hang during boot if there
1301		  is nothing connected to read from the DCC.
1302
1303	config DEBUG_SEMIHOSTING
1304		bool "Kernel low-level debug output via semihosting I/O"
1305		help
1306		  Semihosting enables code running on an ARM target to use
1307		  the I/O facilities on a host debugger/emulator through a
1308		  simple SVC call. The host debugger or emulator must have
1309		  semihosting enabled for the special svc call to be trapped
1310		  otherwise the kernel will crash.
1311
1312		  This is known to work with OpenOCD, as well as
1313		  ARM's Fast Models, or any other controlling environment
1314		  that implements semihosting.
1315
1316		  For more details about semihosting, please see
1317		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1318
1319	config DEBUG_LL_UART_8250
1320		bool "Kernel low-level debugging via 8250 UART"
1321		help
1322		  Say Y here if you wish the debug print routes to direct
1323		  their output to an 8250 UART.  You can use this option
1324		  to provide the parameters for the 8250 UART rather than
1325		  selecting one of the platform specific options above if
1326		  you know the parameters for the port.
1327
1328		  This option is preferred over the platform specific
1329		  options; the platform specific options are deprecated
1330		  and will be soon removed.
1331
1332	config DEBUG_LL_UART_EFM32
1333		bool "Kernel low-level debugging via efm32 UART"
1334		depends on ARCH_EFM32
1335		help
1336		  Say Y here if you want the debug print routines to direct
1337		  their output to an UART or USART port on efm32 based
1338		  machines. Use the following addresses for DEBUG_UART_PHYS:
1339
1340		    0x4000c000 | USART0
1341		    0x4000c400 | USART1
1342		    0x4000c800 | USART2
1343		    0x4000e000 | UART0
1344		    0x4000e400 | UART1
1345
1346	config DEBUG_LL_UART_PL01X
1347		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1348		help
1349		  Say Y here if you wish the debug print routes to direct
1350		  their output to a PL01x Primecell UART.  You can use
1351		  this option to provide the parameters for the UART
1352		  rather than selecting one of the platform specific
1353		  options above if you know the parameters for the port.
1354
1355		  This option is preferred over the platform specific
1356		  options; the platform specific options are deprecated
1357		  and will be soon removed.
1358
1359endchoice
1360
1361config DEBUG_AT91_UART
1362	bool
1363	depends on ARCH_AT91
1364
1365config DEBUG_EXYNOS_UART
1366	bool
1367
1368config DEBUG_S3C2410_UART
1369	bool
1370	select DEBUG_S3C24XX_UART
1371
1372config DEBUG_S3C24XX_UART
1373	bool
1374
1375config DEBUG_S3C64XX_UART
1376	bool
1377
1378config DEBUG_S5PV210_UART
1379	bool
1380
1381config DEBUG_OMAP2PLUS_UART
1382	bool
1383	depends on ARCH_OMAP2PLUS
1384
1385config DEBUG_IMX_UART_PORT
1386	int "i.MX Debug UART Port Selection"
1387	depends on DEBUG_IMX1_UART || \
1388		   DEBUG_IMX25_UART || \
1389		   DEBUG_IMX21_IMX27_UART || \
1390		   DEBUG_IMX31_UART || \
1391		   DEBUG_IMX35_UART || \
1392		   DEBUG_IMX50_UART || \
1393		   DEBUG_IMX51_UART || \
1394		   DEBUG_IMX53_UART || \
1395		   DEBUG_IMX6Q_UART || \
1396		   DEBUG_IMX6SL_UART || \
1397		   DEBUG_IMX6SX_UART || \
1398		   DEBUG_IMX6UL_UART || \
1399		   DEBUG_IMX7D_UART
1400	default 1
1401	help
1402	  Choose UART port on which kernel low-level debug messages
1403	  should be output.
1404
1405config DEBUG_VF_UART_PORT
1406	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1407	default 1
1408	range 0 3
1409	depends on SOC_VF610
1410	help
1411	  Choose UART port on which kernel low-level debug messages
1412	  should be output.
1413
1414config DEBUG_TEGRA_UART
1415	bool
1416	depends on ARCH_TEGRA
1417
1418config DEBUG_STI_UART
1419	bool
1420	depends on ARCH_STI
1421
1422config DEBUG_SIRFSOC_UART
1423	bool
1424	depends on ARCH_SIRF
1425
1426config DEBUG_LL_INCLUDE
1427	string
1428	default "debug/sa1100.S" if DEBUG_SA1100
1429	default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1430	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1431	default "debug/at91.S" if DEBUG_AT91_UART
1432	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1433	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1434	default "debug/dc21285.S" if DEBUG_DC21285_PORT
1435	default "debug/meson.S" if DEBUG_MESON_UARTAO
1436	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1437	default "debug/exynos.S" if DEBUG_EXYNOS_UART
1438	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1439	default "debug/icedcc.S" if DEBUG_ICEDCC
1440	default "debug/imx.S" if DEBUG_IMX1_UART || \
1441				 DEBUG_IMX25_UART || \
1442				 DEBUG_IMX21_IMX27_UART || \
1443				 DEBUG_IMX31_UART || \
1444				 DEBUG_IMX35_UART || \
1445				 DEBUG_IMX50_UART || \
1446				 DEBUG_IMX51_UART || \
1447				 DEBUG_IMX53_UART ||\
1448				 DEBUG_IMX6Q_UART || \
1449				 DEBUG_IMX6SL_UART || \
1450				 DEBUG_IMX6SX_UART || \
1451				 DEBUG_IMX6UL_UART || \
1452				 DEBUG_IMX7D_UART
1453	default "debug/ks8695.S" if DEBUG_KS8695_UART
1454	default "debug/msm.S" if DEBUG_QCOM_UARTDM
1455	default "debug/netx.S" if DEBUG_NETX_UART
1456	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1457	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1458	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1459	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1460	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1461	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1462	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1463	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1464	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1465	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1466	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1467	default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1468	default "debug/sti.S" if DEBUG_STI_UART
1469	default "debug/tegra.S" if DEBUG_TEGRA_UART
1470	default "debug/ux500.S" if DEBUG_UX500_UART
1471	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1472	default "debug/vf.S" if DEBUG_VF_UART
1473	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1474	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1475	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1476	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1477	default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
1478	default "mach/debug-macro.S"
1479
1480# Compatibility options for PL01x
1481config DEBUG_UART_PL01X
1482	bool
1483
1484# Compatibility options for 8250
1485config DEBUG_UART_8250
1486	def_bool ARCH_EBSA110 || \
1487		ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \
1488		ARCH_RPC
1489
1490config DEBUG_UART_PHYS
1491	hex "Physical base address of debug UART"
1492	default 0x00100a00 if DEBUG_NETX_UART
1493	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1494	default 0x01c28000 if DEBUG_SUNXI_UART0
1495	default 0x01c28400 if DEBUG_SUNXI_UART1
1496	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1497	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1498	default 0x01f02800 if DEBUG_SUNXI_R_UART
1499	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1500	default 0x02531000 if DEBUG_KEYSTONE_UART1
1501	default 0x03010fe0 if ARCH_RPC
1502	default 0x07000000 if DEBUG_SUN9I_UART0
1503	default 0x09405000 if DEBUG_ZTE_ZX
1504	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1505				DEBUG_VEXPRESS_UART0_CA9
1506	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1507	default 0x10124000 if DEBUG_RK3X_UART0
1508	default 0x10126000 if DEBUG_RK3X_UART1
1509	default 0x101f1000 if DEBUG_VERSATILE
1510	default 0x101fb000 if DEBUG_NOMADIK_UART
1511	default 0x10210000 if DEBUG_RV1108_UART2
1512	default 0x10220000 if DEBUG_RV1108_UART1
1513	default 0x10230000 if DEBUG_RV1108_UART0
1514	default 0x11002000 if DEBUG_MT8127_UART0
1515	default 0x11006000 if DEBUG_MT6589_UART0
1516	default 0x11009000 if DEBUG_MT8135_UART3
1517	default 0x16000000 if DEBUG_INTEGRATOR
1518	default 0x18000300 if DEBUG_BCM_5301X
1519	default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1520	default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1521	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1522	default 0x20001000 if DEBUG_HIP01_UART
1523	default 0x20060000 if DEBUG_RK29_UART0
1524	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1525	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1526	default 0x20201000 if DEBUG_BCM2835
1527	default 0x3f201000 if DEBUG_BCM2836
1528	default 0x3e000000 if DEBUG_BCM_KONA_UART
1529	default 0x4000e400 if DEBUG_LL_UART_EFM32
1530	default 0x40028000 if DEBUG_AT91_SAMV7_USART1
1531	default 0x40081000 if DEBUG_LPC18XX_UART0
1532	default 0x40090000 if DEBUG_LPC32XX
1533	default 0x40100000 if DEBUG_PXA_UART1
1534	default 0x42000000 if DEBUG_GEMINI
1535	default 0x44e09000 if DEBUG_AM33XXUART1
1536	default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1537	default 0x48022000 if DEBUG_TI81XXUART2
1538	default 0x48024000 if DEBUG_TI81XXUART3
1539	default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1540				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1541	default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1542				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1543	default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1544	default 0x49020000 if DEBUG_OMAP3UART3
1545	default 0x49042000 if DEBUG_OMAP3UART4
1546	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1547				DEBUG_S3C2410_UART0)
1548	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1549				DEBUG_S3C2410_UART1)
1550	default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1551				DEBUG_S3C2410_UART2)
1552	default 0x78000000 if DEBUG_CNS3XXX
1553	default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1554	default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1555	default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1556	default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1557	default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1558	default 0x80010000 if DEBUG_ASM9260_UART
1559	default 0x80070000 if DEBUG_IMX23_UART
1560	default 0x80074000 if DEBUG_IMX28_UART
1561	default 0x80230000 if DEBUG_PICOXCELL_UART
1562	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1563	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1564	default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1565	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1566	default 0xc0013000 if DEBUG_U300_UART
1567	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1568	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1569	default 0xd0000000 if DEBUG_SPEAR3XX
1570	default 0xd0012000 if DEBUG_MVEBU_UART0
1571	default 0xc81004c0 if DEBUG_MESON_UARTAO
1572	default 0xd4017000 if DEBUG_MMP_UART2
1573	default 0xd4018000 if DEBUG_MMP_UART3
1574	default 0xe0000000 if DEBUG_SPEAR13XX
1575	default 0xe4007000 if DEBUG_HIP04_UART
1576	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1577	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1578	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1579	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1580	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1581	default 0xe8008000 if DEBUG_R7S72100_SCIF2
1582	default 0xf0000be0 if ARCH_EBSA110
1583	default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1584	default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1585	default 0xf7fc9000 if DEBUG_BERLIN_UART
1586	default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
1587	default 0xf8b00000 if DEBUG_HIX5HD2_UART
1588	default 0xf991e000 if DEBUG_QCOM_UARTDM
1589	default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
1590	default 0xfcb00000 if DEBUG_HI3620_UART
1591	default 0xfd883000 if DEBUG_ALPINE_UART0
1592	default 0xfe800000 if ARCH_IOP32X
1593	default 0xff690000 if DEBUG_RK32_UART2
1594	default 0xffc02000 if DEBUG_SOCFPGA_UART0
1595	default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1596	default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1597	default 0xffd82340 if ARCH_IOP13XX
1598	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1599	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1600	default 0xfff36000 if DEBUG_HIGHBANK_UART
1601	default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1602	default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1603	default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1604	default 0xfffe8600 if DEBUG_BCM63XX_UART
1605	default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
1606	default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1607	default 0xfffff700 if ARCH_IOP33X
1608	depends on ARCH_EP93XX || \
1609	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1610		DEBUG_LL_UART_EFM32 || \
1611		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1612		DEBUG_NETX_UART || \
1613		DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1614		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1615		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1616		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1617		DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1618		DEBUG_S3C64XX_UART || \
1619		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1620		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
1621		DEBUG_AT91_UART
1622
1623config DEBUG_UART_VIRT
1624	hex "Virtual base address of debug UART"
1625	default 0xc881f000 if DEBUG_RV1108_UART2
1626	default 0xc8821000 if DEBUG_RV1108_UART1
1627	default 0xc8912000 if DEBUG_RV1108_UART0
1628	default 0xe0000a00 if DEBUG_NETX_UART
1629	default 0xe0010fe0 if ARCH_RPC
1630	default 0xf0000be0 if ARCH_EBSA110
1631	default 0xf0010000 if DEBUG_ASM9260_UART
1632	default 0xf01fb000 if DEBUG_NOMADIK_UART
1633	default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1634	default 0xf1000300 if DEBUG_BCM_5301X
1635	default 0xf1002000 if DEBUG_MT8127_UART0
1636	default 0xf1006000 if DEBUG_MT6589_UART0
1637	default 0xf1009000 if DEBUG_MT8135_UART3
1638	default 0xf11f1000 if DEBUG_VERSATILE
1639	default 0xf1600000 if DEBUG_INTEGRATOR
1640	default 0xf1c28000 if DEBUG_SUNXI_UART0
1641	default 0xf1c28400 if DEBUG_SUNXI_UART1
1642	default 0xf1f02800 if DEBUG_SUNXI_R_UART
1643	default 0xf31004c0 if DEBUG_MESON_UARTAO
1644	default 0xf4090000 if DEBUG_LPC32XX
1645	default 0xf4200000 if DEBUG_GEMINI
1646	default 0xf6200000 if DEBUG_PXA_UART1
1647	default 0xf7000000 if DEBUG_SUN9I_UART0
1648	default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1649	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1650				DEBUG_S3C2410_UART0)
1651	default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1652	default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1653	default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1654	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1655				DEBUG_S3C2410_UART1)
1656	default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1657				DEBUG_S3C2410_UART2)
1658	default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1659	default 0xf7fc9000 if DEBUG_BERLIN_UART
1660	default 0xf8007000 if DEBUG_HIP04_UART
1661	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1662	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1663	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
1664	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
1665	default 0xf9e09000 if DEBUG_AM33XXUART1
1666	default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1667	default 0xfa022000 if DEBUG_TI81XXUART2
1668	default 0xfa024000 if DEBUG_TI81XXUART3
1669	default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1670				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1671	default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1672				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1673	default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1674	default 0xfa71e000 if DEBUG_QCOM_UARTDM
1675	default 0xfb002000 if DEBUG_CNS3XXX
1676	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1677	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1678	default 0xfb020000 if DEBUG_OMAP3UART3
1679	default 0xfb042000 if DEBUG_OMAP3UART4
1680	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1681	default 0xfc705000 if DEBUG_ZTE_ZX
1682	default 0xfcfe8600 if DEBUG_BCM63XX_UART
1683	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1684	default 0xfd012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_MV78XX0
1685	default 0xfd883000 if DEBUG_ALPINE_UART0
1686	default 0xfde12000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_DOVE
1687	default 0xfe012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_ORION5X
1688	default 0xfe017000 if DEBUG_MMP_UART2
1689	default 0xfe018000 if DEBUG_MMP_UART3
1690	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1691	default 0xfe230000 if DEBUG_PICOXCELL_UART
1692	default 0xfe300000 if DEBUG_BCM_KONA_UART
1693	default 0xfe800000 if ARCH_IOP32X
1694	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1695	default 0xfeb24000 if DEBUG_RK3X_UART0
1696	default 0xfeb26000 if DEBUG_RK3X_UART1
1697	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1698	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1699	default 0xfec02000 if DEBUG_SOCFPGA_UART0
1700	default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1701	default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1702	default 0xfec12000 if (DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE) && ARCH_MVEBU
1703	default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1704	default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1705	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1706	default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1707	default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1708	default 0xfec90000 if DEBUG_RK32_UART2
1709	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1710	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1711	default 0xfed60000 if DEBUG_RK29_UART0
1712	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1713	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1714	default 0xfedc0000 if DEBUG_EP93XX
1715	default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1716	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1717	default 0xfee82340 if ARCH_IOP13XX
1718	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1719	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1720	default 0xfef36000 if DEBUG_HIGHBANK_UART
1721	default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1722	default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1723	default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1724	default 0xfefff700 if ARCH_IOP33X
1725	default 0xff003000 if DEBUG_U300_UART
1726	default 0xffd01000 if DEBUG_HIP01_UART
1727	default DEBUG_UART_PHYS if !MMU
1728	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1729		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1730		DEBUG_NETX_UART || \
1731		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1732		DEBUG_S3C64XX_UART || \
1733		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1734		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
1735		DEBUG_AT91_UART
1736
1737config DEBUG_UART_8250_SHIFT
1738	int "Register offset shift for the 8250 debug UART"
1739	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1740	default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1741		DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
1742	default 2
1743
1744config DEBUG_UART_8250_WORD
1745	bool "Use 32-bit accesses for 8250 UART"
1746	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1747	depends on DEBUG_UART_8250_SHIFT >= 2
1748	default y if DEBUG_PICOXCELL_UART || \
1749		DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1750		DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1751		DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
1752		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1753		DEBUG_DAVINCI_DA8XX_UART2 || \
1754		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
1755
1756config DEBUG_UART_8250_PALMCHIP
1757	bool "8250 UART is Palmchip BK-310x"
1758	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1759	help
1760	  Palmchip provides a UART implementation compatible with 16550
1761	  except for having a different register layout.  Say Y here if
1762	  the debug UART is of this type.
1763
1764config DEBUG_UART_8250_FLOW_CONTROL
1765	bool "Enable flow control for 8250 UART"
1766	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1767	default y if ARCH_EBSA110 || DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1768
1769config DEBUG_UNCOMPRESS
1770	bool
1771	depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1772	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1773		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
1774		     !DEBUG_BRCMSTB_UART
1775	help
1776	  This option influences the normal decompressor output for
1777	  multiplatform kernels.  Normally, multiplatform kernels disable
1778	  decompressor output because it is not possible to know where to
1779	  send the decompressor output.
1780
1781	  When this option is set, the selected DEBUG_LL output method
1782	  will be re-used for normal decompressor output on multiplatform
1783	  kernels.
1784
1785
1786config UNCOMPRESS_INCLUDE
1787	string
1788	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1789					PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1790	default "mach/uncompress.h"
1791
1792config EARLY_PRINTK
1793	bool "Early printk"
1794	depends on DEBUG_LL
1795	help
1796	  Say Y here if you want to have an early console using the
1797	  kernel low-level debugging functions. Add earlyprintk to your
1798	  kernel parameters to enable this console.
1799
1800config ARM_KPROBES_TEST
1801	tristate "Kprobes test module"
1802	depends on KPROBES && MODULES
1803	help
1804	  Perform tests of kprobes API and instruction set simulation.
1805
1806config PID_IN_CONTEXTIDR
1807	bool "Write the current PID to the CONTEXTIDR register"
1808	depends on CPU_COPY_V6
1809	help
1810	  Enabling this option causes the kernel to write the current PID to
1811	  the PROCID field of the CONTEXTIDR register, at the expense of some
1812	  additional instructions during context switch. Say Y here only if you
1813	  are planning to use hardware trace tools with this kernel.
1814
1815source "drivers/hwtracing/coresight/Kconfig"
1816
1817endmenu
1818