blob: 0498a3a311f03de7cdf1bb8d477d0accef0c6f44 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001menu "Kernel hacking"
2
3source "lib/Kconfig.debug"
4
Nicolas Pitre087aaff2010-09-22 18:34:36 -04005config STRICT_DEVMEM
6 bool "Filter access to /dev/mem"
7 depends on MMU
8 ---help---
9 If this option is disabled, you allow userspace (root) access to all
10 of memory, including kernel and userspace memory. Accidental
11 access to this is obviously disastrous, but specific access can
12 be used by people debugging the kernel.
13
14 If this option is switched on, the /dev/mem file only allows
15 userspace access to memory mapped peripherals.
16
17 If in doubt, say Y.
18
Catalin Marinasadf8b372009-02-12 13:56:34 +010019# RMK wants arm kernels compiled with frame pointers or stack unwinding.
Linus Torvalds1da177e2005-04-16 15:20:36 -070020# If you know what you are doing and are willing to live without stack
21# traces, you can get a slightly smaller kernel by setting this option to
22# n, but then RMK will have to kill you ;).
23config FRAME_POINTER
24 bool
Catalin Marinas16c79652009-07-24 12:33:02 +010025 depends on !THUMB2_KERNEL
Rabin Vincent0e341af2010-11-06 23:03:53 +053026 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 help
28 If you say N here, the resulting kernel will be slightly smaller and
Catalin Marinasadf8b372009-02-12 13:56:34 +010029 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
30 when a problem occurs with the kernel, the information that is
31 reported is severely limited.
32
33config ARM_UNWIND
Russell King4a50bfe2010-12-05 23:06:22 +000034 bool "Enable stack unwinding support (EXPERIMENTAL)"
Kees Cookd6f94fa2013-01-16 18:53:14 -080035 depends on AEABI
Catalin Marinasadf8b372009-02-12 13:56:34 +010036 default y
37 help
38 This option enables stack unwinding support in the kernel
39 using the information automatically generated by the
40 compiler. The resulting kernel image is slightly bigger but
41 the performance is not affected. Currently, this feature
42 only works with EABI compilers. If unsure say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -070043
Rabin Vincent09bfafa2010-08-10 19:32:37 +010044config OLD_MCOUNT
45 bool
46 depends on FUNCTION_TRACER && FRAME_POINTER
47 default y
48
Linus Torvalds1da177e2005-04-16 15:20:36 -070049config DEBUG_USER
50 bool "Verbose user fault messages"
51 help
52 When a user program crashes due to an exception, the kernel can
53 print a brief message explaining what the problem was. This is
54 sometimes helpful for debugging but serves no purpose on a
55 production system. Most people should say N here.
56
57 In addition, you need to pass user_debug=N on the kernel command
58 line to enable this feature. N consists of the sum of:
59
60 1 - undefined instruction events
61 2 - system calls
62 4 - invalid data aborts
63 8 - SIGSEGV faults
64 16 - SIGBUS faults
65
Linus Torvalds1da177e2005-04-16 15:20:36 -070066# These options are only for real kernel hackers who want to get their hands dirty.
67config DEBUG_LL
Will Deacon4f5ef922011-09-01 19:04:44 +010068 bool "Kernel low-level debugging functions (read help!)"
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 depends on DEBUG_KERNEL
70 help
Russell King35efb602005-09-09 15:57:17 +010071 Say Y here to include definitions of printascii, printch, printhex
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 in the kernel. This is helpful if you are debugging code that
73 executes before the console is initialized.
74
Will Deacon4f5ef922011-09-01 19:04:44 +010075 Note that selecting this option will limit the kernel to a single
76 UART definition, as specified below. Attempting to boot the kernel
77 image on a different platform *will not work*, so this option should
78 not be enabled for kernels that are intended to be portable.
79
Will Deacon17916b22011-09-01 18:58:51 +010080choice
81 prompt "Kernel low-level debugging port"
82 depends on DEBUG_LL
83
Jean-Christophe PLAGNIOL-VILLARD13079a72011-11-02 01:43:31 +080084 config AT91_DEBUG_LL_DBGU0
85 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
86 depends on HAVE_AT91_DBGU0
87
88 config AT91_DEBUG_LL_DBGU1
Jean-Christophe PLAGNIOL-VILLARD9918cea2012-01-26 14:07:09 +010089 bool "Kernel low-level debugging on 9263 and 9g45"
Jean-Christophe PLAGNIOL-VILLARD13079a72011-11-02 01:43:31 +080090 depends on HAVE_AT91_DBGU1
91
Stephen Warrenf1ac9222013-03-11 22:40:18 -060092 config DEBUG_BCM2835
93 bool "Kernel low-level debugging on BCM2835 PL011 UART"
94 depends on ARCH_BCM2835
Russell King5c972af2013-07-07 12:32:16 +010095 select DEBUG_UART_PL01X
Stephen Warrenf1ac9222013-03-11 22:40:18 -060096
Stephen Boyd164acf92011-09-22 20:28:35 +010097 config DEBUG_CLPS711X_UART1
98 bool "Kernel low-level debugging messages via UART1"
99 depends on ARCH_CLPS711X
100 help
101 Say Y here if you want the debug print routines to direct
102 their output to the first serial port on these devices.
Will Deacon17916b22011-09-01 18:58:51 +0100103
104 config DEBUG_CLPS711X_UART2
105 bool "Kernel low-level debugging messages via UART2"
106 depends on ARCH_CLPS711X
107 help
108 Say Y here if you want the debug print routines to direct
109 their output to the second serial port on these devices.
Will Deacon17916b22011-09-01 18:58:51 +0100110
Arnd Bergmann29c9b7b2013-03-14 16:02:59 +0100111 config DEBUG_CNS3XXX
112 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
113 depends on ARCH_CNS3XXX
Russell King5c972af2013-07-07 12:32:16 +0100114 select DEBUG_UART_PL01X
Arnd Bergmann29c9b7b2013-03-14 16:02:59 +0100115 help
116 Say Y here if you want the debug print routines to direct
117 their output to the CNS3xxx UART0.
118
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100119 config DEBUG_DAVINCI_DA8XX_UART1
120 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
121 depends on ARCH_DAVINCI_DA8XX
Russell King97bd1a42013-07-07 16:18:34 +0100122 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100123 help
124 Say Y here if you want the debug print routines to direct
125 their output to UART1 serial port on DaVinci DA8XX devices.
126
127 config DEBUG_DAVINCI_DA8XX_UART2
128 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
129 depends on ARCH_DAVINCI_DA8XX
Russell King97bd1a42013-07-07 16:18:34 +0100130 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100131 help
132 Say Y here if you want the debug print routines to direct
133 their output to UART2 serial port on DaVinci DA8XX devices.
134
135 config DEBUG_DAVINCI_DMx_UART0
136 bool "Kernel low-level debugging on DaVinci DMx using UART0"
137 depends on ARCH_DAVINCI_DMx
Russell King97bd1a42013-07-07 16:18:34 +0100138 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100139 help
140 Say Y here if you want the debug print routines to direct
141 their output to UART0 serial port on DaVinci DMx devices.
142
143 config DEBUG_DAVINCI_TNETV107X_UART1
144 bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
145 depends on ARCH_DAVINCI_TNETV107X
Russell King97bd1a42013-07-07 16:18:34 +0100146 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100147 help
148 Say Y here if you want the debug print routines to direct
149 their output to UART1 serial port on DaVinci TNETV107X
150 devices.
151
Nick Bowleraaf5e0b2012-11-05 16:45:49 -0500152 config DEBUG_ZYNQ_UART0
153 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
154 depends on ARCH_ZYNQ
155 help
156 Say Y here if you want the debug print routines to direct
157 their output to UART0 on the Zynq platform.
158
159 config DEBUG_ZYNQ_UART1
160 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
161 depends on ARCH_ZYNQ
162 help
163 Say Y here if you want the debug print routines to direct
164 their output to UART1 on the Zynq platform.
165
166 If you have a ZC702 board and want early boot messages to
167 appear on the USB serial adaptor, select this option.
168
Russell Kinge76f4752011-11-23 17:44:05 +0000169 config DEBUG_DC21285_PORT
170 bool "Kernel low-level debugging messages via footbridge serial port"
171 depends on FOOTBRIDGE
172 help
173 Say Y here if you want the debug print routines to direct
174 their output to the serial port in the DC21285 (Footbridge).
175
176 config DEBUG_FOOTBRIDGE_COM1
177 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
178 depends on FOOTBRIDGE
179 help
180 Say Y here if you want the debug print routines to direct
181 their output to the 8250 at PCI COM1.
182
Rob Herring220e6cf2011-06-07 10:02:55 -0500183 config DEBUG_HIGHBANK_UART
184 bool "Kernel low-level debugging messages via Highbank UART"
185 depends on ARCH_HIGHBANK
Russell King5c972af2013-07-07 12:32:16 +0100186 select DEBUG_UART_PL01X
Rob Herring220e6cf2011-06-07 10:02:55 -0500187 help
188 Say Y here if you want the debug print routines to direct
189 their output to the UART on Highbank based devices.
190
Shawn Guof350b862011-08-19 05:56:59 +0100191 config DEBUG_IMX1_UART
192 bool "i.MX1 Debug UART"
193 depends on SOC_IMX1
194 help
195 Say Y here if you want kernel low-level debugging support
196 on i.MX1.
197
198 config DEBUG_IMX23_UART
199 bool "i.MX23 Debug UART"
200 depends on SOC_IMX23
Russell King5c972af2013-07-07 12:32:16 +0100201 select DEBUG_UART_PL01X
Shawn Guof350b862011-08-19 05:56:59 +0100202 help
203 Say Y here if you want kernel low-level debugging support
204 on i.MX23.
205
206 config DEBUG_IMX25_UART
207 bool "i.MX25 Debug UART"
208 depends on SOC_IMX25
209 help
210 Say Y here if you want kernel low-level debugging support
211 on i.MX25.
212
213 config DEBUG_IMX21_IMX27_UART
214 bool "i.MX21 and i.MX27 Debug UART"
215 depends on SOC_IMX21 || SOC_IMX27
216 help
217 Say Y here if you want kernel low-level debugging support
218 on i.MX21 or i.MX27.
219
220 config DEBUG_IMX28_UART
221 bool "i.MX28 Debug UART"
222 depends on SOC_IMX28
Russell King5c972af2013-07-07 12:32:16 +0100223 select DEBUG_UART_PL01X
Shawn Guof350b862011-08-19 05:56:59 +0100224 help
225 Say Y here if you want kernel low-level debugging support
226 on i.MX28.
227
Shawn Guo4ad625d2012-12-12 18:54:01 +0800228 config DEBUG_IMX31_UART
229 bool "i.MX31 Debug UART"
230 depends on SOC_IMX31
Shawn Guof350b862011-08-19 05:56:59 +0100231 help
232 Say Y here if you want kernel low-level debugging support
Shawn Guo4ad625d2012-12-12 18:54:01 +0800233 on i.MX31.
234
235 config DEBUG_IMX35_UART
236 bool "i.MX35 Debug UART"
237 depends on SOC_IMX35
238 help
239 Say Y here if you want kernel low-level debugging support
240 on i.MX35.
Shawn Guof350b862011-08-19 05:56:59 +0100241
242 config DEBUG_IMX51_UART
243 bool "i.MX51 Debug UART"
244 depends on SOC_IMX51
245 help
246 Say Y here if you want kernel low-level debugging support
247 on i.MX51.
248
Fabio Estevam7356420c2013-01-22 10:40:55 -0200249 config DEBUG_IMX53_UART
250 bool "i.MX53 Debug UART"
251 depends on SOC_IMX53
Shawn Guof350b862011-08-19 05:56:59 +0100252 help
253 Say Y here if you want kernel low-level debugging support
Fabio Estevam7356420c2013-01-22 10:40:55 -0200254 on i.MX53.
Shawn Guof350b862011-08-19 05:56:59 +0100255
Shawn Guo49c9e602012-10-08 13:44:29 +0800256 config DEBUG_IMX6Q_UART
Shawn Guo3c03a2f2013-04-01 22:13:32 +0800257 bool "i.MX6Q/DL Debug UART"
Dirk Behme785d7fa2012-04-27 10:15:45 +0200258 depends on SOC_IMX6Q
259 help
260 Say Y here if you want kernel low-level debugging support
Shawn Guo3c03a2f2013-04-01 22:13:32 +0800261 on i.MX6Q/DL.
Shawn Guobac89d72011-10-02 15:09:11 +0800262
Shawn Guo34e8a162013-05-03 11:21:03 +0800263 config DEBUG_IMX6SL_UART
264 bool "i.MX6SL Debug UART"
265 depends on SOC_IMX6SL
266 help
267 Say Y here if you want kernel low-level debugging support
268 on i.MX6SL.
269
Santosh Shilimkar828989a2013-06-10 11:27:13 -0400270 config DEBUG_KEYSTONE_UART0
271 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
272 depends on ARCH_KEYSTONE
Russell Kingf2acf002013-07-07 16:05:49 +0100273 select DEBUG_UART_8250
Santosh Shilimkar828989a2013-06-10 11:27:13 -0400274 help
275 Say Y here if you want the debug print routines to direct
276 their output to UART0 serial port on KEYSTONE2 devices.
277
278 config DEBUG_KEYSTONE_UART1
279 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
280 depends on ARCH_KEYSTONE
Russell Kingf2acf002013-07-07 16:05:49 +0100281 select DEBUG_UART_8250
Santosh Shilimkar828989a2013-06-10 11:27:13 -0400282 help
283 Say Y here if you want the debug print routines to direct
284 their output to UART1 serial port on KEYSTONE2 devices.
285
Haojian Zhuangfa4cd2a2012-08-10 23:49:41 +0800286 config DEBUG_MMP_UART2
287 bool "Kernel low-level debugging message via MMP UART2"
288 depends on ARCH_MMP
Russell King4a0036472013-07-06 23:13:15 +0100289 select DEBUG_UART_8250
Haojian Zhuangfa4cd2a2012-08-10 23:49:41 +0800290 help
291 Say Y here if you want kernel low-level debugging support
292 on MMP UART2.
293
294 config DEBUG_MMP_UART3
295 bool "Kernel low-level debugging message via MMP UART3"
296 depends on ARCH_MMP
Russell King4a0036472013-07-06 23:13:15 +0100297 select DEBUG_UART_8250
Haojian Zhuangfa4cd2a2012-08-10 23:49:41 +0800298 help
299 Say Y here if you want kernel low-level debugging support
300 on MMP UART3.
301
Stephen Boyd650e3f02011-11-08 10:33:03 -0800302 config DEBUG_MSM_UART1
303 bool "Kernel low-level debugging messages via MSM UART1"
304 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
305 help
306 Say Y here if you want the debug print routines to direct
307 their output to the first serial port on MSM devices.
308
309 config DEBUG_MSM_UART2
310 bool "Kernel low-level debugging messages via MSM UART2"
311 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
312 help
313 Say Y here if you want the debug print routines to direct
314 their output to the second serial port on MSM devices.
315
316 config DEBUG_MSM_UART3
317 bool "Kernel low-level debugging messages via MSM UART3"
318 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
319 help
320 Say Y here if you want the debug print routines to direct
321 their output to the third serial port on MSM devices.
322
Stephen Boyda3d3ef92011-11-08 10:33:04 -0800323 config DEBUG_MSM8660_UART
324 bool "Kernel low-level debugging messages via MSM 8660 UART"
325 depends on ARCH_MSM8X60
326 select MSM_HAS_DEBUG_UART_HS
327 help
328 Say Y here if you want the debug print routines to direct
329 their output to the serial port on MSM 8660 devices.
330
331 config DEBUG_MSM8960_UART
332 bool "Kernel low-level debugging messages via MSM 8960 UART"
333 depends on ARCH_MSM8960
334 select MSM_HAS_DEBUG_UART_HS
335 help
336 Say Y here if you want the debug print routines to direct
337 their output to the serial port on MSM 8960 devices.
338
Rob Herringbfd5af92012-09-02 14:41:34 -0500339 config DEBUG_MVEBU_UART
Thomas Petazzonic2804cd2013-06-05 09:05:00 +0200340 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
Rob Herringbfd5af92012-09-02 14:41:34 -0500341 depends on ARCH_MVEBU
Russell King4a0036472013-07-06 23:13:15 +0100342 select DEBUG_UART_8250
Rob Herringbfd5af92012-09-02 14:41:34 -0500343 help
344 Say Y here if you want kernel low-level debugging support
345 on MVEBU based platforms.
346
Thomas Petazzonic2804cd2013-06-05 09:05:00 +0200347 This option should be used with the old bootloaders
348 that left the internal registers mapped at
349 0xd0000000. As of today, this is the case on
350 platforms such as the Globalscale Mirabox or the
351 Plathome OpenBlocks AX3, when using the original
352 bootloader.
353
354 If the wrong DEBUG_MVEBU_UART* option is selected,
355 when u-boot hands over to the kernel, the system
356 silently crashes, with no serial output at all.
357
358 config DEBUG_MVEBU_UART_ALTERNATE
359 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
360 depends on ARCH_MVEBU
Russell King4a0036472013-07-06 23:13:15 +0100361 select DEBUG_UART_8250
Thomas Petazzonic2804cd2013-06-05 09:05:00 +0200362 help
363 Say Y here if you want kernel low-level debugging support
364 on MVEBU based platforms.
365
366 This option should be used with the new bootloaders
367 that remap the internal registers at 0xf1000000.
368
369 If the wrong DEBUG_MVEBU_UART* option is selected,
370 when u-boot hands over to the kernel, the system
371 silently crashes, with no serial output at all.
372
Linus Walleij266c3472013-02-27 22:39:57 +0100373 config DEBUG_NOMADIK_UART
374 bool "Kernel low-level debugging messages via NOMADIK UART"
375 depends on ARCH_NOMADIK
Russell King5c972af2013-07-07 12:32:16 +0100376 select DEBUG_UART_PL01X
Linus Walleij266c3472013-02-27 22:39:57 +0100377 help
378 Say Y here if you want kernel low-level debugging support
379 on NOMADIK based platforms.
380
Daniel Tang9851ca52013-06-11 18:40:17 +1000381 config DEBUG_NSPIRE_CLASSIC_UART
382 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
383 depends on ARCH_NSPIRE
Russell King4a0036472013-07-06 23:13:15 +0100384 select DEBUG_UART_8250
Daniel Tang9851ca52013-06-11 18:40:17 +1000385 help
386 Say Y here if you want kernel low-level debugging support
387 on TI-NSPIRE classic models.
388
389 config DEBUG_NSPIRE_CX_UART
390 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
391 depends on ARCH_NSPIRE
Russell King5c972af2013-07-07 12:32:16 +0100392 select DEBUG_UART_PL01X
Daniel Tang9851ca52013-06-11 18:40:17 +1000393 help
394 Say Y here if you want kernel low-level debugging support
395 on TI-NSPIRE CX models.
396
Russell Kingcce278d2013-07-06 14:23:30 +0100397 config DEBUG_OMAP2UART1
398 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
Tony Lindgren808b7e02013-01-11 11:24:19 -0800399 depends on ARCH_OMAP2PLUS
Russell Kingcce278d2013-07-06 14:23:30 +0100400 select DEBUG_OMAP2PLUS_UART
Tony Lindgren808b7e02013-01-11 11:24:19 -0800401 help
Russell Kingcce278d2013-07-06 14:23:30 +0100402 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
403 omap3 torpedo and 3530 lv som.
404
405 config DEBUG_OMAP2UART2
406 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
407 depends on ARCH_OMAP2PLUS
408 select DEBUG_OMAP2PLUS_UART
409
410 config DEBUG_OMAP2UART3
411 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
412 depends on ARCH_OMAP2PLUS
413 select DEBUG_OMAP2PLUS_UART
414
415 config DEBUG_OMAP3UART3
416 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
417 depends on ARCH_OMAP2PLUS
418 select DEBUG_OMAP2PLUS_UART
419 help
420 This covers at least cm_t3x, beagle, crane, devkit8000,
421 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
422 and 3517evm.
423
424 config DEBUG_OMAP4UART3
425 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
426 depends on ARCH_OMAP2PLUS
427 select DEBUG_OMAP2PLUS_UART
428
429 config DEBUG_OMAP3UART4
430 bool "Kernel low-level debugging messages via OMAP36XX UART4"
431 depends on ARCH_OMAP2PLUS
432 select DEBUG_OMAP2PLUS_UART
433
434 config DEBUG_OMAP4UART4
435 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
436 depends on ARCH_OMAP2PLUS
437 select DEBUG_OMAP2PLUS_UART
438
439 config DEBUG_TI81XXUART1
440 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
441 depends on ARCH_OMAP2PLUS
442 select DEBUG_OMAP2PLUS_UART
443
444 config DEBUG_TI81XXUART2
445 bool "Kernel low-level debugging messages via TI81XX UART2"
446 depends on ARCH_OMAP2PLUS
447 select DEBUG_OMAP2PLUS_UART
448
449 config DEBUG_TI81XXUART3
450 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
451 depends on ARCH_OMAP2PLUS
452 select DEBUG_OMAP2PLUS_UART
453
454 config DEBUG_AM33XXUART1
455 bool "Kernel low-level debugging messages via AM33XX UART1"
456 depends on ARCH_OMAP2PLUS
457 select DEBUG_OMAP2PLUS_UART
458
459 config DEBUG_ZOOM_UART
460 bool "Kernel low-level debugging messages via Zoom2/3 UART"
461 depends on ARCH_OMAP2PLUS
462 select DEBUG_OMAP2PLUS_UART
Tony Lindgren808b7e02013-01-11 11:24:19 -0800463
Rob Herring59bba2a2012-09-06 14:14:46 -0500464 config DEBUG_PICOXCELL_UART
465 depends on ARCH_PICOXCELL
466 bool "Use PicoXcell UART for low-level debug"
Russell King0b4cccb2013-07-07 11:42:46 +0100467 select DEBUG_UART_8250
Rob Herring59bba2a2012-09-06 14:14:46 -0500468 help
469 Say Y here if you want kernel low-level debugging support
470 on PicoXcell based platforms.
471
Haojian Zhuang0a43cd3b2013-04-10 11:17:04 +0800472 config DEBUG_PXA_UART1
473 depends on ARCH_PXA
474 bool "Use PXA UART1 for low-level debug"
Russell King4a0036472013-07-06 23:13:15 +0100475 select DEBUG_UART_8250
Haojian Zhuang0a43cd3b2013-04-10 11:17:04 +0800476 help
477 Say Y here if you want kernel low-level debugging support
478 on PXA UART1.
479
Russell Kinge76f4752011-11-23 17:44:05 +0000480 config DEBUG_REALVIEW_STD_PORT
481 bool "RealView Default UART"
482 depends on ARCH_REALVIEW
Russell King5c972af2013-07-07 12:32:16 +0100483 select DEBUG_UART_PL01X
Russell Kinge76f4752011-11-23 17:44:05 +0000484 help
485 Say Y here if you want the debug print routines to direct
486 their output to the serial port on RealView EB, PB11MP, PBA8
487 and PBX platforms.
488
489 config DEBUG_REALVIEW_PB1176_PORT
490 bool "RealView PB1176 UART"
491 depends on MACH_REALVIEW_PB1176
Russell King5c972af2013-07-07 12:32:16 +0100492 select DEBUG_UART_PL01X
Russell Kinge76f4752011-11-23 17:44:05 +0000493 help
494 Say Y here if you want the debug print routines to direct
495 their output to the standard serial port on the RealView
496 PB1176 platform.
497
Russell Kingcce278d2013-07-06 14:23:30 +0100498 config DEBUG_RK29_UART0
499 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
Heiko Stuebner38bd6892013-05-28 22:13:52 +0200500 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100501 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100502 help
503 Say Y here if you want kernel low-level debugging support
504 on Rockchip based platforms.
505
506 config DEBUG_RK29_UART1
507 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
508 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100509 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100510 help
511 Say Y here if you want kernel low-level debugging support
512 on Rockchip based platforms.
513
514 config DEBUG_RK29_UART2
515 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
516 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100517 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100518 help
519 Say Y here if you want kernel low-level debugging support
520 on Rockchip based platforms.
521
522 config DEBUG_RK3X_UART0
523 bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
524 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100525 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100526 help
527 Say Y here if you want kernel low-level debugging support
528 on Rockchip based platforms.
529
530 config DEBUG_RK3X_UART1
531 bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
532 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100533 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100534 help
535 Say Y here if you want kernel low-level debugging support
536 on Rockchip based platforms.
537
538 config DEBUG_RK3X_UART2
539 bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
540 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100541 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100542 help
543 Say Y here if you want kernel low-level debugging support
544 on Rockchip based platforms.
545
546 config DEBUG_RK3X_UART3
547 bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
548 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100549 select DEBUG_UART_8250
Heiko Stuebner38bd6892013-05-28 22:13:52 +0200550 help
551 Say Y here if you want kernel low-level debugging support
552 on Rockchip based platforms.
553
Russell Kinge76f4752011-11-23 17:44:05 +0000554 config DEBUG_S3C_UART0
555 depends on PLAT_SAMSUNG
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100556 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
Russell Kinge76f4752011-11-23 17:44:05 +0000557 bool "Use S3C UART 0 for low-level debug"
558 help
559 Say Y here if you want the debug print routines to direct
560 their output to UART 0. The port must have been initialised
561 by the boot-loader before use.
562
563 The uncompressor code port configuration is now handled
564 by CONFIG_S3C_LOWLEVEL_UART_PORT.
565
566 config DEBUG_S3C_UART1
567 depends on PLAT_SAMSUNG
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100568 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
Russell Kinge76f4752011-11-23 17:44:05 +0000569 bool "Use S3C UART 1 for low-level debug"
570 help
571 Say Y here if you want the debug print routines to direct
572 their output to UART 1. The port must have been initialised
573 by the boot-loader before use.
574
575 The uncompressor code port configuration is now handled
576 by CONFIG_S3C_LOWLEVEL_UART_PORT.
577
578 config DEBUG_S3C_UART2
579 depends on PLAT_SAMSUNG
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100580 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
Russell Kinge76f4752011-11-23 17:44:05 +0000581 bool "Use S3C UART 2 for low-level debug"
582 help
583 Say Y here if you want the debug print routines to direct
584 their output to UART 2. The port must have been initialised
585 by the boot-loader before use.
586
587 The uncompressor code port configuration is now handled
588 by CONFIG_S3C_LOWLEVEL_UART_PORT.
589
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900590 config DEBUG_S3C_UART3
591 depends on PLAT_SAMSUNG && ARCH_EXYNOS
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100592 select DEBUG_EXYNOS_UART
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900593 bool "Use S3C UART 3 for low-level debug"
594 help
595 Say Y here if you want the debug print routines to direct
596 their output to UART 3. The port must have been initialised
597 by the boot-loader before use.
598
599 The uncompressor code port configuration is now handled
600 by CONFIG_S3C_LOWLEVEL_UART_PORT.
601
Rob Herring6111bf72012-09-06 14:11:28 -0500602 config DEBUG_SOCFPGA_UART
603 depends on ARCH_SOCFPGA
604 bool "Use SOCFPGA UART for low-level debug"
Russell King0b4cccb2013-07-07 11:42:46 +0100605 select DEBUG_UART_8250
Rob Herring6111bf72012-09-06 14:11:28 -0500606 help
607 Say Y here if you want kernel low-level debugging support
608 on SOCFPGA based platforms.
609
Stefan Roeseaa251152012-11-19 12:09:41 +0100610 config DEBUG_SUNXI_UART0
611 bool "Kernel low-level debugging messages via sunXi UART0"
612 depends on ARCH_SUNXI
Russell King4a0036472013-07-06 23:13:15 +0100613 select DEBUG_UART_8250
Stefan Roeseaa251152012-11-19 12:09:41 +0100614 help
615 Say Y here if you want kernel low-level debugging support
616 on Allwinner A1X based platforms on the UART0.
617
Maxime Ripardcb84fa12012-11-08 12:40:49 +0100618 config DEBUG_SUNXI_UART1
619 bool "Kernel low-level debugging messages via sunXi UART1"
620 depends on ARCH_SUNXI
Russell King4a0036472013-07-06 23:13:15 +0100621 select DEBUG_UART_8250
Maxime Ripardcb84fa12012-11-08 12:40:49 +0100622 help
623 Say Y here if you want kernel low-level debugging support
624 on Allwinner A1X based platforms on the UART1.
625
Russell Kingcce278d2013-07-06 14:23:30 +0100626 config TEGRA_DEBUG_UART_AUTO_ODMDATA
627 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
Stephen Warren46067802012-09-25 15:54:56 -0600628 depends on ARCH_TEGRA
Russell Kingcce278d2013-07-06 14:23:30 +0100629 select DEBUG_TEGRA_UART
630 help
631 Automatically determines which UART to use for low-level
632 debug based on the ODMDATA value. This value is part of
633 the BCT, and is written to the boot memory device using
634 nvflash, or other flashing tool. When bits 19:18 are 3,
635 then bits 17:15 indicate which UART to use; 0/1/2/3/4
636 are UART A/B/C/D/E.
637
638 config TEGRA_DEBUG_UARTA
639 bool "Kernel low-level debugging messages via Tegra UART A"
640 depends on ARCH_TEGRA
641 select DEBUG_TEGRA_UART
642 help
643 Say Y here if you want kernel low-level debugging support
644 on Tegra based platforms.
645
646 config TEGRA_DEBUG_UARTB
647 bool "Kernel low-level debugging messages via Tegra UART B"
648 depends on ARCH_TEGRA
649 select DEBUG_TEGRA_UART
650 help
651 Say Y here if you want kernel low-level debugging support
652 on Tegra based platforms.
653
654 config TEGRA_DEBUG_UARTC
655 bool "Kernel low-level debugging messages via Tegra UART C"
656 depends on ARCH_TEGRA
657 select DEBUG_TEGRA_UART
658 help
659 Say Y here if you want kernel low-level debugging support
660 on Tegra based platforms.
661
662 config TEGRA_DEBUG_UARTD
663 bool "Kernel low-level debugging messages via Tegra UART D"
664 depends on ARCH_TEGRA
665 select DEBUG_TEGRA_UART
666 help
667 Say Y here if you want kernel low-level debugging support
668 on Tegra based platforms.
669
670 config TEGRA_DEBUG_UARTE
671 bool "Kernel low-level debugging messages via Tegra UART E"
672 depends on ARCH_TEGRA
673 select DEBUG_TEGRA_UART
Stephen Warren46067802012-09-25 15:54:56 -0600674 help
675 Say Y here if you want kernel low-level debugging support
676 on Tegra based platforms.
677
Barry Song7f46a102012-12-20 19:45:25 +0800678 config DEBUG_SIRFPRIMA2_UART1
679 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
680 depends on ARCH_PRIMA2
681 help
682 Say Y here if you want the debug print routines to direct
683 their output to the uart1 port on SiRFprimaII devices.
684
685 config DEBUG_SIRFMARCO_UART1
686 bool "Kernel low-level debugging messages via SiRFmarco UART1"
687 depends on ARCH_MARCO
688 help
689 Say Y here if you want the debug print routines to direct
690 their output to the uart1 port on SiRFmarco devices.
691
Russell Kingcce278d2013-07-06 14:23:30 +0100692 config STIH41X_DEBUG_ASC2
693 bool "Use StiH415/416 ASC2 UART for low-level debug"
Arnd Bergmann5562b802013-07-05 16:08:44 +0200694 depends on ARCH_STI
Russell Kingcce278d2013-07-06 14:23:30 +0100695 select DEBUG_STI_UART
Arnd Bergmann5562b802013-07-05 16:08:44 +0200696 help
697 Say Y here if you want kernel low-level debugging support
Russell Kingcce278d2013-07-06 14:23:30 +0100698 on STiH415/416 based platforms like b2000, which has
699 default UART wired up to ASC2.
700
701 If unsure, say N.
702
703 config STIH41X_DEBUG_SBC_ASC1
704 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
705 depends on ARCH_STI
706 select DEBUG_STI_UART
707 help
708 Say Y here if you want kernel low-level debugging support
709 on STiH415/416 based platforms like b2020. which has
710 default UART wired up to SBC ASC1.
Arnd Bergmann5562b802013-07-05 16:08:44 +0200711
712 If unsure, say N.
713
Linus Walleijdd324da2013-05-02 16:34:19 +0200714 config DEBUG_U300_UART
715 bool "Kernel low-level debugging messages via U300 UART0"
716 depends on ARCH_U300
Russell King5c972af2013-07-07 12:32:16 +0100717 select DEBUG_UART_PL01X
Linus Walleijdd324da2013-05-02 16:34:19 +0200718 help
719 Say Y here if you want the debug print routines to direct
720 their output to the uart port on U300 devices.
721
Linus Walleijf87b95d2013-03-19 11:01:36 +0100722 config DEBUG_UX500_UART
723 depends on ARCH_U8500
724 bool "Use Ux500 UART for low-level debug"
725 help
726 Say Y here if you want kernel low-level debugging support
727 on Ux500 based platforms.
728
Pawel Moll1b820ea2012-07-11 17:07:25 +0100729 config DEBUG_VEXPRESS_UART0_DETECT
730 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
731 depends on ARCH_VEXPRESS && CPU_CP15_MMU
732 help
733 This option enables a simple heuristic which tries to determine
734 the motherboard's memory map variant (original or RS1) and then
735 choose the relevant UART0 base address.
736
737 Note that this will only work with standard A-class core tiles,
738 and may fail with non-standard SMM or custom software models.
739
740 config DEBUG_VEXPRESS_UART0_CA9
741 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
742 depends on ARCH_VEXPRESS
Russell King5c972af2013-07-07 12:32:16 +0100743 select DEBUG_UART_PL01X
Pawel Moll1b820ea2012-07-11 17:07:25 +0100744 help
745 This option selects UART0 at 0x10009000. Except for custom models,
746 this applies only to the V2P-CA9 tile.
747
748 config DEBUG_VEXPRESS_UART0_RS1
749 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
750 depends on ARCH_VEXPRESS
Russell King5c972af2013-07-07 12:32:16 +0100751 select DEBUG_UART_PL01X
Pawel Moll1b820ea2012-07-11 17:07:25 +0100752 help
753 This option selects UART0 at 0x1c090000. This applies to most
754 of the tiles using the RS1 memory map, including all new A-class
755 core tiles, FPGA-based SMMs and software models.
756
Jonathan Austined18bdc2012-08-30 13:46:44 +0100757 config DEBUG_VEXPRESS_UART0_CRX
758 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
759 depends on ARCH_VEXPRESS && !MMU
Russell King5c972af2013-07-07 12:32:16 +0100760 select DEBUG_UART_PL01X
Jonathan Austined18bdc2012-08-30 13:46:44 +0100761 help
762 This option selects UART0 at 0xb0090000. This is appropriate for
763 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
764
Tony Priskb61a2722012-12-28 12:09:18 +1300765 config DEBUG_VT8500_UART0
766 bool "Use UART0 on VIA/Wondermedia SoCs"
767 depends on ARCH_VT8500
768 help
769 This option selects UART0 on VIA/Wondermedia System-on-a-chip
770 devices, including VT8500, WM8505, WM8650 and WM8850.
771
Russell Kinge76f4752011-11-23 17:44:05 +0000772 config DEBUG_LL_UART_NONE
773 bool "No low-level debugging UART"
Rob Herring387798b2012-09-06 13:41:12 -0500774 depends on !ARCH_MULTIPLATFORM
Russell Kinge76f4752011-11-23 17:44:05 +0000775 help
776 Say Y here if your platform doesn't provide a UART option
Russell King730cc262013-07-07 11:02:00 +0100777 above. This relies on your platform choosing the right UART
Russell Kinge76f4752011-11-23 17:44:05 +0000778 definition internally in order for low-level debugging to
779 work.
780
781 config DEBUG_ICEDCC
782 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
783 help
784 Say Y here if you want the debug print routines to direct
785 their output to the EmbeddedICE macrocell's DCC channel using
786 co-processor 14. This is known to work on the ARM9 style ICE
787 channel and on the XScale with the PEEDI.
788
789 Note that the system will appear to hang during boot if there
790 is nothing connected to read from the DCC.
791
Russell Kingb0df8982012-03-27 11:30:31 +0100792 config DEBUG_SEMIHOSTING
Stephen Boyd62194bd2012-09-06 21:24:32 +0100793 bool "Kernel low-level debug output via semihosting I/O"
Russell Kingb0df8982012-03-27 11:30:31 +0100794 help
795 Semihosting enables code running on an ARM target to use
796 the I/O facilities on a host debugger/emulator through a
Stephen Boyd62194bd2012-09-06 21:24:32 +0100797 simple SVC call. The host debugger or emulator must have
Russell Kingb0df8982012-03-27 11:30:31 +0100798 semihosting enabled for the special svc call to be trapped
799 otherwise the kernel will crash.
800
Stephen Boyd62194bd2012-09-06 21:24:32 +0100801 This is known to work with OpenOCD, as well as
Russell Kingb0df8982012-03-27 11:30:31 +0100802 ARM's Fast Models, or any other controlling environment
803 that implements semihosting.
804
805 For more details about semihosting, please see
806 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
807
Russell Kingf8f12792013-07-07 15:29:38 +0100808 config DEBUG_LL_UART_8250
809 bool "Kernel low-level debugging via 8250 UART"
810 help
811 Say Y here if you wish the debug print routes to direct
812 their output to an 8250 UART. You can use this option
813 to provide the parameters for the 8250 UART rather than
814 selecting one of the platform specific options above if
815 you know the parameters for the port.
816
817 This option is preferred over the platform specific
818 options; the platform specific options are deprecated
819 and will be soon removed.
820
821 config DEBUG_LL_UART_PL01X
822 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
823 help
824 Say Y here if you wish the debug print routes to direct
825 their output to a PL01x Primecell UART. You can use
826 this option to provide the parameters for the UART
827 rather than selecting one of the platform specific
828 options above if you know the parameters for the port.
829
830 This option is preferred over the platform specific
831 options; the platform specific options are deprecated
832 and will be soon removed.
833
Will Deacon17916b22011-09-01 18:58:51 +0100834endchoice
835
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100836config DEBUG_EXYNOS_UART
837 bool
838
Russell Kingcce278d2013-07-06 14:23:30 +0100839config DEBUG_OMAP2PLUS_UART
840 bool
841 depends on ARCH_OMAP2PLUS
842
Shawn Guof8c95fe2012-12-12 19:03:53 +0800843config DEBUG_IMX_UART_PORT
844 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
845 DEBUG_IMX25_UART || \
846 DEBUG_IMX21_IMX27_UART || \
847 DEBUG_IMX31_UART || \
848 DEBUG_IMX35_UART || \
849 DEBUG_IMX51_UART || \
Paul Bolle0c52db72013-03-11 14:16:00 +0100850 DEBUG_IMX53_UART || \
Shawn Guo34e8a162013-05-03 11:21:03 +0800851 DEBUG_IMX6Q_UART || \
852 DEBUG_IMX6SL_UART
Shawn Guo49c9e602012-10-08 13:44:29 +0800853 default 1
Shawn Guo287939a2013-03-13 10:52:49 +0800854 depends on ARCH_MXC
Shawn Guo49c9e602012-10-08 13:44:29 +0800855 help
856 Choose UART port on which kernel low-level debug messages
857 should be output.
858
Russell Kingcce278d2013-07-06 14:23:30 +0100859config DEBUG_TEGRA_UART
860 bool
861 depends on ARCH_TEGRA
Tony Lindgren808b7e02013-01-11 11:24:19 -0800862
Russell Kingcce278d2013-07-06 14:23:30 +0100863config DEBUG_STI_UART
864 bool
865 depends on ARCH_STI
Srinivas Kandagatla5026aec2013-06-25 12:15:32 +0100866
Rob Herring91a9fec2012-08-31 00:03:46 -0500867config DEBUG_LL_INCLUDE
868 string
Russell Kingf8f12792013-07-07 15:29:38 +0100869 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
870 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100871 default "debug/exynos.S" if DEBUG_EXYNOS_UART
Rob Herring91a9fec2012-08-31 00:03:46 -0500872 default "debug/icedcc.S" if DEBUG_ICEDCC
Shawn Guo6dde5ac2012-09-16 20:50:45 +0800873 default "debug/imx.S" if DEBUG_IMX1_UART || \
874 DEBUG_IMX25_UART || \
875 DEBUG_IMX21_IMX27_UART || \
Shawn Guo4ad625d2012-12-12 18:54:01 +0800876 DEBUG_IMX31_UART || \
877 DEBUG_IMX35_UART || \
Shawn Guo6dde5ac2012-09-16 20:50:45 +0800878 DEBUG_IMX51_UART || \
Fabio Estevam7356420c2013-01-22 10:40:55 -0200879 DEBUG_IMX53_UART ||\
Shawn Guo34e8a162013-05-03 11:21:03 +0800880 DEBUG_IMX6Q_UART || \
881 DEBUG_IMX6SL_UART
Tony Lindgren808b7e02013-01-11 11:24:19 -0800882 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
Arnd Bergmann67bdb282013-03-19 13:52:14 +0100883 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
Srinivas Kandagatla5026aec2013-06-25 12:15:32 +0100884 default "debug/sti.S" if DEBUG_STI_UART
Linus Torvalds150a8dc2013-05-04 12:34:30 -0700885 default "debug/tegra.S" if DEBUG_TEGRA_UART
886 default "debug/ux500.S" if DEBUG_UX500_UART
Russell King4e218b92013-07-07 12:36:46 +0100887 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
Tony Priskb61a2722012-12-28 12:09:18 +1300888 default "debug/vt8500.S" if DEBUG_VT8500_UART0
Josh Cartwright385f02b2012-11-19 10:16:01 -0600889 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
Rob Herring91a9fec2012-08-31 00:03:46 -0500890 default "mach/debug-macro.S"
891
Russell Kingf8f12792013-07-07 15:29:38 +0100892# Compatibility options for PL01x
Russell King5c972af2013-07-07 12:32:16 +0100893config DEBUG_UART_PL01X
894 def_bool ARCH_EP93XX || \
895 ARCH_INTEGRATOR || \
896 ARCH_VERSATILE
897
Russell Kingf8f12792013-07-07 15:29:38 +0100898# Compatibility options for 8250
Russell King7610b602013-07-06 22:59:10 +0100899config DEBUG_UART_8250
Russell King4a0036472013-07-06 23:13:15 +0100900 def_bool ARCH_DOVE || ARCH_EBSA110 || \
901 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
902 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
903 ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
904 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
905
Russell Kingc3faa9b2013-07-07 00:01:39 +0100906config DEBUG_UART_PHYS
907 hex "Physical base address of debug UART"
Russell King97bd1a42013-07-07 16:18:34 +0100908 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
Russell Kingc3faa9b2013-07-07 00:01:39 +0100909 default 0x01c28000 if DEBUG_SUNXI_UART0
910 default 0x01c28400 if DEBUG_SUNXI_UART1
Russell King97bd1a42013-07-07 16:18:34 +0100911 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
912 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
Russell Kingf2acf002013-07-07 16:05:49 +0100913 default 0x02530c00 if DEBUG_KEYSTONE_UART0
914 default 0x02531000 if DEBUG_KEYSTONE_UART1
Russell Kingc3faa9b2013-07-07 00:01:39 +0100915 default 0x03010fe0 if ARCH_RPC
Russell King97bd1a42013-07-07 16:18:34 +0100916 default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
Russell King5c972af2013-07-07 12:32:16 +0100917 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
918 DEBUG_VEXPRESS_UART0_CA9
919 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
Russell Kingc3faa9b2013-07-07 00:01:39 +0100920 default 0x10124000 if DEBUG_RK3X_UART0
921 default 0x10126000 if DEBUG_RK3X_UART1
Russell King5c972af2013-07-07 12:32:16 +0100922 default 0x101f1000 if ARCH_VERSATILE
923 default 0x101fb000 if DEBUG_NOMADIK_UART
924 default 0x16000000 if ARCH_INTEGRATOR
925 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
Russell Kingc3faa9b2013-07-07 00:01:39 +0100926 default 0x20060000 if DEBUG_RK29_UART0
927 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
928 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
Russell King5c972af2013-07-07 12:32:16 +0100929 default 0x20201000 if DEBUG_BCM2835
Russell Kingc3faa9b2013-07-07 00:01:39 +0100930 default 0x40090000 if ARCH_LPC32XX
931 default 0x40100000 if DEBUG_PXA_UART1
932 default 0x42000000 if ARCH_GEMINI
933 default 0x7c0003f8 if FOOTBRIDGE
Russell King0b4cccb2013-07-07 11:42:46 +0100934 default 0x80230000 if DEBUG_PICOXCELL_UART
Russell King5c972af2013-07-07 12:32:16 +0100935 default 0x80070000 if DEBUG_IMX23_UART
936 default 0x80074000 if DEBUG_IMX28_UART
937 default 0x808c0000 if ARCH_EP93XX
938 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
939 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
940 default 0xc0013000 if DEBUG_U300_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +0100941 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
942 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
943 default 0xd0012000 if DEBUG_MVEBU_UART
944 default 0xd4017000 if DEBUG_MMP_UART2
945 default 0xd4018000 if DEBUG_MMP_UART3
946 default 0xf0000be0 if ARCH_EBSA110
947 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
948 default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
949 ARCH_ORION5X
950 default 0xfe800000 if ARCH_IOP32X
Russell King0b4cccb2013-07-07 11:42:46 +0100951 default 0xffc02000 if DEBUG_SOCFPGA_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +0100952 default 0xffd82340 if ARCH_IOP13XX
Russell King5c972af2013-07-07 12:32:16 +0100953 default 0xfff36000 if DEBUG_HIGHBANK_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +0100954 default 0xfffff700 if ARCH_IOP33X
Russell Kingf8f12792013-07-07 15:29:38 +0100955 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
956 DEBUG_UART_8250 || DEBUG_UART_PL01X
Russell Kingc3faa9b2013-07-07 00:01:39 +0100957
958config DEBUG_UART_VIRT
959 hex "Virtual base address of debug UART"
960 default 0xe0010fe0 if ARCH_RPC
961 default 0xf0000be0 if ARCH_EBSA110
Russell King5c972af2013-07-07 12:32:16 +0100962 default 0xf0009000 if DEBUG_CNS3XXX
963 default 0xf01fb000 if DEBUG_NOMADIK_UART
964 default 0xf0201000 if DEBUG_BCM2835
965 default 0xf11f1000 if ARCH_VERSATILE
966 default 0xf1600000 if ARCH_INTEGRATOR
Russell Kingc3faa9b2013-07-07 00:01:39 +0100967 default 0xf1c28000 if DEBUG_SUNXI_UART0
968 default 0xf1c28400 if DEBUG_SUNXI_UART1
969 default 0xf2100000 if DEBUG_PXA_UART1
970 default 0xf4090000 if ARCH_LPC32XX
971 default 0xf4200000 if ARCH_GEMINI
Russell King5c972af2013-07-07 12:32:16 +0100972 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
973 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
974 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
975 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
Russell Kingc3faa9b2013-07-07 00:01:39 +0100976 default 0xfd012000 if ARCH_MV78XX0
977 default 0xfde12000 if ARCH_DOVE
978 default 0xfe012000 if ARCH_ORION5X
979 default 0xfe017000 if DEBUG_MMP_UART2
980 default 0xfe018000 if DEBUG_MMP_UART3
Russell King5c972af2013-07-07 12:32:16 +0100981 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
Russell King0b4cccb2013-07-07 11:42:46 +0100982 default 0xfe230000 if DEBUG_PICOXCELL_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +0100983 default 0xfe800000 if ARCH_IOP32X
984 default 0xfeb24000 if DEBUG_RK3X_UART0
985 default 0xfeb26000 if DEBUG_RK3X_UART1
Russell Kingf2acf002013-07-07 16:05:49 +0100986 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
987 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
Russell Kingc3faa9b2013-07-07 00:01:39 +0100988 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
989 default 0xfed60000 if DEBUG_RK29_UART0
990 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
991 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
Russell King0b4cccb2013-07-07 11:42:46 +0100992 default 0xfec02000 if DEBUG_SOCFPGA_UART
Russell King97bd1a42013-07-07 16:18:34 +0100993 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
994 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
995 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
Russell Kingc3faa9b2013-07-07 00:01:39 +0100996 default 0xfed12000 if ARCH_KIRKWOOD
Russell King5c972af2013-07-07 12:32:16 +0100997 default 0xfedc0000 if ARCH_EP93XX
Russell Kingc3faa9b2013-07-07 00:01:39 +0100998 default 0xfee003f8 if FOOTBRIDGE
Russell King97bd1a42013-07-07 16:18:34 +0100999 default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
Russell King5c972af2013-07-07 12:32:16 +01001000 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1001 default 0xfee36000 if DEBUG_HIGHBANK_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001002 default 0xfee82340 if ARCH_IOP13XX
1003 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1004 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1005 default 0xfefff700 if ARCH_IOP33X
Russell King5c972af2013-07-07 12:32:16 +01001006 default 0xff003000 if DEBUG_U300_UART
1007 default DEBUG_UART_PHYS if !MMU
Russell Kingf8f12792013-07-07 15:29:38 +01001008 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1009 DEBUG_UART_8250 || DEBUG_UART_PL01X
Russell Kingc3faa9b2013-07-07 00:01:39 +01001010
Russell King4a0036472013-07-06 23:13:15 +01001011config DEBUG_UART_8250_SHIFT
1012 int "Register offset shift for the 8250 debug UART"
Russell Kingf8f12792013-07-07 15:29:38 +01001013 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
Russell King4a0036472013-07-06 23:13:15 +01001014 default 0 if FOOTBRIDGE || ARCH_IOP32X
1015 default 2
Russell King7610b602013-07-06 22:59:10 +01001016
Russell King0b4cccb2013-07-07 11:42:46 +01001017config DEBUG_UART_8250_WORD
1018 bool "Use 32-bit accesses for 8250 UART"
Russell Kingf8f12792013-07-07 15:29:38 +01001019 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
Russell King0b4cccb2013-07-07 11:42:46 +01001020 depends on DEBUG_UART_8250_SHIFT >= 2
Russell Kingf2acf002013-07-07 16:05:49 +01001021 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
Russell King97bd1a42013-07-07 16:18:34 +01001022 ARCH_KEYSTONE || \
1023 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1024 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1
Russell King0b4cccb2013-07-07 11:42:46 +01001025
Russell King7610b602013-07-06 22:59:10 +01001026config DEBUG_UART_8250_FLOW_CONTROL
1027 bool "Enable flow control for 8250 UART"
Russell Kingf8f12792013-07-07 15:29:38 +01001028 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
Russell King7610b602013-07-06 22:59:10 +01001029 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1030
Shawn Guo3b4af9b2013-03-14 08:48:06 +01001031config DEBUG_UNCOMPRESS
1032 bool
Russell Kingb6992fa2013-07-17 17:54:27 +01001033 depends on ARCH_MULTIPLATFORM
1034 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
Shawn Guo3b4af9b2013-03-14 08:48:06 +01001035 !DEBUG_TEGRA_UART
Russell Kingb6992fa2013-07-17 17:54:27 +01001036 help
1037 This option influences the normal decompressor output for
1038 multiplatform kernels. Normally, multiplatform kernels disable
1039 decompressor output because it is not possible to know where to
1040 send the decompressor output.
1041
1042 When this option is set, the selected DEBUG_LL output method
1043 will be re-used for normal decompressor output on multiplatform
1044 kernels.
1045
Shawn Guo3b4af9b2013-03-14 08:48:06 +01001046
Shawn Guo615967b2013-03-14 08:47:27 +01001047config UNCOMPRESS_INCLUDE
1048 string
1049 default "debug/uncompress.h" if ARCH_MULTIPLATFORM
1050 default "mach/uncompress.h"
1051
Catalin Marinas93fd03a2009-12-09 10:02:18 +00001052config EARLY_PRINTK
1053 bool "Early printk"
1054 depends on DEBUG_LL
1055 help
1056 Say Y here if you want to have an early console using the
1057 kernel low-level debugging functions. Add earlyprintk to your
1058 kernel parameters to enable this console.
1059
Alexander Shishkinc5d6c772009-12-01 14:00:51 +01001060config OC_ETM
1061 bool "On-chip ETM and ETB"
Arnd Bergmann53eebb02011-09-07 10:02:35 +02001062 depends on ARM_AMBA
Alexander Shishkinc5d6c772009-12-01 14:00:51 +01001063 help
1064 Enables the on-chip embedded trace macrocell and embedded trace
1065 buffer driver that will allow you to collect traces of the
1066 kernel code.
1067
Jon Medhurst4189bc72011-08-27 12:36:58 +01001068config ARM_KPROBES_TEST
1069 tristate "Kprobes test module"
1070 depends on KPROBES && MODULES
1071 help
1072 Perform tests of kprobes API and instruction set simulation.
1073
Will Deacon575320d2012-07-06 15:43:03 +01001074config PID_IN_CONTEXTIDR
1075 bool "Write the current PID to the CONTEXTIDR register"
1076 depends on CPU_COPY_V6
1077 help
1078 Enabling this option causes the kernel to write the current PID to
1079 the PROCID field of the CONTEXTIDR register, at the expense of some
1080 additional instructions during context switch. Say Y here only if you
1081 are planning to use hardware trace tools with this kernel.
1082
Linus Torvalds1da177e2005-04-16 15:20:36 -07001083endmenu