1menu "Kernel hacking" 2 3source "lib/Kconfig.debug" 4 5config ARM_PTDUMP 6 bool "Export kernel pagetable layout to userspace via debugfs" 7 depends on DEBUG_KERNEL 8 depends on MMU 9 select DEBUG_FS 10 ---help--- 11 Say Y here if you want to show the kernel pagetable layout in a 12 debugfs file. This information is only useful for kernel developers 13 who are working in architecture specific areas of the kernel. 14 It is probably not a good idea to enable this feature in a production 15 kernel. 16 If in doubt, say "N" 17 18config STRICT_DEVMEM 19 bool "Filter access to /dev/mem" 20 depends on MMU 21 ---help--- 22 If this option is disabled, you allow userspace (root) access to all 23 of memory, including kernel and userspace memory. Accidental 24 access to this is obviously disastrous, but specific access can 25 be used by people debugging the kernel. 26 27 If this option is switched on, the /dev/mem file only allows 28 userspace access to memory mapped peripherals. 29 30 If in doubt, say Y. 31 32# RMK wants arm kernels compiled with frame pointers or stack unwinding. 33# If you know what you are doing and are willing to live without stack 34# traces, you can get a slightly smaller kernel by setting this option to 35# n, but then RMK will have to kill you ;). 36config FRAME_POINTER 37 bool 38 depends on !THUMB2_KERNEL 39 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER 40 help 41 If you say N here, the resulting kernel will be slightly smaller and 42 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, 43 when a problem occurs with the kernel, the information that is 44 reported is severely limited. 45 46config ARM_UNWIND 47 bool "Enable stack unwinding support (EXPERIMENTAL)" 48 depends on AEABI 49 default y 50 help 51 This option enables stack unwinding support in the kernel 52 using the information automatically generated by the 53 compiler. The resulting kernel image is slightly bigger but 54 the performance is not affected. Currently, this feature 55 only works with EABI compilers. If unsure say Y. 56 57config OLD_MCOUNT 58 bool 59 depends on FUNCTION_TRACER && FRAME_POINTER 60 default y 61 62config DEBUG_USER 63 bool "Verbose user fault messages" 64 help 65 When a user program crashes due to an exception, the kernel can 66 print a brief message explaining what the problem was. This is 67 sometimes helpful for debugging but serves no purpose on a 68 production system. Most people should say N here. 69 70 In addition, you need to pass user_debug=N on the kernel command 71 line to enable this feature. N consists of the sum of: 72 73 1 - undefined instruction events 74 2 - system calls 75 4 - invalid data aborts 76 8 - SIGSEGV faults 77 16 - SIGBUS faults 78 79# These options are only for real kernel hackers who want to get their hands dirty. 80config DEBUG_LL 81 bool "Kernel low-level debugging functions (read help!)" 82 depends on DEBUG_KERNEL 83 help 84 Say Y here to include definitions of printascii, printch, printhex 85 in the kernel. This is helpful if you are debugging code that 86 executes before the console is initialized. 87 88 Note that selecting this option will limit the kernel to a single 89 UART definition, as specified below. Attempting to boot the kernel 90 image on a different platform *will not work*, so this option should 91 not be enabled for kernels that are intended to be portable. 92 93choice 94 prompt "Kernel low-level debugging port" 95 depends on DEBUG_LL 96 97 config DEBUG_ALPINE_UART0 98 bool "Kernel low-level debugging messages via Alpine UART0" 99 depends on ARCH_ALPINE 100 select DEBUG_UART_8250 101 help 102 Say Y here if you want kernel low-level debugging support 103 on Alpine based platforms. 104 105 config DEBUG_ASM9260_UART 106 bool "Kernel low-level debugging via asm9260 UART" 107 depends on MACH_ASM9260 108 help 109 Say Y here if you want the debug print routines to direct 110 their output to an UART or USART port on asm9260 based 111 machines. 112 113 DEBUG_UART_PHYS | DEBUG_UART_VIRT 114 115 0x80000000 | 0xf0000000 | UART0 116 0x80004000 | 0xf0004000 | UART1 117 0x80008000 | 0xf0008000 | UART2 118 0x8000c000 | 0xf000c000 | UART3 119 0x80010000 | 0xf0010000 | UART4 120 0x80014000 | 0xf0014000 | UART5 121 0x80018000 | 0xf0018000 | UART6 122 0x8001c000 | 0xf001c000 | UART7 123 0x80020000 | 0xf0020000 | UART8 124 0x80024000 | 0xf0024000 | UART9 125 126 config AT91_DEBUG_LL_DBGU0 127 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5, 9n12" 128 select DEBUG_AT91_UART 129 depends on ARCH_AT91 130 depends on SOC_AT91RM9200 || SOC_AT91SAM9 131 132 config AT91_DEBUG_LL_DBGU1 133 bool "Kernel low-level debugging on 9263, 9g45 and sama5d3" 134 select DEBUG_AT91_UART 135 depends on ARCH_AT91 136 depends on SOC_AT91SAM9 || SOC_SAMA5 137 138 config AT91_DEBUG_LL_DBGU2 139 bool "Kernel low-level debugging on sama5d4" 140 select DEBUG_AT91_UART 141 depends on ARCH_AT91 142 depends on SOC_SAMA5 143 144 config DEBUG_BCM2835 145 bool "Kernel low-level debugging on BCM2835 PL011 UART" 146 depends on ARCH_BCM2835 147 select DEBUG_UART_PL01X 148 149 config DEBUG_BCM_5301X 150 bool "Kernel low-level debugging on BCM5301X UART1" 151 depends on ARCH_BCM_5301X 152 select DEBUG_UART_8250 153 154 config DEBUG_BCM_KONA_UART 155 bool "Kernel low-level debugging messages via BCM KONA UART" 156 depends on ARCH_BCM_MOBILE 157 select DEBUG_UART_8250 158 help 159 Say Y here if you want kernel low-level debugging support 160 on Broadcom SoC platforms. 161 This low level debug works for Broadcom 162 mobile SoCs in the Kona family of chips (e.g. bcm28155, 163 bcm11351, etc...) 164 165 config DEBUG_BCM63XX 166 bool "Kernel low-level debugging on BCM63XX UART" 167 depends on ARCH_BCM_63XX 168 select DEBUG_UART_BCM63XX 169 170 config DEBUG_BERLIN_UART 171 bool "Marvell Berlin SoC Debug UART" 172 depends on ARCH_BERLIN 173 select DEBUG_UART_8250 174 help 175 Say Y here if you want kernel low-level debugging support 176 on Marvell Berlin SoC based platforms. 177 178 config DEBUG_BRCMSTB_UART 179 bool "Use BRCMSTB UART for low-level debug" 180 depends on ARCH_BRCMSTB 181 select DEBUG_UART_8250 182 help 183 Say Y here if you want the debug print routines to direct 184 their output to the first serial port on these devices. 185 186 If you have a Broadcom STB chip and would like early print 187 messages to appear over the UART, select this option. 188 189 config DEBUG_CLPS711X_UART1 190 bool "Kernel low-level debugging messages via UART1" 191 depends on ARCH_CLPS711X 192 help 193 Say Y here if you want the debug print routines to direct 194 their output to the first serial port on these devices. 195 196 config DEBUG_CLPS711X_UART2 197 bool "Kernel low-level debugging messages via UART2" 198 depends on ARCH_CLPS711X 199 help 200 Say Y here if you want the debug print routines to direct 201 their output to the second serial port on these devices. 202 203 config DEBUG_CNS3XXX 204 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx" 205 depends on ARCH_CNS3XXX 206 select DEBUG_UART_8250 207 help 208 Say Y here if you want the debug print routines to direct 209 their output to the CNS3xxx UART0. 210 211 config DEBUG_DAVINCI_DA8XX_UART1 212 bool "Kernel low-level debugging on DaVinci DA8XX using UART1" 213 depends on ARCH_DAVINCI_DA8XX 214 select DEBUG_UART_8250 215 help 216 Say Y here if you want the debug print routines to direct 217 their output to UART1 serial port on DaVinci DA8XX devices. 218 219 config DEBUG_DAVINCI_DA8XX_UART2 220 bool "Kernel low-level debugging on DaVinci DA8XX using UART2" 221 depends on ARCH_DAVINCI_DA8XX 222 select DEBUG_UART_8250 223 help 224 Say Y here if you want the debug print routines to direct 225 their output to UART2 serial port on DaVinci DA8XX devices. 226 227 config DEBUG_DAVINCI_DMx_UART0 228 bool "Kernel low-level debugging on DaVinci DMx using UART0" 229 depends on ARCH_DAVINCI_DMx 230 select DEBUG_UART_8250 231 help 232 Say Y here if you want the debug print routines to direct 233 their output to UART0 serial port on DaVinci DMx devices. 234 235 config DEBUG_ZYNQ_UART0 236 bool "Kernel low-level debugging on Xilinx Zynq using UART0" 237 depends on ARCH_ZYNQ 238 help 239 Say Y here if you want the debug print routines to direct 240 their output to UART0 on the Zynq platform. 241 242 config DEBUG_ZYNQ_UART1 243 bool "Kernel low-level debugging on Xilinx Zynq using UART1" 244 depends on ARCH_ZYNQ 245 help 246 Say Y here if you want the debug print routines to direct 247 their output to UART1 on the Zynq platform. 248 249 If you have a ZC702 board and want early boot messages to 250 appear on the USB serial adaptor, select this option. 251 252 config DEBUG_DC21285_PORT 253 bool "Kernel low-level debugging messages via footbridge serial port" 254 depends on FOOTBRIDGE 255 help 256 Say Y here if you want the debug print routines to direct 257 their output to the serial port in the DC21285 (Footbridge). 258 259 config DEBUG_DIGICOLOR_UA0 260 bool "Kernel low-level debugging messages via Digicolor UA0" 261 depends on ARCH_DIGICOLOR 262 help 263 Say Y here if you want the debug print routines to direct 264 their output to the UA0 serial port in the CX92755. 265 266 config DEBUG_FOOTBRIDGE_COM1 267 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" 268 depends on FOOTBRIDGE 269 help 270 Say Y here if you want the debug print routines to direct 271 their output to the 8250 at PCI COM1. 272 273 config DEBUG_HI3620_UART 274 bool "Hisilicon HI3620 Debug UART" 275 depends on ARCH_HI3xxx 276 select DEBUG_UART_PL01X 277 help 278 Say Y here if you want kernel low-level debugging support 279 on HI3620 UART. 280 281 config DEBUG_HI3716_UART 282 bool "Hisilicon Hi3716 Debug UART" 283 depends on ARCH_HI3xxx 284 select DEBUG_UART_PL01X 285 help 286 Say Y here if you want kernel low-level debugging support 287 on HI3716 UART. 288 289 config DEBUG_HIGHBANK_UART 290 bool "Kernel low-level debugging messages via Highbank UART" 291 depends on ARCH_HIGHBANK 292 select DEBUG_UART_PL01X 293 help 294 Say Y here if you want the debug print routines to direct 295 their output to the UART on Highbank based devices. 296 297 config DEBUG_HIP01_UART 298 bool "Hisilicon Hip01 Debug UART" 299 depends on ARCH_HIP01 300 select DEBUG_UART_8250 301 help 302 Say Y here if you want kernel low-level debugging support 303 on HIP01 UART. 304 305 config DEBUG_HIP04_UART 306 bool "Hisilicon HiP04 Debug UART" 307 depends on ARCH_HIP04 308 select DEBUG_UART_8250 309 help 310 Say Y here if you want kernel low-level debugging support 311 on HIP04 UART. 312 313 config DEBUG_HIX5HD2_UART 314 bool "Hisilicon Hix5hd2 Debug UART" 315 depends on ARCH_HIX5HD2 316 select DEBUG_UART_PL01X 317 help 318 Say Y here if you want kernel low-level debugging support 319 on Hix5hd2 UART. 320 321 config DEBUG_IMX1_UART 322 bool "i.MX1 Debug UART" 323 depends on SOC_IMX1 324 help 325 Say Y here if you want kernel low-level debugging support 326 on i.MX1. 327 328 config DEBUG_IMX23_UART 329 bool "i.MX23 Debug UART" 330 depends on SOC_IMX23 331 select DEBUG_UART_PL01X 332 help 333 Say Y here if you want kernel low-level debugging support 334 on i.MX23. 335 336 config DEBUG_IMX25_UART 337 bool "i.MX25 Debug UART" 338 depends on SOC_IMX25 339 help 340 Say Y here if you want kernel low-level debugging support 341 on i.MX25. 342 343 config DEBUG_IMX21_IMX27_UART 344 bool "i.MX21 and i.MX27 Debug UART" 345 depends on SOC_IMX21 || SOC_IMX27 346 help 347 Say Y here if you want kernel low-level debugging support 348 on i.MX21 or i.MX27. 349 350 config DEBUG_IMX28_UART 351 bool "i.MX28 Debug UART" 352 depends on SOC_IMX28 353 select DEBUG_UART_PL01X 354 help 355 Say Y here if you want kernel low-level debugging support 356 on i.MX28. 357 358 config DEBUG_IMX31_UART 359 bool "i.MX31 Debug UART" 360 depends on SOC_IMX31 361 help 362 Say Y here if you want kernel low-level debugging support 363 on i.MX31. 364 365 config DEBUG_IMX35_UART 366 bool "i.MX35 Debug UART" 367 depends on SOC_IMX35 368 help 369 Say Y here if you want kernel low-level debugging support 370 on i.MX35. 371 372 config DEBUG_IMX50_UART 373 bool "i.MX50 Debug UART" 374 depends on SOC_IMX50 375 help 376 Say Y here if you want kernel low-level debugging support 377 on i.MX50. 378 379 config DEBUG_IMX51_UART 380 bool "i.MX51 Debug UART" 381 depends on SOC_IMX51 382 help 383 Say Y here if you want kernel low-level debugging support 384 on i.MX51. 385 386 config DEBUG_IMX53_UART 387 bool "i.MX53 Debug UART" 388 depends on SOC_IMX53 389 help 390 Say Y here if you want kernel low-level debugging support 391 on i.MX53. 392 393 config DEBUG_IMX6Q_UART 394 bool "i.MX6Q/DL Debug UART" 395 depends on SOC_IMX6Q 396 help 397 Say Y here if you want kernel low-level debugging support 398 on i.MX6Q/DL. 399 400 config DEBUG_IMX6SL_UART 401 bool "i.MX6SL Debug UART" 402 depends on SOC_IMX6SL 403 help 404 Say Y here if you want kernel low-level debugging support 405 on i.MX6SL. 406 407 config DEBUG_IMX6SX_UART 408 bool "i.MX6SX Debug UART" 409 depends on SOC_IMX6SX 410 help 411 Say Y here if you want kernel low-level debugging support 412 on i.MX6SX. 413 414 config DEBUG_IMX7D_UART 415 bool "i.MX7D Debug UART" 416 depends on SOC_IMX7D 417 help 418 Say Y here if you want kernel low-level debugging support 419 on i.MX7D. 420 421 config DEBUG_KEYSTONE_UART0 422 bool "Kernel low-level debugging on KEYSTONE2 using UART0" 423 depends on ARCH_KEYSTONE 424 select DEBUG_UART_8250 425 help 426 Say Y here if you want the debug print routines to direct 427 their output to UART0 serial port on KEYSTONE2 devices. 428 429 config DEBUG_KEYSTONE_UART1 430 bool "Kernel low-level debugging on KEYSTONE2 using UART1" 431 depends on ARCH_KEYSTONE 432 select DEBUG_UART_8250 433 help 434 Say Y here if you want the debug print routines to direct 435 their output to UART1 serial port on KEYSTONE2 devices. 436 437 config DEBUG_KS8695_UART 438 bool "KS8695 Debug UART" 439 depends on ARCH_KS8695 440 help 441 Say Y here if you want kernel low-level debugging support 442 on KS8695. 443 444 config DEBUG_LPC18XX_UART0 445 bool "Kernel low-level debugging via LPC18xx/43xx UART0" 446 depends on ARCH_LPC18XX 447 select DEBUG_UART_8250 448 help 449 Say Y here if you want kernel low-level debugging support 450 on NXP LPC18xx/43xx UART0. 451 452 config DEBUG_MESON_UARTAO 453 bool "Kernel low-level debugging via Meson6 UARTAO" 454 depends on ARCH_MESON 455 help 456 Say Y here if you want kernel low-lever debugging support 457 on Amlogic Meson6 based platforms on the UARTAO. 458 459 config DEBUG_MMP_UART2 460 bool "Kernel low-level debugging message via MMP UART2" 461 depends on ARCH_MMP 462 select DEBUG_UART_8250 463 help 464 Say Y here if you want kernel low-level debugging support 465 on MMP UART2. 466 467 config DEBUG_MMP_UART3 468 bool "Kernel low-level debugging message via MMP UART3" 469 depends on ARCH_MMP 470 select DEBUG_UART_8250 471 help 472 Say Y here if you want kernel low-level debugging support 473 on MMP UART3. 474 475 config DEBUG_QCOM_UARTDM 476 bool "Kernel low-level debugging messages via QCOM UARTDM" 477 depends on ARCH_QCOM 478 help 479 Say Y here if you want the debug print routines to direct 480 their output to the serial port on Qualcomm devices. 481 482 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT 483 APQ8064 0x16640000 0xf0040000 484 APQ8084 0xf995e000 0xfa75e000 485 MSM8X60 0x19c40000 0xf0040000 486 MSM8960 0x16440000 0xf0040000 487 MSM8974 0xf991e000 0xfa71e000 488 489 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration 490 options based on your needs. 491 492 config DEBUG_MVEBU_UART0 493 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)" 494 depends on ARCH_MVEBU 495 select DEBUG_UART_8250 496 help 497 Say Y here if you want kernel low-level debugging support 498 on MVEBU based platforms on UART0. 499 500 This option should be used with the old bootloaders 501 that left the internal registers mapped at 502 0xd0000000. As of today, this is the case on 503 platforms such as the Globalscale Mirabox or the 504 Plathome OpenBlocks AX3, when using the original 505 bootloader. 506 507 If the wrong DEBUG_MVEBU_UART* option is selected, 508 when u-boot hands over to the kernel, the system 509 silently crashes, with no serial output at all. 510 511 config DEBUG_MVEBU_UART0_ALTERNATE 512 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)" 513 depends on ARCH_MVEBU 514 select DEBUG_UART_8250 515 help 516 Say Y here if you want kernel low-level debugging support 517 on MVEBU based platforms on UART0. 518 519 This option should be used with the new bootloaders 520 that remap the internal registers at 0xf1000000. 521 522 If the wrong DEBUG_MVEBU_UART* option is selected, 523 when u-boot hands over to the kernel, the system 524 silently crashes, with no serial output at all. 525 526 config DEBUG_MVEBU_UART1_ALTERNATE 527 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)" 528 depends on ARCH_MVEBU 529 select DEBUG_UART_8250 530 help 531 Say Y here if you want kernel low-level debugging support 532 on MVEBU based platforms on UART1. 533 534 This option should be used with the new bootloaders 535 that remap the internal registers at 0xf1000000. 536 537 If the wrong DEBUG_MVEBU_UART* option is selected, 538 when u-boot hands over to the kernel, the system 539 silently crashes, with no serial output at all. 540 541 config DEBUG_VF_UART 542 bool "Vybrid UART" 543 depends on SOC_VF610 544 help 545 Say Y here if you want kernel low-level debugging support 546 on Vybrid based platforms. 547 548 config DEBUG_NETX_UART 549 bool "Kernel low-level debugging messages via NetX UART" 550 depends on ARCH_NETX 551 help 552 Say Y here if you want kernel low-level debugging support 553 on Hilscher NetX based platforms. 554 555 config DEBUG_NOMADIK_UART 556 bool "Kernel low-level debugging messages via NOMADIK UART" 557 depends on ARCH_NOMADIK 558 select DEBUG_UART_PL01X 559 help 560 Say Y here if you want kernel low-level debugging support 561 on NOMADIK based platforms. 562 563 config DEBUG_NSPIRE_CLASSIC_UART 564 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART" 565 depends on ARCH_NSPIRE 566 select DEBUG_UART_8250 567 help 568 Say Y here if you want kernel low-level debugging support 569 on TI-NSPIRE classic models. 570 571 config DEBUG_NSPIRE_CX_UART 572 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART" 573 depends on ARCH_NSPIRE 574 select DEBUG_UART_PL01X 575 help 576 Say Y here if you want kernel low-level debugging support 577 on TI-NSPIRE CX models. 578 579 config DEBUG_OMAP1UART1 580 bool "Kernel low-level debugging via OMAP1 UART1" 581 depends on ARCH_OMAP1 582 select DEBUG_UART_8250 583 help 584 Say Y here if you want kernel low-level debugging support 585 on OMAP1 based platforms (except OMAP730) on the UART1. 586 587 config DEBUG_OMAP1UART2 588 bool "Kernel low-level debugging via OMAP1 UART2" 589 depends on ARCH_OMAP1 590 select DEBUG_UART_8250 591 help 592 Say Y here if you want kernel low-level debugging support 593 on OMAP1 based platforms (except OMAP730) on the UART2. 594 595 config DEBUG_OMAP1UART3 596 bool "Kernel low-level debugging via OMAP1 UART3" 597 depends on ARCH_OMAP1 598 select DEBUG_UART_8250 599 help 600 Say Y here if you want kernel low-level debugging support 601 on OMAP1 based platforms (except OMAP730) on the UART3. 602 603 config DEBUG_OMAP2UART1 604 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)" 605 depends on ARCH_OMAP2PLUS 606 select DEBUG_OMAP2PLUS_UART 607 help 608 This covers at least h4, 2430sdp, 3430sdp, 3630sdp, 609 omap3 torpedo and 3530 lv som. 610 611 config DEBUG_OMAP2UART2 612 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2" 613 depends on ARCH_OMAP2PLUS 614 select DEBUG_OMAP2PLUS_UART 615 616 config DEBUG_OMAP2UART3 617 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)" 618 depends on ARCH_OMAP2PLUS 619 select DEBUG_OMAP2PLUS_UART 620 621 config DEBUG_OMAP3UART3 622 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)" 623 depends on ARCH_OMAP2PLUS 624 select DEBUG_OMAP2PLUS_UART 625 help 626 This covers at least cm_t3x, beagle, crane, devkit8000, 627 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook, 628 and 3517evm. 629 630 config DEBUG_OMAP4UART3 631 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)" 632 depends on ARCH_OMAP2PLUS 633 select DEBUG_OMAP2PLUS_UART 634 635 config DEBUG_OMAP3UART4 636 bool "Kernel low-level debugging messages via OMAP36XX UART4" 637 depends on ARCH_OMAP2PLUS 638 select DEBUG_OMAP2PLUS_UART 639 640 config DEBUG_OMAP4UART4 641 bool "Kernel low-level debugging messages via OMAP4/5 UART4" 642 depends on ARCH_OMAP2PLUS 643 select DEBUG_OMAP2PLUS_UART 644 645 config DEBUG_OMAP7XXUART1 646 bool "Kernel low-level debugging via OMAP730 UART1" 647 depends on ARCH_OMAP730 648 select DEBUG_UART_8250 649 help 650 Say Y here if you want kernel low-level debugging support 651 on OMAP730 based platforms on the UART1. 652 653 config DEBUG_OMAP7XXUART2 654 bool "Kernel low-level debugging via OMAP730 UART2" 655 depends on ARCH_OMAP730 656 select DEBUG_UART_8250 657 help 658 Say Y here if you want kernel low-level debugging support 659 on OMAP730 based platforms on the UART2. 660 661 config DEBUG_OMAP7XXUART3 662 bool "Kernel low-level debugging via OMAP730 UART3" 663 depends on ARCH_OMAP730 664 select DEBUG_UART_8250 665 help 666 Say Y here if you want kernel low-level debugging support 667 on OMAP730 based platforms on the UART3. 668 669 config DEBUG_TI81XXUART1 670 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)" 671 depends on ARCH_OMAP2PLUS 672 select DEBUG_OMAP2PLUS_UART 673 674 config DEBUG_TI81XXUART2 675 bool "Kernel low-level debugging messages via TI81XX UART2" 676 depends on ARCH_OMAP2PLUS 677 select DEBUG_OMAP2PLUS_UART 678 679 config DEBUG_TI81XXUART3 680 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)" 681 depends on ARCH_OMAP2PLUS 682 select DEBUG_OMAP2PLUS_UART 683 684 config DEBUG_AM33XXUART1 685 bool "Kernel low-level debugging messages via AM33XX UART1" 686 depends on ARCH_OMAP2PLUS 687 select DEBUG_OMAP2PLUS_UART 688 689 config DEBUG_ZOOM_UART 690 bool "Kernel low-level debugging messages via Zoom2/3 UART" 691 depends on ARCH_OMAP2PLUS 692 select DEBUG_OMAP2PLUS_UART 693 694 config DEBUG_PICOXCELL_UART 695 depends on ARCH_PICOXCELL 696 bool "Use PicoXcell UART for low-level debug" 697 select DEBUG_UART_8250 698 help 699 Say Y here if you want kernel low-level debugging support 700 on PicoXcell based platforms. 701 702 config DEBUG_PXA_UART1 703 depends on ARCH_PXA 704 bool "Use PXA UART1 for low-level debug" 705 select DEBUG_UART_8250 706 help 707 Say Y here if you want kernel low-level debugging support 708 on PXA UART1. 709 710 config DEBUG_REALVIEW_STD_PORT 711 bool "RealView Default UART" 712 depends on ARCH_REALVIEW 713 select DEBUG_UART_PL01X 714 help 715 Say Y here if you want the debug print routines to direct 716 their output to the serial port on RealView EB, PB11MP, PBA8 717 and PBX platforms. 718 719 config DEBUG_REALVIEW_PB1176_PORT 720 bool "RealView PB1176 UART" 721 depends on MACH_REALVIEW_PB1176 722 select DEBUG_UART_PL01X 723 help 724 Say Y here if you want the debug print routines to direct 725 their output to the standard serial port on the RealView 726 PB1176 platform. 727 728 config DEBUG_RK29_UART0 729 bool "Kernel low-level debugging messages via Rockchip RK29 UART0" 730 depends on ARCH_ROCKCHIP 731 select DEBUG_UART_8250 732 help 733 Say Y here if you want kernel low-level debugging support 734 on Rockchip based platforms. 735 736 config DEBUG_RK29_UART1 737 bool "Kernel low-level debugging messages via Rockchip RK29 UART1" 738 depends on ARCH_ROCKCHIP 739 select DEBUG_UART_8250 740 help 741 Say Y here if you want kernel low-level debugging support 742 on Rockchip based platforms. 743 744 config DEBUG_RK29_UART2 745 bool "Kernel low-level debugging messages via Rockchip RK29 UART2" 746 depends on ARCH_ROCKCHIP 747 select DEBUG_UART_8250 748 help 749 Say Y here if you want kernel low-level debugging support 750 on Rockchip based platforms. 751 752 config DEBUG_RK3X_UART0 753 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0" 754 depends on ARCH_ROCKCHIP 755 select DEBUG_UART_8250 756 help 757 Say Y here if you want kernel low-level debugging support 758 on Rockchip based platforms. 759 760 config DEBUG_RK3X_UART1 761 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1" 762 depends on ARCH_ROCKCHIP 763 select DEBUG_UART_8250 764 help 765 Say Y here if you want kernel low-level debugging support 766 on Rockchip based platforms. 767 768 config DEBUG_RK3X_UART2 769 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2" 770 depends on ARCH_ROCKCHIP 771 select DEBUG_UART_8250 772 help 773 Say Y here if you want kernel low-level debugging support 774 on Rockchip based platforms. 775 776 config DEBUG_RK3X_UART3 777 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3" 778 depends on ARCH_ROCKCHIP 779 select DEBUG_UART_8250 780 help 781 Say Y here if you want kernel low-level debugging support 782 on Rockchip based platforms. 783 784 config DEBUG_RK32_UART2 785 bool "Kernel low-level debugging messages via Rockchip RK32 UART2" 786 depends on ARCH_ROCKCHIP 787 select DEBUG_UART_8250 788 help 789 Say Y here if you want kernel low-level debugging support 790 on Rockchip RK32xx based platforms. 791 792 config DEBUG_R7S72100_SCIF2 793 bool "Kernel low-level debugging messages via SCIF2 on R7S72100" 794 depends on ARCH_R7S72100 795 help 796 Say Y here if you want kernel low-level debugging support 797 via SCIF2 on Renesas RZ/A1H (R7S72100). 798 799 config DEBUG_RCAR_GEN1_SCIF0 800 bool "Kernel low-level debugging messages via SCIF0 on R8A7778" 801 depends on ARCH_R8A7778 802 help 803 Say Y here if you want kernel low-level debugging support 804 via SCIF0 on Renesas R-Car M1A (R8A7778). 805 806 config DEBUG_RCAR_GEN1_SCIF2 807 bool "Kernel low-level debugging messages via SCIF2 on R8A7779" 808 depends on ARCH_R8A7779 809 help 810 Say Y here if you want kernel low-level debugging support 811 via SCIF2 on Renesas R-Car H1 (R8A7779). 812 813 config DEBUG_RCAR_GEN2_SCIF0 814 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793" 815 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793 816 help 817 Say Y here if you want kernel low-level debugging support 818 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or 819 M2-N (R8A7793). 820 821 config DEBUG_RCAR_GEN2_SCIF2 822 bool "Kernel low-level debugging messages via SCIF2 on R8A7794" 823 depends on ARCH_R8A7794 824 help 825 Say Y here if you want kernel low-level debugging support 826 via SCIF2 on Renesas R-Car E2 (R8A7794). 827 828 config DEBUG_RMOBILE_SCIFA0 829 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4" 830 depends on ARCH_R8A73A4 831 help 832 Say Y here if you want kernel low-level debugging support 833 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4). 834 835 config DEBUG_RMOBILE_SCIFA1 836 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740" 837 depends on ARCH_R8A7740 838 help 839 Say Y here if you want kernel low-level debugging support 840 via SCIFA1 on Renesas R-Mobile A1 (R8A7740). 841 842 config DEBUG_RMOBILE_SCIFA4 843 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0" 844 depends on ARCH_SH73A0 845 help 846 Say Y here if you want kernel low-level debugging support 847 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0). 848 849 config DEBUG_S3C_UART0 850 depends on PLAT_SAMSUNG 851 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 852 select DEBUG_S3C24XX_UART if ARCH_S3C24XX 853 select DEBUG_S5PV210_UART if ARCH_S5PV210 854 bool "Use Samsung S3C UART 0 for low-level debug" 855 help 856 Say Y here if you want the debug print routines to direct 857 their output to UART 0. The port must have been initialised 858 by the boot-loader before use. 859 860 config DEBUG_S3C_UART1 861 depends on PLAT_SAMSUNG 862 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 863 select DEBUG_S3C24XX_UART if ARCH_S3C24XX 864 select DEBUG_S5PV210_UART if ARCH_S5PV210 865 bool "Use Samsung S3C UART 1 for low-level debug" 866 help 867 Say Y here if you want the debug print routines to direct 868 their output to UART 1. The port must have been initialised 869 by the boot-loader before use. 870 871 config DEBUG_S3C_UART2 872 depends on PLAT_SAMSUNG 873 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 874 select DEBUG_S3C24XX_UART if ARCH_S3C24XX 875 select DEBUG_S5PV210_UART if ARCH_S5PV210 876 bool "Use Samsung S3C UART 2 for low-level debug" 877 help 878 Say Y here if you want the debug print routines to direct 879 their output to UART 2. The port must have been initialised 880 by the boot-loader before use. 881 882 config DEBUG_S3C_UART3 883 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210) 884 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 885 select DEBUG_S5PV210_UART if ARCH_S5PV210 886 bool "Use Samsung S3C UART 3 for low-level debug" 887 help 888 Say Y here if you want the debug print routines to direct 889 their output to UART 3. The port must have been initialised 890 by the boot-loader before use. 891 892 config DEBUG_S3C2410_UART0 893 depends on ARCH_S3C24XX 894 select DEBUG_S3C2410_UART 895 bool "Use S3C2410/S3C2412 UART 0 for low-level debug" 896 help 897 Say Y here if you want the debug print routines to direct 898 their output to UART 0. The port must have been initialised 899 by the boot-loader before use. 900 901 config DEBUG_S3C2410_UART1 902 depends on ARCH_S3C24XX 903 select DEBUG_S3C2410_UART 904 bool "Use S3C2410/S3C2412 UART 1 for low-level debug" 905 help 906 Say Y here if you want the debug print routines to direct 907 their output to UART 1. The port must have been initialised 908 by the boot-loader before use. 909 910 config DEBUG_S3C2410_UART2 911 depends on ARCH_S3C24XX 912 select DEBUG_S3C2410_UART 913 bool "Use S3C2410/S3C2412 UART 2 for low-level debug" 914 help 915 Say Y here if you want the debug print routines to direct 916 their output to UART 2. The port must have been initialised 917 by the boot-loader before use. 918 919 config DEBUG_SA1100 920 depends on ARCH_SA1100 921 bool "Use SA1100 UARTs for low-level debug" 922 help 923 Say Y here if you want kernel low-level debugging support 924 on SA-11x0 UART ports. The kernel will check for the first 925 enabled UART in a sequence 3-1-2. 926 927 config DEBUG_SOCFPGA_UART0 928 depends on ARCH_SOCFPGA 929 bool "Use SOCFPGA UART0 for low-level debug" 930 select DEBUG_UART_8250 931 help 932 Say Y here if you want kernel low-level debugging support 933 on SOCFPGA(Cyclone 5 and Arria 5) based platforms. 934 935 config DEBUG_SOCFPGA_UART1 936 depends on ARCH_SOCFPGA 937 bool "Use SOCFPGA UART1 for low-level debug" 938 select DEBUG_UART_8250 939 help 940 Say Y here if you want kernel low-level debugging support 941 on SOCFPGA(Arria 10) based platforms. 942 943 944 config DEBUG_SUN9I_UART0 945 bool "Kernel low-level debugging messages via sun9i UART0" 946 depends on MACH_SUN9I 947 select DEBUG_UART_8250 948 help 949 Say Y here if you want kernel low-level debugging support 950 on Allwinner A80 based platforms on the UART0. 951 952 config DEBUG_SUNXI_UART0 953 bool "Kernel low-level debugging messages via sunXi UART0" 954 depends on ARCH_SUNXI 955 select DEBUG_UART_8250 956 help 957 Say Y here if you want kernel low-level debugging support 958 on Allwinner A1X based platforms on the UART0. 959 960 config DEBUG_SUNXI_UART1 961 bool "Kernel low-level debugging messages via sunXi UART1" 962 depends on ARCH_SUNXI 963 select DEBUG_UART_8250 964 help 965 Say Y here if you want kernel low-level debugging support 966 on Allwinner A1X based platforms on the UART1. 967 968 config DEBUG_SUNXI_R_UART 969 bool "Kernel low-level debugging messages via sunXi R_UART" 970 depends on MACH_SUN6I || MACH_SUN8I 971 select DEBUG_UART_8250 972 help 973 Say Y here if you want kernel low-level debugging support 974 on Allwinner A31/A23 based platforms on the R_UART. 975 976 config TEGRA_DEBUG_UART_AUTO_ODMDATA 977 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA" 978 depends on ARCH_TEGRA 979 select DEBUG_TEGRA_UART 980 help 981 Automatically determines which UART to use for low-level 982 debug based on the ODMDATA value. This value is part of 983 the BCT, and is written to the boot memory device using 984 nvflash, or other flashing tool. When bits 19:18 are 3, 985 then bits 17:15 indicate which UART to use; 0/1/2/3/4 986 are UART A/B/C/D/E. 987 988 config TEGRA_DEBUG_UARTA 989 bool "Kernel low-level debugging messages via Tegra UART A" 990 depends on ARCH_TEGRA 991 select DEBUG_TEGRA_UART 992 help 993 Say Y here if you want kernel low-level debugging support 994 on Tegra based platforms. 995 996 config TEGRA_DEBUG_UARTB 997 bool "Kernel low-level debugging messages via Tegra UART B" 998 depends on ARCH_TEGRA 999 select DEBUG_TEGRA_UART 1000 help 1001 Say Y here if you want kernel low-level debugging support 1002 on Tegra based platforms. 1003 1004 config TEGRA_DEBUG_UARTC 1005 bool "Kernel low-level debugging messages via Tegra UART C" 1006 depends on ARCH_TEGRA 1007 select DEBUG_TEGRA_UART 1008 help 1009 Say Y here if you want kernel low-level debugging support 1010 on Tegra based platforms. 1011 1012 config TEGRA_DEBUG_UARTD 1013 bool "Kernel low-level debugging messages via Tegra UART D" 1014 depends on ARCH_TEGRA 1015 select DEBUG_TEGRA_UART 1016 help 1017 Say Y here if you want kernel low-level debugging support 1018 on Tegra based platforms. 1019 1020 config TEGRA_DEBUG_UARTE 1021 bool "Kernel low-level debugging messages via Tegra UART E" 1022 depends on ARCH_TEGRA 1023 select DEBUG_TEGRA_UART 1024 help 1025 Say Y here if you want kernel low-level debugging support 1026 on Tegra based platforms. 1027 1028 config DEBUG_SIRFPRIMA2_UART1 1029 bool "Kernel low-level debugging messages via SiRFprimaII UART1" 1030 depends on ARCH_PRIMA2 1031 select DEBUG_SIRFSOC_UART 1032 help 1033 Say Y here if you want the debug print routines to direct 1034 their output to the uart1 port on SiRFprimaII devices. 1035 1036 config DEBUG_SIRFATLAS7_UART0 1037 bool "Kernel low-level debugging messages via SiRFatlas7 UART0" 1038 depends on ARCH_ATLAS7 1039 select DEBUG_SIRFSOC_UART 1040 help 1041 Say Y here if you want the debug print routines to direct 1042 their output to the uart0 port on SiRFATLAS7 devices.The uart0 1043 is used on SiRFATLAS7 as a extra debug port.sometimes an extra 1044 debug port can be very useful. 1045 1046 config DEBUG_SIRFATLAS7_UART1 1047 bool "Kernel low-level debugging messages via SiRFatlas7 UART1" 1048 depends on ARCH_ATLAS7 1049 select DEBUG_SIRFSOC_UART 1050 help 1051 Say Y here if you want the debug print routines to direct 1052 their output to the uart1 port on SiRFATLAS7 devices. 1053 1054 config STIH41X_DEBUG_ASC2 1055 bool "Use StiH415/416 ASC2 UART for low-level debug" 1056 depends on ARCH_STI 1057 select DEBUG_STI_UART 1058 help 1059 Say Y here if you want kernel low-level debugging support 1060 on STiH415/416 based platforms like b2000, which has 1061 default UART wired up to ASC2. 1062 1063 If unsure, say N. 1064 1065 config STIH41X_DEBUG_SBC_ASC1 1066 bool "Use StiH415/416 SBC ASC1 UART for low-level debug" 1067 depends on ARCH_STI 1068 select DEBUG_STI_UART 1069 help 1070 Say Y here if you want kernel low-level debugging support 1071 on STiH415/416 based platforms like b2020. which has 1072 default UART wired up to SBC ASC1. 1073 1074 If unsure, say N. 1075 1076 config DEBUG_U300_UART 1077 bool "Kernel low-level debugging messages via U300 UART0" 1078 depends on ARCH_U300 1079 select DEBUG_UART_PL01X 1080 help 1081 Say Y here if you want the debug print routines to direct 1082 their output to the uart port on U300 devices. 1083 1084 config DEBUG_UX500_UART 1085 depends on ARCH_U8500 1086 bool "Use Ux500 UART for low-level debug" 1087 help 1088 Say Y here if you want kernel low-level debugging support 1089 on Ux500 based platforms. 1090 1091 config DEBUG_MT6589_UART0 1092 bool "Mediatek mt6589 UART0" 1093 depends on ARCH_MEDIATEK 1094 select DEBUG_UART_8250 1095 help 1096 Say Y here if you want kernel low-level debugging support 1097 for Mediatek mt6589 based platforms on UART0. 1098 1099 config DEBUG_MT8127_UART0 1100 bool "Mediatek mt8127/mt6592 UART0" 1101 depends on ARCH_MEDIATEK 1102 select DEBUG_UART_8250 1103 help 1104 Say Y here if you want kernel low-level debugging support 1105 for Mediatek mt8127 based platforms on UART0. 1106 1107 config DEBUG_MT8135_UART3 1108 bool "Mediatek mt8135 UART3" 1109 depends on ARCH_MEDIATEK 1110 select DEBUG_UART_8250 1111 help 1112 Say Y here if you want kernel low-level debugging support 1113 for Mediatek mt8135 based platforms on UART3. 1114 1115 config DEBUG_VEXPRESS_UART0_DETECT 1116 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" 1117 depends on ARCH_VEXPRESS && CPU_CP15_MMU 1118 help 1119 This option enables a simple heuristic which tries to determine 1120 the motherboard's memory map variant (original or RS1) and then 1121 choose the relevant UART0 base address. 1122 1123 Note that this will only work with standard A-class core tiles, 1124 and may fail with non-standard SMM or custom software models. 1125 1126 config DEBUG_VEXPRESS_UART0_CA9 1127 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)" 1128 depends on ARCH_VEXPRESS 1129 select DEBUG_UART_PL01X 1130 help 1131 This option selects UART0 at 0x10009000. Except for custom models, 1132 this applies only to the V2P-CA9 tile. 1133 1134 config DEBUG_VEXPRESS_UART0_RS1 1135 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)" 1136 depends on ARCH_VEXPRESS 1137 select DEBUG_UART_PL01X 1138 help 1139 This option selects UART0 at 0x1c090000. This applies to most 1140 of the tiles using the RS1 memory map, including all new A-class 1141 core tiles, FPGA-based SMMs and software models. 1142 1143 config DEBUG_VEXPRESS_UART0_CRX 1144 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)" 1145 depends on ARCH_VEXPRESS && !MMU 1146 select DEBUG_UART_PL01X 1147 help 1148 This option selects UART0 at 0xb0090000. This is appropriate for 1149 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7 1150 1151 config DEBUG_VT8500_UART0 1152 bool "Use UART0 on VIA/Wondermedia SoCs" 1153 depends on ARCH_VT8500 1154 help 1155 This option selects UART0 on VIA/Wondermedia System-on-a-chip 1156 devices, including VT8500, WM8505, WM8650 and WM8850. 1157 1158 config DEBUG_ICEDCC 1159 bool "Kernel low-level debugging via EmbeddedICE DCC channel" 1160 help 1161 Say Y here if you want the debug print routines to direct 1162 their output to the EmbeddedICE macrocell's DCC channel using 1163 co-processor 14. This is known to work on the ARM9 style ICE 1164 channel and on the XScale with the PEEDI. 1165 1166 Note that the system will appear to hang during boot if there 1167 is nothing connected to read from the DCC. 1168 1169 config DEBUG_SEMIHOSTING 1170 bool "Kernel low-level debug output via semihosting I/O" 1171 help 1172 Semihosting enables code running on an ARM target to use 1173 the I/O facilities on a host debugger/emulator through a 1174 simple SVC call. The host debugger or emulator must have 1175 semihosting enabled for the special svc call to be trapped 1176 otherwise the kernel will crash. 1177 1178 This is known to work with OpenOCD, as well as 1179 ARM's Fast Models, or any other controlling environment 1180 that implements semihosting. 1181 1182 For more details about semihosting, please see 1183 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. 1184 1185 config DEBUG_ZTE_ZX 1186 bool "Use ZTE ZX UART" 1187 select DEBUG_UART_PL01X 1188 depends on ARCH_ZX 1189 help 1190 Say Y here if you are enabling ZTE ZX296702 SOC and need 1191 debug uart support. 1192 1193 This option is preferred over the platform specific 1194 options; the platform specific options are deprecated 1195 and will be soon removed. 1196 1197 config DEBUG_LL_UART_8250 1198 bool "Kernel low-level debugging via 8250 UART" 1199 help 1200 Say Y here if you wish the debug print routes to direct 1201 their output to an 8250 UART. You can use this option 1202 to provide the parameters for the 8250 UART rather than 1203 selecting one of the platform specific options above if 1204 you know the parameters for the port. 1205 1206 This option is preferred over the platform specific 1207 options; the platform specific options are deprecated 1208 and will be soon removed. 1209 1210 config DEBUG_LL_UART_EFM32 1211 bool "Kernel low-level debugging via efm32 UART" 1212 depends on ARCH_EFM32 1213 help 1214 Say Y here if you want the debug print routines to direct 1215 their output to an UART or USART port on efm32 based 1216 machines. Use the following addresses for DEBUG_UART_PHYS: 1217 1218 0x4000c000 | USART0 1219 0x4000c400 | USART1 1220 0x4000c800 | USART2 1221 0x4000e000 | UART0 1222 0x4000e400 | UART1 1223 1224 config DEBUG_LL_UART_PL01X 1225 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART" 1226 help 1227 Say Y here if you wish the debug print routes to direct 1228 their output to a PL01x Primecell UART. You can use 1229 this option to provide the parameters for the UART 1230 rather than selecting one of the platform specific 1231 options above if you know the parameters for the port. 1232 1233 This option is preferred over the platform specific 1234 options; the platform specific options are deprecated 1235 and will be soon removed. 1236 1237endchoice 1238 1239config DEBUG_AT91_UART 1240 bool 1241 depends on ARCH_AT91 1242 1243config DEBUG_EXYNOS_UART 1244 bool 1245 1246config DEBUG_S3C2410_UART 1247 bool 1248 select DEBUG_S3C24XX_UART 1249 1250config DEBUG_S3C24XX_UART 1251 bool 1252 1253config DEBUG_S5PV210_UART 1254 bool 1255 1256config DEBUG_OMAP2PLUS_UART 1257 bool 1258 depends on ARCH_OMAP2PLUS 1259 1260config DEBUG_IMX_UART_PORT 1261 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \ 1262 DEBUG_IMX25_UART || \ 1263 DEBUG_IMX21_IMX27_UART || \ 1264 DEBUG_IMX31_UART || \ 1265 DEBUG_IMX35_UART || \ 1266 DEBUG_IMX50_UART || \ 1267 DEBUG_IMX51_UART || \ 1268 DEBUG_IMX53_UART || \ 1269 DEBUG_IMX6Q_UART || \ 1270 DEBUG_IMX6SL_UART || \ 1271 DEBUG_IMX6SX_UART || \ 1272 DEBUG_IMX7D_UART 1273 default 1 1274 depends on ARCH_MXC 1275 help 1276 Choose UART port on which kernel low-level debug messages 1277 should be output. 1278 1279config DEBUG_VF_UART_PORT 1280 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART 1281 default 1 1282 range 0 3 1283 depends on SOC_VF610 1284 help 1285 Choose UART port on which kernel low-level debug messages 1286 should be output. 1287 1288config DEBUG_TEGRA_UART 1289 bool 1290 depends on ARCH_TEGRA 1291 1292config DEBUG_STI_UART 1293 bool 1294 depends on ARCH_STI 1295 1296config DEBUG_SIRFSOC_UART 1297 bool 1298 depends on ARCH_SIRF 1299 1300config DEBUG_LL_INCLUDE 1301 string 1302 default "debug/sa1100.S" if DEBUG_SA1100 1303 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250 1304 default "debug/at91.S" if DEBUG_AT91_UART 1305 default "debug/asm9260.S" if DEBUG_ASM9260_UART 1306 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2 1307 default "debug/meson.S" if DEBUG_MESON_UARTAO 1308 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X 1309 default "debug/exynos.S" if DEBUG_EXYNOS_UART 1310 default "debug/efm32.S" if DEBUG_LL_UART_EFM32 1311 default "debug/icedcc.S" if DEBUG_ICEDCC 1312 default "debug/imx.S" if DEBUG_IMX1_UART || \ 1313 DEBUG_IMX25_UART || \ 1314 DEBUG_IMX21_IMX27_UART || \ 1315 DEBUG_IMX31_UART || \ 1316 DEBUG_IMX35_UART || \ 1317 DEBUG_IMX50_UART || \ 1318 DEBUG_IMX51_UART || \ 1319 DEBUG_IMX53_UART ||\ 1320 DEBUG_IMX6Q_UART || \ 1321 DEBUG_IMX6SL_UART || \ 1322 DEBUG_IMX6SX_UART || \ 1323 DEBUG_IMX7D_UART 1324 default "debug/ks8695.S" if DEBUG_KS8695_UART 1325 default "debug/msm.S" if DEBUG_QCOM_UARTDM 1326 default "debug/netx.S" if DEBUG_NETX_UART 1327 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART 1328 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2 1329 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0 1330 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2 1331 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0 1332 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2 1333 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0 1334 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1 1335 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4 1336 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART 1337 default "debug/s5pv210.S" if DEBUG_S5PV210_UART 1338 default "debug/sirf.S" if DEBUG_SIRFSOC_UART 1339 default "debug/sti.S" if DEBUG_STI_UART 1340 default "debug/tegra.S" if DEBUG_TEGRA_UART 1341 default "debug/ux500.S" if DEBUG_UX500_UART 1342 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT 1343 default "debug/vf.S" if DEBUG_VF_UART 1344 default "debug/vt8500.S" if DEBUG_VT8500_UART0 1345 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 1346 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX 1347 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0 1348 default "mach/debug-macro.S" 1349 1350# Compatibility options for PL01x 1351config DEBUG_UART_PL01X 1352 bool 1353 1354# Compatibility options for 8250 1355config DEBUG_UART_8250 1356 def_bool ARCH_DOVE || ARCH_EBSA110 || \ 1357 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \ 1358 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \ 1359 ARCH_IOP33X || ARCH_IXP4XX || \ 1360 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC 1361 1362# Compatibility options for BCM63xx 1363config DEBUG_UART_BCM63XX 1364 def_bool ARCH_BCM_63XX 1365 1366config DEBUG_UART_PHYS 1367 hex "Physical base address of debug UART" 1368 default 0x00100a00 if DEBUG_NETX_UART 1369 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0 1370 default 0x01c28000 if DEBUG_SUNXI_UART0 1371 default 0x01c28400 if DEBUG_SUNXI_UART1 1372 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1 1373 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2 1374 default 0x01f02800 if DEBUG_SUNXI_R_UART 1375 default 0x02530c00 if DEBUG_KEYSTONE_UART0 1376 default 0x02531000 if DEBUG_KEYSTONE_UART1 1377 default 0x03010fe0 if ARCH_RPC 1378 default 0x07000000 if DEBUG_SUN9I_UART0 1379 default 0x09405000 if DEBUG_ZTE_ZX 1380 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \ 1381 DEBUG_VEXPRESS_UART0_CA9 1382 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT 1383 default 0x10124000 if DEBUG_RK3X_UART0 1384 default 0x10126000 if DEBUG_RK3X_UART1 1385 default 0x101f1000 if ARCH_VERSATILE 1386 default 0x101fb000 if DEBUG_NOMADIK_UART 1387 default 0x11002000 if DEBUG_MT8127_UART0 1388 default 0x11006000 if DEBUG_MT6589_UART0 1389 default 0x11009000 if DEBUG_MT8135_UART3 1390 default 0x16000000 if ARCH_INTEGRATOR 1391 default 0x18000300 if DEBUG_BCM_5301X 1392 default 0x18010000 if DEBUG_SIRFATLAS7_UART0 1393 default 0x18020000 if DEBUG_SIRFATLAS7_UART1 1394 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1 1395 default 0x20001000 if DEBUG_HIP01_UART 1396 default 0x20060000 if DEBUG_RK29_UART0 1397 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 1398 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 1399 default 0x20201000 if DEBUG_BCM2835 1400 default 0x3e000000 if DEBUG_BCM_KONA_UART 1401 default 0x4000e400 if DEBUG_LL_UART_EFM32 1402 default 0x40081000 if DEBUG_LPC18XX_UART0 1403 default 0x40090000 if ARCH_LPC32XX 1404 default 0x40100000 if DEBUG_PXA_UART1 1405 default 0x42000000 if ARCH_GEMINI 1406 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \ 1407 DEBUG_S3C2410_UART0) 1408 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \ 1409 DEBUG_S3C2410_UART1) 1410 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \ 1411 DEBUG_S3C2410_UART2) 1412 default 0x78000000 if DEBUG_CNS3XXX 1413 default 0x7c0003f8 if FOOTBRIDGE 1414 default 0x80010000 if DEBUG_ASM9260_UART 1415 default 0x80070000 if DEBUG_IMX23_UART 1416 default 0x80074000 if DEBUG_IMX28_UART 1417 default 0x80230000 if DEBUG_PICOXCELL_UART 1418 default 0x808c0000 if ARCH_EP93XX 1419 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1420 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1 1421 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX 1422 default 0xc0013000 if DEBUG_U300_UART 1423 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN 1424 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN 1425 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX 1426 default 0xd0012000 if DEBUG_MVEBU_UART0 1427 default 0xc81004c0 if DEBUG_MESON_UARTAO 1428 default 0xd4017000 if DEBUG_MMP_UART2 1429 default 0xd4018000 if DEBUG_MMP_UART3 1430 default 0xe0000000 if ARCH_SPEAR13XX 1431 default 0xe4007000 if DEBUG_HIP04_UART 1432 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0 1433 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1 1434 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4 1435 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2 1436 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0 1437 default 0xe8008000 if DEBUG_R7S72100_SCIF2 1438 default 0xf0000be0 if ARCH_EBSA110 1439 default 0xf040ab00 if DEBUG_BRCMSTB_UART 1440 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE 1441 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE 1442 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \ 1443 ARCH_ORION5X 1444 default 0xf7fc9000 if DEBUG_BERLIN_UART 1445 default 0xf8b00000 if DEBUG_HIX5HD2_UART 1446 default 0xf991e000 if DEBUG_QCOM_UARTDM 1447 default 0xfcb00000 if DEBUG_HI3620_UART 1448 default 0xfd883000 if DEBUG_ALPINE_UART0 1449 default 0xfe800000 if ARCH_IOP32X 1450 default 0xff690000 if DEBUG_RK32_UART2 1451 default 0xffc02000 if DEBUG_SOCFPGA_UART0 1452 default 0xffc02100 if DEBUG_SOCFPGA_UART1 1453 default 0xffd82340 if ARCH_IOP13XX 1454 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0 1455 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2 1456 default 0xfff36000 if DEBUG_HIGHBANK_UART 1457 default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1 1458 default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2 1459 default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3 1460 default 0xfffe8600 if DEBUG_UART_BCM63XX 1461 default 0xfffff700 if ARCH_IOP33X 1462 depends on ARCH_EP93XX || \ 1463 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1464 DEBUG_LL_UART_EFM32 || \ 1465 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ 1466 DEBUG_NETX_UART || \ 1467 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \ 1468 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \ 1469 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \ 1470 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \ 1471 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \ 1472 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \ 1473 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 1474 1475config DEBUG_UART_VIRT 1476 hex "Virtual base address of debug UART" 1477 default 0xe0000a00 if DEBUG_NETX_UART 1478 default 0xe0010fe0 if ARCH_RPC 1479 default 0xf0000be0 if ARCH_EBSA110 1480 default 0xf0010000 if DEBUG_ASM9260_UART 1481 default 0xf01fb000 if DEBUG_NOMADIK_UART 1482 default 0xf0201000 if DEBUG_BCM2835 1483 default 0xf1000300 if DEBUG_BCM_5301X 1484 default 0xf1002000 if DEBUG_MT8127_UART0 1485 default 0xf1006000 if DEBUG_MT6589_UART0 1486 default 0xf1009000 if DEBUG_MT8135_UART3 1487 default 0xf11f1000 if ARCH_VERSATILE 1488 default 0xf1600000 if ARCH_INTEGRATOR 1489 default 0xf1c28000 if DEBUG_SUNXI_UART0 1490 default 0xf1c28400 if DEBUG_SUNXI_UART1 1491 default 0xf1f02800 if DEBUG_SUNXI_R_UART 1492 default 0xf6200000 if DEBUG_PXA_UART1 1493 default 0xf4090000 if ARCH_LPC32XX 1494 default 0xf4200000 if ARCH_GEMINI 1495 default 0xf7000000 if DEBUG_SUN9I_UART0 1496 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \ 1497 DEBUG_S3C2410_UART0) 1498 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \ 1499 DEBUG_S3C2410_UART1) 1500 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \ 1501 DEBUG_S3C2410_UART2) 1502 default 0xf7fc9000 if DEBUG_BERLIN_UART 1503 default 0xf8007000 if DEBUG_HIP04_UART 1504 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9 1505 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1 1506 default 0xfa71e000 if DEBUG_QCOM_UARTDM 1507 default 0xfb002000 if DEBUG_CNS3XXX 1508 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT 1509 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT 1510 default 0xfc40ab00 if DEBUG_BRCMSTB_UART 1511 default 0xfc705000 if DEBUG_ZTE_ZX 1512 default 0xfcfe8600 if DEBUG_UART_BCM63XX 1513 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX 1514 default 0xfd000000 if ARCH_SPEAR13XX 1515 default 0xfd012000 if ARCH_MV78XX0 1516 default 0xfd883000 if DEBUG_ALPINE_UART0 1517 default 0xfde12000 if ARCH_DOVE 1518 default 0xfe012000 if ARCH_ORION5X 1519 default 0xf31004c0 if DEBUG_MESON_UARTAO 1520 default 0xfe017000 if DEBUG_MMP_UART2 1521 default 0xfe018000 if DEBUG_MMP_UART3 1522 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART 1523 default 0xfe230000 if DEBUG_PICOXCELL_UART 1524 default 0xfe300000 if DEBUG_BCM_KONA_UART 1525 default 0xfe800000 if ARCH_IOP32X 1526 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART 1527 default 0xfeb24000 if DEBUG_RK3X_UART0 1528 default 0xfeb26000 if DEBUG_RK3X_UART1 1529 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0 1530 default 0xfeb31000 if DEBUG_KEYSTONE_UART1 1531 default 0xfec02000 if DEBUG_SOCFPGA_UART0 1532 default 0xfec02100 if DEBUG_SOCFPGA_UART1 1533 default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE 1534 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE 1535 default 0xfec10000 if DEBUG_SIRFATLAS7_UART0 1536 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0 1537 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1 1538 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1 1539 default 0xfec90000 if DEBUG_RK32_UART2 1540 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1 1541 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 1542 default 0xfed60000 if DEBUG_RK29_UART0 1543 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 1544 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 1545 default 0xfedc0000 if ARCH_EP93XX 1546 default 0xfee003f8 if FOOTBRIDGE 1547 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1548 default 0xfee82340 if ARCH_IOP13XX 1549 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN 1550 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN 1551 default 0xfef36000 if DEBUG_HIGHBANK_UART 1552 default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1 1553 default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2 1554 default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3 1555 default 0xfefff700 if ARCH_IOP33X 1556 default 0xff003000 if DEBUG_U300_UART 1557 default 0xffd01000 if DEBUG_HIP01_UART 1558 default DEBUG_UART_PHYS if !MMU 1559 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1560 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ 1561 DEBUG_NETX_UART || \ 1562 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \ 1563 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \ 1564 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 1565 1566config DEBUG_UART_8250_SHIFT 1567 int "Register offset shift for the 8250 debug UART" 1568 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1569 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X || \ 1570 DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3 1571 default 2 1572 1573config DEBUG_UART_8250_WORD 1574 bool "Use 32-bit accesses for 8250 UART" 1575 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1576 depends on DEBUG_UART_8250_SHIFT >= 2 1577 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART0 || \ 1578 DEBUG_SOCFPGA_UART1 || ARCH_KEYSTONE || \ 1579 DEBUG_ALPINE_UART0 || \ 1580 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \ 1581 DEBUG_DAVINCI_DA8XX_UART2 || \ 1582 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \ 1583 DEBUG_BRCMSTB_UART 1584 1585config DEBUG_UART_8250_FLOW_CONTROL 1586 bool "Enable flow control for 8250 UART" 1587 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1588 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC 1589 1590config DEBUG_UNCOMPRESS 1591 bool 1592 depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M 1593 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \ 1594 (!DEBUG_TEGRA_UART || !ZBOOT_ROM) 1595 help 1596 This option influences the normal decompressor output for 1597 multiplatform kernels. Normally, multiplatform kernels disable 1598 decompressor output because it is not possible to know where to 1599 send the decompressor output. 1600 1601 When this option is set, the selected DEBUG_LL output method 1602 will be re-used for normal decompressor output on multiplatform 1603 kernels. 1604 1605 1606config UNCOMPRESS_INCLUDE 1607 string 1608 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \ 1609 PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \ 1610 ARCH_SHMOBILE_LEGACY 1611 default "mach/uncompress.h" 1612 1613config EARLY_PRINTK 1614 bool "Early printk" 1615 depends on DEBUG_LL 1616 help 1617 Say Y here if you want to have an early console using the 1618 kernel low-level debugging functions. Add earlyprintk to your 1619 kernel parameters to enable this console. 1620 1621config ARM_KPROBES_TEST 1622 tristate "Kprobes test module" 1623 depends on KPROBES && MODULES 1624 help 1625 Perform tests of kprobes API and instruction set simulation. 1626 1627config PID_IN_CONTEXTIDR 1628 bool "Write the current PID to the CONTEXTIDR register" 1629 depends on CPU_COPY_V6 1630 help 1631 Enabling this option causes the kernel to write the current PID to 1632 the PROCID field of the CONTEXTIDR register, at the expense of some 1633 additional instructions during context switch. Say Y here only if you 1634 are planning to use hardware trace tools with this kernel. 1635 1636config DEBUG_SET_MODULE_RONX 1637 bool "Set loadable kernel module data as NX and text as RO" 1638 depends on MODULES && MMU 1639 ---help--- 1640 This option helps catch unintended modifications to loadable 1641 kernel module's text and read-only data. It also prevents execution 1642 of module data. Such protection may interfere with run-time code 1643 patching and dynamic kernel tracing - and they might also protect 1644 against certain classes of kernel exploits. 1645 If in doubt, say "N". 1646 1647source "drivers/hwtracing/coresight/Kconfig" 1648 1649endmenu 1650