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