blob: a52884351e4f7ab3735518b98cd195255e8cc304 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001menu "Kernel hacking"
2
3source "lib/Kconfig.debug"
4
Russell King1fd15b82013-10-23 16:13:02 +01005config ARM_PTDUMP
6 bool "Export kernel pagetable layout to userspace via debugfs"
7 depends on DEBUG_KERNEL
8 select DEBUG_FS
9 ---help---
10 Say Y here if you want to show the kernel pagetable layout in a
11 debugfs file. This information is only useful for kernel developers
12 who are working in architecture specific areas of the kernel.
13 It is probably not a good idea to enable this feature in a production
14 kernel.
15 If in doubt, say "N"
16
Nicolas Pitre087aaff2010-09-22 18:34:36 -040017config STRICT_DEVMEM
18 bool "Filter access to /dev/mem"
19 depends on MMU
20 ---help---
21 If this option is disabled, you allow userspace (root) access to all
22 of memory, including kernel and userspace memory. Accidental
23 access to this is obviously disastrous, but specific access can
24 be used by people debugging the kernel.
25
26 If this option is switched on, the /dev/mem file only allows
27 userspace access to memory mapped peripherals.
28
29 If in doubt, say Y.
30
Catalin Marinasadf8b372009-02-12 13:56:34 +010031# RMK wants arm kernels compiled with frame pointers or stack unwinding.
Linus Torvalds1da177e2005-04-16 15:20:36 -070032# If you know what you are doing and are willing to live without stack
33# traces, you can get a slightly smaller kernel by setting this option to
34# n, but then RMK will have to kill you ;).
35config FRAME_POINTER
36 bool
Catalin Marinas16c79652009-07-24 12:33:02 +010037 depends on !THUMB2_KERNEL
Rabin Vincent0e341af2010-11-06 23:03:53 +053038 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
Linus Torvalds1da177e2005-04-16 15:20:36 -070039 help
40 If you say N here, the resulting kernel will be slightly smaller and
Catalin Marinasadf8b372009-02-12 13:56:34 +010041 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42 when a problem occurs with the kernel, the information that is
43 reported is severely limited.
44
45config ARM_UNWIND
Russell King4a50bfe2010-12-05 23:06:22 +000046 bool "Enable stack unwinding support (EXPERIMENTAL)"
Kees Cookd6f94fa2013-01-16 18:53:14 -080047 depends on AEABI
Catalin Marinasadf8b372009-02-12 13:56:34 +010048 default y
49 help
50 This option enables stack unwinding support in the kernel
51 using the information automatically generated by the
52 compiler. The resulting kernel image is slightly bigger but
53 the performance is not affected. Currently, this feature
54 only works with EABI compilers. If unsure say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -070055
Rabin Vincent09bfafa2010-08-10 19:32:37 +010056config OLD_MCOUNT
57 bool
58 depends on FUNCTION_TRACER && FRAME_POINTER
59 default y
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061config DEBUG_USER
62 bool "Verbose user fault messages"
63 help
64 When a user program crashes due to an exception, the kernel can
65 print a brief message explaining what the problem was. This is
66 sometimes helpful for debugging but serves no purpose on a
67 production system. Most people should say N here.
68
69 In addition, you need to pass user_debug=N on the kernel command
70 line to enable this feature. N consists of the sum of:
71
72 1 - undefined instruction events
73 2 - system calls
74 4 - invalid data aborts
75 8 - SIGSEGV faults
76 16 - SIGBUS faults
77
Linus Torvalds1da177e2005-04-16 15:20:36 -070078# These options are only for real kernel hackers who want to get their hands dirty.
79config DEBUG_LL
Will Deacon4f5ef922011-09-01 19:04:44 +010080 bool "Kernel low-level debugging functions (read help!)"
Linus Torvalds1da177e2005-04-16 15:20:36 -070081 depends on DEBUG_KERNEL
82 help
Russell King35efb602005-09-09 15:57:17 +010083 Say Y here to include definitions of printascii, printch, printhex
Linus Torvalds1da177e2005-04-16 15:20:36 -070084 in the kernel. This is helpful if you are debugging code that
85 executes before the console is initialized.
86
Will Deacon4f5ef922011-09-01 19:04:44 +010087 Note that selecting this option will limit the kernel to a single
88 UART definition, as specified below. Attempting to boot the kernel
89 image on a different platform *will not work*, so this option should
90 not be enabled for kernels that are intended to be portable.
91
Will Deacon17916b22011-09-01 18:58:51 +010092choice
93 prompt "Kernel low-level debugging port"
94 depends on DEBUG_LL
95
Jean-Christophe PLAGNIOL-VILLARD13079a72011-11-02 01:43:31 +080096 config AT91_DEBUG_LL_DBGU0
97 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
98 depends on HAVE_AT91_DBGU0
99
100 config AT91_DEBUG_LL_DBGU1
Jean-Christophe PLAGNIOL-VILLARD9918cea2012-01-26 14:07:09 +0100101 bool "Kernel low-level debugging on 9263 and 9g45"
Jean-Christophe PLAGNIOL-VILLARD13079a72011-11-02 01:43:31 +0800102 depends on HAVE_AT91_DBGU1
103
Nicolas Ferre2dc850b2014-09-15 18:15:54 +0200104 config AT91_DEBUG_LL_DBGU2
105 bool "Kernel low-level debugging on sama5d4"
106 depends on HAVE_AT91_DBGU2
107
Stephen Warrenf1ac9222013-03-11 22:40:18 -0600108 config DEBUG_BCM2835
109 bool "Kernel low-level debugging on BCM2835 PL011 UART"
110 depends on ARCH_BCM2835
Russell King5c972af2013-07-07 12:32:16 +0100111 select DEBUG_UART_PL01X
Stephen Warrenf1ac9222013-03-11 22:40:18 -0600112
Hauke Mehrtens06580272014-02-04 00:01:44 +0100113 config DEBUG_BCM_5301X
114 bool "Kernel low-level debugging on BCM5301X UART1"
115 depends on ARCH_BCM_5301X
Hauke Mehrtens140bd602014-09-14 21:43:40 +0200116 select DEBUG_UART_8250
Hauke Mehrtens06580272014-02-04 00:01:44 +0100117
Christian Daudt753d1242013-12-23 09:00:01 +0100118 config DEBUG_BCM_KONA_UART
119 bool "Kernel low-level debugging messages via BCM KONA UART"
Florian Fainelli7aa20772014-03-06 09:45:55 -0800120 depends on ARCH_BCM_MOBILE
Christian Daudt753d1242013-12-23 09:00:01 +0100121 select DEBUG_UART_8250
122 help
123 Say Y here if you want kernel low-level debugging support
124 on Broadcom SoC platforms.
125 This low level debug works for Broadcom
126 mobile SoCs in the Kona family of chips (e.g. bcm28155,
127 bcm11351, etc...)
128
Florian Fainellib51312b2014-01-08 09:19:50 -0800129 config DEBUG_BCM63XX
130 bool "Kernel low-level debugging on BCM63XX UART"
131 depends on ARCH_BCM_63XX
132 select DEBUG_UART_BCM63XX
133
Sebastian Hesselbarthcaad0b42013-09-09 14:10:54 +0200134 config DEBUG_BERLIN_UART
135 bool "Marvell Berlin SoC Debug UART"
136 depends on ARCH_BERLIN
137 select DEBUG_UART_8250
138 help
139 Say Y here if you want kernel low-level debugging support
140 on Marvell Berlin SoC based platforms.
141
Marc Carino81b43a62014-08-13 15:50:02 -0700142 config DEBUG_BRCMSTB_UART
143 bool "Use BRCMSTB UART for low-level debug"
144 depends on ARCH_BRCMSTB
145 select DEBUG_UART_8250
146 help
147 Say Y here if you want the debug print routines to direct
148 their output to the first serial port on these devices.
149
150 If you have a Broadcom STB chip and would like early print
151 messages to appear over the UART, select this option.
152
Stephen Boyd164acf92011-09-22 20:28:35 +0100153 config DEBUG_CLPS711X_UART1
154 bool "Kernel low-level debugging messages via UART1"
155 depends on ARCH_CLPS711X
156 help
157 Say Y here if you want the debug print routines to direct
158 their output to the first serial port on these devices.
Will Deacon17916b22011-09-01 18:58:51 +0100159
160 config DEBUG_CLPS711X_UART2
161 bool "Kernel low-level debugging messages via UART2"
162 depends on ARCH_CLPS711X
163 help
164 Say Y here if you want the debug print routines to direct
165 their output to the second serial port on these devices.
Will Deacon17916b22011-09-01 18:58:51 +0100166
Arnd Bergmann29c9b7b2013-03-14 16:02:59 +0100167 config DEBUG_CNS3XXX
168 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
169 depends on ARCH_CNS3XXX
Krzysztof Hałasab1251702014-09-16 12:35:10 +0200170 select DEBUG_UART_8250
Arnd Bergmann29c9b7b2013-03-14 16:02:59 +0100171 help
172 Say Y here if you want the debug print routines to direct
173 their output to the CNS3xxx UART0.
174
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100175 config DEBUG_DAVINCI_DA8XX_UART1
176 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
177 depends on ARCH_DAVINCI_DA8XX
Russell King97bd1a42013-07-07 16:18:34 +0100178 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100179 help
180 Say Y here if you want the debug print routines to direct
181 their output to UART1 serial port on DaVinci DA8XX devices.
182
183 config DEBUG_DAVINCI_DA8XX_UART2
184 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
185 depends on ARCH_DAVINCI_DA8XX
Russell King97bd1a42013-07-07 16:18:34 +0100186 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100187 help
188 Say Y here if you want the debug print routines to direct
189 their output to UART2 serial port on DaVinci DA8XX devices.
190
191 config DEBUG_DAVINCI_DMx_UART0
192 bool "Kernel low-level debugging on DaVinci DMx using UART0"
193 depends on ARCH_DAVINCI_DMx
Russell King97bd1a42013-07-07 16:18:34 +0100194 select DEBUG_UART_8250
Uwe Kleine-König477099f2012-03-22 10:29:23 +0100195 help
196 Say Y here if you want the debug print routines to direct
197 their output to UART0 serial port on DaVinci DMx devices.
198
Nick Bowleraaf5e0b2012-11-05 16:45:49 -0500199 config DEBUG_ZYNQ_UART0
200 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
201 depends on ARCH_ZYNQ
202 help
203 Say Y here if you want the debug print routines to direct
204 their output to UART0 on the Zynq platform.
205
206 config DEBUG_ZYNQ_UART1
207 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
208 depends on ARCH_ZYNQ
209 help
210 Say Y here if you want the debug print routines to direct
211 their output to UART1 on the Zynq platform.
212
213 If you have a ZC702 board and want early boot messages to
214 appear on the USB serial adaptor, select this option.
215
Russell Kinge76f4752011-11-23 17:44:05 +0000216 config DEBUG_DC21285_PORT
217 bool "Kernel low-level debugging messages via footbridge serial port"
218 depends on FOOTBRIDGE
219 help
220 Say Y here if you want the debug print routines to direct
221 their output to the serial port in the DC21285 (Footbridge).
222
223 config DEBUG_FOOTBRIDGE_COM1
224 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
225 depends on FOOTBRIDGE
226 help
227 Say Y here if you want the debug print routines to direct
228 their output to the 8250 at PCI COM1.
229
Haojian Zhuang8d258be2013-08-24 06:58:39 +0100230 config DEBUG_HI3620_UART
231 bool "Hisilicon HI3620 Debug UART"
232 depends on ARCH_HI3xxx
233 select DEBUG_UART_PL01X
234 help
235 Say Y here if you want kernel low-level debugging support
236 on HI3620 UART.
237
238 config DEBUG_HI3716_UART
239 bool "Hisilicon Hi3716 Debug UART"
240 depends on ARCH_HI3xxx
241 select DEBUG_UART_PL01X
242 help
243 Say Y here if you want kernel low-level debugging support
244 on HI3716 UART.
245
Rob Herring220e6cf2011-06-07 10:02:55 -0500246 config DEBUG_HIGHBANK_UART
247 bool "Kernel low-level debugging messages via Highbank UART"
248 depends on ARCH_HIGHBANK
Russell King5c972af2013-07-07 12:32:16 +0100249 select DEBUG_UART_PL01X
Rob Herring220e6cf2011-06-07 10:02:55 -0500250 help
251 Say Y here if you want the debug print routines to direct
252 their output to the UART on Highbank based devices.
253
Haojian Zhuangc9a1df42013-12-20 15:01:41 +0800254 config DEBUG_HIP04_UART
255 bool "Hisilicon HiP04 Debug UART"
256 depends on ARCH_HIP04
257 select DEBUG_UART_8250
258 help
259 Say Y here if you want kernel low-level debugging support
260 on HIP04 UART.
261
Olof Johansson37bdaf82014-09-23 22:21:54 -0700262 config DEBUG_HIX5HD2_UART
263 bool "Hisilicon Hix5hd2 Debug UART"
264 depends on ARCH_HIX5HD2
Catalin Marinas93fd03a2009-12-09 10:02:18 +0000265 select DEBUG_UART_PL01X
266 help
Olof Johansson37bdaf82014-09-23 22:21:54 -0700267 Say Y here if you want kernel low-level debugging support
268 on Hix5hd2 UART.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700269
Shawn Guof350b862011-08-19 05:56:59 +0100270 config DEBUG_IMX1_UART
271 bool "i.MX1 Debug UART"
272 depends on SOC_IMX1
273 help
274 Say Y here if you want kernel low-level debugging support
275 on i.MX1.
276
277 config DEBUG_IMX23_UART
278 bool "i.MX23 Debug UART"
279 depends on SOC_IMX23
Russell King5c972af2013-07-07 12:32:16 +0100280 select DEBUG_UART_PL01X
Shawn Guof350b862011-08-19 05:56:59 +0100281 help
282 Say Y here if you want kernel low-level debugging support
283 on i.MX23.
284
285 config DEBUG_IMX25_UART
286 bool "i.MX25 Debug UART"
287 depends on SOC_IMX25
288 help
289 Say Y here if you want kernel low-level debugging support
290 on i.MX25.
291
292 config DEBUG_IMX21_IMX27_UART
293 bool "i.MX21 and i.MX27 Debug UART"
294 depends on SOC_IMX21 || SOC_IMX27
295 help
296 Say Y here if you want kernel low-level debugging support
297 on i.MX21 or i.MX27.
298
299 config DEBUG_IMX28_UART
300 bool "i.MX28 Debug UART"
301 depends on SOC_IMX28
Russell King5c972af2013-07-07 12:32:16 +0100302 select DEBUG_UART_PL01X
Shawn Guof350b862011-08-19 05:56:59 +0100303 help
304 Say Y here if you want kernel low-level debugging support
305 on i.MX28.
306
Shawn Guo4ad625d2012-12-12 18:54:01 +0800307 config DEBUG_IMX31_UART
308 bool "i.MX31 Debug UART"
309 depends on SOC_IMX31
Shawn Guof350b862011-08-19 05:56:59 +0100310 help
311 Say Y here if you want kernel low-level debugging support
Shawn Guo4ad625d2012-12-12 18:54:01 +0800312 on i.MX31.
313
314 config DEBUG_IMX35_UART
315 bool "i.MX35 Debug UART"
316 depends on SOC_IMX35
317 help
318 Say Y here if you want kernel low-level debugging support
319 on i.MX35.
Shawn Guof350b862011-08-19 05:56:59 +0100320
Greg Ungererad364a72013-10-29 15:15:51 +1000321 config DEBUG_IMX50_UART
322 bool "i.MX50 Debug UART"
323 depends on SOC_IMX50
324 help
325 Say Y here if you want kernel low-level debugging support
326 on i.MX50.
327
Shawn Guof350b862011-08-19 05:56:59 +0100328 config DEBUG_IMX51_UART
329 bool "i.MX51 Debug UART"
330 depends on SOC_IMX51
331 help
332 Say Y here if you want kernel low-level debugging support
333 on i.MX51.
334
Fabio Estevam7356420c2013-01-22 10:40:55 -0200335 config DEBUG_IMX53_UART
336 bool "i.MX53 Debug UART"
337 depends on SOC_IMX53
Shawn Guof350b862011-08-19 05:56:59 +0100338 help
339 Say Y here if you want kernel low-level debugging support
Fabio Estevam7356420c2013-01-22 10:40:55 -0200340 on i.MX53.
Shawn Guof350b862011-08-19 05:56:59 +0100341
Shawn Guo49c9e602012-10-08 13:44:29 +0800342 config DEBUG_IMX6Q_UART
Shawn Guo3c03a2f2013-04-01 22:13:32 +0800343 bool "i.MX6Q/DL Debug UART"
Dirk Behme785d7fa2012-04-27 10:15:45 +0200344 depends on SOC_IMX6Q
345 help
346 Say Y here if you want kernel low-level debugging support
Shawn Guo3c03a2f2013-04-01 22:13:32 +0800347 on i.MX6Q/DL.
Shawn Guobac89d72011-10-02 15:09:11 +0800348
Shawn Guo34e8a162013-05-03 11:21:03 +0800349 config DEBUG_IMX6SL_UART
350 bool "i.MX6SL Debug UART"
351 depends on SOC_IMX6SL
352 help
353 Say Y here if you want kernel low-level debugging support
354 on i.MX6SL.
355
Shawn Guo74368e82014-05-11 21:53:48 +0800356 config DEBUG_IMX6SX_UART
357 bool "i.MX6SX Debug UART"
358 depends on SOC_IMX6SX
359 help
360 Say Y here if you want kernel low-level debugging support
361 on i.MX6SX.
362
Santosh Shilimkar828989a2013-06-10 11:27:13 -0400363 config DEBUG_KEYSTONE_UART0
364 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
365 depends on ARCH_KEYSTONE
Russell Kingf2acf002013-07-07 16:05:49 +0100366 select DEBUG_UART_8250
Santosh Shilimkar828989a2013-06-10 11:27:13 -0400367 help
368 Say Y here if you want the debug print routines to direct
369 their output to UART0 serial port on KEYSTONE2 devices.
370
371 config DEBUG_KEYSTONE_UART1
372 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
373 depends on ARCH_KEYSTONE
Russell Kingf2acf002013-07-07 16:05:49 +0100374 select DEBUG_UART_8250
Santosh Shilimkar828989a2013-06-10 11:27:13 -0400375 help
376 Say Y here if you want the debug print routines to direct
377 their output to UART1 serial port on KEYSTONE2 devices.
378
Carlo Caioned8a00912014-09-09 21:38:00 +0200379 config DEBUG_MESON_UARTAO
380 bool "Kernel low-level debugging via Meson6 UARTAO"
381 depends on ARCH_MESON
382 help
383 Say Y here if you want kernel low-lever debugging support
384 on Amlogic Meson6 based platforms on the UARTAO.
385
Haojian Zhuangfa4cd2a2012-08-10 23:49:41 +0800386 config DEBUG_MMP_UART2
387 bool "Kernel low-level debugging message via MMP UART2"
388 depends on ARCH_MMP
Russell King4a0036472013-07-06 23:13:15 +0100389 select DEBUG_UART_8250
Haojian Zhuangfa4cd2a2012-08-10 23:49:41 +0800390 help
391 Say Y here if you want kernel low-level debugging support
392 on MMP UART2.
393
394 config DEBUG_MMP_UART3
395 bool "Kernel low-level debugging message via MMP UART3"
396 depends on ARCH_MMP
Russell King4a0036472013-07-06 23:13:15 +0100397 select DEBUG_UART_8250
Haojian Zhuangfa4cd2a2012-08-10 23:49:41 +0800398 help
399 Say Y here if you want kernel low-level debugging support
400 on MMP UART3.
401
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300402 config DEBUG_MSM_UART
403 bool "Kernel low-level debugging messages via MSM UART"
404 depends on ARCH_MSM
Stephen Boyd650e3f02011-11-08 10:33:03 -0800405 help
406 Say Y here if you want the debug print routines to direct
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300407 their output to the serial port on MSM devices.
Stephen Boyd650e3f02011-11-08 10:33:03 -0800408
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300409 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
410 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
411 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
412 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
Stephen Boyd650e3f02011-11-08 10:33:03 -0800413
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300414 MSM7X30 0xaca00000 0xe1000000 UART1
415 MSM7X30 0xacb00000 0xe1000000 UART2
416 MSM7X30 0xacc00000 0xe1000000 UART3
Stephen Boyd650e3f02011-11-08 10:33:03 -0800417
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300418 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
419 options based on your needs.
Stephen Boyda3d3ef92011-11-08 10:33:04 -0800420
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300421 config DEBUG_QCOM_UARTDM
422 bool "Kernel low-level debugging messages via QCOM UARTDM"
423 depends on ARCH_QCOM
Stephen Boyda3d3ef92011-11-08 10:33:04 -0800424 help
425 Say Y here if you want the debug print routines to direct
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300426 their output to the serial port on Qualcomm devices.
Stephen Boyda3d3ef92011-11-08 10:33:04 -0800427
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300428 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
Georgi Djakov2f528dd2014-05-23 18:12:32 +0300429 APQ8084 0xf995e000 0xfa75e000
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +0300430 MSM8X60 0x19c40000 0xf0040000
431 MSM8960 0x16440000 0xf0040000
432 MSM8974 0xf991e000 0xfa71e000
433
434 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
435 options based on your needs.
Rohit Vaswani3c8828f2013-10-17 22:15:35 +0100436
Rob Herringbfd5af92012-09-02 14:41:34 -0500437 config DEBUG_MVEBU_UART
Thomas Petazzonic2804cd2013-06-05 09:05:00 +0200438 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
Rob Herringbfd5af92012-09-02 14:41:34 -0500439 depends on ARCH_MVEBU
Russell King4a0036472013-07-06 23:13:15 +0100440 select DEBUG_UART_8250
Rob Herringbfd5af92012-09-02 14:41:34 -0500441 help
442 Say Y here if you want kernel low-level debugging support
443 on MVEBU based platforms.
444
Thomas Petazzonic2804cd2013-06-05 09:05:00 +0200445 This option should be used with the old bootloaders
446 that left the internal registers mapped at
447 0xd0000000. As of today, this is the case on
448 platforms such as the Globalscale Mirabox or the
449 Plathome OpenBlocks AX3, when using the original
450 bootloader.
451
452 If the wrong DEBUG_MVEBU_UART* option is selected,
453 when u-boot hands over to the kernel, the system
454 silently crashes, with no serial output at all.
455
456 config DEBUG_MVEBU_UART_ALTERNATE
457 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
458 depends on ARCH_MVEBU
Russell King4a0036472013-07-06 23:13:15 +0100459 select DEBUG_UART_8250
Thomas Petazzonic2804cd2013-06-05 09:05:00 +0200460 help
461 Say Y here if you want kernel low-level debugging support
462 on MVEBU based platforms.
463
464 This option should be used with the new bootloaders
465 that remap the internal registers at 0xf1000000.
466
467 If the wrong DEBUG_MVEBU_UART* option is selected,
468 when u-boot hands over to the kernel, the system
469 silently crashes, with no serial output at all.
470
Shawn Guoc7c3eac2013-05-12 17:22:17 +0800471 config DEBUG_VF_UART
472 bool "Vybrid UART"
473 depends on SOC_VF610
474 help
475 Say Y here if you want kernel low-level debugging support
476 on Vybrid based platforms.
477
Linus Walleij266c3472013-02-27 22:39:57 +0100478 config DEBUG_NOMADIK_UART
479 bool "Kernel low-level debugging messages via NOMADIK UART"
480 depends on ARCH_NOMADIK
Russell King5c972af2013-07-07 12:32:16 +0100481 select DEBUG_UART_PL01X
Linus Walleij266c3472013-02-27 22:39:57 +0100482 help
483 Say Y here if you want kernel low-level debugging support
484 on NOMADIK based platforms.
485
Daniel Tang9851ca52013-06-11 18:40:17 +1000486 config DEBUG_NSPIRE_CLASSIC_UART
487 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
488 depends on ARCH_NSPIRE
Russell King4a0036472013-07-06 23:13:15 +0100489 select DEBUG_UART_8250
Daniel Tang9851ca52013-06-11 18:40:17 +1000490 help
491 Say Y here if you want kernel low-level debugging support
492 on TI-NSPIRE classic models.
493
494 config DEBUG_NSPIRE_CX_UART
495 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
496 depends on ARCH_NSPIRE
Russell King5c972af2013-07-07 12:32:16 +0100497 select DEBUG_UART_PL01X
Daniel Tang9851ca52013-06-11 18:40:17 +1000498 help
499 Say Y here if you want kernel low-level debugging support
500 on TI-NSPIRE CX models.
501
Russell Kingcce278d2013-07-06 14:23:30 +0100502 config DEBUG_OMAP2UART1
503 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
Tony Lindgren808b7e02013-01-11 11:24:19 -0800504 depends on ARCH_OMAP2PLUS
Russell Kingcce278d2013-07-06 14:23:30 +0100505 select DEBUG_OMAP2PLUS_UART
Tony Lindgren808b7e02013-01-11 11:24:19 -0800506 help
Russell Kingcce278d2013-07-06 14:23:30 +0100507 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
508 omap3 torpedo and 3530 lv som.
509
510 config DEBUG_OMAP2UART2
511 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
512 depends on ARCH_OMAP2PLUS
513 select DEBUG_OMAP2PLUS_UART
514
515 config DEBUG_OMAP2UART3
516 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
517 depends on ARCH_OMAP2PLUS
518 select DEBUG_OMAP2PLUS_UART
519
520 config DEBUG_OMAP3UART3
521 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
522 depends on ARCH_OMAP2PLUS
523 select DEBUG_OMAP2PLUS_UART
524 help
525 This covers at least cm_t3x, beagle, crane, devkit8000,
526 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
527 and 3517evm.
528
529 config DEBUG_OMAP4UART3
530 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
531 depends on ARCH_OMAP2PLUS
532 select DEBUG_OMAP2PLUS_UART
533
534 config DEBUG_OMAP3UART4
535 bool "Kernel low-level debugging messages via OMAP36XX UART4"
536 depends on ARCH_OMAP2PLUS
537 select DEBUG_OMAP2PLUS_UART
538
539 config DEBUG_OMAP4UART4
540 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
541 depends on ARCH_OMAP2PLUS
542 select DEBUG_OMAP2PLUS_UART
543
544 config DEBUG_TI81XXUART1
545 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
546 depends on ARCH_OMAP2PLUS
547 select DEBUG_OMAP2PLUS_UART
548
549 config DEBUG_TI81XXUART2
550 bool "Kernel low-level debugging messages via TI81XX UART2"
551 depends on ARCH_OMAP2PLUS
552 select DEBUG_OMAP2PLUS_UART
553
554 config DEBUG_TI81XXUART3
555 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
556 depends on ARCH_OMAP2PLUS
557 select DEBUG_OMAP2PLUS_UART
558
559 config DEBUG_AM33XXUART1
560 bool "Kernel low-level debugging messages via AM33XX UART1"
561 depends on ARCH_OMAP2PLUS
562 select DEBUG_OMAP2PLUS_UART
563
564 config DEBUG_ZOOM_UART
565 bool "Kernel low-level debugging messages via Zoom2/3 UART"
566 depends on ARCH_OMAP2PLUS
567 select DEBUG_OMAP2PLUS_UART
Tony Lindgren808b7e02013-01-11 11:24:19 -0800568
Rob Herring59bba2a2012-09-06 14:14:46 -0500569 config DEBUG_PICOXCELL_UART
570 depends on ARCH_PICOXCELL
571 bool "Use PicoXcell UART for low-level debug"
Russell King0b4cccb2013-07-07 11:42:46 +0100572 select DEBUG_UART_8250
Rob Herring59bba2a2012-09-06 14:14:46 -0500573 help
574 Say Y here if you want kernel low-level debugging support
575 on PicoXcell based platforms.
576
Haojian Zhuang0a43cd3b2013-04-10 11:17:04 +0800577 config DEBUG_PXA_UART1
578 depends on ARCH_PXA
579 bool "Use PXA UART1 for low-level debug"
Russell King4a0036472013-07-06 23:13:15 +0100580 select DEBUG_UART_8250
Haojian Zhuang0a43cd3b2013-04-10 11:17:04 +0800581 help
582 Say Y here if you want kernel low-level debugging support
583 on PXA UART1.
584
Russell Kinge76f4752011-11-23 17:44:05 +0000585 config DEBUG_REALVIEW_STD_PORT
586 bool "RealView Default UART"
587 depends on ARCH_REALVIEW
Russell King5c972af2013-07-07 12:32:16 +0100588 select DEBUG_UART_PL01X
Russell Kinge76f4752011-11-23 17:44:05 +0000589 help
590 Say Y here if you want the debug print routines to direct
591 their output to the serial port on RealView EB, PB11MP, PBA8
592 and PBX platforms.
593
594 config DEBUG_REALVIEW_PB1176_PORT
595 bool "RealView PB1176 UART"
596 depends on MACH_REALVIEW_PB1176
Russell King5c972af2013-07-07 12:32:16 +0100597 select DEBUG_UART_PL01X
Russell Kinge76f4752011-11-23 17:44:05 +0000598 help
599 Say Y here if you want the debug print routines to direct
600 their output to the standard serial port on the RealView
601 PB1176 platform.
602
Russell Kingcce278d2013-07-06 14:23:30 +0100603 config DEBUG_RK29_UART0
604 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
Heiko Stuebner38bd6892013-05-28 22:13:52 +0200605 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100606 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100607 help
608 Say Y here if you want kernel low-level debugging support
609 on Rockchip based platforms.
610
611 config DEBUG_RK29_UART1
612 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
613 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100614 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100615 help
616 Say Y here if you want kernel low-level debugging support
617 on Rockchip based platforms.
618
619 config DEBUG_RK29_UART2
620 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
621 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100622 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100623 help
624 Say Y here if you want kernel low-level debugging support
625 on Rockchip based platforms.
626
627 config DEBUG_RK3X_UART0
Heiko Stuebneraa9c4f72014-07-16 17:08:14 +0200628 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
Russell Kingcce278d2013-07-06 14:23:30 +0100629 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100630 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100631 help
632 Say Y here if you want kernel low-level debugging support
633 on Rockchip based platforms.
634
635 config DEBUG_RK3X_UART1
Heiko Stuebneraa9c4f72014-07-16 17:08:14 +0200636 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
Russell Kingcce278d2013-07-06 14:23:30 +0100637 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100638 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100639 help
640 Say Y here if you want kernel low-level debugging support
641 on Rockchip based platforms.
642
643 config DEBUG_RK3X_UART2
Heiko Stuebneraa9c4f72014-07-16 17:08:14 +0200644 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
Russell Kingcce278d2013-07-06 14:23:30 +0100645 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100646 select DEBUG_UART_8250
Russell Kingcce278d2013-07-06 14:23:30 +0100647 help
648 Say Y here if you want kernel low-level debugging support
649 on Rockchip based platforms.
650
651 config DEBUG_RK3X_UART3
Heiko Stuebneraa9c4f72014-07-16 17:08:14 +0200652 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
Russell Kingcce278d2013-07-06 14:23:30 +0100653 depends on ARCH_ROCKCHIP
Russell King4a0036472013-07-06 23:13:15 +0100654 select DEBUG_UART_8250
Heiko Stuebner38bd6892013-05-28 22:13:52 +0200655 help
656 Say Y here if you want kernel low-level debugging support
657 on Rockchip based platforms.
658
Heiko Stuebnerefd02ee2014-06-28 13:31:17 +0200659 config DEBUG_RK32_UART2
660 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
661 depends on ARCH_ROCKCHIP
662 select DEBUG_UART_8250
663 help
664 Say Y here if you want kernel low-level debugging support
665 on Rockchip RK32xx based platforms.
666
Russell Kinge76f4752011-11-23 17:44:05 +0000667 config DEBUG_S3C_UART0
668 depends on PLAT_SAMSUNG
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100669 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
Heiko Stuebner1899de22014-05-16 06:59:18 +0900670 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
Tomasz Figa7bab7d9e2014-07-03 14:39:41 +0200671 select DEBUG_S5PV210_UART if ARCH_S5PV210
Sachin Kamat5cc8a012014-07-05 06:27:45 +0900672 bool "Use Samsung S3C UART 0 for low-level debug"
Russell Kinge76f4752011-11-23 17:44:05 +0000673 help
674 Say Y here if you want the debug print routines to direct
675 their output to UART 0. The port must have been initialised
676 by the boot-loader before use.
677
Russell Kinge76f4752011-11-23 17:44:05 +0000678 config DEBUG_S3C_UART1
679 depends on PLAT_SAMSUNG
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100680 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
Heiko Stuebner1899de22014-05-16 06:59:18 +0900681 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
Tomasz Figa7bab7d9e2014-07-03 14:39:41 +0200682 select DEBUG_S5PV210_UART if ARCH_S5PV210
Sachin Kamat5cc8a012014-07-05 06:27:45 +0900683 bool "Use Samsung S3C UART 1 for low-level debug"
Russell Kinge76f4752011-11-23 17:44:05 +0000684 help
685 Say Y here if you want the debug print routines to direct
686 their output to UART 1. The port must have been initialised
687 by the boot-loader before use.
688
Russell Kinge76f4752011-11-23 17:44:05 +0000689 config DEBUG_S3C_UART2
690 depends on PLAT_SAMSUNG
Arnd Bergmanna2e40712013-03-04 18:03:10 +0100691 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
Heiko Stuebner1899de22014-05-16 06:59:18 +0900692 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
Tomasz Figa7bab7d9e2014-07-03 14:39:41 +0200693 select DEBUG_S5PV210_UART if ARCH_S5PV210
Sachin Kamat5cc8a012014-07-05 06:27:45 +0900694 bool "Use Samsung S3C UART 2 for low-level debug"
Russell Kinge76f4752011-11-23 17:44:05 +0000695 help
696 Say Y here if you want the debug print routines to direct
697 their output to UART 2. The port must have been initialised
698 by the boot-loader before use.
699
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900700 config DEBUG_S3C_UART3
Tomasz Figa7bab7d9e2014-07-03 14:39:41 +0200701 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
702 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
703 select DEBUG_S5PV210_UART if ARCH_S5PV210
Sachin Kamat5cc8a012014-07-05 06:27:45 +0900704 bool "Use Samsung S3C UART 3 for low-level debug"
Olof Johansson5fa23dd2012-11-22 14:24:04 +0900705 help
706 Say Y here if you want the debug print routines to direct
707 their output to UART 3. The port must have been initialised
708 by the boot-loader before use.
709
Heiko Stuebnerdaf67df2014-05-16 06:59:18 +0900710 config DEBUG_S3C2410_UART0
711 depends on ARCH_S3C24XX
712 select DEBUG_S3C2410_UART
713 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
714 help
715 Say Y here if you want the debug print routines to direct
716 their output to UART 0. The port must have been initialised
717 by the boot-loader before use.
718
719 config DEBUG_S3C2410_UART1
720 depends on ARCH_S3C24XX
721 select DEBUG_S3C2410_UART
722 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
723 help
724 Say Y here if you want the debug print routines to direct
725 their output to UART 1. The port must have been initialised
726 by the boot-loader before use.
727
728 config DEBUG_S3C2410_UART2
729 depends on ARCH_S3C24XX
730 select DEBUG_S3C2410_UART
731 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
732 help
733 Say Y here if you want the debug print routines to direct
734 their output to UART 2. The port must have been initialised
735 by the boot-loader before use.
736
Dmitry Eremin-Solenikove6131fa2014-11-06 10:20:23 +0300737 config DEBUG_SA1100
738 depends on ARCH_SA1100
739 bool "Use SA1100 UARTs for low-level debug"
740 help
741 Say Y here if you want kernel low-level debugging support
742 on SA-11x0 UART ports. The kernel will check for the first
743 enabled UART in a sequence 3-1-2.
744
Rob Herring6111bf72012-09-06 14:11:28 -0500745 config DEBUG_SOCFPGA_UART
746 depends on ARCH_SOCFPGA
747 bool "Use SOCFPGA UART for low-level debug"
Russell King0b4cccb2013-07-07 11:42:46 +0100748 select DEBUG_UART_8250
Rob Herring6111bf72012-09-06 14:11:28 -0500749 help
750 Say Y here if you want kernel low-level debugging support
751 on SOCFPGA based platforms.
752
Chen-Yu Tsaid4da8892014-09-24 22:48:56 +0800753 config DEBUG_SUN9I_UART0
754 bool "Kernel low-level debugging messages via sun9i UART0"
755 depends on MACH_SUN9I
756 select DEBUG_UART_8250
757 help
758 Say Y here if you want kernel low-level debugging support
759 on Allwinner A80 based platforms on the UART0.
760
Stefan Roeseaa251152012-11-19 12:09:41 +0100761 config DEBUG_SUNXI_UART0
762 bool "Kernel low-level debugging messages via sunXi UART0"
763 depends on ARCH_SUNXI
Russell King4a0036472013-07-06 23:13:15 +0100764 select DEBUG_UART_8250
Stefan Roeseaa251152012-11-19 12:09:41 +0100765 help
766 Say Y here if you want kernel low-level debugging support
767 on Allwinner A1X based platforms on the UART0.
768
Maxime Ripardcb84fa12012-11-08 12:40:49 +0100769 config DEBUG_SUNXI_UART1
770 bool "Kernel low-level debugging messages via sunXi UART1"
771 depends on ARCH_SUNXI
Russell King4a0036472013-07-06 23:13:15 +0100772 select DEBUG_UART_8250
Maxime Ripardcb84fa12012-11-08 12:40:49 +0100773 help
774 Say Y here if you want kernel low-level debugging support
775 on Allwinner A1X based platforms on the UART1.
776
Chen-Yu Tsaic4718542014-06-20 22:52:51 +0800777 config DEBUG_SUNXI_R_UART
778 bool "Kernel low-level debugging messages via sunXi R_UART"
779 depends on MACH_SUN6I || MACH_SUN8I
780 select DEBUG_UART_8250
781 help
782 Say Y here if you want kernel low-level debugging support
783 on Allwinner A31/A23 based platforms on the R_UART.
784
Russell Kingcce278d2013-07-06 14:23:30 +0100785 config TEGRA_DEBUG_UART_AUTO_ODMDATA
786 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
Stephen Warren46067802012-09-25 15:54:56 -0600787 depends on ARCH_TEGRA
Russell Kingcce278d2013-07-06 14:23:30 +0100788 select DEBUG_TEGRA_UART
789 help
790 Automatically determines which UART to use for low-level
791 debug based on the ODMDATA value. This value is part of
792 the BCT, and is written to the boot memory device using
793 nvflash, or other flashing tool. When bits 19:18 are 3,
794 then bits 17:15 indicate which UART to use; 0/1/2/3/4
795 are UART A/B/C/D/E.
796
797 config TEGRA_DEBUG_UARTA
798 bool "Kernel low-level debugging messages via Tegra UART A"
799 depends on ARCH_TEGRA
800 select DEBUG_TEGRA_UART
801 help
802 Say Y here if you want kernel low-level debugging support
803 on Tegra based platforms.
804
805 config TEGRA_DEBUG_UARTB
806 bool "Kernel low-level debugging messages via Tegra UART B"
807 depends on ARCH_TEGRA
808 select DEBUG_TEGRA_UART
809 help
810 Say Y here if you want kernel low-level debugging support
811 on Tegra based platforms.
812
813 config TEGRA_DEBUG_UARTC
814 bool "Kernel low-level debugging messages via Tegra UART C"
815 depends on ARCH_TEGRA
816 select DEBUG_TEGRA_UART
817 help
818 Say Y here if you want kernel low-level debugging support
819 on Tegra based platforms.
820
821 config TEGRA_DEBUG_UARTD
822 bool "Kernel low-level debugging messages via Tegra UART D"
823 depends on ARCH_TEGRA
824 select DEBUG_TEGRA_UART
825 help
826 Say Y here if you want kernel low-level debugging support
827 on Tegra based platforms.
828
829 config TEGRA_DEBUG_UARTE
830 bool "Kernel low-level debugging messages via Tegra UART E"
831 depends on ARCH_TEGRA
832 select DEBUG_TEGRA_UART
Stephen Warren46067802012-09-25 15:54:56 -0600833 help
834 Say Y here if you want kernel low-level debugging support
835 on Tegra based platforms.
836
Barry Song7f46a102012-12-20 19:45:25 +0800837 config DEBUG_SIRFPRIMA2_UART1
838 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
839 depends on ARCH_PRIMA2
840 help
841 Say Y here if you want the debug print routines to direct
842 their output to the uart1 port on SiRFprimaII devices.
843
844 config DEBUG_SIRFMARCO_UART1
845 bool "Kernel low-level debugging messages via SiRFmarco UART1"
846 depends on ARCH_MARCO
847 help
848 Say Y here if you want the debug print routines to direct
849 their output to the uart1 port on SiRFmarco devices.
850
Russell Kingcce278d2013-07-06 14:23:30 +0100851 config STIH41X_DEBUG_ASC2
852 bool "Use StiH415/416 ASC2 UART for low-level debug"
Arnd Bergmann5562b802013-07-05 16:08:44 +0200853 depends on ARCH_STI
Russell Kingcce278d2013-07-06 14:23:30 +0100854 select DEBUG_STI_UART
Arnd Bergmann5562b802013-07-05 16:08:44 +0200855 help
856 Say Y here if you want kernel low-level debugging support
Russell Kingcce278d2013-07-06 14:23:30 +0100857 on STiH415/416 based platforms like b2000, which has
858 default UART wired up to ASC2.
859
860 If unsure, say N.
861
862 config STIH41X_DEBUG_SBC_ASC1
863 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
864 depends on ARCH_STI
865 select DEBUG_STI_UART
866 help
867 Say Y here if you want kernel low-level debugging support
868 on STiH415/416 based platforms like b2020. which has
869 default UART wired up to SBC ASC1.
Arnd Bergmann5562b802013-07-05 16:08:44 +0200870
871 If unsure, say N.
872
Linus Walleijdd324da2013-05-02 16:34:19 +0200873 config DEBUG_U300_UART
874 bool "Kernel low-level debugging messages via U300 UART0"
875 depends on ARCH_U300
Russell King5c972af2013-07-07 12:32:16 +0100876 select DEBUG_UART_PL01X
Linus Walleijdd324da2013-05-02 16:34:19 +0200877 help
878 Say Y here if you want the debug print routines to direct
879 their output to the uart port on U300 devices.
880
Linus Walleijf87b95d2013-03-19 11:01:36 +0100881 config DEBUG_UX500_UART
882 depends on ARCH_U8500
883 bool "Use Ux500 UART for low-level debug"
884 help
885 Say Y here if you want kernel low-level debugging support
886 on Ux500 based platforms.
887
Matthias Bruggerd6682082014-08-18 16:58:00 +0200888 config DEBUG_MT6589_UART0
889 bool "Mediatek mt6589 UART0"
890 depends on ARCH_MEDIATEK
891 select DEBUG_UART_8250
892 help
893 Say Y here if you want kernel low-level debugging support
894 for Mediatek mt6589 based platforms on UART0.
895
Joe.C65ec48c2014-11-04 15:30:54 +0800896 config DEBUG_MT8127_UART0
897 bool "Mediatek mt8127 UART0"
898 depends on ARCH_MEDIATEK
899 select DEBUG_UART_8250
900 help
901 Say Y here if you want kernel low-level debugging support
902 for Mediatek mt8127 based platforms on UART0.
903
904 config DEBUG_MT8135_UART3
905 bool "Mediatek mt8135 UART3"
906 depends on ARCH_MEDIATEK
907 select DEBUG_UART_8250
908 help
909 Say Y here if you want kernel low-level debugging support
910 for Mediatek mt8135 based platforms on UART3.
911
Pawel Moll1b820ea2012-07-11 17:07:25 +0100912 config DEBUG_VEXPRESS_UART0_DETECT
913 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
914 depends on ARCH_VEXPRESS && CPU_CP15_MMU
915 help
916 This option enables a simple heuristic which tries to determine
917 the motherboard's memory map variant (original or RS1) and then
918 choose the relevant UART0 base address.
919
920 Note that this will only work with standard A-class core tiles,
921 and may fail with non-standard SMM or custom software models.
922
923 config DEBUG_VEXPRESS_UART0_CA9
924 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
925 depends on ARCH_VEXPRESS
Russell King5c972af2013-07-07 12:32:16 +0100926 select DEBUG_UART_PL01X
Pawel Moll1b820ea2012-07-11 17:07:25 +0100927 help
928 This option selects UART0 at 0x10009000. Except for custom models,
929 this applies only to the V2P-CA9 tile.
930
931 config DEBUG_VEXPRESS_UART0_RS1
932 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
933 depends on ARCH_VEXPRESS
Russell King5c972af2013-07-07 12:32:16 +0100934 select DEBUG_UART_PL01X
Pawel Moll1b820ea2012-07-11 17:07:25 +0100935 help
936 This option selects UART0 at 0x1c090000. This applies to most
937 of the tiles using the RS1 memory map, including all new A-class
938 core tiles, FPGA-based SMMs and software models.
939
Jonathan Austined18bdc2012-08-30 13:46:44 +0100940 config DEBUG_VEXPRESS_UART0_CRX
941 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
942 depends on ARCH_VEXPRESS && !MMU
Russell King5c972af2013-07-07 12:32:16 +0100943 select DEBUG_UART_PL01X
Jonathan Austined18bdc2012-08-30 13:46:44 +0100944 help
945 This option selects UART0 at 0xb0090000. This is appropriate for
946 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
947
Tony Priskb61a2722012-12-28 12:09:18 +1300948 config DEBUG_VT8500_UART0
949 bool "Use UART0 on VIA/Wondermedia SoCs"
950 depends on ARCH_VT8500
951 help
952 This option selects UART0 on VIA/Wondermedia System-on-a-chip
953 devices, including VT8500, WM8505, WM8650 and WM8850.
954
Russell Kinge76f4752011-11-23 17:44:05 +0000955 config DEBUG_LL_UART_NONE
956 bool "No low-level debugging UART"
Rob Herring387798b2012-09-06 13:41:12 -0500957 depends on !ARCH_MULTIPLATFORM
Russell Kinge76f4752011-11-23 17:44:05 +0000958 help
959 Say Y here if your platform doesn't provide a UART option
Russell King730cc262013-07-07 11:02:00 +0100960 above. This relies on your platform choosing the right UART
Russell Kinge76f4752011-11-23 17:44:05 +0000961 definition internally in order for low-level debugging to
962 work.
963
964 config DEBUG_ICEDCC
965 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
966 help
967 Say Y here if you want the debug print routines to direct
968 their output to the EmbeddedICE macrocell's DCC channel using
969 co-processor 14. This is known to work on the ARM9 style ICE
970 channel and on the XScale with the PEEDI.
971
972 Note that the system will appear to hang during boot if there
973 is nothing connected to read from the DCC.
974
Russell Kingb0df8982012-03-27 11:30:31 +0100975 config DEBUG_SEMIHOSTING
Stephen Boyd62194bd2012-09-06 21:24:32 +0100976 bool "Kernel low-level debug output via semihosting I/O"
Russell Kingb0df8982012-03-27 11:30:31 +0100977 help
978 Semihosting enables code running on an ARM target to use
979 the I/O facilities on a host debugger/emulator through a
Stephen Boyd62194bd2012-09-06 21:24:32 +0100980 simple SVC call. The host debugger or emulator must have
Russell Kingb0df8982012-03-27 11:30:31 +0100981 semihosting enabled for the special svc call to be trapped
982 otherwise the kernel will crash.
983
Stephen Boyd62194bd2012-09-06 21:24:32 +0100984 This is known to work with OpenOCD, as well as
Russell Kingb0df8982012-03-27 11:30:31 +0100985 ARM's Fast Models, or any other controlling environment
986 that implements semihosting.
987
988 For more details about semihosting, please see
989 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
990
Russell Kingf8f12792013-07-07 15:29:38 +0100991 config DEBUG_LL_UART_8250
992 bool "Kernel low-level debugging via 8250 UART"
993 help
994 Say Y here if you wish the debug print routes to direct
995 their output to an 8250 UART. You can use this option
996 to provide the parameters for the 8250 UART rather than
997 selecting one of the platform specific options above if
998 you know the parameters for the port.
999
1000 This option is preferred over the platform specific
1001 options; the platform specific options are deprecated
1002 and will be soon removed.
1003
Uwe Kleine-König494e4922013-10-08 16:44:17 +01001004 config DEBUG_LL_UART_EFM32
1005 bool "Kernel low-level debugging via efm32 UART"
1006 depends on ARCH_EFM32
1007 help
1008 Say Y here if you want the debug print routines to direct
1009 their output to an UART or USART port on efm32 based
1010 machines. Use the following addresses for DEBUG_UART_PHYS:
1011
1012 0x4000c000 | USART0
1013 0x4000c400 | USART1
1014 0x4000c800 | USART2
1015 0x4000e000 | UART0
1016 0x4000e400 | UART1
1017
Russell Kingf8f12792013-07-07 15:29:38 +01001018 config DEBUG_LL_UART_PL01X
1019 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1020 help
1021 Say Y here if you wish the debug print routes to direct
1022 their output to a PL01x Primecell UART. You can use
1023 this option to provide the parameters for the UART
1024 rather than selecting one of the platform specific
1025 options above if you know the parameters for the port.
1026
1027 This option is preferred over the platform specific
1028 options; the platform specific options are deprecated
1029 and will be soon removed.
1030
Linus Torvalds1da177e2005-04-16 15:20:36 -07001031endchoice
1032
Arnd Bergmanna2e40712013-03-04 18:03:10 +01001033config DEBUG_EXYNOS_UART
1034 bool
1035
Heiko Stuebnerdaf67df2014-05-16 06:59:18 +09001036config DEBUG_S3C2410_UART
1037 bool
Heiko Stuebner1899de22014-05-16 06:59:18 +09001038 select DEBUG_S3C24XX_UART
1039
1040config DEBUG_S3C24XX_UART
1041 bool
Heiko Stuebnerdaf67df2014-05-16 06:59:18 +09001042
Tomasz Figa7bab7d9e2014-07-03 14:39:41 +02001043config DEBUG_S5PV210_UART
1044 bool
1045
Russell Kingcce278d2013-07-06 14:23:30 +01001046config DEBUG_OMAP2PLUS_UART
1047 bool
1048 depends on ARCH_OMAP2PLUS
1049
Shawn Guof8c95fe2012-12-12 19:03:53 +08001050config DEBUG_IMX_UART_PORT
1051 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1052 DEBUG_IMX25_UART || \
1053 DEBUG_IMX21_IMX27_UART || \
1054 DEBUG_IMX31_UART || \
1055 DEBUG_IMX35_UART || \
Greg Ungererad364a72013-10-29 15:15:51 +10001056 DEBUG_IMX50_UART || \
Shawn Guof8c95fe2012-12-12 19:03:53 +08001057 DEBUG_IMX51_UART || \
Paul Bolle0c52db72013-03-11 14:16:00 +01001058 DEBUG_IMX53_UART || \
Shawn Guo34e8a162013-05-03 11:21:03 +08001059 DEBUG_IMX6Q_UART || \
Shawn Guo74368e82014-05-11 21:53:48 +08001060 DEBUG_IMX6SL_UART || \
1061 DEBUG_IMX6SX_UART
Shawn Guo49c9e602012-10-08 13:44:29 +08001062 default 1
Shawn Guo287939a2013-03-13 10:52:49 +08001063 depends on ARCH_MXC
Shawn Guo49c9e602012-10-08 13:44:29 +08001064 help
1065 Choose UART port on which kernel low-level debug messages
1066 should be output.
1067
Stefan Agnercfdb7d52014-03-05 23:07:48 +01001068config DEBUG_VF_UART_PORT
1069 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1070 default 1
1071 range 0 3
1072 depends on SOC_VF610
1073 help
1074 Choose UART port on which kernel low-level debug messages
1075 should be output.
1076
Russell Kingcce278d2013-07-06 14:23:30 +01001077config DEBUG_TEGRA_UART
1078 bool
1079 depends on ARCH_TEGRA
Tony Lindgren808b7e02013-01-11 11:24:19 -08001080
Russell Kingcce278d2013-07-06 14:23:30 +01001081config DEBUG_STI_UART
1082 bool
1083 depends on ARCH_STI
Srinivas Kandagatla5026aec2013-06-25 12:15:32 +01001084
Rob Herring91a9fec2012-08-31 00:03:46 -05001085config DEBUG_LL_INCLUDE
1086 string
Dmitry Eremin-Solenikove6131fa2014-11-06 10:20:23 +03001087 default "debug/sa1100.S" if DEBUG_SA1100
Russell Kingf8f12792013-07-07 15:29:38 +01001088 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
Alexander Shiyandd99eef2014-06-19 19:26:34 +04001089 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
Carlo Caioned8a00912014-09-09 21:38:00 +02001090 default "debug/meson.S" if DEBUG_MESON_UARTAO
Russell Kingf8f12792013-07-07 15:29:38 +01001091 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
Arnd Bergmanna2e40712013-03-04 18:03:10 +01001092 default "debug/exynos.S" if DEBUG_EXYNOS_UART
Uwe Kleine-König494e4922013-10-08 16:44:17 +01001093 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
Rob Herring91a9fec2012-08-31 00:03:46 -05001094 default "debug/icedcc.S" if DEBUG_ICEDCC
Shawn Guo6dde5ac2012-09-16 20:50:45 +08001095 default "debug/imx.S" if DEBUG_IMX1_UART || \
1096 DEBUG_IMX25_UART || \
1097 DEBUG_IMX21_IMX27_UART || \
Shawn Guo4ad625d2012-12-12 18:54:01 +08001098 DEBUG_IMX31_UART || \
1099 DEBUG_IMX35_UART || \
Greg Ungererad364a72013-10-29 15:15:51 +10001100 DEBUG_IMX50_UART || \
Shawn Guo6dde5ac2012-09-16 20:50:45 +08001101 DEBUG_IMX51_UART || \
Fabio Estevam7356420c2013-01-22 10:40:55 -02001102 DEBUG_IMX53_UART ||\
Shawn Guo34e8a162013-05-03 11:21:03 +08001103 DEBUG_IMX6Q_UART || \
Shawn Guo74368e82014-05-11 21:53:48 +08001104 DEBUG_IMX6SL_UART || \
1105 DEBUG_IMX6SX_UART
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +03001106 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
Tony Lindgren808b7e02013-01-11 11:24:19 -08001107 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
Heiko Stuebner2cd62bd2014-05-16 06:59:18 +09001108 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
Tomasz Figa7bab7d9e2014-07-03 14:39:41 +02001109 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
Arnd Bergmann67bdb282013-03-19 13:52:14 +01001110 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
Srinivas Kandagatla5026aec2013-06-25 12:15:32 +01001111 default "debug/sti.S" if DEBUG_STI_UART
Linus Torvalds150a8dc2013-05-04 12:34:30 -07001112 default "debug/tegra.S" if DEBUG_TEGRA_UART
1113 default "debug/ux500.S" if DEBUG_UX500_UART
Russell King4e218b92013-07-07 12:36:46 +01001114 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
Shawn Guoc7c3eac2013-05-12 17:22:17 +08001115 default "debug/vf.S" if DEBUG_VF_UART
Tony Priskb61a2722012-12-28 12:09:18 +13001116 default "debug/vt8500.S" if DEBUG_VT8500_UART0
Josh Cartwright385f02b2012-11-19 10:16:01 -06001117 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
Florian Fainellib51312b2014-01-08 09:19:50 -08001118 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
Rob Herring91a9fec2012-08-31 00:03:46 -05001119 default "mach/debug-macro.S"
1120
Russell Kingf8f12792013-07-07 15:29:38 +01001121# Compatibility options for PL01x
Russell King5c972af2013-07-07 12:32:16 +01001122config DEBUG_UART_PL01X
1123 def_bool ARCH_EP93XX || \
1124 ARCH_INTEGRATOR || \
Russell King0dc0e472013-07-07 16:38:18 +01001125 ARCH_SPEAR3XX || \
1126 ARCH_SPEAR6XX || \
1127 ARCH_SPEAR13XX || \
Russell King5c972af2013-07-07 12:32:16 +01001128 ARCH_VERSATILE
1129
Russell Kingf8f12792013-07-07 15:29:38 +01001130# Compatibility options for 8250
Russell King7610b602013-07-06 22:59:10 +01001131config DEBUG_UART_8250
Russell King4a0036472013-07-06 23:13:15 +01001132 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1133 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1134 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
Andrew Lunnba364fc2014-07-10 23:36:21 +02001135 ARCH_IOP33X || ARCH_IXP4XX || \
Russell King4a0036472013-07-06 23:13:15 +01001136 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1137
Florian Fainellib51312b2014-01-08 09:19:50 -08001138# Compatibility options for BCM63xx
1139config DEBUG_UART_BCM63XX
1140 def_bool ARCH_BCM_63XX
1141
Russell Kingc3faa9b2013-07-07 00:01:39 +01001142config DEBUG_UART_PHYS
1143 hex "Physical base address of debug UART"
Russell King97bd1a42013-07-07 16:18:34 +01001144 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
Russell Kingc3faa9b2013-07-07 00:01:39 +01001145 default 0x01c28000 if DEBUG_SUNXI_UART0
1146 default 0x01c28400 if DEBUG_SUNXI_UART1
Russell King97bd1a42013-07-07 16:18:34 +01001147 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1148 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
Chen-Yu Tsaic4718542014-06-20 22:52:51 +08001149 default 0x01f02800 if DEBUG_SUNXI_R_UART
Russell Kingf2acf002013-07-07 16:05:49 +01001150 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1151 default 0x02531000 if DEBUG_KEYSTONE_UART1
Russell Kingc3faa9b2013-07-07 00:01:39 +01001152 default 0x03010fe0 if ARCH_RPC
Chen-Yu Tsaid4da8892014-09-24 22:48:56 +08001153 default 0x07000000 if DEBUG_SUN9I_UART0
Krzysztof Hałasab1251702014-09-16 12:35:10 +02001154 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
Russell King5c972af2013-07-07 12:32:16 +01001155 DEBUG_VEXPRESS_UART0_CA9
1156 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
Russell Kingc3faa9b2013-07-07 00:01:39 +01001157 default 0x10124000 if DEBUG_RK3X_UART0
1158 default 0x10126000 if DEBUG_RK3X_UART1
Russell King5c972af2013-07-07 12:32:16 +01001159 default 0x101f1000 if ARCH_VERSATILE
1160 default 0x101fb000 if DEBUG_NOMADIK_UART
Joe.C65ec48c2014-11-04 15:30:54 +08001161 default 0x11002000 if DEBUG_MT8127_UART0
Matthias Bruggerd6682082014-08-18 16:58:00 +02001162 default 0x11006000 if DEBUG_MT6589_UART0
Joe.C65ec48c2014-11-04 15:30:54 +08001163 default 0x11009000 if DEBUG_MT8135_UART3
Russell King5c972af2013-07-07 12:32:16 +01001164 default 0x16000000 if ARCH_INTEGRATOR
Hauke Mehrtens06580272014-02-04 00:01:44 +01001165 default 0x18000300 if DEBUG_BCM_5301X
Russell King5c972af2013-07-07 12:32:16 +01001166 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
Russell Kingc3faa9b2013-07-07 00:01:39 +01001167 default 0x20060000 if DEBUG_RK29_UART0
1168 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1169 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
Russell King5c972af2013-07-07 12:32:16 +01001170 default 0x20201000 if DEBUG_BCM2835
Christian Daudt753d1242013-12-23 09:00:01 +01001171 default 0x3e000000 if DEBUG_BCM_KONA_UART
Uwe Kleine-König494e4922013-10-08 16:44:17 +01001172 default 0x4000e400 if DEBUG_LL_UART_EFM32
Russell Kingc3faa9b2013-07-07 00:01:39 +01001173 default 0x40090000 if ARCH_LPC32XX
1174 default 0x40100000 if DEBUG_PXA_UART1
1175 default 0x42000000 if ARCH_GEMINI
Heiko Stuebner1899de22014-05-16 06:59:18 +09001176 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1177 DEBUG_S3C2410_UART0)
1178 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1179 DEBUG_S3C2410_UART1)
1180 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1181 DEBUG_S3C2410_UART2)
Krzysztof Hałasac3ca2132014-09-29 08:32:08 +02001182 default 0x78000000 if DEBUG_CNS3XXX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001183 default 0x7c0003f8 if FOOTBRIDGE
Krzysztof Hałasab1251702014-09-16 12:35:10 +02001184 default 0x78000000 if DEBUG_CNS3XXX
Russell King5c972af2013-07-07 12:32:16 +01001185 default 0x80070000 if DEBUG_IMX23_UART
1186 default 0x80074000 if DEBUG_IMX28_UART
Alexander Shiyanc39e1ef2014-04-12 06:07:23 +01001187 default 0x80230000 if DEBUG_PICOXCELL_UART
Russell King5c972af2013-07-07 12:32:16 +01001188 default 0x808c0000 if ARCH_EP93XX
1189 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +03001190 default 0xa9a00000 if DEBUG_MSM_UART
Russell King5c972af2013-07-07 12:32:16 +01001191 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1192 default 0xc0013000 if DEBUG_U300_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001193 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1194 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
Russell King0dc0e472013-07-07 16:38:18 +01001195 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001196 default 0xd0012000 if DEBUG_MVEBU_UART
Carlo Caioned8a00912014-09-09 21:38:00 +02001197 default 0xc81004c0 if DEBUG_MESON_UARTAO
Russell Kingc3faa9b2013-07-07 00:01:39 +01001198 default 0xd4017000 if DEBUG_MMP_UART2
1199 default 0xd4018000 if DEBUG_MMP_UART3
Russell King0dc0e472013-07-07 16:38:18 +01001200 default 0xe0000000 if ARCH_SPEAR13XX
Haojian Zhuangc9a1df42013-12-20 15:01:41 +08001201 default 0xe4007000 if DEBUG_HIP04_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001202 default 0xf0000be0 if ARCH_EBSA110
Marc Carino81b43a62014-08-13 15:50:02 -07001203 default 0xf040ab00 if DEBUG_BRCMSTB_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001204 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
Andrew Lunnba364fc2014-07-10 23:36:21 +02001205 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
Russell Kingc3faa9b2013-07-07 00:01:39 +01001206 ARCH_ORION5X
Sebastian Hesselbarthcaad0b42013-09-09 14:10:54 +02001207 default 0xf7fc9000 if DEBUG_BERLIN_UART
Haifeng Yan12aae302014-04-11 11:40:58 +08001208 default 0xf8b00000 if DEBUG_HIX5HD2_UART
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +03001209 default 0xf991e000 if DEBUG_QCOM_UARTDM
Haojian Zhuang8d258be2013-08-24 06:58:39 +01001210 default 0xfcb00000 if DEBUG_HI3620_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001211 default 0xfe800000 if ARCH_IOP32X
Heiko Stuebnerefd02ee2014-06-28 13:31:17 +02001212 default 0xff690000 if DEBUG_RK32_UART2
Russell King0b4cccb2013-07-07 11:42:46 +01001213 default 0xffc02000 if DEBUG_SOCFPGA_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001214 default 0xffd82340 if ARCH_IOP13XX
Russell King5c972af2013-07-07 12:32:16 +01001215 default 0xfff36000 if DEBUG_HIGHBANK_UART
Florian Fainellib51312b2014-01-08 09:19:50 -08001216 default 0xfffe8600 if DEBUG_UART_BCM63XX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001217 default 0xfffff700 if ARCH_IOP33X
Russell Kingf8f12792013-07-07 15:29:38 +01001218 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
Uwe Kleine-König494e4922013-10-08 16:44:17 +01001219 DEBUG_LL_UART_EFM32 || \
Carlo Caioned8a00912014-09-09 21:38:00 +02001220 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
Florian Fainellib51312b2014-01-08 09:19:50 -08001221 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1222 DEBUG_UART_BCM63XX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001223
1224config DEBUG_UART_VIRT
1225 hex "Virtual base address of debug UART"
1226 default 0xe0010fe0 if ARCH_RPC
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +03001227 default 0xe1000000 if DEBUG_MSM_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001228 default 0xf0000be0 if ARCH_EBSA110
Russell King5c972af2013-07-07 12:32:16 +01001229 default 0xf01fb000 if DEBUG_NOMADIK_UART
1230 default 0xf0201000 if DEBUG_BCM2835
Hauke Mehrtens06580272014-02-04 00:01:44 +01001231 default 0xf1000300 if DEBUG_BCM_5301X
Joe.C65ec48c2014-11-04 15:30:54 +08001232 default 0xf1002000 if DEBUG_MT8127_UART0
Matthias Bruggerd6682082014-08-18 16:58:00 +02001233 default 0xf1006000 if DEBUG_MT6589_UART0
Joe.C65ec48c2014-11-04 15:30:54 +08001234 default 0xf1009000 if DEBUG_MT8135_UART3
Russell King5c972af2013-07-07 12:32:16 +01001235 default 0xf11f1000 if ARCH_VERSATILE
1236 default 0xf1600000 if ARCH_INTEGRATOR
Russell Kingc3faa9b2013-07-07 00:01:39 +01001237 default 0xf1c28000 if DEBUG_SUNXI_UART0
1238 default 0xf1c28400 if DEBUG_SUNXI_UART1
Chen-Yu Tsaic4718542014-06-20 22:52:51 +08001239 default 0xf1f02800 if DEBUG_SUNXI_R_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001240 default 0xf2100000 if DEBUG_PXA_UART1
1241 default 0xf4090000 if ARCH_LPC32XX
1242 default 0xf4200000 if ARCH_GEMINI
Chen-Yu Tsaid4da8892014-09-24 22:48:56 +08001243 default 0xf7000000 if DEBUG_SUN9I_UART0
Heiko Stuebner1899de22014-05-16 06:59:18 +09001244 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1245 DEBUG_S3C2410_UART0)
1246 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1247 DEBUG_S3C2410_UART1)
1248 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1249 DEBUG_S3C2410_UART2)
Sebastian Hesselbarthcaad0b42013-09-09 14:10:54 +02001250 default 0xf7fc9000 if DEBUG_BERLIN_UART
Haojian Zhuangc9a1df42013-12-20 15:01:41 +08001251 default 0xf8007000 if DEBUG_HIP04_UART
Russell King5c972af2013-07-07 12:32:16 +01001252 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1253 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
Ivan T. Ivanov7098cff2014-04-14 16:47:34 +03001254 default 0xfa71e000 if DEBUG_QCOM_UARTDM
Krzysztof Hałasab1251702014-09-16 12:35:10 +02001255 default 0xfb002000 if DEBUG_CNS3XXX
Russell King5c972af2013-07-07 12:32:16 +01001256 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1257 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
Marc Carino81b43a62014-08-13 15:50:02 -07001258 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
Florian Fainellib51312b2014-01-08 09:19:50 -08001259 default 0xfcfe8600 if DEBUG_UART_BCM63XX
Russell King0dc0e472013-07-07 16:38:18 +01001260 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1261 default 0xfd000000 if ARCH_SPEAR13XX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001262 default 0xfd012000 if ARCH_MV78XX0
1263 default 0xfde12000 if ARCH_DOVE
1264 default 0xfe012000 if ARCH_ORION5X
Carlo Caioned8a00912014-09-09 21:38:00 +02001265 default 0xf31004c0 if DEBUG_MESON_UARTAO
Russell Kingc3faa9b2013-07-07 00:01:39 +01001266 default 0xfe017000 if DEBUG_MMP_UART2
1267 default 0xfe018000 if DEBUG_MMP_UART3
Russell King5c972af2013-07-07 12:32:16 +01001268 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
Russell King0b4cccb2013-07-07 11:42:46 +01001269 default 0xfe230000 if DEBUG_PICOXCELL_UART
Christian Daudt753d1242013-12-23 09:00:01 +01001270 default 0xfe300000 if DEBUG_BCM_KONA_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001271 default 0xfe800000 if ARCH_IOP32X
Haifeng Yan12aae302014-04-11 11:40:58 +08001272 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001273 default 0xfeb24000 if DEBUG_RK3X_UART0
1274 default 0xfeb26000 if DEBUG_RK3X_UART1
Russell Kingf2acf002013-07-07 16:05:49 +01001275 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1276 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
Russell King0b4cccb2013-07-07 11:42:46 +01001277 default 0xfec02000 if DEBUG_SOCFPGA_UART
Alexander Shiyanc39e1ef2014-04-12 06:07:23 +01001278 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
Russell King97bd1a42013-07-07 16:18:34 +01001279 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
Heiko Stuebnerefd02ee2014-06-28 13:31:17 +02001280 default 0xfec90000 if DEBUG_RK32_UART2
Russell King97bd1a42013-07-07 16:18:34 +01001281 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1282 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
Alexander Shiyanc39e1ef2014-04-12 06:07:23 +01001283 default 0xfed60000 if DEBUG_RK29_UART0
1284 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1285 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
Russell King5c972af2013-07-07 12:32:16 +01001286 default 0xfedc0000 if ARCH_EP93XX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001287 default 0xfee003f8 if FOOTBRIDGE
Russell King5c972af2013-07-07 12:32:16 +01001288 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001289 default 0xfee82340 if ARCH_IOP13XX
1290 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1291 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
Alexander Shiyanc39e1ef2014-04-12 06:07:23 +01001292 default 0xfef36000 if DEBUG_HIGHBANK_UART
Russell Kingc3faa9b2013-07-07 00:01:39 +01001293 default 0xfefff700 if ARCH_IOP33X
Russell King5c972af2013-07-07 12:32:16 +01001294 default 0xff003000 if DEBUG_U300_UART
1295 default DEBUG_UART_PHYS if !MMU
Russell Kingf8f12792013-07-07 15:29:38 +01001296 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
Carlo Caioned8a00912014-09-09 21:38:00 +02001297 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
Florian Fainellib51312b2014-01-08 09:19:50 -08001298 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1299 DEBUG_UART_BCM63XX
Russell Kingc3faa9b2013-07-07 00:01:39 +01001300
Russell King4a0036472013-07-06 23:13:15 +01001301config DEBUG_UART_8250_SHIFT
1302 int "Register offset shift for the 8250 debug UART"
Russell Kingf8f12792013-07-07 15:29:38 +01001303 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
Hauke Mehrtens140bd602014-09-14 21:43:40 +02001304 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
Russell King4a0036472013-07-06 23:13:15 +01001305 default 2
Russell King7610b602013-07-06 22:59:10 +01001306
Russell King0b4cccb2013-07-07 11:42:46 +01001307config DEBUG_UART_8250_WORD
1308 bool "Use 32-bit accesses for 8250 UART"
Russell Kingf8f12792013-07-07 15:29:38 +01001309 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
Russell King0b4cccb2013-07-07 11:42:46 +01001310 depends on DEBUG_UART_8250_SHIFT >= 2
Russell Kingf2acf002013-07-07 16:05:49 +01001311 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
Russell King97bd1a42013-07-07 16:18:34 +01001312 ARCH_KEYSTONE || \
1313 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
Arnd Bergmann9d6eccb2014-02-12 22:22:00 +01001314 DEBUG_DAVINCI_DA8XX_UART2 || \
Marc Carino81b43a62014-08-13 15:50:02 -07001315 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1316 DEBUG_BRCMSTB_UART
Russell King0b4cccb2013-07-07 11:42:46 +01001317
Russell King7610b602013-07-06 22:59:10 +01001318config DEBUG_UART_8250_FLOW_CONTROL
1319 bool "Enable flow control for 8250 UART"
Russell Kingf8f12792013-07-07 15:29:38 +01001320 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
Russell King7610b602013-07-06 22:59:10 +01001321 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1322
Shawn Guo3b4af9b2013-03-14 08:48:06 +01001323config DEBUG_UNCOMPRESS
1324 bool
Heiko Stuebner90266752014-03-11 22:05:09 +09001325 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
Russell Kingb6992fa2013-07-17 17:54:27 +01001326 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
Stephen Warrenae3c99a2013-08-02 20:53:37 +01001327 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
Russell Kingb6992fa2013-07-17 17:54:27 +01001328 help
1329 This option influences the normal decompressor output for
1330 multiplatform kernels. Normally, multiplatform kernels disable
1331 decompressor output because it is not possible to know where to
1332 send the decompressor output.
1333
1334 When this option is set, the selected DEBUG_LL output method
1335 will be re-used for normal decompressor output on multiplatform
1336 kernels.
1337
Shawn Guo3b4af9b2013-03-14 08:48:06 +01001338
Shawn Guo615967b2013-03-14 08:47:27 +01001339config UNCOMPRESS_INCLUDE
1340 string
Sachin Kamatffd80ec2014-02-24 09:38:12 +09001341 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
Linus Torvalds2bf73dd62014-04-05 15:46:37 -07001342 PLAT_SAMSUNG || ARCH_EFM32
Shawn Guo615967b2013-03-14 08:47:27 +01001343 default "mach/uncompress.h"
1344
Catalin Marinas93fd03a2009-12-09 10:02:18 +00001345config EARLY_PRINTK
1346 bool "Early printk"
1347 depends on DEBUG_LL
1348 help
1349 Say Y here if you want to have an early console using the
1350 kernel low-level debugging functions. Add earlyprintk to your
1351 kernel parameters to enable this console.
1352
Alexander Shishkinc5d6c772009-12-01 14:00:51 +01001353config OC_ETM
1354 bool "On-chip ETM and ETB"
Arnd Bergmann53eebb02011-09-07 10:02:35 +02001355 depends on ARM_AMBA
Alexander Shishkinc5d6c772009-12-01 14:00:51 +01001356 help
1357 Enables the on-chip embedded trace macrocell and embedded trace
1358 buffer driver that will allow you to collect traces of the
1359 kernel code.
1360
Jon Medhurst4189bc72011-08-27 12:36:58 +01001361config ARM_KPROBES_TEST
1362 tristate "Kprobes test module"
1363 depends on KPROBES && MODULES
1364 help
1365 Perform tests of kprobes API and instruction set simulation.
1366
Will Deacon575320d2012-07-06 15:43:03 +01001367config PID_IN_CONTEXTIDR
1368 bool "Write the current PID to the CONTEXTIDR register"
1369 depends on CPU_COPY_V6
1370 help
1371 Enabling this option causes the kernel to write the current PID to
1372 the PROCID field of the CONTEXTIDR register, at the expense of some
1373 additional instructions during context switch. Say Y here only if you
1374 are planning to use hardware trace tools with this kernel.
1375
Laura Abbottdca9aa92013-06-17 10:29:14 -07001376config DEBUG_SET_MODULE_RONX
1377 bool "Set loadable kernel module data as NX and text as RO"
1378 depends on MODULES
1379 ---help---
1380 This option helps catch unintended modifications to loadable
1381 kernel module's text and read-only data. It also prevents execution
1382 of module data. Such protection may interfere with run-time code
1383 patching and dynamic kernel tracing - and they might also protect
1384 against certain classes of kernel exploits.
1385 If in doubt, say "N".
1386
Linus Torvalds1da177e2005-04-16 15:20:36 -07001387endmenu