]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/Kconfig.debug
Merge tag 'omap-for-v3.19/prcm-cleanup' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-eoan-kernel.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
81b43a6e
MC
142 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
164acf96
SB
153 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.
17916b28
WD
159
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.
17916b28 166
29c9b7be
AB
167 config DEBUG_CNS3XXX
168 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
169 depends on ARCH_CNS3XXX
b125170a 170 select DEBUG_UART_8250
29c9b7be
AB
171 help
172 Say Y here if you want the debug print routines to direct
173 their output to the CNS3xxx UART0.
174
477099f1
UKK
175 config DEBUG_DAVINCI_DA8XX_UART1
176 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
177 depends on ARCH_DAVINCI_DA8XX
97bd1a48 178 select DEBUG_UART_8250
477099f1
UKK
179 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
97bd1a48 186 select DEBUG_UART_8250
477099f1
UKK
187 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
97bd1a48 194 select DEBUG_UART_8250
477099f1
UKK
195 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
aaf5e0be
NB
199 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
e76f4750
RK
216 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
8d258beb
HZ
230 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
220e6cf7
RH
246 config DEBUG_HIGHBANK_UART
247 bool "Kernel low-level debugging messages via Highbank UART"
248 depends on ARCH_HIGHBANK
5c972af4 249 select DEBUG_UART_PL01X
220e6cf7
RH
250 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
c9a1df48
HZ
254 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
37bdaf82
OJ
262 config DEBUG_HIX5HD2_UART
263 bool "Hisilicon Hix5hd2 Debug UART"
264 depends on ARCH_HIX5HD2
5c972af4 265 select DEBUG_UART_PL01X
220e6cf7 266 help
37bdaf82
OJ
267 Say Y here if you want kernel low-level debugging support
268 on Hix5hd2 UART.
220e6cf7 269
f350b861
SG
270 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
5c972af4 280 select DEBUG_UART_PL01X
f350b861
SG
281 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
5c972af4 302 select DEBUG_UART_PL01X
f350b861
SG
303 help
304 Say Y here if you want kernel low-level debugging support
305 on i.MX28.
306
4ad625d4
SG
307 config DEBUG_IMX31_UART
308 bool "i.MX31 Debug UART"
309 depends on SOC_IMX31
f350b861
SG
310 help
311 Say Y here if you want kernel low-level debugging support
4ad625d4
SG
312 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.
f350b861 320
ad364a70
GU
321 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
f350b861
SG
328 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
7356420c
FE
335 config DEBUG_IMX53_UART
336 bool "i.MX53 Debug UART"
337 depends on SOC_IMX53
f350b861
SG
338 help
339 Say Y here if you want kernel low-level debugging support
7356420c 340 on i.MX53.
f350b861 341
49c9e60e 342 config DEBUG_IMX6Q_UART
3c03a2fe 343 bool "i.MX6Q/DL Debug UART"
785d7fab
DB
344 depends on SOC_IMX6Q
345 help
346 Say Y here if you want kernel low-level debugging support
3c03a2fe 347 on i.MX6Q/DL.
bac89d75 348
34e8a16b
SG
349 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
74368e81
SG
356 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
828989ad
SS
363 config DEBUG_KEYSTONE_UART0
364 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
365 depends on ARCH_KEYSTONE
f2acf003 366 select DEBUG_UART_8250
828989ad
SS
367 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
f2acf003 374 select DEBUG_UART_8250
828989ad
SS
375 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
d8a00916
CC
379 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
fa4cd2a8
HZ
386 config DEBUG_MMP_UART2
387 bool "Kernel low-level debugging message via MMP UART2"
388 depends on ARCH_MMP
4a003647 389 select DEBUG_UART_8250
fa4cd2a8
HZ
390 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
4a003647 397 select DEBUG_UART_8250
fa4cd2a8
HZ
398 help
399 Say Y here if you want kernel low-level debugging support
400 on MMP UART3.
401
7098cff2
II
402 config DEBUG_MSM_UART
403 bool "Kernel low-level debugging messages via MSM UART"
404 depends on ARCH_MSM
952aeeb2
WD
405 help
406 Say Y here if you want the debug print routines to direct
7098cff2 407 their output to the serial port on MSM devices.
952aeeb2 408
7098cff2
II
409 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
952aeeb2 413
7098cff2
II
414 MSM7X30 0xaca00000 0xe1000000 UART1
415 MSM7X30 0xacb00000 0xe1000000 UART2
416 MSM7X30 0xacc00000 0xe1000000 UART3
952aeeb2 417
7098cff2
II
418 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
419 options based on your needs.
952aeeb2 420
7098cff2
II
421 config DEBUG_QCOM_UARTDM
422 bool "Kernel low-level debugging messages via QCOM UARTDM"
423 depends on ARCH_QCOM
e76f4750
RK
424 help
425 Say Y here if you want the debug print routines to direct
7098cff2 426 their output to the serial port on Qualcomm devices.
952aeeb2 427
7098cff2 428 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
2f528dd3 429 APQ8084 0xf995e000 0xfa75e000
7098cff2
II
430 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.
3c8828f6 436
bfd5af99 437 config DEBUG_MVEBU_UART
c2804cd6 438 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
bfd5af99 439 depends on ARCH_MVEBU
4a003647 440 select DEBUG_UART_8250
bfd5af99
RH
441 help
442 Say Y here if you want kernel low-level debugging support
443 on MVEBU based platforms.
444
c2804cd6
TP
445 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
4a003647 459 select DEBUG_UART_8250
c2804cd6
TP
460 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
c7c3eac6
SG
471 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
266c3479
LW
478 config DEBUG_NOMADIK_UART
479 bool "Kernel low-level debugging messages via NOMADIK UART"
480 depends on ARCH_NOMADIK
5c972af4 481 select DEBUG_UART_PL01X
266c3479
LW
482 help
483 Say Y here if you want kernel low-level debugging support
484 on NOMADIK based platforms.
485
9851ca57
DT
486 config DEBUG_NSPIRE_CLASSIC_UART
487 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
488 depends on ARCH_NSPIRE
4a003647 489 select DEBUG_UART_8250
9851ca57
DT
490 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
5c972af4 497 select DEBUG_UART_PL01X
9851ca57
DT
498 help
499 Say Y here if you want kernel low-level debugging support
500 on TI-NSPIRE CX models.
501
cce278d2
RK
502 config DEBUG_OMAP2UART1
503 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
808b7e07 504 depends on ARCH_OMAP2PLUS
cce278d2 505 select DEBUG_OMAP2PLUS_UART
808b7e07 506 help
cce278d2
RK
507 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
808b7e07 568
59bba2a9
RH
569 config DEBUG_PICOXCELL_UART
570 depends on ARCH_PICOXCELL
571 bool "Use PicoXcell UART for low-level debug"
0b4cccbe 572 select DEBUG_UART_8250
59bba2a9
RH
573 help
574 Say Y here if you want kernel low-level debugging support
575 on PicoXcell based platforms.
576
0a43cd3b
HZ
577 config DEBUG_PXA_UART1
578 depends on ARCH_PXA
579 bool "Use PXA UART1 for low-level debug"
4a003647 580 select DEBUG_UART_8250
0a43cd3b
HZ
581 help
582 Say Y here if you want kernel low-level debugging support
583 on PXA UART1.
584
1285b8f8
WD
585 config DEBUG_REALVIEW_STD_PORT
586 bool "RealView Default UART"
587 depends on ARCH_REALVIEW
5c972af4 588 select DEBUG_UART_PL01X
1285b8f8
WD
589 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
5c972af4 597 select DEBUG_UART_PL01X
1285b8f8
WD
598 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
cce278d2
RK
603 config DEBUG_RK29_UART0
604 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
605 depends on ARCH_ROCKCHIP
4a003647 606 select DEBUG_UART_8250
cce278d2
RK
607 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
4a003647 614 select DEBUG_UART_8250
cce278d2
RK
615 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
4a003647 622 select DEBUG_UART_8250
cce278d2
RK
623 help
624 Say Y here if you want kernel low-level debugging support
625 on Rockchip based platforms.
626
627 config DEBUG_RK3X_UART0
aa9c4f74 628 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
cce278d2 629 depends on ARCH_ROCKCHIP
4a003647 630 select DEBUG_UART_8250
cce278d2
RK
631 help
632 Say Y here if you want kernel low-level debugging support
633 on Rockchip based platforms.
634
635 config DEBUG_RK3X_UART1
aa9c4f74 636 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
38bd6892 637 depends on ARCH_ROCKCHIP
4a003647 638 select DEBUG_UART_8250
cce278d2
RK
639 help
640 Say Y here if you want kernel low-level debugging support
641 on Rockchip based platforms.
642
643 config DEBUG_RK3X_UART2
aa9c4f74 644 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
cce278d2 645 depends on ARCH_ROCKCHIP
4a003647 646 select DEBUG_UART_8250
cce278d2
RK
647 help
648 Say Y here if you want kernel low-level debugging support
649 on Rockchip based platforms.
650
651 config DEBUG_RK3X_UART3
aa9c4f74 652 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
cce278d2 653 depends on ARCH_ROCKCHIP
4a003647 654 select DEBUG_UART_8250
38bd6892
HS
655 help
656 Say Y here if you want kernel low-level debugging support
657 on Rockchip based platforms.
658
efd02ee9
HS
659 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
e76f4750
RK
667 config DEBUG_S3C_UART0
668 depends on PLAT_SAMSUNG
a2e40710 669 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 670 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 671 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 672 bool "Use Samsung S3C UART 0 for low-level debug"
650e3f0d
SB
673 help
674 Say Y here if you want the debug print routines to direct
e76f4750
RK
675 their output to UART 0. The port must have been initialised
676 by the boot-loader before use.
650e3f0d 677
e76f4750
RK
678 config DEBUG_S3C_UART1
679 depends on PLAT_SAMSUNG
a2e40710 680 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 681 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 682 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 683 bool "Use Samsung S3C UART 1 for low-level debug"
650e3f0d
SB
684 help
685 Say Y here if you want the debug print routines to direct
e76f4750
RK
686 their output to UART 1. The port must have been initialised
687 by the boot-loader before use.
650e3f0d 688
e76f4750
RK
689 config DEBUG_S3C_UART2
690 depends on PLAT_SAMSUNG
a2e40710 691 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 692 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 693 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 694 bool "Use Samsung S3C UART 2 for low-level debug"
650e3f0d
SB
695 help
696 Say Y here if you want the debug print routines to direct
e76f4750
RK
697 their output to UART 2. The port must have been initialised
698 by the boot-loader before use.
650e3f0d 699
5fa23dde 700 config DEBUG_S3C_UART3
7bab7d9e
TF
701 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
702 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
703 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 704 bool "Use Samsung S3C UART 3 for low-level debug"
5fa23dde
OJ
705 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
daf67dfc
HS
710 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
6111bf7c
RH
737 config DEBUG_SOCFPGA_UART
738 depends on ARCH_SOCFPGA
739 bool "Use SOCFPGA UART for low-level debug"
0b4cccbe 740 select DEBUG_UART_8250
6111bf7c
RH
741 help
742 Say Y here if you want kernel low-level debugging support
743 on SOCFPGA based platforms.
744
aa25115a
SR
745 config DEBUG_SUNXI_UART0
746 bool "Kernel low-level debugging messages via sunXi UART0"
747 depends on ARCH_SUNXI
4a003647 748 select DEBUG_UART_8250
aa25115a
SR
749 help
750 Say Y here if you want kernel low-level debugging support
751 on Allwinner A1X based platforms on the UART0.
752
cb84fa18
MR
753 config DEBUG_SUNXI_UART1
754 bool "Kernel low-level debugging messages via sunXi UART1"
755 depends on ARCH_SUNXI
4a003647 756 select DEBUG_UART_8250
cb84fa18
MR
757 help
758 Say Y here if you want kernel low-level debugging support
759 on Allwinner A1X based platforms on the UART1.
760
c4718543
CYT
761 config DEBUG_SUNXI_R_UART
762 bool "Kernel low-level debugging messages via sunXi R_UART"
763 depends on MACH_SUN6I || MACH_SUN8I
764 select DEBUG_UART_8250
765 help
766 Say Y here if you want kernel low-level debugging support
767 on Allwinner A31/A23 based platforms on the R_UART.
768
cce278d2
RK
769 config TEGRA_DEBUG_UART_AUTO_ODMDATA
770 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
46067803 771 depends on ARCH_TEGRA
cce278d2
RK
772 select DEBUG_TEGRA_UART
773 help
774 Automatically determines which UART to use for low-level
775 debug based on the ODMDATA value. This value is part of
776 the BCT, and is written to the boot memory device using
777 nvflash, or other flashing tool. When bits 19:18 are 3,
778 then bits 17:15 indicate which UART to use; 0/1/2/3/4
779 are UART A/B/C/D/E.
780
781 config TEGRA_DEBUG_UARTA
782 bool "Kernel low-level debugging messages via Tegra UART A"
783 depends on ARCH_TEGRA
784 select DEBUG_TEGRA_UART
785 help
786 Say Y here if you want kernel low-level debugging support
787 on Tegra based platforms.
788
789 config TEGRA_DEBUG_UARTB
790 bool "Kernel low-level debugging messages via Tegra UART B"
791 depends on ARCH_TEGRA
792 select DEBUG_TEGRA_UART
793 help
794 Say Y here if you want kernel low-level debugging support
795 on Tegra based platforms.
796
797 config TEGRA_DEBUG_UARTC
798 bool "Kernel low-level debugging messages via Tegra UART C"
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_UARTD
806 bool "Kernel low-level debugging messages via Tegra UART D"
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_UARTE
814 bool "Kernel low-level debugging messages via Tegra UART E"
815 depends on ARCH_TEGRA
816 select DEBUG_TEGRA_UART
46067803
SW
817 help
818 Say Y here if you want kernel low-level debugging support
819 on Tegra based platforms.
820
7f46a107
BS
821 config DEBUG_SIRFPRIMA2_UART1
822 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
823 depends on ARCH_PRIMA2
824 help
825 Say Y here if you want the debug print routines to direct
826 their output to the uart1 port on SiRFprimaII devices.
827
828 config DEBUG_SIRFMARCO_UART1
829 bool "Kernel low-level debugging messages via SiRFmarco UART1"
830 depends on ARCH_MARCO
831 help
832 Say Y here if you want the debug print routines to direct
833 their output to the uart1 port on SiRFmarco devices.
834
cce278d2
RK
835 config STIH41X_DEBUG_ASC2
836 bool "Use StiH415/416 ASC2 UART for low-level debug"
837 depends on ARCH_STI
838 select DEBUG_STI_UART
839 help
840 Say Y here if you want kernel low-level debugging support
841 on STiH415/416 based platforms like b2000, which has
842 default UART wired up to ASC2.
843
844 If unsure, say N.
845
846 config STIH41X_DEBUG_SBC_ASC1
847 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
5562b800 848 depends on ARCH_STI
cce278d2 849 select DEBUG_STI_UART
5562b800
AB
850 help
851 Say Y here if you want kernel low-level debugging support
cce278d2
RK
852 on STiH415/416 based platforms like b2020. which has
853 default UART wired up to SBC ASC1.
5562b800
AB
854
855 If unsure, say N.
856
dd324da7
LW
857 config DEBUG_U300_UART
858 bool "Kernel low-level debugging messages via U300 UART0"
859 depends on ARCH_U300
5c972af4 860 select DEBUG_UART_PL01X
dd324da7
LW
861 help
862 Say Y here if you want the debug print routines to direct
863 their output to the uart port on U300 devices.
864
f87b95dd
LW
865 config DEBUG_UX500_UART
866 depends on ARCH_U8500
867 bool "Use Ux500 UART for low-level debug"
868 help
869 Say Y here if you want kernel low-level debugging support
870 on Ux500 based platforms.
871
d6682085
MB
872 config DEBUG_MT6589_UART0
873 bool "Mediatek mt6589 UART0"
874 depends on ARCH_MEDIATEK
875 select DEBUG_UART_8250
876 help
877 Say Y here if you want kernel low-level debugging support
878 for Mediatek mt6589 based platforms on UART0.
879
1b820eaf
PM
880 config DEBUG_VEXPRESS_UART0_DETECT
881 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
882 depends on ARCH_VEXPRESS && CPU_CP15_MMU
883 help
884 This option enables a simple heuristic which tries to determine
885 the motherboard's memory map variant (original or RS1) and then
886 choose the relevant UART0 base address.
887
888 Note that this will only work with standard A-class core tiles,
889 and may fail with non-standard SMM or custom software models.
890
891 config DEBUG_VEXPRESS_UART0_CA9
892 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
893 depends on ARCH_VEXPRESS
5c972af4 894 select DEBUG_UART_PL01X
1b820eaf
PM
895 help
896 This option selects UART0 at 0x10009000. Except for custom models,
897 this applies only to the V2P-CA9 tile.
898
899 config DEBUG_VEXPRESS_UART0_RS1
900 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
901 depends on ARCH_VEXPRESS
5c972af4 902 select DEBUG_UART_PL01X
1b820eaf
PM
903 help
904 This option selects UART0 at 0x1c090000. This applies to most
905 of the tiles using the RS1 memory map, including all new A-class
906 core tiles, FPGA-based SMMs and software models.
907
ed18bdc8
JA
908 config DEBUG_VEXPRESS_UART0_CRX
909 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
910 depends on ARCH_VEXPRESS && !MMU
5c972af4 911 select DEBUG_UART_PL01X
ed18bdc8
JA
912 help
913 This option selects UART0 at 0xb0090000. This is appropriate for
914 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
915
b61a2722
TP
916 config DEBUG_VT8500_UART0
917 bool "Use UART0 on VIA/Wondermedia SoCs"
918 depends on ARCH_VT8500
919 help
920 This option selects UART0 on VIA/Wondermedia System-on-a-chip
921 devices, including VT8500, WM8505, WM8650 and WM8850.
922
e76f4750
RK
923 config DEBUG_LL_UART_NONE
924 bool "No low-level debugging UART"
387798b3 925 depends on !ARCH_MULTIPLATFORM
a3d3ef9d 926 help
e76f4750 927 Say Y here if your platform doesn't provide a UART option
730cc26f 928 above. This relies on your platform choosing the right UART
e76f4750
RK
929 definition internally in order for low-level debugging to
930 work.
a3d3ef9d 931
e76f4750
RK
932 config DEBUG_ICEDCC
933 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
a3d3ef9d
SB
934 help
935 Say Y here if you want the debug print routines to direct
e76f4750
RK
936 their output to the EmbeddedICE macrocell's DCC channel using
937 co-processor 14. This is known to work on the ARM9 style ICE
938 channel and on the XScale with the PEEDI.
939
940 Note that the system will appear to hang during boot if there
941 is nothing connected to read from the DCC.
a3d3ef9d 942
b0df8986 943 config DEBUG_SEMIHOSTING
62194bda 944 bool "Kernel low-level debug output via semihosting I/O"
650e3f0d 945 help
b0df8986
RK
946 Semihosting enables code running on an ARM target to use
947 the I/O facilities on a host debugger/emulator through a
62194bda 948 simple SVC call. The host debugger or emulator must have
b0df8986
RK
949 semihosting enabled for the special svc call to be trapped
950 otherwise the kernel will crash.
650e3f0d 951
62194bda 952 This is known to work with OpenOCD, as well as
b0df8986
RK
953 ARM's Fast Models, or any other controlling environment
954 that implements semihosting.
a3d3ef9d 955
b0df8986
RK
956 For more details about semihosting, please see
957 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
a3d3ef9d 958
f8f1279c
RK
959 config DEBUG_LL_UART_8250
960 bool "Kernel low-level debugging via 8250 UART"
961 help
962 Say Y here if you wish the debug print routes to direct
963 their output to an 8250 UART. You can use this option
964 to provide the parameters for the 8250 UART rather than
965 selecting one of the platform specific options above if
966 you know the parameters for the port.
967
968 This option is preferred over the platform specific
969 options; the platform specific options are deprecated
970 and will be soon removed.
971
494e492d
UKK
972 config DEBUG_LL_UART_EFM32
973 bool "Kernel low-level debugging via efm32 UART"
974 depends on ARCH_EFM32
975 help
976 Say Y here if you want the debug print routines to direct
977 their output to an UART or USART port on efm32 based
978 machines. Use the following addresses for DEBUG_UART_PHYS:
979
980 0x4000c000 | USART0
981 0x4000c400 | USART1
982 0x4000c800 | USART2
983 0x4000e000 | UART0
984 0x4000e400 | UART1
985
f8f1279c
RK
986 config DEBUG_LL_UART_PL01X
987 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
988 help
989 Say Y here if you wish the debug print routes to direct
990 their output to a PL01x Primecell UART. You can use
991 this option to provide the parameters for the UART
992 rather than selecting one of the platform specific
993 options above if you know the parameters for the port.
994
995 This option is preferred over the platform specific
996 options; the platform specific options are deprecated
997 and will be soon removed.
998
17916b28
WD
999endchoice
1000
a2e40710
AB
1001config DEBUG_EXYNOS_UART
1002 bool
1003
daf67dfc
HS
1004config DEBUG_S3C2410_UART
1005 bool
1899de28
HS
1006 select DEBUG_S3C24XX_UART
1007
1008config DEBUG_S3C24XX_UART
1009 bool
daf67dfc 1010
7bab7d9e
TF
1011config DEBUG_S5PV210_UART
1012 bool
1013
cce278d2
RK
1014config DEBUG_OMAP2PLUS_UART
1015 bool
1016 depends on ARCH_OMAP2PLUS
1017
f8c95fe6
SG
1018config DEBUG_IMX_UART_PORT
1019 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1020 DEBUG_IMX25_UART || \
1021 DEBUG_IMX21_IMX27_UART || \
1022 DEBUG_IMX31_UART || \
1023 DEBUG_IMX35_UART || \
ad364a70 1024 DEBUG_IMX50_UART || \
f8c95fe6 1025 DEBUG_IMX51_UART || \
0c52db7e 1026 DEBUG_IMX53_UART || \
34e8a16b 1027 DEBUG_IMX6Q_UART || \
74368e81
SG
1028 DEBUG_IMX6SL_UART || \
1029 DEBUG_IMX6SX_UART
49c9e60e 1030 default 1
287939a3 1031 depends on ARCH_MXC
49c9e60e
SG
1032 help
1033 Choose UART port on which kernel low-level debug messages
1034 should be output.
1035
cfdb7d56
SA
1036config DEBUG_VF_UART_PORT
1037 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1038 default 1
1039 range 0 3
1040 depends on SOC_VF610
1041 help
1042 Choose UART port on which kernel low-level debug messages
1043 should be output.
1044
cce278d2
RK
1045config DEBUG_TEGRA_UART
1046 bool
1047 depends on ARCH_TEGRA
5026aecf 1048
cce278d2
RK
1049config DEBUG_STI_UART
1050 bool
1051 depends on ARCH_STI
5026aecf 1052
91a9fec0
RH
1053config DEBUG_LL_INCLUDE
1054 string
f8f1279c 1055 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
dd99eef5 1056 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
d8a00916 1057 default "debug/meson.S" if DEBUG_MESON_UARTAO
f8f1279c 1058 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
a2e40710 1059 default "debug/exynos.S" if DEBUG_EXYNOS_UART
494e492d 1060 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
91a9fec0 1061 default "debug/icedcc.S" if DEBUG_ICEDCC
6dde5ac5
SG
1062 default "debug/imx.S" if DEBUG_IMX1_UART || \
1063 DEBUG_IMX25_UART || \
1064 DEBUG_IMX21_IMX27_UART || \
4ad625d4
SG
1065 DEBUG_IMX31_UART || \
1066 DEBUG_IMX35_UART || \
ad364a70 1067 DEBUG_IMX50_UART || \
6dde5ac5 1068 DEBUG_IMX51_UART || \
7356420c 1069 DEBUG_IMX53_UART ||\
34e8a16b 1070 DEBUG_IMX6Q_UART || \
74368e81
SG
1071 DEBUG_IMX6SL_UART || \
1072 DEBUG_IMX6SX_UART
7098cff2 1073 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
808b7e07 1074 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
2cd62bd4 1075 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
7bab7d9e 1076 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
67bdb287 1077 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
5026aecf 1078 default "debug/sti.S" if DEBUG_STI_UART
150a8dcf
LT
1079 default "debug/tegra.S" if DEBUG_TEGRA_UART
1080 default "debug/ux500.S" if DEBUG_UX500_UART
4e218b99 1081 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
c7c3eac6 1082 default "debug/vf.S" if DEBUG_VF_UART
b61a2722 1083 default "debug/vt8500.S" if DEBUG_VT8500_UART0
385f02b1 1084 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
b51312be 1085 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
91a9fec0
RH
1086 default "mach/debug-macro.S"
1087
f8f1279c 1088# Compatibility options for PL01x
5c972af4
RK
1089config DEBUG_UART_PL01X
1090 def_bool ARCH_EP93XX || \
1091 ARCH_INTEGRATOR || \
0dc0e475
RK
1092 ARCH_SPEAR3XX || \
1093 ARCH_SPEAR6XX || \
1094 ARCH_SPEAR13XX || \
5c972af4
RK
1095 ARCH_VERSATILE
1096
f8f1279c 1097# Compatibility options for 8250
7610b607 1098config DEBUG_UART_8250
4a003647
RK
1099 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1100 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1101 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
ba364fc7 1102 ARCH_IOP33X || ARCH_IXP4XX || \
4a003647
RK
1103 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1104
b51312be
FF
1105# Compatibility options for BCM63xx
1106config DEBUG_UART_BCM63XX
1107 def_bool ARCH_BCM_63XX
1108
c3faa9b7
RK
1109config DEBUG_UART_PHYS
1110 hex "Physical base address of debug UART"
97bd1a48 1111 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
c3faa9b7
RK
1112 default 0x01c28000 if DEBUG_SUNXI_UART0
1113 default 0x01c28400 if DEBUG_SUNXI_UART1
97bd1a48
RK
1114 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1115 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
c4718543 1116 default 0x01f02800 if DEBUG_SUNXI_R_UART
f2acf003
RK
1117 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1118 default 0x02531000 if DEBUG_KEYSTONE_UART1
c3faa9b7 1119 default 0x03010fe0 if ARCH_RPC
b125170a 1120 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
5c972af4
RK
1121 DEBUG_VEXPRESS_UART0_CA9
1122 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
c3faa9b7
RK
1123 default 0x10124000 if DEBUG_RK3X_UART0
1124 default 0x10126000 if DEBUG_RK3X_UART1
5c972af4
RK
1125 default 0x101f1000 if ARCH_VERSATILE
1126 default 0x101fb000 if DEBUG_NOMADIK_UART
d6682085 1127 default 0x11006000 if DEBUG_MT6589_UART0
5c972af4 1128 default 0x16000000 if ARCH_INTEGRATOR
06580275 1129 default 0x18000300 if DEBUG_BCM_5301X
5c972af4 1130 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
c3faa9b7
RK
1131 default 0x20060000 if DEBUG_RK29_UART0
1132 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1133 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
5c972af4 1134 default 0x20201000 if DEBUG_BCM2835
753d1243 1135 default 0x3e000000 if DEBUG_BCM_KONA_UART
494e492d 1136 default 0x4000e400 if DEBUG_LL_UART_EFM32
c3faa9b7
RK
1137 default 0x40090000 if ARCH_LPC32XX
1138 default 0x40100000 if DEBUG_PXA_UART1
1139 default 0x42000000 if ARCH_GEMINI
1899de28
HS
1140 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1141 DEBUG_S3C2410_UART0)
1142 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1143 DEBUG_S3C2410_UART1)
1144 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1145 DEBUG_S3C2410_UART2)
c3ca2130 1146 default 0x78000000 if DEBUG_CNS3XXX
c3faa9b7 1147 default 0x7c0003f8 if FOOTBRIDGE
b125170a 1148 default 0x78000000 if DEBUG_CNS3XXX
5c972af4
RK
1149 default 0x80070000 if DEBUG_IMX23_UART
1150 default 0x80074000 if DEBUG_IMX28_UART
c39e1ef7 1151 default 0x80230000 if DEBUG_PICOXCELL_UART
5c972af4
RK
1152 default 0x808c0000 if ARCH_EP93XX
1153 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
7098cff2 1154 default 0xa9a00000 if DEBUG_MSM_UART
5c972af4
RK
1155 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1156 default 0xc0013000 if DEBUG_U300_UART
c3faa9b7
RK
1157 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1158 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
0dc0e475 1159 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
c3faa9b7 1160 default 0xd0012000 if DEBUG_MVEBU_UART
d8a00916 1161 default 0xc81004c0 if DEBUG_MESON_UARTAO
c3faa9b7
RK
1162 default 0xd4017000 if DEBUG_MMP_UART2
1163 default 0xd4018000 if DEBUG_MMP_UART3
0dc0e475 1164 default 0xe0000000 if ARCH_SPEAR13XX
c9a1df48 1165 default 0xe4007000 if DEBUG_HIP04_UART
c3faa9b7 1166 default 0xf0000be0 if ARCH_EBSA110
81b43a6e 1167 default 0xf040ab00 if DEBUG_BRCMSTB_UART
c3faa9b7 1168 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
ba364fc7 1169 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
c3faa9b7 1170 ARCH_ORION5X
caad0b41 1171 default 0xf7fc9000 if DEBUG_BERLIN_UART
12aae309 1172 default 0xf8b00000 if DEBUG_HIX5HD2_UART
7098cff2 1173 default 0xf991e000 if DEBUG_QCOM_UARTDM
8d258beb 1174 default 0xfcb00000 if DEBUG_HI3620_UART
c3faa9b7 1175 default 0xfe800000 if ARCH_IOP32X
efd02ee9 1176 default 0xff690000 if DEBUG_RK32_UART2
0b4cccbe 1177 default 0xffc02000 if DEBUG_SOCFPGA_UART
c3faa9b7 1178 default 0xffd82340 if ARCH_IOP13XX
5c972af4 1179 default 0xfff36000 if DEBUG_HIGHBANK_UART
b51312be 1180 default 0xfffe8600 if DEBUG_UART_BCM63XX
c3faa9b7 1181 default 0xfffff700 if ARCH_IOP33X
f8f1279c 1182 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
494e492d 1183 DEBUG_LL_UART_EFM32 || \
d8a00916 1184 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
b51312be
FF
1185 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1186 DEBUG_UART_BCM63XX
c3faa9b7
RK
1187
1188config DEBUG_UART_VIRT
1189 hex "Virtual base address of debug UART"
1190 default 0xe0010fe0 if ARCH_RPC
7098cff2 1191 default 0xe1000000 if DEBUG_MSM_UART
c3faa9b7 1192 default 0xf0000be0 if ARCH_EBSA110
5c972af4
RK
1193 default 0xf01fb000 if DEBUG_NOMADIK_UART
1194 default 0xf0201000 if DEBUG_BCM2835
06580275 1195 default 0xf1000300 if DEBUG_BCM_5301X
d6682085 1196 default 0xf1006000 if DEBUG_MT6589_UART0
5c972af4
RK
1197 default 0xf11f1000 if ARCH_VERSATILE
1198 default 0xf1600000 if ARCH_INTEGRATOR
c3faa9b7
RK
1199 default 0xf1c28000 if DEBUG_SUNXI_UART0
1200 default 0xf1c28400 if DEBUG_SUNXI_UART1
c4718543 1201 default 0xf1f02800 if DEBUG_SUNXI_R_UART
c3faa9b7
RK
1202 default 0xf2100000 if DEBUG_PXA_UART1
1203 default 0xf4090000 if ARCH_LPC32XX
1204 default 0xf4200000 if ARCH_GEMINI
1899de28
HS
1205 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1206 DEBUG_S3C2410_UART0)
1207 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1208 DEBUG_S3C2410_UART1)
1209 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1210 DEBUG_S3C2410_UART2)
caad0b41 1211 default 0xf7fc9000 if DEBUG_BERLIN_UART
c9a1df48 1212 default 0xf8007000 if DEBUG_HIP04_UART
5c972af4
RK
1213 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1214 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
7098cff2 1215 default 0xfa71e000 if DEBUG_QCOM_UARTDM
b125170a 1216 default 0xfb002000 if DEBUG_CNS3XXX
5c972af4
RK
1217 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1218 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
81b43a6e 1219 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
b51312be 1220 default 0xfcfe8600 if DEBUG_UART_BCM63XX
0dc0e475
RK
1221 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1222 default 0xfd000000 if ARCH_SPEAR13XX
c3faa9b7
RK
1223 default 0xfd012000 if ARCH_MV78XX0
1224 default 0xfde12000 if ARCH_DOVE
1225 default 0xfe012000 if ARCH_ORION5X
d8a00916 1226 default 0xf31004c0 if DEBUG_MESON_UARTAO
c3faa9b7
RK
1227 default 0xfe017000 if DEBUG_MMP_UART2
1228 default 0xfe018000 if DEBUG_MMP_UART3
5c972af4 1229 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
0b4cccbe 1230 default 0xfe230000 if DEBUG_PICOXCELL_UART
753d1243 1231 default 0xfe300000 if DEBUG_BCM_KONA_UART
c3faa9b7 1232 default 0xfe800000 if ARCH_IOP32X
12aae309 1233 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
c3faa9b7
RK
1234 default 0xfeb24000 if DEBUG_RK3X_UART0
1235 default 0xfeb26000 if DEBUG_RK3X_UART1
f2acf003
RK
1236 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1237 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
0b4cccbe 1238 default 0xfec02000 if DEBUG_SOCFPGA_UART
c39e1ef7 1239 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
97bd1a48 1240 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
efd02ee9 1241 default 0xfec90000 if DEBUG_RK32_UART2
97bd1a48
RK
1242 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1243 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
c39e1ef7
AS
1244 default 0xfed60000 if DEBUG_RK29_UART0
1245 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1246 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
5c972af4 1247 default 0xfedc0000 if ARCH_EP93XX
c3faa9b7 1248 default 0xfee003f8 if FOOTBRIDGE
5c972af4 1249 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
c3faa9b7
RK
1250 default 0xfee82340 if ARCH_IOP13XX
1251 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1252 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
c39e1ef7 1253 default 0xfef36000 if DEBUG_HIGHBANK_UART
c3faa9b7 1254 default 0xfefff700 if ARCH_IOP33X
5c972af4
RK
1255 default 0xff003000 if DEBUG_U300_UART
1256 default DEBUG_UART_PHYS if !MMU
f8f1279c 1257 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
d8a00916 1258 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
b51312be
FF
1259 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1260 DEBUG_UART_BCM63XX
c3faa9b7 1261
4a003647
RK
1262config DEBUG_UART_8250_SHIFT
1263 int "Register offset shift for the 8250 debug UART"
f8f1279c 1264 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
4a003647
RK
1265 default 0 if FOOTBRIDGE || ARCH_IOP32X
1266 default 2
7610b607 1267
0b4cccbe
RK
1268config DEBUG_UART_8250_WORD
1269 bool "Use 32-bit accesses for 8250 UART"
f8f1279c 1270 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
0b4cccbe 1271 depends on DEBUG_UART_8250_SHIFT >= 2
f2acf003 1272 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
97bd1a48
RK
1273 ARCH_KEYSTONE || \
1274 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
9d6eccb9 1275 DEBUG_DAVINCI_DA8XX_UART2 || \
81b43a6e
MC
1276 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1277 DEBUG_BRCMSTB_UART
0b4cccbe 1278
7610b607
RK
1279config DEBUG_UART_8250_FLOW_CONTROL
1280 bool "Enable flow control for 8250 UART"
f8f1279c 1281 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
7610b607
RK
1282 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1283
3b4af9bc
SG
1284config DEBUG_UNCOMPRESS
1285 bool
90266754 1286 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
b6992fa9 1287 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
ae3c99a2 1288 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
b6992fa9
RK
1289 help
1290 This option influences the normal decompressor output for
1291 multiplatform kernels. Normally, multiplatform kernels disable
1292 decompressor output because it is not possible to know where to
1293 send the decompressor output.
1294
1295 When this option is set, the selected DEBUG_LL output method
1296 will be re-used for normal decompressor output on multiplatform
1297 kernels.
1298
3b4af9bc 1299
615967b0
SG
1300config UNCOMPRESS_INCLUDE
1301 string
ffd80ecc 1302 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
2bf73dd6 1303 PLAT_SAMSUNG || ARCH_EFM32
615967b0
SG
1304 default "mach/uncompress.h"
1305
93fd03a8
CM
1306config EARLY_PRINTK
1307 bool "Early printk"
1308 depends on DEBUG_LL
1309 help
1310 Say Y here if you want to have an early console using the
1311 kernel low-level debugging functions. Add earlyprintk to your
1312 kernel parameters to enable this console.
1313
c5d6c770
AS
1314config OC_ETM
1315 bool "On-chip ETM and ETB"
53eebb0d 1316 depends on ARM_AMBA
c5d6c770
AS
1317 help
1318 Enables the on-chip embedded trace macrocell and embedded trace
1319 buffer driver that will allow you to collect traces of the
1320 kernel code.
1321
4189bc71
JM
1322config ARM_KPROBES_TEST
1323 tristate "Kprobes test module"
1324 depends on KPROBES && MODULES
1325 help
1326 Perform tests of kprobes API and instruction set simulation.
1327
575320d6
WD
1328config PID_IN_CONTEXTIDR
1329 bool "Write the current PID to the CONTEXTIDR register"
1330 depends on CPU_COPY_V6
1331 help
1332 Enabling this option causes the kernel to write the current PID to
1333 the PROCID field of the CONTEXTIDR register, at the expense of some
1334 additional instructions during context switch. Say Y here only if you
1335 are planning to use hardware trace tools with this kernel.
1336
dca9aa92
LA
1337config DEBUG_SET_MODULE_RONX
1338 bool "Set loadable kernel module data as NX and text as RO"
1339 depends on MODULES
1340 ---help---
1341 This option helps catch unintended modifications to loadable
1342 kernel module's text and read-only data. It also prevents execution
1343 of module data. Such protection may interfere with run-time code
1344 patching and dynamic kernel tracing - and they might also protect
1345 against certain classes of kernel exploits.
1346 If in doubt, say "N".
1347
1da177e4 1348endmenu