]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/Kconfig.debug
ARM: shmobile: always build rcar setup for armv7
[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
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
e76f4750
RK
656 config DEBUG_S3C_UART0
657 depends on PLAT_SAMSUNG
a2e40710 658 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1899de28 659 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
7bab7d9e 660 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 661 bool "Use Samsung S3C UART 0 for low-level debug"
650e3f0d
SB
662 help
663 Say Y here if you want the debug print routines to direct
e76f4750
RK
664 their output to UART 0. The port must have been initialised
665 by the boot-loader before use.
650e3f0d 666
e76f4750
RK
667 config DEBUG_S3C_UART1
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 1 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 1. The port must have been initialised
676 by the boot-loader before use.
650e3f0d 677
e76f4750
RK
678 config DEBUG_S3C_UART2
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 2 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 2. The port must have been initialised
687 by the boot-loader before use.
650e3f0d 688
5fa23dde 689 config DEBUG_S3C_UART3
7bab7d9e
TF
690 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
691 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
692 select DEBUG_S5PV210_UART if ARCH_S5PV210
5cc8a016 693 bool "Use Samsung S3C UART 3 for low-level debug"
5fa23dde
OJ
694 help
695 Say Y here if you want the debug print routines to direct
696 their output to UART 3. The port must have been initialised
697 by the boot-loader before use.
698
daf67dfc
HS
699 config DEBUG_S3C2410_UART0
700 depends on ARCH_S3C24XX
701 select DEBUG_S3C2410_UART
702 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
703 help
704 Say Y here if you want the debug print routines to direct
705 their output to UART 0. The port must have been initialised
706 by the boot-loader before use.
707
708 config DEBUG_S3C2410_UART1
709 depends on ARCH_S3C24XX
710 select DEBUG_S3C2410_UART
711 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
712 help
713 Say Y here if you want the debug print routines to direct
714 their output to UART 1. The port must have been initialised
715 by the boot-loader before use.
716
717 config DEBUG_S3C2410_UART2
718 depends on ARCH_S3C24XX
719 select DEBUG_S3C2410_UART
720 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
721 help
722 Say Y here if you want the debug print routines to direct
723 their output to UART 2. The port must have been initialised
724 by the boot-loader before use.
725
6111bf7c
RH
726 config DEBUG_SOCFPGA_UART
727 depends on ARCH_SOCFPGA
728 bool "Use SOCFPGA UART for low-level debug"
0b4cccbe 729 select DEBUG_UART_8250
6111bf7c
RH
730 help
731 Say Y here if you want kernel low-level debugging support
732 on SOCFPGA based platforms.
733
aa25115a
SR
734 config DEBUG_SUNXI_UART0
735 bool "Kernel low-level debugging messages via sunXi UART0"
736 depends on ARCH_SUNXI
4a003647 737 select DEBUG_UART_8250
aa25115a
SR
738 help
739 Say Y here if you want kernel low-level debugging support
740 on Allwinner A1X based platforms on the UART0.
741
cb84fa18
MR
742 config DEBUG_SUNXI_UART1
743 bool "Kernel low-level debugging messages via sunXi UART1"
744 depends on ARCH_SUNXI
4a003647 745 select DEBUG_UART_8250
cb84fa18
MR
746 help
747 Say Y here if you want kernel low-level debugging support
748 on Allwinner A1X based platforms on the UART1.
749
c4718543
CYT
750 config DEBUG_SUNXI_R_UART
751 bool "Kernel low-level debugging messages via sunXi R_UART"
752 depends on MACH_SUN6I || MACH_SUN8I
753 select DEBUG_UART_8250
754 help
755 Say Y here if you want kernel low-level debugging support
756 on Allwinner A31/A23 based platforms on the R_UART.
757
cce278d2
RK
758 config TEGRA_DEBUG_UART_AUTO_ODMDATA
759 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
46067803 760 depends on ARCH_TEGRA
cce278d2
RK
761 select DEBUG_TEGRA_UART
762 help
763 Automatically determines which UART to use for low-level
764 debug based on the ODMDATA value. This value is part of
765 the BCT, and is written to the boot memory device using
766 nvflash, or other flashing tool. When bits 19:18 are 3,
767 then bits 17:15 indicate which UART to use; 0/1/2/3/4
768 are UART A/B/C/D/E.
769
770 config TEGRA_DEBUG_UARTA
771 bool "Kernel low-level debugging messages via Tegra UART A"
772 depends on ARCH_TEGRA
773 select DEBUG_TEGRA_UART
774 help
775 Say Y here if you want kernel low-level debugging support
776 on Tegra based platforms.
777
778 config TEGRA_DEBUG_UARTB
779 bool "Kernel low-level debugging messages via Tegra UART B"
780 depends on ARCH_TEGRA
781 select DEBUG_TEGRA_UART
782 help
783 Say Y here if you want kernel low-level debugging support
784 on Tegra based platforms.
785
786 config TEGRA_DEBUG_UARTC
787 bool "Kernel low-level debugging messages via Tegra UART C"
788 depends on ARCH_TEGRA
789 select DEBUG_TEGRA_UART
790 help
791 Say Y here if you want kernel low-level debugging support
792 on Tegra based platforms.
793
794 config TEGRA_DEBUG_UARTD
795 bool "Kernel low-level debugging messages via Tegra UART D"
796 depends on ARCH_TEGRA
797 select DEBUG_TEGRA_UART
798 help
799 Say Y here if you want kernel low-level debugging support
800 on Tegra based platforms.
801
802 config TEGRA_DEBUG_UARTE
803 bool "Kernel low-level debugging messages via Tegra UART E"
804 depends on ARCH_TEGRA
805 select DEBUG_TEGRA_UART
46067803
SW
806 help
807 Say Y here if you want kernel low-level debugging support
808 on Tegra based platforms.
809
7f46a107
BS
810 config DEBUG_SIRFPRIMA2_UART1
811 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
812 depends on ARCH_PRIMA2
813 help
814 Say Y here if you want the debug print routines to direct
815 their output to the uart1 port on SiRFprimaII devices.
816
817 config DEBUG_SIRFMARCO_UART1
818 bool "Kernel low-level debugging messages via SiRFmarco UART1"
819 depends on ARCH_MARCO
820 help
821 Say Y here if you want the debug print routines to direct
822 their output to the uart1 port on SiRFmarco devices.
823
cce278d2
RK
824 config STIH41X_DEBUG_ASC2
825 bool "Use StiH415/416 ASC2 UART for low-level debug"
826 depends on ARCH_STI
827 select DEBUG_STI_UART
828 help
829 Say Y here if you want kernel low-level debugging support
830 on STiH415/416 based platforms like b2000, which has
831 default UART wired up to ASC2.
832
833 If unsure, say N.
834
835 config STIH41X_DEBUG_SBC_ASC1
836 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
5562b800 837 depends on ARCH_STI
cce278d2 838 select DEBUG_STI_UART
5562b800
AB
839 help
840 Say Y here if you want kernel low-level debugging support
cce278d2
RK
841 on STiH415/416 based platforms like b2020. which has
842 default UART wired up to SBC ASC1.
5562b800
AB
843
844 If unsure, say N.
845
dd324da7
LW
846 config DEBUG_U300_UART
847 bool "Kernel low-level debugging messages via U300 UART0"
848 depends on ARCH_U300
5c972af4 849 select DEBUG_UART_PL01X
dd324da7
LW
850 help
851 Say Y here if you want the debug print routines to direct
852 their output to the uart port on U300 devices.
853
f87b95dd
LW
854 config DEBUG_UX500_UART
855 depends on ARCH_U8500
856 bool "Use Ux500 UART for low-level debug"
857 help
858 Say Y here if you want kernel low-level debugging support
859 on Ux500 based platforms.
860
d6682085
MB
861 config DEBUG_MT6589_UART0
862 bool "Mediatek mt6589 UART0"
863 depends on ARCH_MEDIATEK
864 select DEBUG_UART_8250
865 help
866 Say Y here if you want kernel low-level debugging support
867 for Mediatek mt6589 based platforms on UART0.
868
1b820eaf
PM
869 config DEBUG_VEXPRESS_UART0_DETECT
870 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
871 depends on ARCH_VEXPRESS && CPU_CP15_MMU
872 help
873 This option enables a simple heuristic which tries to determine
874 the motherboard's memory map variant (original or RS1) and then
875 choose the relevant UART0 base address.
876
877 Note that this will only work with standard A-class core tiles,
878 and may fail with non-standard SMM or custom software models.
879
880 config DEBUG_VEXPRESS_UART0_CA9
881 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
882 depends on ARCH_VEXPRESS
5c972af4 883 select DEBUG_UART_PL01X
1b820eaf
PM
884 help
885 This option selects UART0 at 0x10009000. Except for custom models,
886 this applies only to the V2P-CA9 tile.
887
888 config DEBUG_VEXPRESS_UART0_RS1
889 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
890 depends on ARCH_VEXPRESS
5c972af4 891 select DEBUG_UART_PL01X
1b820eaf
PM
892 help
893 This option selects UART0 at 0x1c090000. This applies to most
894 of the tiles using the RS1 memory map, including all new A-class
895 core tiles, FPGA-based SMMs and software models.
896
ed18bdc8
JA
897 config DEBUG_VEXPRESS_UART0_CRX
898 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
899 depends on ARCH_VEXPRESS && !MMU
5c972af4 900 select DEBUG_UART_PL01X
ed18bdc8
JA
901 help
902 This option selects UART0 at 0xb0090000. This is appropriate for
903 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
904
b61a2722
TP
905 config DEBUG_VT8500_UART0
906 bool "Use UART0 on VIA/Wondermedia SoCs"
907 depends on ARCH_VT8500
908 help
909 This option selects UART0 on VIA/Wondermedia System-on-a-chip
910 devices, including VT8500, WM8505, WM8650 and WM8850.
911
e76f4750
RK
912 config DEBUG_LL_UART_NONE
913 bool "No low-level debugging UART"
387798b3 914 depends on !ARCH_MULTIPLATFORM
a3d3ef9d 915 help
e76f4750 916 Say Y here if your platform doesn't provide a UART option
730cc26f 917 above. This relies on your platform choosing the right UART
e76f4750
RK
918 definition internally in order for low-level debugging to
919 work.
a3d3ef9d 920
e76f4750
RK
921 config DEBUG_ICEDCC
922 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
a3d3ef9d
SB
923 help
924 Say Y here if you want the debug print routines to direct
e76f4750
RK
925 their output to the EmbeddedICE macrocell's DCC channel using
926 co-processor 14. This is known to work on the ARM9 style ICE
927 channel and on the XScale with the PEEDI.
928
929 Note that the system will appear to hang during boot if there
930 is nothing connected to read from the DCC.
a3d3ef9d 931
b0df8986 932 config DEBUG_SEMIHOSTING
62194bda 933 bool "Kernel low-level debug output via semihosting I/O"
650e3f0d 934 help
b0df8986
RK
935 Semihosting enables code running on an ARM target to use
936 the I/O facilities on a host debugger/emulator through a
62194bda 937 simple SVC call. The host debugger or emulator must have
b0df8986
RK
938 semihosting enabled for the special svc call to be trapped
939 otherwise the kernel will crash.
650e3f0d 940
62194bda 941 This is known to work with OpenOCD, as well as
b0df8986
RK
942 ARM's Fast Models, or any other controlling environment
943 that implements semihosting.
a3d3ef9d 944
b0df8986
RK
945 For more details about semihosting, please see
946 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
a3d3ef9d 947
f8f1279c
RK
948 config DEBUG_LL_UART_8250
949 bool "Kernel low-level debugging via 8250 UART"
950 help
951 Say Y here if you wish the debug print routes to direct
952 their output to an 8250 UART. You can use this option
953 to provide the parameters for the 8250 UART rather than
954 selecting one of the platform specific options above if
955 you know the parameters for the port.
956
957 This option is preferred over the platform specific
958 options; the platform specific options are deprecated
959 and will be soon removed.
960
494e492d
UKK
961 config DEBUG_LL_UART_EFM32
962 bool "Kernel low-level debugging via efm32 UART"
963 depends on ARCH_EFM32
964 help
965 Say Y here if you want the debug print routines to direct
966 their output to an UART or USART port on efm32 based
967 machines. Use the following addresses for DEBUG_UART_PHYS:
968
969 0x4000c000 | USART0
970 0x4000c400 | USART1
971 0x4000c800 | USART2
972 0x4000e000 | UART0
973 0x4000e400 | UART1
974
f8f1279c
RK
975 config DEBUG_LL_UART_PL01X
976 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
977 help
978 Say Y here if you wish the debug print routes to direct
979 their output to a PL01x Primecell UART. You can use
980 this option to provide the parameters for the UART
981 rather than selecting one of the platform specific
982 options above if you know the parameters for the port.
983
984 This option is preferred over the platform specific
985 options; the platform specific options are deprecated
986 and will be soon removed.
987
17916b28
WD
988endchoice
989
a2e40710
AB
990config DEBUG_EXYNOS_UART
991 bool
992
daf67dfc
HS
993config DEBUG_S3C2410_UART
994 bool
1899de28
HS
995 select DEBUG_S3C24XX_UART
996
997config DEBUG_S3C24XX_UART
998 bool
daf67dfc 999
7bab7d9e
TF
1000config DEBUG_S5PV210_UART
1001 bool
1002
cce278d2
RK
1003config DEBUG_OMAP2PLUS_UART
1004 bool
1005 depends on ARCH_OMAP2PLUS
1006
f8c95fe6
SG
1007config DEBUG_IMX_UART_PORT
1008 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1009 DEBUG_IMX25_UART || \
1010 DEBUG_IMX21_IMX27_UART || \
1011 DEBUG_IMX31_UART || \
1012 DEBUG_IMX35_UART || \
ad364a70 1013 DEBUG_IMX50_UART || \
f8c95fe6 1014 DEBUG_IMX51_UART || \
0c52db7e 1015 DEBUG_IMX53_UART || \
34e8a16b 1016 DEBUG_IMX6Q_UART || \
74368e81
SG
1017 DEBUG_IMX6SL_UART || \
1018 DEBUG_IMX6SX_UART
49c9e60e 1019 default 1
287939a3 1020 depends on ARCH_MXC
49c9e60e
SG
1021 help
1022 Choose UART port on which kernel low-level debug messages
1023 should be output.
1024
cfdb7d56
SA
1025config DEBUG_VF_UART_PORT
1026 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1027 default 1
1028 range 0 3
1029 depends on SOC_VF610
1030 help
1031 Choose UART port on which kernel low-level debug messages
1032 should be output.
1033
cce278d2
RK
1034config DEBUG_TEGRA_UART
1035 bool
1036 depends on ARCH_TEGRA
5026aecf 1037
cce278d2
RK
1038config DEBUG_STI_UART
1039 bool
1040 depends on ARCH_STI
5026aecf 1041
91a9fec0
RH
1042config DEBUG_LL_INCLUDE
1043 string
f8f1279c 1044 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
dd99eef5 1045 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
d8a00916 1046 default "debug/meson.S" if DEBUG_MESON_UARTAO
f8f1279c 1047 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
a2e40710 1048 default "debug/exynos.S" if DEBUG_EXYNOS_UART
494e492d 1049 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
91a9fec0 1050 default "debug/icedcc.S" if DEBUG_ICEDCC
6dde5ac5
SG
1051 default "debug/imx.S" if DEBUG_IMX1_UART || \
1052 DEBUG_IMX25_UART || \
1053 DEBUG_IMX21_IMX27_UART || \
4ad625d4
SG
1054 DEBUG_IMX31_UART || \
1055 DEBUG_IMX35_UART || \
ad364a70 1056 DEBUG_IMX50_UART || \
6dde5ac5 1057 DEBUG_IMX51_UART || \
7356420c 1058 DEBUG_IMX53_UART ||\
34e8a16b 1059 DEBUG_IMX6Q_UART || \
74368e81
SG
1060 DEBUG_IMX6SL_UART || \
1061 DEBUG_IMX6SX_UART
7098cff2 1062 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
808b7e07 1063 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
2cd62bd4 1064 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
7bab7d9e 1065 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
67bdb287 1066 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
5026aecf 1067 default "debug/sti.S" if DEBUG_STI_UART
150a8dcf
LT
1068 default "debug/tegra.S" if DEBUG_TEGRA_UART
1069 default "debug/ux500.S" if DEBUG_UX500_UART
4e218b99 1070 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
c7c3eac6 1071 default "debug/vf.S" if DEBUG_VF_UART
b61a2722 1072 default "debug/vt8500.S" if DEBUG_VT8500_UART0
385f02b1 1073 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
b51312be 1074 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
91a9fec0
RH
1075 default "mach/debug-macro.S"
1076
f8f1279c 1077# Compatibility options for PL01x
5c972af4
RK
1078config DEBUG_UART_PL01X
1079 def_bool ARCH_EP93XX || \
1080 ARCH_INTEGRATOR || \
0dc0e475
RK
1081 ARCH_SPEAR3XX || \
1082 ARCH_SPEAR6XX || \
1083 ARCH_SPEAR13XX || \
5c972af4
RK
1084 ARCH_VERSATILE
1085
f8f1279c 1086# Compatibility options for 8250
7610b607 1087config DEBUG_UART_8250
4a003647
RK
1088 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1089 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1090 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
ba364fc7 1091 ARCH_IOP33X || ARCH_IXP4XX || \
4a003647
RK
1092 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1093
b51312be
FF
1094# Compatibility options for BCM63xx
1095config DEBUG_UART_BCM63XX
1096 def_bool ARCH_BCM_63XX
1097
c3faa9b7
RK
1098config DEBUG_UART_PHYS
1099 hex "Physical base address of debug UART"
97bd1a48 1100 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
c3faa9b7
RK
1101 default 0x01c28000 if DEBUG_SUNXI_UART0
1102 default 0x01c28400 if DEBUG_SUNXI_UART1
97bd1a48
RK
1103 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1104 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
c4718543 1105 default 0x01f02800 if DEBUG_SUNXI_R_UART
f2acf003
RK
1106 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1107 default 0x02531000 if DEBUG_KEYSTONE_UART1
c3faa9b7 1108 default 0x03010fe0 if ARCH_RPC
b125170a 1109 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
5c972af4
RK
1110 DEBUG_VEXPRESS_UART0_CA9
1111 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
c3faa9b7
RK
1112 default 0x10124000 if DEBUG_RK3X_UART0
1113 default 0x10126000 if DEBUG_RK3X_UART1
5c972af4
RK
1114 default 0x101f1000 if ARCH_VERSATILE
1115 default 0x101fb000 if DEBUG_NOMADIK_UART
d6682085 1116 default 0x11006000 if DEBUG_MT6589_UART0
5c972af4 1117 default 0x16000000 if ARCH_INTEGRATOR
06580275 1118 default 0x18000300 if DEBUG_BCM_5301X
5c972af4 1119 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
c3faa9b7
RK
1120 default 0x20060000 if DEBUG_RK29_UART0
1121 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1122 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
5c972af4 1123 default 0x20201000 if DEBUG_BCM2835
753d1243 1124 default 0x3e000000 if DEBUG_BCM_KONA_UART
494e492d 1125 default 0x4000e400 if DEBUG_LL_UART_EFM32
c3faa9b7
RK
1126 default 0x40090000 if ARCH_LPC32XX
1127 default 0x40100000 if DEBUG_PXA_UART1
1128 default 0x42000000 if ARCH_GEMINI
1899de28
HS
1129 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1130 DEBUG_S3C2410_UART0)
1131 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1132 DEBUG_S3C2410_UART1)
1133 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1134 DEBUG_S3C2410_UART2)
c3ca2130 1135 default 0x78000000 if DEBUG_CNS3XXX
c3faa9b7 1136 default 0x7c0003f8 if FOOTBRIDGE
b125170a 1137 default 0x78000000 if DEBUG_CNS3XXX
5c972af4
RK
1138 default 0x80070000 if DEBUG_IMX23_UART
1139 default 0x80074000 if DEBUG_IMX28_UART
c39e1ef7 1140 default 0x80230000 if DEBUG_PICOXCELL_UART
5c972af4
RK
1141 default 0x808c0000 if ARCH_EP93XX
1142 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
7098cff2 1143 default 0xa9a00000 if DEBUG_MSM_UART
5c972af4
RK
1144 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1145 default 0xc0013000 if DEBUG_U300_UART
c3faa9b7
RK
1146 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1147 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
0dc0e475 1148 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
c3faa9b7 1149 default 0xd0012000 if DEBUG_MVEBU_UART
d8a00916 1150 default 0xc81004c0 if DEBUG_MESON_UARTAO
c3faa9b7
RK
1151 default 0xd4017000 if DEBUG_MMP_UART2
1152 default 0xd4018000 if DEBUG_MMP_UART3
0dc0e475 1153 default 0xe0000000 if ARCH_SPEAR13XX
c9a1df48 1154 default 0xe4007000 if DEBUG_HIP04_UART
c3faa9b7
RK
1155 default 0xf0000be0 if ARCH_EBSA110
1156 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
ba364fc7 1157 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
c3faa9b7 1158 ARCH_ORION5X
caad0b41 1159 default 0xf7fc9000 if DEBUG_BERLIN_UART
12aae309 1160 default 0xf8b00000 if DEBUG_HIX5HD2_UART
7098cff2 1161 default 0xf991e000 if DEBUG_QCOM_UARTDM
8d258beb 1162 default 0xfcb00000 if DEBUG_HI3620_UART
c3faa9b7 1163 default 0xfe800000 if ARCH_IOP32X
efd02ee9 1164 default 0xff690000 if DEBUG_RK32_UART2
0b4cccbe 1165 default 0xffc02000 if DEBUG_SOCFPGA_UART
c3faa9b7 1166 default 0xffd82340 if ARCH_IOP13XX
5c972af4 1167 default 0xfff36000 if DEBUG_HIGHBANK_UART
b51312be 1168 default 0xfffe8600 if DEBUG_UART_BCM63XX
c3faa9b7 1169 default 0xfffff700 if ARCH_IOP33X
f8f1279c 1170 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
494e492d 1171 DEBUG_LL_UART_EFM32 || \
d8a00916 1172 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
b51312be
FF
1173 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1174 DEBUG_UART_BCM63XX
c3faa9b7
RK
1175
1176config DEBUG_UART_VIRT
1177 hex "Virtual base address of debug UART"
1178 default 0xe0010fe0 if ARCH_RPC
7098cff2 1179 default 0xe1000000 if DEBUG_MSM_UART
c3faa9b7 1180 default 0xf0000be0 if ARCH_EBSA110
5c972af4
RK
1181 default 0xf01fb000 if DEBUG_NOMADIK_UART
1182 default 0xf0201000 if DEBUG_BCM2835
06580275 1183 default 0xf1000300 if DEBUG_BCM_5301X
d6682085 1184 default 0xf1006000 if DEBUG_MT6589_UART0
5c972af4
RK
1185 default 0xf11f1000 if ARCH_VERSATILE
1186 default 0xf1600000 if ARCH_INTEGRATOR
c3faa9b7
RK
1187 default 0xf1c28000 if DEBUG_SUNXI_UART0
1188 default 0xf1c28400 if DEBUG_SUNXI_UART1
c4718543 1189 default 0xf1f02800 if DEBUG_SUNXI_R_UART
c3faa9b7
RK
1190 default 0xf2100000 if DEBUG_PXA_UART1
1191 default 0xf4090000 if ARCH_LPC32XX
1192 default 0xf4200000 if ARCH_GEMINI
1899de28
HS
1193 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1194 DEBUG_S3C2410_UART0)
1195 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1196 DEBUG_S3C2410_UART1)
1197 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1198 DEBUG_S3C2410_UART2)
caad0b41 1199 default 0xf7fc9000 if DEBUG_BERLIN_UART
c9a1df48 1200 default 0xf8007000 if DEBUG_HIP04_UART
5c972af4
RK
1201 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1202 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
7098cff2 1203 default 0xfa71e000 if DEBUG_QCOM_UARTDM
b125170a 1204 default 0xfb002000 if DEBUG_CNS3XXX
5c972af4
RK
1205 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1206 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
b51312be 1207 default 0xfcfe8600 if DEBUG_UART_BCM63XX
0dc0e475
RK
1208 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1209 default 0xfd000000 if ARCH_SPEAR13XX
c3faa9b7
RK
1210 default 0xfd012000 if ARCH_MV78XX0
1211 default 0xfde12000 if ARCH_DOVE
1212 default 0xfe012000 if ARCH_ORION5X
d8a00916 1213 default 0xf31004c0 if DEBUG_MESON_UARTAO
c3faa9b7
RK
1214 default 0xfe017000 if DEBUG_MMP_UART2
1215 default 0xfe018000 if DEBUG_MMP_UART3
5c972af4 1216 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
0b4cccbe 1217 default 0xfe230000 if DEBUG_PICOXCELL_UART
753d1243 1218 default 0xfe300000 if DEBUG_BCM_KONA_UART
c3faa9b7 1219 default 0xfe800000 if ARCH_IOP32X
12aae309 1220 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
c3faa9b7
RK
1221 default 0xfeb24000 if DEBUG_RK3X_UART0
1222 default 0xfeb26000 if DEBUG_RK3X_UART1
f2acf003
RK
1223 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1224 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
0b4cccbe 1225 default 0xfec02000 if DEBUG_SOCFPGA_UART
c39e1ef7 1226 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
97bd1a48 1227 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
efd02ee9 1228 default 0xfec90000 if DEBUG_RK32_UART2
97bd1a48
RK
1229 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1230 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
c39e1ef7
AS
1231 default 0xfed60000 if DEBUG_RK29_UART0
1232 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1233 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
5c972af4 1234 default 0xfedc0000 if ARCH_EP93XX
c3faa9b7 1235 default 0xfee003f8 if FOOTBRIDGE
5c972af4 1236 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
c3faa9b7
RK
1237 default 0xfee82340 if ARCH_IOP13XX
1238 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1239 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
c39e1ef7 1240 default 0xfef36000 if DEBUG_HIGHBANK_UART
c3faa9b7 1241 default 0xfefff700 if ARCH_IOP33X
5c972af4
RK
1242 default 0xff003000 if DEBUG_U300_UART
1243 default DEBUG_UART_PHYS if !MMU
f8f1279c 1244 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
d8a00916 1245 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
b51312be
FF
1246 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1247 DEBUG_UART_BCM63XX
c3faa9b7 1248
4a003647
RK
1249config DEBUG_UART_8250_SHIFT
1250 int "Register offset shift for the 8250 debug UART"
f8f1279c 1251 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
4a003647
RK
1252 default 0 if FOOTBRIDGE || ARCH_IOP32X
1253 default 2
7610b607 1254
0b4cccbe
RK
1255config DEBUG_UART_8250_WORD
1256 bool "Use 32-bit accesses for 8250 UART"
f8f1279c 1257 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
0b4cccbe 1258 depends on DEBUG_UART_8250_SHIFT >= 2
f2acf003 1259 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
97bd1a48
RK
1260 ARCH_KEYSTONE || \
1261 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
9d6eccb9 1262 DEBUG_DAVINCI_DA8XX_UART2 || \
efd02ee9 1263 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
0b4cccbe 1264
7610b607
RK
1265config DEBUG_UART_8250_FLOW_CONTROL
1266 bool "Enable flow control for 8250 UART"
f8f1279c 1267 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
7610b607
RK
1268 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1269
3b4af9bc
SG
1270config DEBUG_UNCOMPRESS
1271 bool
90266754 1272 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
b6992fa9 1273 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
ae3c99a2 1274 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
b6992fa9
RK
1275 help
1276 This option influences the normal decompressor output for
1277 multiplatform kernels. Normally, multiplatform kernels disable
1278 decompressor output because it is not possible to know where to
1279 send the decompressor output.
1280
1281 When this option is set, the selected DEBUG_LL output method
1282 will be re-used for normal decompressor output on multiplatform
1283 kernels.
1284
3b4af9bc 1285
615967b0
SG
1286config UNCOMPRESS_INCLUDE
1287 string
ffd80ecc 1288 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
2bf73dd6 1289 PLAT_SAMSUNG || ARCH_EFM32
615967b0
SG
1290 default "mach/uncompress.h"
1291
93fd03a8
CM
1292config EARLY_PRINTK
1293 bool "Early printk"
1294 depends on DEBUG_LL
1295 help
1296 Say Y here if you want to have an early console using the
1297 kernel low-level debugging functions. Add earlyprintk to your
1298 kernel parameters to enable this console.
1299
c5d6c770
AS
1300config OC_ETM
1301 bool "On-chip ETM and ETB"
53eebb0d 1302 depends on ARM_AMBA
c5d6c770
AS
1303 help
1304 Enables the on-chip embedded trace macrocell and embedded trace
1305 buffer driver that will allow you to collect traces of the
1306 kernel code.
1307
4189bc71
JM
1308config ARM_KPROBES_TEST
1309 tristate "Kprobes test module"
1310 depends on KPROBES && MODULES
1311 help
1312 Perform tests of kprobes API and instruction set simulation.
1313
575320d6
WD
1314config PID_IN_CONTEXTIDR
1315 bool "Write the current PID to the CONTEXTIDR register"
1316 depends on CPU_COPY_V6
1317 help
1318 Enabling this option causes the kernel to write the current PID to
1319 the PROCID field of the CONTEXTIDR register, at the expense of some
1320 additional instructions during context switch. Say Y here only if you
1321 are planning to use hardware trace tools with this kernel.
1322
dca9aa92
LA
1323config DEBUG_SET_MODULE_RONX
1324 bool "Set loadable kernel module data as NX and text as RO"
1325 depends on MODULES
1326 ---help---
1327 This option helps catch unintended modifications to loadable
1328 kernel module's text and read-only data. It also prevents execution
1329 of module data. Such protection may interfere with run-time code
1330 patching and dynamic kernel tracing - and they might also protect
1331 against certain classes of kernel exploits.
1332 If in doubt, say "N".
1333
1da177e4 1334endmenu