xref: /linux/arch/arm/Kconfig.debug (revision 1fd15b879d0075c8916e52fb9e52522827433d1f)
11da177e4SLinus Torvaldsmenu "Kernel hacking"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldssource "lib/Kconfig.debug"
41da177e4SLinus Torvalds
5*1fd15b87SRussell Kingconfig ARM_PTDUMP
6*1fd15b87SRussell King	bool "Export kernel pagetable layout to userspace via debugfs"
7*1fd15b87SRussell King	depends on DEBUG_KERNEL
8*1fd15b87SRussell King	select DEBUG_FS
9*1fd15b87SRussell King	---help---
10*1fd15b87SRussell King	  Say Y here if you want to show the kernel pagetable layout in a
11*1fd15b87SRussell King	  debugfs file. This information is only useful for kernel developers
12*1fd15b87SRussell King	  who are working in architecture specific areas of the kernel.
13*1fd15b87SRussell King	  It is probably not a good idea to enable this feature in a production
14*1fd15b87SRussell King	  kernel.
15*1fd15b87SRussell King	  If in doubt, say "N"
16*1fd15b87SRussell King
17087aaffcSNicolas Pitreconfig STRICT_DEVMEM
18087aaffcSNicolas Pitre	bool "Filter access to /dev/mem"
19087aaffcSNicolas Pitre	depends on MMU
20087aaffcSNicolas Pitre	---help---
21087aaffcSNicolas Pitre	  If this option is disabled, you allow userspace (root) access to all
22087aaffcSNicolas Pitre	  of memory, including kernel and userspace memory. Accidental
23087aaffcSNicolas Pitre	  access to this is obviously disastrous, but specific access can
24087aaffcSNicolas Pitre	  be used by people debugging the kernel.
25087aaffcSNicolas Pitre
26087aaffcSNicolas Pitre	  If this option is switched on, the /dev/mem file only allows
27087aaffcSNicolas Pitre	  userspace access to memory mapped peripherals.
28087aaffcSNicolas Pitre
29087aaffcSNicolas Pitre          If in doubt, say Y.
30087aaffcSNicolas Pitre
31adf8b37bSCatalin Marinas# RMK wants arm kernels compiled with frame pointers or stack unwinding.
321da177e4SLinus Torvalds# If you know what you are doing and are willing to live without stack
331da177e4SLinus Torvalds# traces, you can get a slightly smaller kernel by setting this option to
341da177e4SLinus Torvalds# n, but then RMK will have to kill you ;).
351da177e4SLinus Torvaldsconfig FRAME_POINTER
361da177e4SLinus Torvalds	bool
3716c79651SCatalin Marinas	depends on !THUMB2_KERNEL
380e341af8SRabin Vincent	default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
391da177e4SLinus Torvalds	help
401da177e4SLinus Torvalds	  If you say N here, the resulting kernel will be slightly smaller and
41adf8b37bSCatalin Marinas	  faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42adf8b37bSCatalin Marinas	  when a problem occurs with the kernel, the information that is
43adf8b37bSCatalin Marinas	  reported is severely limited.
44adf8b37bSCatalin Marinas
45adf8b37bSCatalin Marinasconfig ARM_UNWIND
464a50bfe3SRussell King	bool "Enable stack unwinding support (EXPERIMENTAL)"
47d6f94fa0SKees Cook	depends on AEABI
48adf8b37bSCatalin Marinas	default y
49adf8b37bSCatalin Marinas	help
50adf8b37bSCatalin Marinas	  This option enables stack unwinding support in the kernel
51adf8b37bSCatalin Marinas	  using the information automatically generated by the
52adf8b37bSCatalin Marinas	  compiler. The resulting kernel image is slightly bigger but
53adf8b37bSCatalin Marinas	  the performance is not affected. Currently, this feature
54adf8b37bSCatalin Marinas	  only works with EABI compilers. If unsure say Y.
551da177e4SLinus Torvalds
5609bfafacSRabin Vincentconfig OLD_MCOUNT
5709bfafacSRabin Vincent	bool
5809bfafacSRabin Vincent	depends on FUNCTION_TRACER && FRAME_POINTER
5909bfafacSRabin Vincent	default y
6009bfafacSRabin Vincent
611da177e4SLinus Torvaldsconfig DEBUG_USER
621da177e4SLinus Torvalds	bool "Verbose user fault messages"
631da177e4SLinus Torvalds	help
641da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
651da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
661da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
671da177e4SLinus Torvalds	  production system. Most people should say N here.
681da177e4SLinus Torvalds
691da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
701da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
711da177e4SLinus Torvalds
721da177e4SLinus Torvalds	      1 - undefined instruction events
731da177e4SLinus Torvalds	      2 - system calls
741da177e4SLinus Torvalds	      4 - invalid data aborts
751da177e4SLinus Torvalds	      8 - SIGSEGV faults
761da177e4SLinus Torvalds	     16 - SIGBUS faults
771da177e4SLinus Torvalds
781da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
791da177e4SLinus Torvaldsconfig DEBUG_LL
804f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
811da177e4SLinus Torvalds	depends on DEBUG_KERNEL
821da177e4SLinus Torvalds	help
8335efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
841da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
851da177e4SLinus Torvalds	  executes before the console is initialized.
861da177e4SLinus Torvalds
874f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
884f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
894f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
904f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
914f5ef922SWill Deacon
9217916b28SWill Deaconchoice
9317916b28SWill Deacon	prompt "Kernel low-level debugging port"
9417916b28SWill Deacon	depends on DEBUG_LL
9517916b28SWill Deacon
9613079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU0
9713079a73SJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
9813079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU0
9913079a73SJean-Christophe PLAGNIOL-VILLARD
10013079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU1
1019918ceafSJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on 9263 and 9g45"
10213079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU1
10313079a73SJean-Christophe PLAGNIOL-VILLARD
104f1ac922dSStephen Warren	config DEBUG_BCM2835
105f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
106f1ac922dSStephen Warren		depends on ARCH_BCM2835
1075c972af4SRussell King		select DEBUG_UART_PL01X
108f1ac922dSStephen Warren
109164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
110164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
111164acf96SStephen Boyd		depends on ARCH_CLPS711X
112164acf96SStephen Boyd		help
113164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
114164acf96SStephen Boyd		  their output to the first serial port on these devices.
11517916b28SWill Deacon
11617916b28SWill Deacon	config DEBUG_CLPS711X_UART2
11717916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
11817916b28SWill Deacon		depends on ARCH_CLPS711X
11917916b28SWill Deacon		help
12017916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
12117916b28SWill Deacon		  their output to the second serial port on these devices.
12217916b28SWill Deacon
12329c9b7beSArnd Bergmann	config DEBUG_CNS3XXX
12429c9b7beSArnd Bergmann		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
12529c9b7beSArnd Bergmann		depends on ARCH_CNS3XXX
1265c972af4SRussell King		select DEBUG_UART_PL01X
12729c9b7beSArnd Bergmann		help
12829c9b7beSArnd Bergmann		  Say Y here if you want the debug print routines to direct
12929c9b7beSArnd Bergmann                  their output to the CNS3xxx UART0.
13029c9b7beSArnd Bergmann
131477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
132477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
133477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
13497bd1a48SRussell King		select DEBUG_UART_8250
135477099f1SUwe Kleine-König		help
136477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
137477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
138477099f1SUwe Kleine-König
139477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
140477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
141477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
14297bd1a48SRussell King		select DEBUG_UART_8250
143477099f1SUwe Kleine-König		help
144477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
145477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
146477099f1SUwe Kleine-König
147477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
148477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
149477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
15097bd1a48SRussell King		select DEBUG_UART_8250
151477099f1SUwe Kleine-König		help
152477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
153477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
154477099f1SUwe Kleine-König
155477099f1SUwe Kleine-König	config DEBUG_DAVINCI_TNETV107X_UART1
156477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
157477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_TNETV107X
15897bd1a48SRussell King		select DEBUG_UART_8250
159477099f1SUwe Kleine-König		help
160477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
161477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci TNETV107X
162477099f1SUwe Kleine-König		  devices.
163477099f1SUwe Kleine-König
164aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART0
165aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
166aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
167aaf5e0beSNick Bowler		help
168aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
169aaf5e0beSNick Bowler		  their output to UART0 on the Zynq platform.
170aaf5e0beSNick Bowler
171aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART1
172aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
173aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
174aaf5e0beSNick Bowler		help
175aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
176aaf5e0beSNick Bowler		  their output to UART1 on the Zynq platform.
177aaf5e0beSNick Bowler
178aaf5e0beSNick Bowler		  If you have a ZC702 board and want early boot messages to
179aaf5e0beSNick Bowler		  appear on the USB serial adaptor, select this option.
180aaf5e0beSNick Bowler
181e76f4750SRussell King	config DEBUG_DC21285_PORT
182e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
183e76f4750SRussell King		depends on FOOTBRIDGE
184e76f4750SRussell King		help
185e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
186e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
187e76f4750SRussell King
188e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
189e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
190e76f4750SRussell King		depends on FOOTBRIDGE
191e76f4750SRussell King		help
192e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
193e76f4750SRussell King		  their output to the 8250 at PCI COM1.
194e76f4750SRussell King
1958d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
1968d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
1978d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
1988d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
1998d258bebSHaojian Zhuang		help
2008d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2018d258bebSHaojian Zhuang		  on HI3620 UART.
2028d258bebSHaojian Zhuang
2038d258bebSHaojian Zhuang	config DEBUG_HI3716_UART
2048d258bebSHaojian Zhuang		bool "Hisilicon Hi3716 Debug UART"
2058d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2068d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2078d258bebSHaojian Zhuang		help
2088d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2098d258bebSHaojian Zhuang		  on HI3716 UART.
2108d258bebSHaojian Zhuang
211220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
212220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
213220e6cf7SRob Herring		depends on ARCH_HIGHBANK
2145c972af4SRussell King		select DEBUG_UART_PL01X
215220e6cf7SRob Herring		help
216220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
217220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
218220e6cf7SRob Herring
219f350b861SShawn Guo	config DEBUG_IMX1_UART
220f350b861SShawn Guo		bool "i.MX1 Debug UART"
221f350b861SShawn Guo		depends on SOC_IMX1
222f350b861SShawn Guo		help
223f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
224f350b861SShawn Guo		  on i.MX1.
225f350b861SShawn Guo
226f350b861SShawn Guo	config DEBUG_IMX23_UART
227f350b861SShawn Guo		bool "i.MX23 Debug UART"
228f350b861SShawn Guo		depends on SOC_IMX23
2295c972af4SRussell King		select DEBUG_UART_PL01X
230f350b861SShawn Guo		help
231f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
232f350b861SShawn Guo		  on i.MX23.
233f350b861SShawn Guo
234f350b861SShawn Guo	config DEBUG_IMX25_UART
235f350b861SShawn Guo		bool "i.MX25 Debug UART"
236f350b861SShawn Guo		depends on SOC_IMX25
237f350b861SShawn Guo		help
238f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
239f350b861SShawn Guo		  on i.MX25.
240f350b861SShawn Guo
241f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
242f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
243f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
244f350b861SShawn Guo		help
245f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
246f350b861SShawn Guo		  on i.MX21 or i.MX27.
247f350b861SShawn Guo
248f350b861SShawn Guo	config DEBUG_IMX28_UART
249f350b861SShawn Guo		bool "i.MX28 Debug UART"
250f350b861SShawn Guo		depends on SOC_IMX28
2515c972af4SRussell King		select DEBUG_UART_PL01X
252f350b861SShawn Guo		help
253f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
254f350b861SShawn Guo		  on i.MX28.
255f350b861SShawn Guo
2564ad625d4SShawn Guo	config DEBUG_IMX31_UART
2574ad625d4SShawn Guo		bool "i.MX31 Debug UART"
2584ad625d4SShawn Guo		depends on SOC_IMX31
259f350b861SShawn Guo		help
260f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
2614ad625d4SShawn Guo		  on i.MX31.
2624ad625d4SShawn Guo
2634ad625d4SShawn Guo	config DEBUG_IMX35_UART
2644ad625d4SShawn Guo		bool "i.MX35 Debug UART"
2654ad625d4SShawn Guo		depends on SOC_IMX35
2664ad625d4SShawn Guo		help
2674ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
2684ad625d4SShawn Guo		  on i.MX35.
269f350b861SShawn Guo
270f350b861SShawn Guo	config DEBUG_IMX51_UART
271f350b861SShawn Guo		bool "i.MX51 Debug UART"
272f350b861SShawn Guo		depends on SOC_IMX51
273f350b861SShawn Guo		help
274f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
275f350b861SShawn Guo		  on i.MX51.
276f350b861SShawn Guo
2777356420cSFabio Estevam	config DEBUG_IMX53_UART
2787356420cSFabio Estevam		bool "i.MX53 Debug UART"
2797356420cSFabio Estevam		depends on SOC_IMX53
280f350b861SShawn Guo		help
281f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
2827356420cSFabio Estevam		  on i.MX53.
283f350b861SShawn Guo
28449c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
2853c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
286785d7fabSDirk Behme		depends on SOC_IMX6Q
287785d7fabSDirk Behme		help
288785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
2893c03a2feSShawn Guo		  on i.MX6Q/DL.
290bac89d75SShawn Guo
29134e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
29234e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
29334e8a16bSShawn Guo		depends on SOC_IMX6SL
29434e8a16bSShawn Guo		help
29534e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
29634e8a16bSShawn Guo		  on i.MX6SL.
29734e8a16bSShawn Guo
298828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
299828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
300828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
301f2acf003SRussell King		select DEBUG_UART_8250
302828989adSSantosh Shilimkar		help
303828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
304828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
305828989adSSantosh Shilimkar
306828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
307828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
308828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
309f2acf003SRussell King		select DEBUG_UART_8250
310828989adSSantosh Shilimkar		help
311828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
312828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
313828989adSSantosh Shilimkar
314fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
315fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
316fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
3174a003647SRussell King		select DEBUG_UART_8250
318fa4cd2a8SHaojian Zhuang		help
319fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
320fa4cd2a8SHaojian Zhuang		  on MMP UART2.
321fa4cd2a8SHaojian Zhuang
322fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
323fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
324fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
3254a003647SRussell King		select DEBUG_UART_8250
326fa4cd2a8SHaojian Zhuang		help
327fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
328fa4cd2a8SHaojian Zhuang		  on MMP UART3.
329fa4cd2a8SHaojian Zhuang
330650e3f0dSStephen Boyd	config DEBUG_MSM_UART1
331650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART1"
332650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
333c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
334650e3f0dSStephen Boyd		help
335650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
336650e3f0dSStephen Boyd		  their output to the first serial port on MSM devices.
337650e3f0dSStephen Boyd
338650e3f0dSStephen Boyd	config DEBUG_MSM_UART2
339650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART2"
340650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
341c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
342650e3f0dSStephen Boyd		help
343650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
344650e3f0dSStephen Boyd		  their output to the second serial port on MSM devices.
345650e3f0dSStephen Boyd
346650e3f0dSStephen Boyd	config DEBUG_MSM_UART3
347650e3f0dSStephen Boyd		bool "Kernel low-level debugging messages via MSM UART3"
348650e3f0dSStephen Boyd		depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
349c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
350650e3f0dSStephen Boyd		help
351650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
352650e3f0dSStephen Boyd		  their output to the third serial port on MSM devices.
353650e3f0dSStephen Boyd
354a3d3ef9dSStephen Boyd	config DEBUG_MSM8660_UART
355a3d3ef9dSStephen Boyd		bool "Kernel low-level debugging messages via MSM 8660 UART"
356a3d3ef9dSStephen Boyd		depends on ARCH_MSM8X60
357a3d3ef9dSStephen Boyd		select MSM_HAS_DEBUG_UART_HS
358c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
359a3d3ef9dSStephen Boyd		help
360a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
361a3d3ef9dSStephen Boyd		  their output to the serial port on MSM 8660 devices.
362a3d3ef9dSStephen Boyd
363a3d3ef9dSStephen Boyd	config DEBUG_MSM8960_UART
364a3d3ef9dSStephen Boyd		bool "Kernel low-level debugging messages via MSM 8960 UART"
365a3d3ef9dSStephen Boyd		depends on ARCH_MSM8960
366a3d3ef9dSStephen Boyd		select MSM_HAS_DEBUG_UART_HS
367c527c3b9SRohit Vaswani		select DEBUG_MSM_UART
368a3d3ef9dSStephen Boyd		help
369a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
370a3d3ef9dSStephen Boyd		  their output to the serial port on MSM 8960 devices.
371a3d3ef9dSStephen Boyd
3723c8828f6SRohit Vaswani	config DEBUG_MSM8974_UART
3733c8828f6SRohit Vaswani		bool "Kernel low-level debugging messages via MSM 8974 UART"
3743c8828f6SRohit Vaswani		depends on ARCH_MSM8974
3753c8828f6SRohit Vaswani		select MSM_HAS_DEBUG_UART_HS
3763c8828f6SRohit Vaswani		select DEBUG_MSM_UART
3773c8828f6SRohit Vaswani		help
3783c8828f6SRohit Vaswani		  Say Y here if you want the debug print routines to direct
3793c8828f6SRohit Vaswani		  their output to the serial port on MSM 8974 devices.
3803c8828f6SRohit Vaswani
381bfd5af99SRob Herring	config DEBUG_MVEBU_UART
382c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
383bfd5af99SRob Herring		depends on ARCH_MVEBU
3844a003647SRussell King		select DEBUG_UART_8250
385bfd5af99SRob Herring		help
386bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
387bfd5af99SRob Herring		  on MVEBU based platforms.
388bfd5af99SRob Herring
389c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
390c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
391c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
392c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
393c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
394c2804cd6SThomas Petazzoni		  bootloader.
395c2804cd6SThomas Petazzoni
396c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
397c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
398c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
399c2804cd6SThomas Petazzoni
400c2804cd6SThomas Petazzoni	config DEBUG_MVEBU_UART_ALTERNATE
401c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
402c2804cd6SThomas Petazzoni		depends on ARCH_MVEBU
4034a003647SRussell King		select DEBUG_UART_8250
404c2804cd6SThomas Petazzoni		help
405c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
406c2804cd6SThomas Petazzoni		  on MVEBU based platforms.
407c2804cd6SThomas Petazzoni
408c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
409c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
410c2804cd6SThomas Petazzoni
411c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
412c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
413c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
414c2804cd6SThomas Petazzoni
415c7c3eac6SShawn Guo	config DEBUG_VF_UART
416c7c3eac6SShawn Guo		bool "Vybrid UART"
417c7c3eac6SShawn Guo		depends on SOC_VF610
418c7c3eac6SShawn Guo		help
419c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
420c7c3eac6SShawn Guo		  on Vybrid based platforms.
421c7c3eac6SShawn Guo
422266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
423266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
424266c3479SLinus Walleij		depends on ARCH_NOMADIK
4255c972af4SRussell King		select DEBUG_UART_PL01X
426266c3479SLinus Walleij		help
427266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
428266c3479SLinus Walleij		  on NOMADIK based platforms.
429266c3479SLinus Walleij
4309851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
4319851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
4329851ca57SDaniel Tang		depends on ARCH_NSPIRE
4334a003647SRussell King		select DEBUG_UART_8250
4349851ca57SDaniel Tang		help
4359851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
4369851ca57SDaniel Tang		  on TI-NSPIRE classic models.
4379851ca57SDaniel Tang
4389851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
4399851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
4409851ca57SDaniel Tang		depends on ARCH_NSPIRE
4415c972af4SRussell King		select DEBUG_UART_PL01X
4429851ca57SDaniel Tang		help
4439851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
4449851ca57SDaniel Tang		  on TI-NSPIRE CX models.
4459851ca57SDaniel Tang
446cce278d2SRussell King	config DEBUG_OMAP2UART1
447cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
448808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
449cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
450808b7e07STony Lindgren		help
451cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
452cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
453cce278d2SRussell King
454cce278d2SRussell King	config DEBUG_OMAP2UART2
455cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
456cce278d2SRussell King		depends on ARCH_OMAP2PLUS
457cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
458cce278d2SRussell King
459cce278d2SRussell King	config DEBUG_OMAP2UART3
460cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
461cce278d2SRussell King		depends on ARCH_OMAP2PLUS
462cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
463cce278d2SRussell King
464cce278d2SRussell King	config DEBUG_OMAP3UART3
465cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
466cce278d2SRussell King		depends on ARCH_OMAP2PLUS
467cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
468cce278d2SRussell King		help
469cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
470cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
471cce278d2SRussell King		  and 3517evm.
472cce278d2SRussell King
473cce278d2SRussell King	config DEBUG_OMAP4UART3
474cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
475cce278d2SRussell King		depends on ARCH_OMAP2PLUS
476cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
477cce278d2SRussell King
478cce278d2SRussell King	config DEBUG_OMAP3UART4
479cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
480cce278d2SRussell King		depends on ARCH_OMAP2PLUS
481cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
482cce278d2SRussell King
483cce278d2SRussell King	config DEBUG_OMAP4UART4
484cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
485cce278d2SRussell King		depends on ARCH_OMAP2PLUS
486cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
487cce278d2SRussell King
488cce278d2SRussell King	config DEBUG_TI81XXUART1
489cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
490cce278d2SRussell King		depends on ARCH_OMAP2PLUS
491cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
492cce278d2SRussell King
493cce278d2SRussell King	config DEBUG_TI81XXUART2
494cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
495cce278d2SRussell King		depends on ARCH_OMAP2PLUS
496cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
497cce278d2SRussell King
498cce278d2SRussell King	config DEBUG_TI81XXUART3
499cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
500cce278d2SRussell King		depends on ARCH_OMAP2PLUS
501cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
502cce278d2SRussell King
503cce278d2SRussell King	config DEBUG_AM33XXUART1
504cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
505cce278d2SRussell King		depends on ARCH_OMAP2PLUS
506cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
507cce278d2SRussell King
508cce278d2SRussell King	config DEBUG_ZOOM_UART
509cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
510cce278d2SRussell King		depends on ARCH_OMAP2PLUS
511cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
512808b7e07STony Lindgren
51359bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
51459bba2a9SRob Herring		depends on ARCH_PICOXCELL
51559bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
5160b4cccbeSRussell King		select DEBUG_UART_8250
51759bba2a9SRob Herring		help
51859bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
51959bba2a9SRob Herring		  on PicoXcell based platforms.
52059bba2a9SRob Herring
5210a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
5220a43cd3bSHaojian Zhuang		depends on ARCH_PXA
5230a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
5244a003647SRussell King		select DEBUG_UART_8250
5250a43cd3bSHaojian Zhuang		help
5260a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
5270a43cd3bSHaojian Zhuang		  on PXA UART1.
5280a43cd3bSHaojian Zhuang
529e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
530e76f4750SRussell King		bool "RealView Default UART"
531e76f4750SRussell King		depends on ARCH_REALVIEW
5325c972af4SRussell King		select DEBUG_UART_PL01X
533e76f4750SRussell King		help
534e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
535e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
536e76f4750SRussell King		  and PBX platforms.
537e76f4750SRussell King
538e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
539e76f4750SRussell King		bool "RealView PB1176 UART"
540e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
5415c972af4SRussell King		select DEBUG_UART_PL01X
542e76f4750SRussell King		help
543e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
544e76f4750SRussell King		  their output to the standard serial port on the RealView
545e76f4750SRussell King		  PB1176 platform.
546e76f4750SRussell King
547cce278d2SRussell King	config DEBUG_RK29_UART0
548cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
54938bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
5504a003647SRussell King		select DEBUG_UART_8250
551cce278d2SRussell King		help
552cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
553cce278d2SRussell King		  on Rockchip based platforms.
554cce278d2SRussell King
555cce278d2SRussell King	config DEBUG_RK29_UART1
556cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
557cce278d2SRussell King		depends on ARCH_ROCKCHIP
5584a003647SRussell King		select DEBUG_UART_8250
559cce278d2SRussell King		help
560cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
561cce278d2SRussell King		  on Rockchip based platforms.
562cce278d2SRussell King
563cce278d2SRussell King	config DEBUG_RK29_UART2
564cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
565cce278d2SRussell King		depends on ARCH_ROCKCHIP
5664a003647SRussell King		select DEBUG_UART_8250
567cce278d2SRussell King		help
568cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
569cce278d2SRussell King		  on Rockchip based platforms.
570cce278d2SRussell King
571cce278d2SRussell King	config DEBUG_RK3X_UART0
572cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
573cce278d2SRussell King		depends on ARCH_ROCKCHIP
5744a003647SRussell King		select DEBUG_UART_8250
575cce278d2SRussell King		help
576cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
577cce278d2SRussell King		  on Rockchip based platforms.
578cce278d2SRussell King
579cce278d2SRussell King	config DEBUG_RK3X_UART1
580cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
581cce278d2SRussell King		depends on ARCH_ROCKCHIP
5824a003647SRussell King		select DEBUG_UART_8250
583cce278d2SRussell King		help
584cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
585cce278d2SRussell King		  on Rockchip based platforms.
586cce278d2SRussell King
587cce278d2SRussell King	config DEBUG_RK3X_UART2
588cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
589cce278d2SRussell King		depends on ARCH_ROCKCHIP
5904a003647SRussell King		select DEBUG_UART_8250
591cce278d2SRussell King		help
592cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
593cce278d2SRussell King		  on Rockchip based platforms.
594cce278d2SRussell King
595cce278d2SRussell King	config DEBUG_RK3X_UART3
596cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
597cce278d2SRussell King		depends on ARCH_ROCKCHIP
5984a003647SRussell King		select DEBUG_UART_8250
59938bd6892SHeiko Stuebner		help
60038bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
60138bd6892SHeiko Stuebner		  on Rockchip based platforms.
60238bd6892SHeiko Stuebner
603e76f4750SRussell King	config DEBUG_S3C_UART0
604e76f4750SRussell King		depends on PLAT_SAMSUNG
605a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
606e76f4750SRussell King		bool "Use S3C UART 0 for low-level debug"
607e76f4750SRussell King		help
608e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
609e76f4750SRussell King		  their output to UART 0. The port must have been initialised
610e76f4750SRussell King		  by the boot-loader before use.
611e76f4750SRussell King
612e76f4750SRussell King		  The uncompressor code port configuration is now handled
613e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
614e76f4750SRussell King
615e76f4750SRussell King	config DEBUG_S3C_UART1
616e76f4750SRussell King		depends on PLAT_SAMSUNG
617a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
618e76f4750SRussell King		bool "Use S3C UART 1 for low-level debug"
619e76f4750SRussell King		help
620e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
621e76f4750SRussell King		  their output to UART 1. The port must have been initialised
622e76f4750SRussell King		  by the boot-loader before use.
623e76f4750SRussell King
624e76f4750SRussell King		  The uncompressor code port configuration is now handled
625e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
626e76f4750SRussell King
627e76f4750SRussell King	config DEBUG_S3C_UART2
628e76f4750SRussell King		depends on PLAT_SAMSUNG
629a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
630e76f4750SRussell King		bool "Use S3C UART 2 for low-level debug"
631e76f4750SRussell King		help
632e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
633e76f4750SRussell King		  their output to UART 2. The port must have been initialised
634e76f4750SRussell King		  by the boot-loader before use.
635e76f4750SRussell King
636e76f4750SRussell King		  The uncompressor code port configuration is now handled
637e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
638e76f4750SRussell King
6395fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
6405fa23ddeSOlof Johansson		depends on PLAT_SAMSUNG && ARCH_EXYNOS
641a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART
6425fa23ddeSOlof Johansson		bool "Use S3C UART 3 for low-level debug"
6435fa23ddeSOlof Johansson		help
6445fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
6455fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
6465fa23ddeSOlof Johansson		  by the boot-loader before use.
6475fa23ddeSOlof Johansson
6485fa23ddeSOlof Johansson		  The uncompressor code port configuration is now handled
6495fa23ddeSOlof Johansson		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
6505fa23ddeSOlof Johansson
6516111bf7cSRob Herring	config DEBUG_SOCFPGA_UART
6526111bf7cSRob Herring		depends on ARCH_SOCFPGA
6536111bf7cSRob Herring		bool "Use SOCFPGA UART for low-level debug"
6540b4cccbeSRussell King		select DEBUG_UART_8250
6556111bf7cSRob Herring		help
6566111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
6576111bf7cSRob Herring		  on SOCFPGA based platforms.
6586111bf7cSRob Herring
659aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
660aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
661aa25115aSStefan Roese		depends on ARCH_SUNXI
6624a003647SRussell King		select DEBUG_UART_8250
663aa25115aSStefan Roese		help
664aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
665aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
666aa25115aSStefan Roese
667cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
668cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
669cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
6704a003647SRussell King		select DEBUG_UART_8250
671cb84fa18SMaxime Ripard		help
672cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
673cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
674cb84fa18SMaxime Ripard
675cce278d2SRussell King	config TEGRA_DEBUG_UART_AUTO_ODMDATA
676cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
67746067803SStephen Warren		depends on ARCH_TEGRA
678cce278d2SRussell King		select DEBUG_TEGRA_UART
679cce278d2SRussell King		help
680cce278d2SRussell King		  Automatically determines which UART to use for low-level
681cce278d2SRussell King		  debug based on the ODMDATA value. This value is part of
682cce278d2SRussell King		  the BCT, and is written to the boot memory device using
683cce278d2SRussell King		  nvflash, or other flashing tool.  When bits 19:18 are 3,
684cce278d2SRussell King		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
685cce278d2SRussell King		  are UART A/B/C/D/E.
686cce278d2SRussell King
687cce278d2SRussell King	config TEGRA_DEBUG_UARTA
688cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART A"
689cce278d2SRussell King		depends on ARCH_TEGRA
690cce278d2SRussell King		select DEBUG_TEGRA_UART
691cce278d2SRussell King		help
692cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
693cce278d2SRussell King		  on Tegra based platforms.
694cce278d2SRussell King
695cce278d2SRussell King	config TEGRA_DEBUG_UARTB
696cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
697cce278d2SRussell King		depends on ARCH_TEGRA
698cce278d2SRussell King		select DEBUG_TEGRA_UART
699cce278d2SRussell King		help
700cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
701cce278d2SRussell King		  on Tegra based platforms.
702cce278d2SRussell King
703cce278d2SRussell King	config TEGRA_DEBUG_UARTC
704cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
705cce278d2SRussell King		depends on ARCH_TEGRA
706cce278d2SRussell King		select DEBUG_TEGRA_UART
707cce278d2SRussell King		help
708cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
709cce278d2SRussell King		  on Tegra based platforms.
710cce278d2SRussell King
711cce278d2SRussell King	config TEGRA_DEBUG_UARTD
712cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
713cce278d2SRussell King		depends on ARCH_TEGRA
714cce278d2SRussell King		select DEBUG_TEGRA_UART
715cce278d2SRussell King		help
716cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
717cce278d2SRussell King		  on Tegra based platforms.
718cce278d2SRussell King
719cce278d2SRussell King	config TEGRA_DEBUG_UARTE
720cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
721cce278d2SRussell King		depends on ARCH_TEGRA
722cce278d2SRussell King		select DEBUG_TEGRA_UART
72346067803SStephen Warren		help
72446067803SStephen Warren		  Say Y here if you want kernel low-level debugging support
72546067803SStephen Warren		  on Tegra based platforms.
72646067803SStephen Warren
7277f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
7287f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
7297f46a107SBarry Song		depends on ARCH_PRIMA2
7307f46a107SBarry Song		help
7317f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
7327f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
7337f46a107SBarry Song
7347f46a107SBarry Song	config DEBUG_SIRFMARCO_UART1
7357f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFmarco UART1"
7367f46a107SBarry Song		depends on ARCH_MARCO
7377f46a107SBarry Song		help
7387f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
7397f46a107SBarry Song		  their output to the uart1 port on SiRFmarco devices.
7407f46a107SBarry Song
741cce278d2SRussell King	config STIH41X_DEBUG_ASC2
742cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
7435562b800SArnd Bergmann		depends on ARCH_STI
744cce278d2SRussell King		select DEBUG_STI_UART
7455562b800SArnd Bergmann		help
7465562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
747cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
748cce278d2SRussell King		  default UART wired up to ASC2.
749cce278d2SRussell King
750cce278d2SRussell King		  If unsure, say N.
751cce278d2SRussell King
752cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
753cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
754cce278d2SRussell King		depends on ARCH_STI
755cce278d2SRussell King		select DEBUG_STI_UART
756cce278d2SRussell King		help
757cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
758cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
759cce278d2SRussell King		  default UART wired up to SBC ASC1.
7605562b800SArnd Bergmann
7615562b800SArnd Bergmann		  If unsure, say N.
7625562b800SArnd Bergmann
763dd324da7SLinus Walleij	config DEBUG_U300_UART
764dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
765dd324da7SLinus Walleij		depends on ARCH_U300
7665c972af4SRussell King		select DEBUG_UART_PL01X
767dd324da7SLinus Walleij		help
768dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
769dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
770dd324da7SLinus Walleij
771f87b95ddSLinus Walleij	config DEBUG_UX500_UART
772f87b95ddSLinus Walleij		depends on ARCH_U8500
773f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
774f87b95ddSLinus Walleij		help
775f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
776f87b95ddSLinus Walleij		  on Ux500 based platforms.
777f87b95ddSLinus Walleij
7781b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
7791b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
7801b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
7811b820eafSPawel Moll		help
7821b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
7831b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
7841b820eafSPawel Moll		  choose the relevant UART0 base address.
7851b820eafSPawel Moll
7861b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
7871b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
7881b820eafSPawel Moll
7891b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
7901b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
7911b820eafSPawel Moll		depends on ARCH_VEXPRESS
7925c972af4SRussell King		select DEBUG_UART_PL01X
7931b820eafSPawel Moll		help
7941b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
7951b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
7961b820eafSPawel Moll
7971b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
7981b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
7991b820eafSPawel Moll		depends on ARCH_VEXPRESS
8005c972af4SRussell King		select DEBUG_UART_PL01X
8011b820eafSPawel Moll		help
8021b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
8031b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
8041b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
8051b820eafSPawel Moll
806ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
807ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
808ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
8095c972af4SRussell King		select DEBUG_UART_PL01X
810ed18bdc8SJonathan Austin		help
811ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
812ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
813ed18bdc8SJonathan Austin
814b61a2722STony Prisk	config DEBUG_VT8500_UART0
815b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
816b61a2722STony Prisk		depends on ARCH_VT8500
817b61a2722STony Prisk		help
818b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
819b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
820b61a2722STony Prisk
821e76f4750SRussell King	config DEBUG_LL_UART_NONE
822e76f4750SRussell King		bool "No low-level debugging UART"
823387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
824e76f4750SRussell King		help
825e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
826730cc26fSRussell King		  above. This relies on your platform choosing the right UART
827e76f4750SRussell King		  definition internally in order for low-level debugging to
828e76f4750SRussell King		  work.
829e76f4750SRussell King
830e76f4750SRussell King	config DEBUG_ICEDCC
831e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
832e76f4750SRussell King		help
833e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
834e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
835e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
836e76f4750SRussell King		  channel and on the XScale with the PEEDI.
837e76f4750SRussell King
838e76f4750SRussell King		  Note that the system will appear to hang during boot if there
839e76f4750SRussell King		  is nothing connected to read from the DCC.
840e76f4750SRussell King
841b0df8986SRussell King	config DEBUG_SEMIHOSTING
84262194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
843b0df8986SRussell King		help
844b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
845b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
84662194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
847b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
848b0df8986SRussell King		  otherwise the kernel will crash.
849b0df8986SRussell King
850b0df8986SRussell King		  This is known to work with OpenOCD, as well as
851b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
852b0df8986SRussell King		  that implements semihosting.
853b0df8986SRussell King
854b0df8986SRussell King		  For more details about semihosting, please see
855b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
856b0df8986SRussell King
857f8f1279cSRussell King	config DEBUG_LL_UART_8250
858f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
859f8f1279cSRussell King		help
860f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
861f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
862f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
863f8f1279cSRussell King		  selecting one of the platform specific options above if
864f8f1279cSRussell King		  you know the parameters for the port.
865f8f1279cSRussell King
866f8f1279cSRussell King		  This option is preferred over the platform specific
867f8f1279cSRussell King		  options; the platform specific options are deprecated
868f8f1279cSRussell King		  and will be soon removed.
869f8f1279cSRussell King
870494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
871494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
872494e492dSUwe Kleine-König		depends on ARCH_EFM32
873494e492dSUwe Kleine-König		help
874494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
875494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
876494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
877494e492dSUwe Kleine-König
878494e492dSUwe Kleine-König		    0x4000c000 | USART0
879494e492dSUwe Kleine-König		    0x4000c400 | USART1
880494e492dSUwe Kleine-König		    0x4000c800 | USART2
881494e492dSUwe Kleine-König		    0x4000e000 | UART0
882494e492dSUwe Kleine-König		    0x4000e400 | UART1
883494e492dSUwe Kleine-König
884f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
885f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
886f8f1279cSRussell King		help
887f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
888f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
889f8f1279cSRussell King		  this option to provide the parameters for the UART
890f8f1279cSRussell King		  rather than selecting one of the platform specific
891f8f1279cSRussell King		  options above if you know the parameters for the port.
892f8f1279cSRussell King
893f8f1279cSRussell King		  This option is preferred over the platform specific
894f8f1279cSRussell King		  options; the platform specific options are deprecated
895f8f1279cSRussell King		  and will be soon removed.
896f8f1279cSRussell King
89717916b28SWill Deaconendchoice
89817916b28SWill Deacon
899a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
900a2e40710SArnd Bergmann	bool
901a2e40710SArnd Bergmann
902cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
903cce278d2SRussell King	bool
904cce278d2SRussell King	depends on ARCH_OMAP2PLUS
905cce278d2SRussell King
906f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
907f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
908f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
909f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
910f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
911f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
912f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
9130c52db7eSPaul Bolle						DEBUG_IMX53_UART || \
91434e8a16bSShawn Guo						DEBUG_IMX6Q_UART || \
91534e8a16bSShawn Guo						DEBUG_IMX6SL_UART
91649c9e60eSShawn Guo	default 1
917287939a3SShawn Guo	depends on ARCH_MXC
91849c9e60eSShawn Guo	help
91949c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
92049c9e60eSShawn Guo	  should be output.
92149c9e60eSShawn Guo
922cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
923cce278d2SRussell King	bool
924cce278d2SRussell King	depends on ARCH_TEGRA
925808b7e07STony Lindgren
926cce278d2SRussell Kingconfig DEBUG_STI_UART
927cce278d2SRussell King	bool
928cce278d2SRussell King	depends on ARCH_STI
9295026aecfSSrinivas Kandagatla
930c527c3b9SRohit Vaswaniconfig DEBUG_MSM_UART
931c527c3b9SRohit Vaswani	bool
932c527c3b9SRohit Vaswani	depends on ARCH_MSM
933c527c3b9SRohit Vaswani
93491a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
93591a9fec0SRob Herring	string
936f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
937f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
938a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
939494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
94091a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
9416dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
9426dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
9436dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
9444ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
9454ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
9466dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
9477356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
94834e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
94934e8a16bSShawn Guo				 DEBUG_IMX6SL_UART
950c527c3b9SRohit Vaswani	default "debug/msm.S" if DEBUG_MSM_UART
951808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
95267bdb287SArnd Bergmann	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
9535026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
954150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
955150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
9564e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
957c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
958b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
959385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
96091a9fec0SRob Herring	default "mach/debug-macro.S"
96191a9fec0SRob Herring
962f8f1279cSRussell King# Compatibility options for PL01x
9635c972af4SRussell Kingconfig DEBUG_UART_PL01X
9645c972af4SRussell King	def_bool ARCH_EP93XX || \
9655c972af4SRussell King		ARCH_INTEGRATOR || \
9660dc0e475SRussell King		ARCH_SPEAR3XX || \
9670dc0e475SRussell King		ARCH_SPEAR6XX || \
9680dc0e475SRussell King		ARCH_SPEAR13XX || \
9695c972af4SRussell King		ARCH_VERSATILE
9705c972af4SRussell King
971f8f1279cSRussell King# Compatibility options for 8250
9727610b607SRussell Kingconfig DEBUG_UART_8250
9734a003647SRussell King	def_bool ARCH_DOVE || ARCH_EBSA110 || \
9744a003647SRussell King		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
9754a003647SRussell King		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
9764a003647SRussell King		ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
9774a003647SRussell King		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
9784a003647SRussell King
979c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
980c3faa9b7SRussell King	hex "Physical base address of debug UART"
98197bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
982c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
983c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
98497bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
98597bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
986f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
987f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
988c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
98997bd1a48SRussell King	default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
9905c972af4SRussell King	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
9915c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
9925c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
993c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
994c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
9955c972af4SRussell King	default 0x101f1000 if ARCH_VERSATILE
9965c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
9975c972af4SRussell King	default 0x16000000 if ARCH_INTEGRATOR
9985c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
999c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1000c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1001c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
10025c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1003494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
1004c3faa9b7SRussell King	default 0x40090000 if ARCH_LPC32XX
1005c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1006c3faa9b7SRussell King	default 0x42000000 if ARCH_GEMINI
1007c3faa9b7SRussell King	default 0x7c0003f8 if FOOTBRIDGE
10080b4cccbeSRussell King	default 0x80230000 if DEBUG_PICOXCELL_UART
10095c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
10105c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
10115c972af4SRussell King	default 0x808c0000 if ARCH_EP93XX
10125c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
10135c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
10145c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1015c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1016c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
10170dc0e475SRussell King	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1018c3faa9b7SRussell King	default 0xd0012000 if DEBUG_MVEBU_UART
1019c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1020c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
10210dc0e475SRussell King	default 0xe0000000 if ARCH_SPEAR13XX
1022c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1023c3faa9b7SRussell King	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1024c3faa9b7SRussell King	default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1025c3faa9b7SRussell King				ARCH_ORION5X
10268d258bebSHaojian Zhuang	default 0xf8b00000 if DEBUG_HI3716_UART
10278d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
1028c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
10290b4cccbeSRussell King	default 0xffc02000 if DEBUG_SOCFPGA_UART
1030c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
10315c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1032c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1033f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1034494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
1035f8f1279cSRussell King		DEBUG_UART_8250 || DEBUG_UART_PL01X
1036c3faa9b7SRussell King
1037c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1038c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1039c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
1040c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
10415c972af4SRussell King	default 0xf0009000 if DEBUG_CNS3XXX
10425c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
10435c972af4SRussell King	default 0xf0201000 if DEBUG_BCM2835
10445c972af4SRussell King	default 0xf11f1000 if ARCH_VERSATILE
10455c972af4SRussell King	default 0xf1600000 if ARCH_INTEGRATOR
1046c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1047c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1048c3faa9b7SRussell King	default 0xf2100000 if DEBUG_PXA_UART1
1049c3faa9b7SRussell King	default 0xf4090000 if ARCH_LPC32XX
1050c3faa9b7SRussell King	default 0xf4200000 if ARCH_GEMINI
10515c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
10525c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
10535c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
10545c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
10550dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
10560dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR13XX
1057c3faa9b7SRussell King	default 0xfd012000 if ARCH_MV78XX0
1058c3faa9b7SRussell King	default 0xfde12000 if ARCH_DOVE
1059c3faa9b7SRussell King	default 0xfe012000 if ARCH_ORION5X
1060c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1061c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
10625c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
10630b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1064c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
10658d258bebSHaojian Zhuang	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1066c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1067c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1068f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1069f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1070c3faa9b7SRussell King	default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1071c3faa9b7SRussell King	default 0xfed60000 if DEBUG_RK29_UART0
1072c3faa9b7SRussell King	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1073c3faa9b7SRussell King	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
10740b4cccbeSRussell King	default 0xfec02000 if DEBUG_SOCFPGA_UART
107597bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
107697bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
107797bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1078c3faa9b7SRussell King	default 0xfed12000 if ARCH_KIRKWOOD
10795c972af4SRussell King	default 0xfedc0000 if ARCH_EP93XX
1080c3faa9b7SRussell King	default 0xfee003f8 if FOOTBRIDGE
108197bd1a48SRussell King	default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
10825c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
10835927c4dfSRob Herring	default 0xfef36000 if DEBUG_HIGHBANK_UART
1084c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1085c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1086c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1087c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
10885c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
10895c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1090f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1091f8f1279cSRussell King		DEBUG_UART_8250 || DEBUG_UART_PL01X
1092c3faa9b7SRussell King
10934a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
10944a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1095f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
10964a003647SRussell King	default 0 if FOOTBRIDGE || ARCH_IOP32X
10974a003647SRussell King	default 2
10987610b607SRussell King
10990b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
11000b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1101f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11020b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1103f2acf003SRussell King	default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
110497bd1a48SRussell King		ARCH_KEYSTONE || \
110597bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
110697bd1a48SRussell King		DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1
11070b4cccbeSRussell King
11087610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
11097610b607SRussell King	bool "Enable flow control for 8250 UART"
1110f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11117610b607SRussell King	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
11127610b607SRussell King
11133b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
11143b4af9bcSShawn Guo	bool
11158b2496a2SOlof Johansson	depends on ARCH_MULTIPLATFORM || ARCH_MSM
1116b6992fa9SRussell King	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1117ae3c99a2SStephen Warren		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1118b6992fa9SRussell King	help
1119b6992fa9SRussell King	  This option influences the normal decompressor output for
1120b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1121b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1122b6992fa9SRussell King	  send the decompressor output.
1123b6992fa9SRussell King
1124b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1125b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1126b6992fa9SRussell King	  kernels.
1127b6992fa9SRussell King
11283b4af9bcSShawn Guo
1129615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1130615967b0SShawn Guo	string
11316d07917eSStephen Boyd	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM
1132615967b0SShawn Guo	default "mach/uncompress.h"
1133615967b0SShawn Guo
113493fd03a8SCatalin Marinasconfig EARLY_PRINTK
113593fd03a8SCatalin Marinas	bool "Early printk"
113693fd03a8SCatalin Marinas	depends on DEBUG_LL
113793fd03a8SCatalin Marinas	help
113893fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
113993fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
114093fd03a8SCatalin Marinas	  kernel parameters to enable this console.
114193fd03a8SCatalin Marinas
1142c5d6c770SAlexander Shishkinconfig OC_ETM
1143c5d6c770SAlexander Shishkin	bool "On-chip ETM and ETB"
114453eebb0dSArnd Bergmann	depends on ARM_AMBA
1145c5d6c770SAlexander Shishkin	help
1146c5d6c770SAlexander Shishkin	  Enables the on-chip embedded trace macrocell and embedded trace
1147c5d6c770SAlexander Shishkin	  buffer driver that will allow you to collect traces of the
1148c5d6c770SAlexander Shishkin	  kernel code.
1149c5d6c770SAlexander Shishkin
11504189bc71SJon Medhurstconfig ARM_KPROBES_TEST
11514189bc71SJon Medhurst	tristate "Kprobes test module"
11524189bc71SJon Medhurst	depends on KPROBES && MODULES
11534189bc71SJon Medhurst	help
11544189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
11554189bc71SJon Medhurst
1156575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1157575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1158575320d6SWill Deacon	depends on CPU_COPY_V6
1159575320d6SWill Deacon	help
1160575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1161575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1162575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1163575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1164575320d6SWill Deacon
11651da177e4SLinus Torvaldsendmenu
1166