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