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