ARM: shmobile: Add early debugging support using SCIF(A)
[linux-2.6-block.git] / arch / arm / Kconfig.debug
CommitLineData
1da177e4
LT
1menu "Kernel hacking"
2
3source "lib/Kconfig.debug"
4
1fd15b87
RK
5config ARM_PTDUMP
6 bool "Export kernel pagetable layout to userspace via debugfs"
7 depends on DEBUG_KERNEL
8 select DEBUG_FS
9 ---help---
10 Say Y here if you want to show the kernel pagetable layout in a
11 debugfs file. This information is only useful for kernel developers
12 who are working in architecture specific areas of the kernel.
13 It is probably not a good idea to enable this feature in a production
14 kernel.
15 If in doubt, say "N"
16
087aaffc
NP
17config STRICT_DEVMEM
18 bool "Filter access to /dev/mem"
19 depends on MMU
20 ---help---
21 If this option is disabled, you allow userspace (root) access to all
22 of memory, including kernel and userspace memory. Accidental
23 access to this is obviously disastrous, but specific access can
24 be used by people debugging the kernel.
25
26 If this option is switched on, the /dev/mem file only allows
27 userspace access to memory mapped peripherals.
28
29 If in doubt, say Y.
30
adf8b37b 31# RMK wants arm kernels compiled with frame pointers or stack unwinding.
1da177e4
LT
32# If you know what you are doing and are willing to live without stack
33# traces, you can get a slightly smaller kernel by setting this option to
34# n, but then RMK will have to kill you ;).
35config FRAME_POINTER
36 bool
16c79651 37 depends on !THUMB2_KERNEL
0e341af8 38 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
1da177e4
LT
39 help
40 If you say N here, the resulting kernel will be slightly smaller and
adf8b37b
CM
41 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42 when a problem occurs with the kernel, the information that is
43 reported is severely limited.
44
45config ARM_UNWIND
4a50bfe3 46 bool "Enable stack unwinding support (EXPERIMENTAL)"
d6f94fa0 47 depends on AEABI
adf8b37b
CM
48 default y
49 help
50 This option enables stack unwinding support in the kernel
51 using the information automatically generated by the
52 compiler. The resulting kernel image is slightly bigger but
53 the performance is not affected. Currently, this feature
54 only works with EABI compilers. If unsure say Y.
1da177e4 55
09bfafac
RV
56config OLD_MCOUNT
57 bool
58 depends on FUNCTION_TRACER && FRAME_POINTER
59 default y
60
1da177e4
LT
61config DEBUG_USER
62 bool "Verbose user fault messages"
63 help
64 When a user program crashes due to an exception, the kernel can
65 print a brief message explaining what the problem was. This is
66 sometimes helpful for debugging but serves no purpose on a
67 production system. Most people should say N here.
68
69 In addition, you need to pass user_debug=N on the kernel command
70 line to enable this feature. N consists of the sum of:
71
72 1 - undefined instruction events
73 2 - system calls
74 4 - invalid data aborts
75 8 - SIGSEGV faults
76 16 - SIGBUS faults
77
1da177e4
LT
78# These options are only for real kernel hackers who want to get their hands dirty.
79config DEBUG_LL
4f5ef922 80 bool "Kernel low-level debugging functions (read help!)"
1da177e4
LT
81 depends on DEBUG_KERNEL
82 help
35efb606 83 Say Y here to include definitions of printascii, printch, printhex
1da177e4
LT
84 in the kernel. This is helpful if you are debugging code that
85 executes before the console is initialized.
86
4f5ef922
WD
87 Note that selecting this option will limit the kernel to a single
88 UART definition, as specified below. Attempting to boot the kernel
89 image on a different platform *will not work*, so this option should
90 not be enabled for kernels that are intended to be portable.
91
17916b28
WD
92choice
93 prompt "Kernel low-level debugging port"
94 depends on DEBUG_LL
95
13079a73
JCPV
96 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
9918ceaf 101 bool "Kernel low-level debugging on 9263 and 9g45"
13079a73
JCPV
102 depends on HAVE_AT91_DBGU1
103
2dc850b6
NF
104 config AT91_DEBUG_LL_DBGU2
105 bool "Kernel low-level debugging on sama5d4"
106 depends on HAVE_AT91_DBGU2
107
f1ac922d
SW
108 config DEBUG_BCM2835
109 bool "Kernel low-level debugging on BCM2835 PL011 UART"
110 depends on ARCH_BCM2835
5c972af4 111 select DEBUG_UART_PL01X
f1ac922d 112
06580275
HM
113 config DEBUG_BCM_5301X
114 bool "Kernel low-level debugging on BCM5301X UART1"
115 depends on ARCH_BCM_5301X
116 select DEBUG_UART_PL01X
117
753d1243
CD
118 config DEBUG_BCM_KONA_UART
119 bool "Kernel low-level debugging messages via BCM KONA UART"
7aa2077b 120 depends on ARCH_BCM_MOBILE
753d1243
CD
121 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
b51312be
FF
129 config DEBUG_BCM63XX
130 bool "Kernel low-level debugging on BCM63XX UART"
131 depends on ARCH_BCM_63XX
132 select DEBUG_UART_BCM63XX
133
caad0b41
SH
134 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
164acf96
SB
142 config DEBUG_CLPS711X_UART1
143 bool "Kernel low-level debugging messages via UART1"
144 depends on ARCH_CLPS711X
145 help
146 Say Y here if you want the debug print routines to direct
147 their output to the first serial port on these devices.
17916b28
WD
148
149 config DEBUG_CLPS711X_UART2
150 bool "Kernel low-level debugging messages via UART2"
151 depends on ARCH_CLPS711X
152 help
153 Say Y here if you want the debug print routines to direct
154 their output to the second serial port on these devices.
17916b28 155
29c9b7be
AB
156 config DEBUG_CNS3XXX
157 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
158 depends on ARCH_CNS3XXX
b125170a 159 select DEBUG_UART_8250
29c9b7be
AB
160 help
161 Say Y here if you want the debug print routines to direct
162 their output to the CNS3xxx UART0.
163
477099f1
UKK
164 config DEBUG_DAVINCI_DA8XX_UART1
165 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
166 depends on ARCH_DAVINCI_DA8XX
97bd1a48 167 select DEBUG_UART_8250
477099f1
UKK
168 help
169 Say Y here if you want the debug print routines to direct
170 their output to UART1 serial port on DaVinci DA8XX devices.
171
172 config DEBUG_DAVINCI_DA8XX_UART2
173 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
174 depends on ARCH_DAVINCI_DA8XX
97bd1a48 175 select DEBUG_UART_8250
477099f1
UKK
176 help
177 Say Y here if you want the debug print routines to direct
178 their output to UART2 serial port on DaVinci DA8XX devices.
179
180 config DEBUG_DAVINCI_DMx_UART0
181 bool "Kernel low-level debugging on DaVinci DMx using UART0"
182 depends on ARCH_DAVINCI_DMx
97bd1a48 183 select DEBUG_UART_8250
477099f1
UKK
184 help
185 Say Y here if you want the debug print routines to direct
186 their output to UART0 serial port on DaVinci DMx devices.
187
aaf5e0be
NB
188 config DEBUG_ZYNQ_UART0
189 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
190 depends on ARCH_ZYNQ
191 help
192 Say Y here if you want the debug print routines to direct
193 their output to UART0 on the Zynq platform.
194
195 config DEBUG_ZYNQ_UART1
196 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
197 depends on ARCH_ZYNQ
198 help
199 Say Y here if you want the debug print routines to direct
200 their output to UART1 on the Zynq platform.
201
202 If you have a ZC702 board and want early boot messages to
203 appear on the USB serial adaptor, select this option.
204
e76f4750
RK
205 config DEBUG_DC21285_PORT
206 bool "Kernel low-level debugging messages via footbridge serial port"
207 depends on FOOTBRIDGE
208 help
209 Say Y here if you want the debug print routines to direct
210 their output to the serial port in the DC21285 (Footbridge).
211
212 config DEBUG_FOOTBRIDGE_COM1
213 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
214 depends on FOOTBRIDGE
215 help
216 Say Y here if you want the debug print routines to direct
217 their output to the 8250 at PCI COM1.
218
8d258beb
HZ
219 config DEBUG_HI3620_UART
220 bool "Hisilicon HI3620 Debug UART"
221 depends on ARCH_HI3xxx
222 select DEBUG_UART_PL01X
223 help
224 Say Y here if you want kernel low-level debugging support
225 on HI3620 UART.
226
227 config DEBUG_HI3716_UART
228 bool "Hisilicon Hi3716 Debug UART"
229 depends on ARCH_HI3xxx
230 select DEBUG_UART_PL01X
231 help
232 Say Y here if you want kernel low-level debugging support
233 on HI3716 UART.
234
220e6cf7
RH
235 config DEBUG_HIGHBANK_UART
236 bool "Kernel low-level debugging messages via Highbank UART"
237 depends on ARCH_HIGHBANK
5c972af4 238 select DEBUG_UART_PL01X
220e6cf7
RH
239 help
240 Say Y here if you want the debug print routines to direct
241 their output to the UART on Highbank based devices.
242
c9a1df48
HZ
243 config DEBUG_HIP04_UART
244 bool "Hisilicon HiP04 Debug UART"
245 depends on ARCH_HIP04
246 select DEBUG_UART_8250
247 help
248 Say Y here if you want kernel low-level debugging support
249 on HIP04 UART.
250
37bdaf82
OJ
251 config DEBUG_HIX5HD2_UART
252 bool "Hisilicon Hix5hd2 Debug UART"
253 depends on ARCH_HIX5HD2
5c972af4 254 select DEBUG_UART_PL01X
220e6cf7 255 help
37bdaf82
OJ
256 Say Y here if you want kernel low-level debugging support
257 on Hix5hd2 UART.
220e6cf7 258
f350b861
SG
259 config DEBUG_IMX1_UART
260 bool "i.MX1 Debug UART"
261 depends on SOC_IMX1
262 help
263 Say Y here if you want kernel low-level debugging support
264 on i.MX1.
265
266 config DEBUG_IMX23_UART
267 bool "i.MX23 Debug UART"
268 depends on SOC_IMX23
5c972af4 269 select DEBUG_UART_PL01X
f350b861
SG
270 help
271 Say Y here if you want kernel low-level debugging support
272 on i.MX23.
273
274 config DEBUG_IMX25_UART
275 bool "i.MX25 Debug UART"
276 depends on SOC_IMX25
277 help
278 Say Y here if you want kernel low-level debugging support
279 on i.MX25.
280
281 config DEBUG_IMX21_IMX27_UART
282 bool "i.MX21 and i.MX27 Debug UART"
283 depends on SOC_IMX21 || SOC_IMX27
284 help
285 Say Y here if you want kernel low-level debugging support
286 on i.MX21 or i.MX27.
287
288 config DEBUG_IMX28_UART
289 bool "i.MX28 Debug UART"
290 depends on SOC_IMX28
5c972af4 291 select DEBUG_UART_PL01X
f350b861
SG
292 help
293 Say Y here if you want kernel low-level debugging support
294 on i.MX28.
295
4ad625d4
SG
296 config DEBUG_IMX31_UART
297 bool "i.MX31 Debug UART"
298 depends on SOC_IMX31
f350b861
SG
299 help
300 Say Y here if you want kernel low-level debugging support
4ad625d4
SG
301 on i.MX31.
302
303 config DEBUG_IMX35_UART
304 bool "i.MX35 Debug UART"
305 depends on SOC_IMX35
306 help
307 Say Y here if you want kernel low-level debugging support
308 on i.MX35.
f350b861 309
ad364a70
GU
310 config DEBUG_IMX50_UART
311 bool "i.MX50 Debug UART"
312 depends on SOC_IMX50
313 help
314 Say Y here if you want kernel low-level debugging support
315 on i.MX50.
316
f350b861
SG
317 config DEBUG_IMX51_UART
318 bool "i.MX51 Debug UART"
319 depends on SOC_IMX51
320 help
321 Say Y here if you want kernel low-level debugging support
322 on i.MX51.
323
7356420c
FE
324 config DEBUG_IMX53_UART
325 bool "i.MX53 Debug UART"
326 depends on SOC_IMX53
f350b861
SG
327 help
328 Say Y here if you want kernel low-level debugging support
7356420c 329 on i.MX53.
f350b861 330
49c9e60e 331 config DEBUG_IMX6Q_UART
3c03a2fe 332 bool "i.MX6Q/DL Debug UART"
785d7fab
DB
333 depends on SOC_IMX6Q
334 help
335 Say Y here if you want kernel low-level debugging support
3c03a2fe 336 on i.MX6Q/DL.
bac89d75 337
34e8a16b
SG
338 config DEBUG_IMX6SL_UART
339 bool "i.MX6SL Debug UART"
340 depends on SOC_IMX6SL
341 help
342 Say Y here if you want kernel low-level debugging support
343 on i.MX6SL.
344
74368e81
SG
345 config DEBUG_IMX6SX_UART
346 bool "i.MX6SX Debug UART"
347 depends on SOC_IMX6SX
348 help
349 Say Y here if you want kernel low-level debugging support
350 on i.MX6SX.
351
828989ad
SS
352 config DEBUG_KEYSTONE_UART0
353 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
354 depends on ARCH_KEYSTONE
f2acf003 355 select DEBUG_UART_8250
828989ad
SS
356 help
357 Say Y here if you want the debug print routines to direct
358 their output to UART0 serial port on KEYSTONE2 devices.
359
360 config DEBUG_KEYSTONE_UART1
361 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
362 depends on ARCH_KEYSTONE
f2acf003 363 select DEBUG_UART_8250
828989ad
SS
364 help
365 Say Y here if you want the debug print routines to direct
366 their output to UART1 serial port on KEYSTONE2 devices.
367
d8a00916
CC
368 config DEBUG_MESON_UARTAO
369 bool "Kernel low-level debugging via Meson6 UARTAO"
370 depends on ARCH_MESON
371 help
372 Say Y here if you want kernel low-lever debugging support
373 on Amlogic Meson6 based platforms on the UARTAO.
374
fa4cd2a8
HZ
375 config DEBUG_MMP_UART2
376 bool "Kernel low-level debugging message via MMP UART2"
377 depends on ARCH_MMP
4a003647 378 select DEBUG_UART_8250
fa4cd2a8
HZ
379 help
380 Say Y here if you want kernel low-level debugging support
381 on MMP UART2.
382
383 config DEBUG_MMP_UART3
384 bool "Kernel low-level debugging message via MMP UART3"
385 depends on ARCH_MMP
4a003647 386 select DEBUG_UART_8250
fa4cd2a8
HZ
387 help
388 Say Y here if you want kernel low-level debugging support
389 on MMP UART3.
390
7098cff2
II
391 config DEBUG_MSM_UART
392 bool "Kernel low-level debugging messages via MSM UART"
393 depends on ARCH_MSM
952aeeb2
WD
394 help
395 Say Y here if you want the debug print routines to direct
7098cff2 396 their output to the serial port on MSM devices.
952aeeb2 397
7098cff2
II
398 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
399 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
400 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
401 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
952aeeb2 402
7098cff2
II
403 MSM7X30 0xaca00000 0xe1000000 UART1
404 MSM7X30 0xacb00000 0xe1000000 UART2
405 MSM7X30 0xacc00000 0xe1000000 UART3
952aeeb2 406
7098cff2
II
407 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
408 options based on your needs.
952aeeb2 409
7098cff2
II
410 config DEBUG_QCOM_UARTDM
411 bool "Kernel low-level debugging messages via QCOM UARTDM"
412 depends on ARCH_QCOM
e76f4750
RK
413 help
414 Say Y here if you want the debug print routines to direct
7098cff2 415 their output to the serial port on Qualcomm devices.
952aeeb2 416
7098cff2 417 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
2f528dd3 418 APQ8084 0xf995e000 0xfa75e000
7098cff2
II
419 MSM8X60 0x19c40000 0xf0040000
420 MSM8960 0x16440000 0xf0040000
421 MSM8974 0xf991e000 0xfa71e000
422
423 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
424 options based on your needs.
3c8828f6 425
bfd5af99 426 config DEBUG_MVEBU_UART
c2804cd6 427 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
bfd5af99 428 depends on ARCH_MVEBU
4a003647 429 select DEBUG_UART_8250
bfd5af99
RH
430 help
431 Say Y here if you want kernel low-level debugging support
432 on MVEBU based platforms.
433
c2804cd6
TP
434 This option should be used with the old bootloaders
435 that left the internal registers mapped at
436 0xd0000000. As of today, this is the case on
437 platforms such as the Globalscale Mirabox or the
438 Plathome OpenBlocks AX3, when using the original
439 bootloader.
440
441 If the wrong DEBUG_MVEBU_UART* option is selected,
442 when u-boot hands over to the kernel, the system
443 silently crashes, with no serial output at all.
444
445 config DEBUG_MVEBU_UART_ALTERNATE
446 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
447 depends on ARCH_MVEBU
4a003647 448 select DEBUG_UART_8250
c2804cd6
TP
449 help
450 Say Y here if you want kernel low-level debugging support
451 on MVEBU based platforms.
452
453 This option should be used with the new bootloaders
454 that remap the internal registers at 0xf1000000.
455
456 If the wrong DEBUG_MVEBU_UART* option is selected,
457 when u-boot hands over to the kernel, the system
458 silently crashes, with no serial output at all.
459
c7c3eac6
SG
460 config DEBUG_VF_UART
461 bool "Vybrid UART"
462 depends on SOC_VF610
463 help
464 Say Y here if you want kernel low-level debugging support
465 on Vybrid based platforms.
466
266c3479
LW
467 config DEBUG_NOMADIK_UART
468 bool "Kernel low-level debugging messages via NOMADIK UART"
469 depends on ARCH_NOMADIK
5c972af4 470 select DEBUG_UART_PL01X
266c3479
LW
471 help
472 Say Y here if you want kernel low-level debugging support
473 on NOMADIK based platforms.
474
9851ca57
DT
475 config DEBUG_NSPIRE_CLASSIC_UART
476 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
477 depends on ARCH_NSPIRE
4a003647 478 select DEBUG_UART_8250
9851ca57
DT
479 help
480 Say Y here if you want kernel low-level debugging support
481 on TI-NSPIRE classic models.
482
483 config DEBUG_NSPIRE_CX_UART
484 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
485 depends on ARCH_NSPIRE
5c972af4 486 select DEBUG_UART_PL01X
9851ca57
DT
487 help
488 Say Y here if you want kernel low-level debugging support
489 on TI-NSPIRE CX models.
490
cce278d2
RK
491 config DEBUG_OMAP2UART1
492 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
808b7e07 493 depends on ARCH_OMAP2PLUS
cce278d2 494 select DEBUG_OMAP2PLUS_UART
808b7e07 495 help
cce278d2
RK
496 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
497 omap3 torpedo and 3530 lv som.
498
499 config DEBUG_OMAP2UART2
500 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
501 depends on ARCH_OMAP2PLUS
502 select DEBUG_OMAP2PLUS_UART
503
504 config DEBUG_OMAP2UART3
505 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
506 depends on ARCH_OMAP2PLUS
507 select DEBUG_OMAP2PLUS_UART
508
509 config DEBUG_OMAP3UART3
510 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
511 depends on ARCH_OMAP2PLUS
512 select DEBUG_OMAP2PLUS_UART
513 help
514 This covers at least cm_t3x, beagle, crane, devkit8000,
515 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
516 and 3517evm.
517
518 config DEBUG_OMAP4UART3
519 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
520 depends on ARCH_OMAP2PLUS
521 select DEBUG_OMAP2PLUS_UART
522
523 config DEBUG_OMAP3UART4
524 bool "Kernel low-level debugging messages via OMAP36XX UART4"
525 depends on ARCH_OMAP2PLUS
526 select DEBUG_OMAP2PLUS_UART
527
528 config DEBUG_OMAP4UART4
529 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
530 depends on ARCH_OMAP2PLUS
531 select DEBUG_OMAP2PLUS_UART
532
533 config DEBUG_TI81XXUART1
534 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
535 depends on ARCH_OMAP2PLUS
536 select DEBUG_OMAP2PLUS_UART
537
538 config DEBUG_TI81XXUART2
539 bool "Kernel low-level debugging messages via TI81XX UART2"
540 depends on ARCH_OMAP2PLUS
541 select DEBUG_OMAP2PLUS_UART
542
543 config DEBUG_TI81XXUART3
544 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
545 depends on ARCH_OMAP2PLUS
546 select DEBUG_OMAP2PLUS_UART
547
548 config DEBUG_AM33XXUART1
549 bool "Kernel low-level debugging messages via AM33XX UART1"
550 depends on ARCH_OMAP2PLUS
551 select DEBUG_OMAP2PLUS_UART
552
553 config DEBUG_ZOOM_UART
554 bool "Kernel low-level debugging messages via Zoom2/3 UART"
555 depends on ARCH_OMAP2PLUS
556 select DEBUG_OMAP2PLUS_UART
808b7e07 557
59bba2a9
RH
558 config DEBUG_PICOXCELL_UART
559 depends on ARCH_PICOXCELL
560 bool "Use PicoXcell UART for low-level debug"
0b4cccbe 561 select DEBUG_UART_8250
59bba2a9
RH
562 help
563 Say Y here if you want kernel low-level debugging support
564 on PicoXcell based platforms.
565
0a43cd3b
HZ
566 config DEBUG_PXA_UART1
567 depends on ARCH_PXA
568 bool "Use PXA UART1 for low-level debug"
4a003647 569 select DEBUG_UART_8250
0a43cd3b
HZ
570 help
571 Say Y here if you want kernel low-level debugging support
572 on PXA UART1.
573
1285b8f8
WD
574 config DEBUG_REALVIEW_STD_PORT
575 bool "RealView Default UART"
576 depends on ARCH_REALVIEW
5c972af4 577 select DEBUG_UART_PL01X
1285b8f8
WD
578 help
579 Say Y here if you want the debug print routines to direct
580 their output to the serial port on RealView EB, PB11MP, PBA8
581 and PBX platforms.
582
583 config DEBUG_REALVIEW_PB1176_PORT
584 bool "RealView PB1176 UART"
585 depends on MACH_REALVIEW_PB1176
5c972af4 586 select DEBUG_UART_PL01X
1285b8f8
WD
587 help
588 Say Y here if you want the debug print routines to direct
589 their output to the standard serial port on the RealView
590 PB1176 platform.
591
cce278d2
RK
592 config DEBUG_RK29_UART0
593 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
594 depends on ARCH_ROCKCHIP
4a003647 595 select DEBUG_UART_8250
cce278d2
RK
596 help
597 Say Y here if you want kernel low-level debugging support
598 on Rockchip based platforms.
599
600 config DEBUG_RK29_UART1
601 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
602 depends on ARCH_ROCKCHIP
4a003647 603 select DEBUG_UART_8250
cce278d2
RK
604 help
605 Say Y here if you want kernel low-level debugging support
606 on Rockchip based platforms.
607
608 config DEBUG_RK29_UART2
609 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
610 depends on ARCH_ROCKCHIP
4a003647 611 select DEBUG_UART_8250
cce278d2
RK
612 help
613 Say Y here if you want kernel low-level debugging support
614 on Rockchip based platforms.
615
616 config DEBUG_RK3X_UART0
aa9c4f74 617 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
cce278d2 618 depends on ARCH_ROCKCHIP
4a003647 619 select DEBUG_UART_8250
cce278d2
RK
620 help
621 Say Y here if you want kernel low-level debugging support
622 on Rockchip based platforms.
623
624 config DEBUG_RK3X_UART1
aa9c4f74 625 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
38bd6892 626 depends on ARCH_ROCKCHIP
4a003647 627 select DEBUG_UART_8250
cce278d2
RK
628 help
629 Say Y here if you want kernel low-level debugging support
630 on Rockchip based platforms.
631
632 config DEBUG_RK3X_UART2
aa9c4f74 633 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
cce278d2 634 depends on ARCH_ROCKCHIP
4a003647 635 select DEBUG_UART_8250
cce278d2
RK
636 help
637 Say Y here if you want kernel low-level debugging support
638 on Rockchip based platforms.
639
640 config DEBUG_RK3X_UART3
aa9c4f74 641 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
cce278d2 642 depends on ARCH_ROCKCHIP
4a003647 643 select DEBUG_UART_8250
38bd6892
HS
644 help
645 Say Y here if you want kernel low-level debugging support
646 on Rockchip based platforms.
647
efd02ee9
HS
648 config DEBUG_RK32_UART2
649 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
650 depends on ARCH_ROCKCHIP
651 select DEBUG_UART_8250
652 help
653 Say Y here if you want kernel low-level debugging support
654 on Rockchip RK32xx based platforms.
655
7a2071c5
GU
656 config DEBUG_R7S72100_SCIF2
657 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
658 depends on ARCH_R7S72100
659 help
660 Say Y here if you want kernel low-level debugging support
661 via SCIF2 on Renesas RZ/A1H (R7S72100).
662
663 config DEBUG_RCAR_GEN1_SCIF0
664 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
665 depends on ARCH_R8A7778
666 help
667 Say Y here if you want kernel low-level debugging support
668 via SCIF0 on Renesas R-Car M1A (R8A7778).
669
670 config DEBUG_RCAR_GEN1_SCIF2
671 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
672 depends on ARCH_R8A7779
673 help
674 Say Y here if you want kernel low-level debugging support
675 via SCIF2 on Renesas R-Car H1 (R8A7779).
676
677 config DEBUG_RCAR_GEN2_SCIF0
678 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793)"
679 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
680 help
681 Say Y here if you want kernel low-level debugging support
682 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
683 M2-N (R8A7793).
684
685 config DEBUG_RCAR_GEN2_SCIF2
686 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
687 depends on ARCH_R8A7794
688 help
689 Say Y here if you want kernel low-level debugging support
690 via SCIF2 on Renesas R-Car E2 (R8A7794).
691
692 config DEBUG_RMOBILE_SCIFA0
693 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4/SH7372"
694 depends on ARCH_R8A73A4 || ARCH_SH7372
695 help
696 Say Y here if you want kernel low-level debugging support
697 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4) or SH-Mobile
698 AP4 (SH7372).
699
700 config DEBUG_RMOBILE_SCIFA1
701 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
702 depends on ARCH_R8A7740
703 help
704 Say Y here if you want kernel low-level debugging support
705 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
706
707 config DEBUG_RMOBILE_SCIFA4
708 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
709 depends on ARCH_SH73A0
710 help
711 Say Y here if you want kernel low-level debugging support
712 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
713
e76f4750
RK
714 config DEBUG_S3C_UART0
715 depends on PLAT_SAMSUNG
a2e40710 716 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 717 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 718 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 719 bool "Use Samsung S3C UART 0 for low-level debug"
650e3f0d
SB
720 help
721 Say Y here if you want the debug print routines to direct
e76f4750
RK
722 their output to UART 0. The port must have been initialised
723 by the boot-loader before use.
650e3f0d 724
e76f4750
RK
725 config DEBUG_S3C_UART1
726 depends on PLAT_SAMSUNG
a2e40710 727 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 728 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 729 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 730 bool "Use Samsung S3C UART 1 for low-level debug"
650e3f0d
SB
731 help
732 Say Y here if you want the debug print routines to direct
e76f4750
RK
733 their output to UART 1. The port must have been initialised
734 by the boot-loader before use.
650e3f0d 735
e76f4750
RK
736 config DEBUG_S3C_UART2
737 depends on PLAT_SAMSUNG
a2e40710 738 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 739 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 740 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 741 bool "Use Samsung S3C UART 2 for low-level debug"
650e3f0d
SB
742 help
743 Say Y here if you want the debug print routines to direct
e76f4750
RK
744 their output to UART 2. The port must have been initialised
745 by the boot-loader before use.
650e3f0d 746
5fa23dde 747 config DEBUG_S3C_UART3
7bab7d9e
TF
748 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
749 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
750 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 751 bool "Use Samsung S3C UART 3 for low-level debug"
5fa23dde
OJ
752 help
753 Say Y here if you want the debug print routines to direct
754 their output to UART 3. The port must have been initialised
755 by the boot-loader before use.
756
daf67dfc
HS
757 config DEBUG_S3C2410_UART0
758 depends on ARCH_S3C24XX
759 select DEBUG_S3C2410_UART
760 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
761 help
762 Say Y here if you want the debug print routines to direct
763 their output to UART 0. The port must have been initialised
764 by the boot-loader before use.
765
766 config DEBUG_S3C2410_UART1
767 depends on ARCH_S3C24XX
768 select DEBUG_S3C2410_UART
769 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
770 help
771 Say Y here if you want the debug print routines to direct
772 their output to UART 1. The port must have been initialised
773 by the boot-loader before use.
774
775 config DEBUG_S3C2410_UART2
776 depends on ARCH_S3C24XX
777 select DEBUG_S3C2410_UART
778 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
779 help
780 Say Y here if you want the debug print routines to direct
781 their output to UART 2. The port must have been initialised
782 by the boot-loader before use.
783
6111bf7c
RH
784 config DEBUG_SOCFPGA_UART
785 depends on ARCH_SOCFPGA
786 bool "Use SOCFPGA UART for low-level debug"
0b4cccbe 787 select DEBUG_UART_8250
6111bf7c
RH
788 help
789 Say Y here if you want kernel low-level debugging support
790 on SOCFPGA based platforms.
791
aa25115a
SR
792 config DEBUG_SUNXI_UART0
793 bool "Kernel low-level debugging messages via sunXi UART0"
794 depends on ARCH_SUNXI
4a003647 795 select DEBUG_UART_8250
aa25115a
SR
796 help
797 Say Y here if you want kernel low-level debugging support
798 on Allwinner A1X based platforms on the UART0.
799
cb84fa18
MR
800 config DEBUG_SUNXI_UART1
801 bool "Kernel low-level debugging messages via sunXi UART1"
802 depends on ARCH_SUNXI
4a003647 803 select DEBUG_UART_8250
cb84fa18
MR
804 help
805 Say Y here if you want kernel low-level debugging support
806 on Allwinner A1X based platforms on the UART1.
807
c4718543
CYT
808 config DEBUG_SUNXI_R_UART
809 bool "Kernel low-level debugging messages via sunXi R_UART"
810 depends on MACH_SUN6I || MACH_SUN8I
811 select DEBUG_UART_8250
812 help
813 Say Y here if you want kernel low-level debugging support
814 on Allwinner A31/A23 based platforms on the R_UART.
815
cce278d2
RK
816 config TEGRA_DEBUG_UART_AUTO_ODMDATA
817 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
46067803 818 depends on ARCH_TEGRA
cce278d2
RK
819 select DEBUG_TEGRA_UART
820 help
821 Automatically determines which UART to use for low-level
822 debug based on the ODMDATA value. This value is part of
823 the BCT, and is written to the boot memory device using
824 nvflash, or other flashing tool. When bits 19:18 are 3,
825 then bits 17:15 indicate which UART to use; 0/1/2/3/4
826 are UART A/B/C/D/E.
827
828 config TEGRA_DEBUG_UARTA
829 bool "Kernel low-level debugging messages via Tegra UART A"
830 depends on ARCH_TEGRA
831 select DEBUG_TEGRA_UART
832 help
833 Say Y here if you want kernel low-level debugging support
834 on Tegra based platforms.
835
836 config TEGRA_DEBUG_UARTB
837 bool "Kernel low-level debugging messages via Tegra UART B"
838 depends on ARCH_TEGRA
839 select DEBUG_TEGRA_UART
840 help
841 Say Y here if you want kernel low-level debugging support
842 on Tegra based platforms.
843
844 config TEGRA_DEBUG_UARTC
845 bool "Kernel low-level debugging messages via Tegra UART C"
846 depends on ARCH_TEGRA
847 select DEBUG_TEGRA_UART
848 help
849 Say Y here if you want kernel low-level debugging support
850 on Tegra based platforms.
851
852 config TEGRA_DEBUG_UARTD
853 bool "Kernel low-level debugging messages via Tegra UART D"
854 depends on ARCH_TEGRA
855 select DEBUG_TEGRA_UART
856 help
857 Say Y here if you want kernel low-level debugging support
858 on Tegra based platforms.
859
860 config TEGRA_DEBUG_UARTE
861 bool "Kernel low-level debugging messages via Tegra UART E"
862 depends on ARCH_TEGRA
863 select DEBUG_TEGRA_UART
46067803
SW
864 help
865 Say Y here if you want kernel low-level debugging support
866 on Tegra based platforms.
867
7f46a107
BS
868 config DEBUG_SIRFPRIMA2_UART1
869 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
870 depends on ARCH_PRIMA2
871 help
872 Say Y here if you want the debug print routines to direct
873 their output to the uart1 port on SiRFprimaII devices.
874
875 config DEBUG_SIRFMARCO_UART1
876 bool "Kernel low-level debugging messages via SiRFmarco UART1"
877 depends on ARCH_MARCO
878 help
879 Say Y here if you want the debug print routines to direct
880 their output to the uart1 port on SiRFmarco devices.
881
cce278d2
RK
882 config STIH41X_DEBUG_ASC2
883 bool "Use StiH415/416 ASC2 UART for low-level debug"
884 depends on ARCH_STI
885 select DEBUG_STI_UART
886 help
887 Say Y here if you want kernel low-level debugging support
888 on STiH415/416 based platforms like b2000, which has
889 default UART wired up to ASC2.
890
891 If unsure, say N.
892
893 config STIH41X_DEBUG_SBC_ASC1
894 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
5562b800 895 depends on ARCH_STI
cce278d2 896 select DEBUG_STI_UART
5562b800
AB
897 help
898 Say Y here if you want kernel low-level debugging support
cce278d2
RK
899 on STiH415/416 based platforms like b2020. which has
900 default UART wired up to SBC ASC1.
5562b800
AB
901
902 If unsure, say N.
903
dd324da7
LW
904 config DEBUG_U300_UART
905 bool "Kernel low-level debugging messages via U300 UART0"
906 depends on ARCH_U300
5c972af4 907 select DEBUG_UART_PL01X
dd324da7
LW
908 help
909 Say Y here if you want the debug print routines to direct
910 their output to the uart port on U300 devices.
911
f87b95dd
LW
912 config DEBUG_UX500_UART
913 depends on ARCH_U8500
914 bool "Use Ux500 UART for low-level debug"
915 help
916 Say Y here if you want kernel low-level debugging support
917 on Ux500 based platforms.
918
d6682085
MB
919 config DEBUG_MT6589_UART0
920 bool "Mediatek mt6589 UART0"
921 depends on ARCH_MEDIATEK
922 select DEBUG_UART_8250
923 help
924 Say Y here if you want kernel low-level debugging support
925 for Mediatek mt6589 based platforms on UART0.
926
1b820eaf
PM
927 config DEBUG_VEXPRESS_UART0_DETECT
928 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
929 depends on ARCH_VEXPRESS && CPU_CP15_MMU
930 help
931 This option enables a simple heuristic which tries to determine
932 the motherboard's memory map variant (original or RS1) and then
933 choose the relevant UART0 base address.
934
935 Note that this will only work with standard A-class core tiles,
936 and may fail with non-standard SMM or custom software models.
937
938 config DEBUG_VEXPRESS_UART0_CA9
939 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
940 depends on ARCH_VEXPRESS
5c972af4 941 select DEBUG_UART_PL01X
1b820eaf
PM
942 help
943 This option selects UART0 at 0x10009000. Except for custom models,
944 this applies only to the V2P-CA9 tile.
945
946 config DEBUG_VEXPRESS_UART0_RS1
947 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
948 depends on ARCH_VEXPRESS
5c972af4 949 select DEBUG_UART_PL01X
1b820eaf
PM
950 help
951 This option selects UART0 at 0x1c090000. This applies to most
952 of the tiles using the RS1 memory map, including all new A-class
953 core tiles, FPGA-based SMMs and software models.
954
ed18bdc8
JA
955 config DEBUG_VEXPRESS_UART0_CRX
956 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
957 depends on ARCH_VEXPRESS && !MMU
5c972af4 958 select DEBUG_UART_PL01X
ed18bdc8
JA
959 help
960 This option selects UART0 at 0xb0090000. This is appropriate for
961 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
962
b61a2722
TP
963 config DEBUG_VT8500_UART0
964 bool "Use UART0 on VIA/Wondermedia SoCs"
965 depends on ARCH_VT8500
966 help
967 This option selects UART0 on VIA/Wondermedia System-on-a-chip
968 devices, including VT8500, WM8505, WM8650 and WM8850.
969
e76f4750
RK
970 config DEBUG_LL_UART_NONE
971 bool "No low-level debugging UART"
387798b3 972 depends on !ARCH_MULTIPLATFORM
a3d3ef9d 973 help
e76f4750 974 Say Y here if your platform doesn't provide a UART option
730cc26f 975 above. This relies on your platform choosing the right UART
e76f4750
RK
976 definition internally in order for low-level debugging to
977 work.
a3d3ef9d 978
e76f4750
RK
979 config DEBUG_ICEDCC
980 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
a3d3ef9d
SB
981 help
982 Say Y here if you want the debug print routines to direct
e76f4750
RK
983 their output to the EmbeddedICE macrocell's DCC channel using
984 co-processor 14. This is known to work on the ARM9 style ICE
985 channel and on the XScale with the PEEDI.
986
987 Note that the system will appear to hang during boot if there
988 is nothing connected to read from the DCC.
a3d3ef9d 989
b0df8986 990 config DEBUG_SEMIHOSTING
62194bda 991 bool "Kernel low-level debug output via semihosting I/O"
650e3f0d 992 help
b0df8986
RK
993 Semihosting enables code running on an ARM target to use
994 the I/O facilities on a host debugger/emulator through a
62194bda 995 simple SVC call. The host debugger or emulator must have
b0df8986
RK
996 semihosting enabled for the special svc call to be trapped
997 otherwise the kernel will crash.
650e3f0d 998
62194bda 999 This is known to work with OpenOCD, as well as
b0df8986
RK
1000 ARM's Fast Models, or any other controlling environment
1001 that implements semihosting.
a3d3ef9d 1002
b0df8986
RK
1003 For more details about semihosting, please see
1004 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
a3d3ef9d 1005
f8f1279c
RK
1006 config DEBUG_LL_UART_8250
1007 bool "Kernel low-level debugging via 8250 UART"
1008 help
1009 Say Y here if you wish the debug print routes to direct
1010 their output to an 8250 UART. You can use this option
1011 to provide the parameters for the 8250 UART rather than
1012 selecting one of the platform specific options above if
1013 you know the parameters for the port.
1014
1015 This option is preferred over the platform specific
1016 options; the platform specific options are deprecated
1017 and will be soon removed.
1018
494e492d
UKK
1019 config DEBUG_LL_UART_EFM32
1020 bool "Kernel low-level debugging via efm32 UART"
1021 depends on ARCH_EFM32
1022 help
1023 Say Y here if you want the debug print routines to direct
1024 their output to an UART or USART port on efm32 based
1025 machines. Use the following addresses for DEBUG_UART_PHYS:
1026
1027 0x4000c000 | USART0
1028 0x4000c400 | USART1
1029 0x4000c800 | USART2
1030 0x4000e000 | UART0
1031 0x4000e400 | UART1
1032
f8f1279c
RK
1033 config DEBUG_LL_UART_PL01X
1034 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1035 help
1036 Say Y here if you wish the debug print routes to direct
1037 their output to a PL01x Primecell UART. You can use
1038 this option to provide the parameters for the UART
1039 rather than selecting one of the platform specific
1040 options above if you know the parameters for the port.
1041
1042 This option is preferred over the platform specific
1043 options; the platform specific options are deprecated
1044 and will be soon removed.
1045
17916b28
WD
1046endchoice
1047
a2e40710
AB
1048config DEBUG_EXYNOS_UART
1049 bool
1050
daf67dfc
HS
1051config DEBUG_S3C2410_UART
1052 bool
1899de28
HS
1053 select DEBUG_S3C24XX_UART
1054
1055config DEBUG_S3C24XX_UART
1056 bool
daf67dfc 1057
7bab7d9e
TF
1058config DEBUG_S5PV210_UART
1059 bool
1060
cce278d2
RK
1061config DEBUG_OMAP2PLUS_UART
1062 bool
1063 depends on ARCH_OMAP2PLUS
1064
f8c95fe6
SG
1065config DEBUG_IMX_UART_PORT
1066 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1067 DEBUG_IMX25_UART || \
1068 DEBUG_IMX21_IMX27_UART || \
1069 DEBUG_IMX31_UART || \
1070 DEBUG_IMX35_UART || \
ad364a70 1071 DEBUG_IMX50_UART || \
f8c95fe6 1072 DEBUG_IMX51_UART || \
0c52db7e 1073 DEBUG_IMX53_UART || \
34e8a16b 1074 DEBUG_IMX6Q_UART || \
74368e81
SG
1075 DEBUG_IMX6SL_UART || \
1076 DEBUG_IMX6SX_UART
49c9e60e 1077 default 1
287939a3 1078 depends on ARCH_MXC
49c9e60e
SG
1079 help
1080 Choose UART port on which kernel low-level debug messages
1081 should be output.
1082
cfdb7d56
SA
1083config DEBUG_VF_UART_PORT
1084 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1085 default 1
1086 range 0 3
1087 depends on SOC_VF610
1088 help
1089 Choose UART port on which kernel low-level debug messages
1090 should be output.
1091
cce278d2
RK
1092config DEBUG_TEGRA_UART
1093 bool
1094 depends on ARCH_TEGRA
5026aecf 1095
cce278d2
RK
1096config DEBUG_STI_UART
1097 bool
1098 depends on ARCH_STI
5026aecf 1099
91a9fec0
RH
1100config DEBUG_LL_INCLUDE
1101 string
f8f1279c 1102 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
dd99eef5 1103 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
d8a00916 1104 default "debug/meson.S" if DEBUG_MESON_UARTAO
f8f1279c 1105 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
a2e40710 1106 default "debug/exynos.S" if DEBUG_EXYNOS_UART
494e492d 1107 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
91a9fec0 1108 default "debug/icedcc.S" if DEBUG_ICEDCC
6dde5ac5
SG
1109 default "debug/imx.S" if DEBUG_IMX1_UART || \
1110 DEBUG_IMX25_UART || \
1111 DEBUG_IMX21_IMX27_UART || \
4ad625d4
SG
1112 DEBUG_IMX31_UART || \
1113 DEBUG_IMX35_UART || \
ad364a70 1114 DEBUG_IMX50_UART || \
6dde5ac5 1115 DEBUG_IMX51_UART || \
7356420c 1116 DEBUG_IMX53_UART ||\
34e8a16b 1117 DEBUG_IMX6Q_UART || \
74368e81
SG
1118 DEBUG_IMX6SL_UART || \
1119 DEBUG_IMX6SX_UART
7098cff2 1120 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
808b7e07 1121 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
7a2071c5
GU
1122 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1123 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1124 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1125 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1126 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1127 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1128 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1129 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
2cd62bd4 1130 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
7bab7d9e 1131 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
67bdb287 1132 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
5026aecf 1133 default "debug/sti.S" if DEBUG_STI_UART
150a8dcf
LT
1134 default "debug/tegra.S" if DEBUG_TEGRA_UART
1135 default "debug/ux500.S" if DEBUG_UX500_UART
4e218b99 1136 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
c7c3eac6 1137 default "debug/vf.S" if DEBUG_VF_UART
b61a2722 1138 default "debug/vt8500.S" if DEBUG_VT8500_UART0
385f02b1 1139 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
b51312be 1140 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
91a9fec0
RH
1141 default "mach/debug-macro.S"
1142
f8f1279c 1143# Compatibility options for PL01x
5c972af4
RK
1144config DEBUG_UART_PL01X
1145 def_bool ARCH_EP93XX || \
1146 ARCH_INTEGRATOR || \
0dc0e475
RK
1147 ARCH_SPEAR3XX || \
1148 ARCH_SPEAR6XX || \
1149 ARCH_SPEAR13XX || \
5c972af4
RK
1150 ARCH_VERSATILE
1151
f8f1279c 1152# Compatibility options for 8250
7610b607 1153config DEBUG_UART_8250
4a003647
RK
1154 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1155 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1156 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
ba364fc7 1157 ARCH_IOP33X || ARCH_IXP4XX || \
4a003647
RK
1158 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1159
b51312be
FF
1160# Compatibility options for BCM63xx
1161config DEBUG_UART_BCM63XX
1162 def_bool ARCH_BCM_63XX
1163
c3faa9b7
RK
1164config DEBUG_UART_PHYS
1165 hex "Physical base address of debug UART"
97bd1a48 1166 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
c3faa9b7
RK
1167 default 0x01c28000 if DEBUG_SUNXI_UART0
1168 default 0x01c28400 if DEBUG_SUNXI_UART1
97bd1a48
RK
1169 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1170 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
c4718543 1171 default 0x01f02800 if DEBUG_SUNXI_R_UART
f2acf003
RK
1172 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1173 default 0x02531000 if DEBUG_KEYSTONE_UART1
c3faa9b7 1174 default 0x03010fe0 if ARCH_RPC
b125170a 1175 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
5c972af4
RK
1176 DEBUG_VEXPRESS_UART0_CA9
1177 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
c3faa9b7
RK
1178 default 0x10124000 if DEBUG_RK3X_UART0
1179 default 0x10126000 if DEBUG_RK3X_UART1
5c972af4
RK
1180 default 0x101f1000 if ARCH_VERSATILE
1181 default 0x101fb000 if DEBUG_NOMADIK_UART
d6682085 1182 default 0x11006000 if DEBUG_MT6589_UART0
5c972af4 1183 default 0x16000000 if ARCH_INTEGRATOR
06580275 1184 default 0x18000300 if DEBUG_BCM_5301X
5c972af4 1185 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
c3faa9b7
RK
1186 default 0x20060000 if DEBUG_RK29_UART0
1187 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1188 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
5c972af4 1189 default 0x20201000 if DEBUG_BCM2835
753d1243 1190 default 0x3e000000 if DEBUG_BCM_KONA_UART
494e492d 1191 default 0x4000e400 if DEBUG_LL_UART_EFM32
c3faa9b7
RK
1192 default 0x40090000 if ARCH_LPC32XX
1193 default 0x40100000 if DEBUG_PXA_UART1
1194 default 0x42000000 if ARCH_GEMINI
1899de28
HS
1195 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1196 DEBUG_S3C2410_UART0)
1197 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1198 DEBUG_S3C2410_UART1)
1199 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1200 DEBUG_S3C2410_UART2)
c3ca2130 1201 default 0x78000000 if DEBUG_CNS3XXX
c3faa9b7 1202 default 0x7c0003f8 if FOOTBRIDGE
b125170a 1203 default 0x78000000 if DEBUG_CNS3XXX
5c972af4
RK
1204 default 0x80070000 if DEBUG_IMX23_UART
1205 default 0x80074000 if DEBUG_IMX28_UART
c39e1ef7 1206 default 0x80230000 if DEBUG_PICOXCELL_UART
5c972af4
RK
1207 default 0x808c0000 if ARCH_EP93XX
1208 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
7098cff2 1209 default 0xa9a00000 if DEBUG_MSM_UART
5c972af4
RK
1210 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1211 default 0xc0013000 if DEBUG_U300_UART
c3faa9b7
RK
1212 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1213 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
0dc0e475 1214 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
c3faa9b7 1215 default 0xd0012000 if DEBUG_MVEBU_UART
d8a00916 1216 default 0xc81004c0 if DEBUG_MESON_UARTAO
c3faa9b7
RK
1217 default 0xd4017000 if DEBUG_MMP_UART2
1218 default 0xd4018000 if DEBUG_MMP_UART3
0dc0e475 1219 default 0xe0000000 if ARCH_SPEAR13XX
c9a1df48 1220 default 0xe4007000 if DEBUG_HIP04_UART
7a2071c5
GU
1221 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1222 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1223 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1224 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1225 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1226 default 0xe8008000 if DEBUG_R7S72100_SCIF2
c3faa9b7
RK
1227 default 0xf0000be0 if ARCH_EBSA110
1228 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
ba364fc7 1229 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
c3faa9b7 1230 ARCH_ORION5X
caad0b41 1231 default 0xf7fc9000 if DEBUG_BERLIN_UART
12aae309 1232 default 0xf8b00000 if DEBUG_HIX5HD2_UART
7098cff2 1233 default 0xf991e000 if DEBUG_QCOM_UARTDM
8d258beb 1234 default 0xfcb00000 if DEBUG_HI3620_UART
c3faa9b7 1235 default 0xfe800000 if ARCH_IOP32X
efd02ee9 1236 default 0xff690000 if DEBUG_RK32_UART2
0b4cccbe 1237 default 0xffc02000 if DEBUG_SOCFPGA_UART
c3faa9b7 1238 default 0xffd82340 if ARCH_IOP13XX
7a2071c5
GU
1239 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1240 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
5c972af4 1241 default 0xfff36000 if DEBUG_HIGHBANK_UART
b51312be 1242 default 0xfffe8600 if DEBUG_UART_BCM63XX
c3faa9b7 1243 default 0xfffff700 if ARCH_IOP33X
f8f1279c 1244 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
494e492d 1245 DEBUG_LL_UART_EFM32 || \
d8a00916 1246 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
7a2071c5
GU
1247 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1248 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1249 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1250 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1251 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
b51312be 1252 DEBUG_UART_BCM63XX
c3faa9b7
RK
1253
1254config DEBUG_UART_VIRT
1255 hex "Virtual base address of debug UART"
1256 default 0xe0010fe0 if ARCH_RPC
7098cff2 1257 default 0xe1000000 if DEBUG_MSM_UART
c3faa9b7 1258 default 0xf0000be0 if ARCH_EBSA110
5c972af4
RK
1259 default 0xf01fb000 if DEBUG_NOMADIK_UART
1260 default 0xf0201000 if DEBUG_BCM2835
06580275 1261 default 0xf1000300 if DEBUG_BCM_5301X
d6682085 1262 default 0xf1006000 if DEBUG_MT6589_UART0
5c972af4
RK
1263 default 0xf11f1000 if ARCH_VERSATILE
1264 default 0xf1600000 if ARCH_INTEGRATOR
c3faa9b7
RK
1265 default 0xf1c28000 if DEBUG_SUNXI_UART0
1266 default 0xf1c28400 if DEBUG_SUNXI_UART1
c4718543 1267 default 0xf1f02800 if DEBUG_SUNXI_R_UART
c3faa9b7
RK
1268 default 0xf2100000 if DEBUG_PXA_UART1
1269 default 0xf4090000 if ARCH_LPC32XX
1270 default 0xf4200000 if ARCH_GEMINI
1899de28
HS
1271 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1272 DEBUG_S3C2410_UART0)
1273 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1274 DEBUG_S3C2410_UART1)
1275 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1276 DEBUG_S3C2410_UART2)
caad0b41 1277 default 0xf7fc9000 if DEBUG_BERLIN_UART
c9a1df48 1278 default 0xf8007000 if DEBUG_HIP04_UART
5c972af4
RK
1279 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1280 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
7098cff2 1281 default 0xfa71e000 if DEBUG_QCOM_UARTDM
b125170a 1282 default 0xfb002000 if DEBUG_CNS3XXX
5c972af4
RK
1283 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1284 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
b51312be 1285 default 0xfcfe8600 if DEBUG_UART_BCM63XX
0dc0e475
RK
1286 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1287 default 0xfd000000 if ARCH_SPEAR13XX
c3faa9b7
RK
1288 default 0xfd012000 if ARCH_MV78XX0
1289 default 0xfde12000 if ARCH_DOVE
1290 default 0xfe012000 if ARCH_ORION5X
d8a00916 1291 default 0xf31004c0 if DEBUG_MESON_UARTAO
c3faa9b7
RK
1292 default 0xfe017000 if DEBUG_MMP_UART2
1293 default 0xfe018000 if DEBUG_MMP_UART3
5c972af4 1294 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
0b4cccbe 1295 default 0xfe230000 if DEBUG_PICOXCELL_UART
753d1243 1296 default 0xfe300000 if DEBUG_BCM_KONA_UART
c3faa9b7 1297 default 0xfe800000 if ARCH_IOP32X
12aae309 1298 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
c3faa9b7
RK
1299 default 0xfeb24000 if DEBUG_RK3X_UART0
1300 default 0xfeb26000 if DEBUG_RK3X_UART1
f2acf003
RK
1301 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1302 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
0b4cccbe 1303 default 0xfec02000 if DEBUG_SOCFPGA_UART
c39e1ef7 1304 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
97bd1a48 1305 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
efd02ee9 1306 default 0xfec90000 if DEBUG_RK32_UART2
97bd1a48
RK
1307 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1308 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
c39e1ef7
AS
1309 default 0xfed60000 if DEBUG_RK29_UART0
1310 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1311 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
5c972af4 1312 default 0xfedc0000 if ARCH_EP93XX
c3faa9b7 1313 default 0xfee003f8 if FOOTBRIDGE
5c972af4 1314 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
c3faa9b7
RK
1315 default 0xfee82340 if ARCH_IOP13XX
1316 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1317 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
c39e1ef7 1318 default 0xfef36000 if DEBUG_HIGHBANK_UART
c3faa9b7 1319 default 0xfefff700 if ARCH_IOP33X
5c972af4
RK
1320 default 0xff003000 if DEBUG_U300_UART
1321 default DEBUG_UART_PHYS if !MMU
f8f1279c 1322 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
d8a00916 1323 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
b51312be
FF
1324 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1325 DEBUG_UART_BCM63XX
c3faa9b7 1326
4a003647
RK
1327config DEBUG_UART_8250_SHIFT
1328 int "Register offset shift for the 8250 debug UART"
f8f1279c 1329 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
4a003647
RK
1330 default 0 if FOOTBRIDGE || ARCH_IOP32X
1331 default 2
7610b607 1332
0b4cccbe
RK
1333config DEBUG_UART_8250_WORD
1334 bool "Use 32-bit accesses for 8250 UART"
f8f1279c 1335 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
0b4cccbe 1336 depends on DEBUG_UART_8250_SHIFT >= 2
f2acf003 1337 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
97bd1a48
RK
1338 ARCH_KEYSTONE || \
1339 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
9d6eccb9 1340 DEBUG_DAVINCI_DA8XX_UART2 || \
efd02ee9 1341 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
0b4cccbe 1342
7610b607
RK
1343config DEBUG_UART_8250_FLOW_CONTROL
1344 bool "Enable flow control for 8250 UART"
f8f1279c 1345 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
7610b607
RK
1346 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1347
3b4af9bc
SG
1348config DEBUG_UNCOMPRESS
1349 bool
90266754 1350 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
b6992fa9 1351 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
ae3c99a2 1352 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
b6992fa9
RK
1353 help
1354 This option influences the normal decompressor output for
1355 multiplatform kernels. Normally, multiplatform kernels disable
1356 decompressor output because it is not possible to know where to
1357 send the decompressor output.
1358
1359 When this option is set, the selected DEBUG_LL output method
1360 will be re-used for normal decompressor output on multiplatform
1361 kernels.
1362
3b4af9bc 1363
615967b0
SG
1364config UNCOMPRESS_INCLUDE
1365 string
ffd80ecc 1366 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
2bf73dd6 1367 PLAT_SAMSUNG || ARCH_EFM32
615967b0
SG
1368 default "mach/uncompress.h"
1369
93fd03a8
CM
1370config EARLY_PRINTK
1371 bool "Early printk"
1372 depends on DEBUG_LL
1373 help
1374 Say Y here if you want to have an early console using the
1375 kernel low-level debugging functions. Add earlyprintk to your
1376 kernel parameters to enable this console.
1377
c5d6c770
AS
1378config OC_ETM
1379 bool "On-chip ETM and ETB"
53eebb0d 1380 depends on ARM_AMBA
c5d6c770
AS
1381 help
1382 Enables the on-chip embedded trace macrocell and embedded trace
1383 buffer driver that will allow you to collect traces of the
1384 kernel code.
1385
4189bc71
JM
1386config ARM_KPROBES_TEST
1387 tristate "Kprobes test module"
1388 depends on KPROBES && MODULES
1389 help
1390 Perform tests of kprobes API and instruction set simulation.
1391
575320d6
WD
1392config PID_IN_CONTEXTIDR
1393 bool "Write the current PID to the CONTEXTIDR register"
1394 depends on CPU_COPY_V6
1395 help
1396 Enabling this option causes the kernel to write the current PID to
1397 the PROCID field of the CONTEXTIDR register, at the expense of some
1398 additional instructions during context switch. Say Y here only if you
1399 are planning to use hardware trace tools with this kernel.
1400
dca9aa92
LA
1401config DEBUG_SET_MODULE_RONX
1402 bool "Set loadable kernel module data as NX and text as RO"
1403 depends on MODULES
1404 ---help---
1405 This option helps catch unintended modifications to loadable
1406 kernel module's text and read-only data. It also prevents execution
1407 of module data. Such protection may interfere with run-time code
1408 patching and dynamic kernel tracing - and they might also protect
1409 against certain classes of kernel exploits.
1410 If in doubt, say "N".
1411
1da177e4 1412endmenu