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