Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 
0003 config ARM_PTDUMP_CORE
0004         def_bool n
0005 
0006 config ARM_PTDUMP_DEBUGFS
0007         bool "Export kernel pagetable layout to userspace via debugfs"
0008         depends on DEBUG_KERNEL
0009         depends on MMU
0010         select ARM_PTDUMP_CORE
0011         select DEBUG_FS
0012         help
0013           Say Y here if you want to show the kernel pagetable layout in a
0014           debugfs file. This information is only useful for kernel developers
0015           who are working in architecture specific areas of the kernel.
0016           It is probably not a good idea to enable this feature in a production
0017           kernel.
0018           If in doubt, say "N"
0019 
0020 config DEBUG_WX
0021         bool "Warn on W+X mappings at boot"
0022         depends on MMU
0023         select ARM_PTDUMP_CORE
0024         help
0025                 Generate a warning if any W+X mappings are found at boot.
0026 
0027                 This is useful for discovering cases where the kernel is leaving
0028                 W+X mappings after applying NX, as such mappings are a security risk.
0029 
0030                 Look for a message in dmesg output like this:
0031 
0032                         arm/mm: Checked W+X mappings: passed, no W+X pages found.
0033 
0034                 or like this, if the check failed:
0035 
0036                         arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
0037 
0038                 Note that even if the check fails, your kernel is possibly
0039                 still fine, as W+X mappings are not a security hole in
0040                 themselves, what they do is that they make the exploitation
0041                 of other unfixed kernel bugs easier.
0042 
0043                 There is no runtime or memory usage effect of this option
0044                 once the kernel has booted up - it's a one time check.
0045 
0046                 If in doubt, say "Y".
0047 
0048 choice
0049         prompt "Choose kernel unwinder"
0050         default UNWINDER_ARM if AEABI
0051         default UNWINDER_FRAME_POINTER if !AEABI
0052         help
0053           This determines which method will be used for unwinding kernel stack
0054           traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
0055           livepatch, lockdep, and more.
0056 
0057 config UNWINDER_FRAME_POINTER
0058         bool "Frame pointer unwinder"
0059         depends on !THUMB2_KERNEL
0060         select ARCH_WANT_FRAME_POINTERS
0061         select FRAME_POINTER
0062         help
0063           This option enables the frame pointer unwinder for unwinding
0064           kernel stack traces.
0065 
0066 config UNWINDER_ARM
0067         bool "ARM EABI stack unwinder"
0068         depends on AEABI
0069         select ARM_UNWIND
0070         help
0071           This option enables stack unwinding support in the kernel
0072           using the information automatically generated by the
0073           compiler. The resulting kernel image is slightly bigger but
0074           the performance is not affected. Currently, this feature
0075           only works with EABI compilers.
0076 
0077 endchoice
0078 
0079 config ARM_UNWIND
0080         bool
0081 
0082 config BACKTRACE_VERBOSE
0083         bool "Verbose backtrace"
0084         depends on EXPERT
0085         help
0086           When the kernel produces a warning or oops, the kernel prints a
0087           trace of the call chain. This option controls whether we include
0088           the numeric addresses or only include the symbolic information.
0089 
0090           In most cases, say N here, unless you are intending to debug the
0091           kernel and have access to the kernel binary image.
0092 
0093 config FRAME_POINTER
0094         bool
0095 
0096 config DEBUG_USER
0097         bool "Verbose user fault messages"
0098         help
0099           When a user program crashes due to an exception, the kernel can
0100           print a brief message explaining what the problem was. This is
0101           sometimes helpful for debugging but serves no purpose on a
0102           production system. Most people should say N here.
0103 
0104           In addition, you need to pass user_debug=N on the kernel command
0105           line to enable this feature.  N consists of the sum of:
0106 
0107               1 - undefined instruction events
0108               2 - system calls
0109               4 - invalid data aborts
0110               8 - SIGSEGV faults
0111              16 - SIGBUS faults
0112 
0113 # These options are only for real kernel hackers who want to get their hands dirty.
0114 config DEBUG_LL
0115         bool "Kernel low-level debugging functions (read help!)"
0116         depends on DEBUG_KERNEL
0117         help
0118           Say Y here to include definitions of printascii, printch, printhex
0119           in the kernel.  This is helpful if you are debugging code that
0120           executes before the console is initialized.
0121 
0122           Note that selecting this option will limit the kernel to a single
0123           UART definition, as specified below. Attempting to boot the kernel
0124           image on a different platform *will not work*, so this option should
0125           not be enabled for kernels that are intended to be portable.
0126 
0127 choice
0128         prompt "Kernel low-level debugging port"
0129         depends on DEBUG_LL
0130 
0131         config DEBUG_ALPINE_UART0
0132                 bool "Kernel low-level debugging messages via Alpine UART0"
0133                 depends on ARCH_ALPINE
0134                 select DEBUG_UART_8250
0135                 help
0136                   Say Y here if you want kernel low-level debugging support
0137                   on Alpine based platforms.
0138 
0139         config DEBUG_ASM9260_UART
0140                 bool "Kernel low-level debugging via asm9260 UART"
0141                 depends on MACH_ASM9260
0142                 help
0143                   Say Y here if you want the debug print routines to direct
0144                   their output to an UART or USART port on asm9260 based
0145                   machines.
0146 
0147                     DEBUG_UART_PHYS | DEBUG_UART_VIRT
0148 
0149                     0x80000000      | 0xf0000000     | UART0
0150                     0x80004000      | 0xf0004000     | UART1
0151                     0x80008000      | 0xf0008000     | UART2
0152                     0x8000c000      | 0xf000c000     | UART3
0153                     0x80010000      | 0xf0010000     | UART4
0154                     0x80014000      | 0xf0014000     | UART5
0155                     0x80018000      | 0xf0018000     | UART6
0156                     0x8001c000      | 0xf001c000     | UART7
0157                     0x80020000      | 0xf0020000     | UART8
0158                     0x80024000      | 0xf0024000     | UART9
0159 
0160         config DEBUG_AT91_RM9200_DBGU
0161                 bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
0162                 select DEBUG_AT91_UART
0163                 depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
0164                 help
0165                   Say Y here if you want kernel low-level debugging support
0166                   on the DBGU port of:
0167                     at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
0168                     at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
0169 
0170         config DEBUG_AT91_SAM9263_DBGU
0171                 bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
0172                 select DEBUG_AT91_UART
0173                 depends on SOC_AT91SAM9 || SOC_SAMA5D3
0174                 help
0175                   Say Y here if you want kernel low-level debugging support
0176                   on the DBGU port of:
0177                     at91sam9263, at91sam9g45, at91sam9m10,
0178                     sama5d3
0179 
0180         config DEBUG_AT91_SAMA5D2_UART1
0181                 bool "Kernel low-level debugging on SAMA5D2 UART1"
0182                 select DEBUG_AT91_UART
0183                 depends on SOC_SAMA5D2
0184                 help
0185                   Say Y here if you want kernel low-level debugging support
0186                   on the UART1 port of sama5d2.
0187 
0188         config DEBUG_AT91_SAMA5D4_USART3
0189                 bool "Kernel low-level debugging on SAMA5D4 USART3"
0190                 select DEBUG_AT91_UART
0191                 depends on SOC_SAMA5D4
0192                 help
0193                   Say Y here if you want kernel low-level debugging support
0194                   on the USART3 port of sama5d4.
0195 
0196         config DEBUG_AT91_SAMV7_USART1
0197                 bool "Kernel low-level debugging via SAMV7 USART1"
0198                 select DEBUG_AT91_UART
0199                 depends on SOC_SAMV7
0200                 help
0201                   Say Y here if you want the debug print routines to direct
0202                   their output to the USART1 port on SAMV7 based
0203                   machines.
0204 
0205         config DEBUG_AT91_SAMA7G5_FLEXCOM3
0206                 bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
0207                 select DEBUG_AT91_UART
0208                 depends on SOC_SAMA7G5
0209                 help
0210                   Say Y here if you want kernel low-level debugging support
0211                   on the FLEXCOM3 port of SAMA7G5.
0212 
0213         config DEBUG_AT91_LAN966_FLEXCOM
0214                 bool "Kernel low-level debugging on LAN966 FLEXCOM USART"
0215                 select DEBUG_AT91_UART
0216                 depends on SOC_LAN966
0217                 help
0218                 Say Y here if you want kernel low-level debugging support
0219                 on the FLEXCOM port of LAN966.
0220 
0221                 DEBUG_UART_PHYS | DEBUG_UART_VIRT
0222 
0223                 0xe0040200      | 0xfd040200     | FLEXCOM0
0224                 0xe0044200      | 0xfd044200     | FLEXCOM1
0225                 0xe0060200      | 0xfd060200     | FLEXCOM2
0226                 0xe0064200      | 0xfd064200     | FLEXCOM3
0227                 0xe0070200      | 0xfd070200     | FLEXCOM4
0228 
0229                 By default, enabling FLEXCOM3 port. Based on requirement, use
0230                 DEBUG_UART_PHYS and DEBUG_UART_VIRT configurations from above
0231                 table.
0232 
0233         config DEBUG_BCM2835
0234                 bool "Kernel low-level debugging on BCM2835 PL011 UART"
0235                 depends on ARCH_BCM2835 && ARCH_MULTI_V6
0236                 select DEBUG_UART_PL01X
0237 
0238         config DEBUG_BCM2836
0239                 bool "Kernel low-level debugging on BCM2836 PL011 UART"
0240                 depends on ARCH_BCM2835 && ARCH_MULTI_V7
0241                 select DEBUG_UART_PL01X
0242 
0243         config DEBUG_BCM_5301X
0244                 bool "Kernel low-level debugging on BCM5301X/NSP UART1"
0245                 depends on ARCH_BCM_5301X || ARCH_BCM_NSP
0246                 select DEBUG_UART_8250
0247 
0248         config DEBUG_BCM_HR2
0249                 bool "Kernel low-level debugging on Hurricane 2 UART2"
0250                 depends on ARCH_BCM_HR2
0251                 select DEBUG_UART_8250
0252 
0253         config DEBUG_BCM_IPROC_UART3
0254                 bool "Kernel low-level debugging on BCM IPROC UART3"
0255                 depends on ARCH_BCM_CYGNUS
0256                 select DEBUG_UART_8250
0257                 help
0258                   Say Y here if you want the debug print routines to direct
0259                   their output to the third serial port on these devices.
0260 
0261         config DEBUG_BCM_KONA_UART
0262                 bool "Kernel low-level debugging messages via BCM KONA UART"
0263                 depends on ARCH_BCM_MOBILE
0264                 select DEBUG_UART_8250
0265                 help
0266                   Say Y here if you want kernel low-level debugging support
0267                   on Broadcom SoC platforms.
0268                   This low level debug works for Broadcom
0269                   mobile SoCs in the Kona family of chips (e.g. bcm28155,
0270                   bcm11351, etc...)
0271 
0272         config DEBUG_BCM63XX_UART
0273                 bool "Kernel low-level debugging on BCM63XX UART"
0274                 depends on ARCH_BCMBCA
0275 
0276         config DEBUG_BERLIN_UART
0277                 bool "Marvell Berlin SoC Debug UART"
0278                 depends on ARCH_BERLIN
0279                 select DEBUG_UART_8250
0280                 help
0281                   Say Y here if you want kernel low-level debugging support
0282                   on Marvell Berlin SoC based platforms.
0283 
0284         config DEBUG_BRCMSTB_UART
0285                 bool "Use BRCMSTB UART for low-level debug"
0286                 depends on ARCH_BRCMSTB
0287                 help
0288                   Say Y here if you want the debug print routines to direct
0289                   their output to the first serial port on these devices. The
0290                   UART physical and virtual address is automatically provided
0291                   based on the chip identification register value.
0292 
0293                   If you have a Broadcom STB chip and would like early print
0294                   messages to appear over the UART, select this option.
0295 
0296         config DEBUG_CLPS711X_UART1
0297                 bool "Kernel low-level debugging messages via UART1"
0298                 depends on ARCH_CLPS711X
0299                 help
0300                   Say Y here if you want the debug print routines to direct
0301                   their output to the first serial port on these devices.
0302 
0303         config DEBUG_CLPS711X_UART2
0304                 bool "Kernel low-level debugging messages via UART2"
0305                 depends on ARCH_CLPS711X
0306                 help
0307                   Say Y here if you want the debug print routines to direct
0308                   their output to the second serial port on these devices.
0309 
0310         config DEBUG_CNS3XXX
0311                 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
0312                 depends on ARCH_CNS3XXX
0313                 select DEBUG_UART_8250
0314                 help
0315                   Say Y here if you want the debug print routines to direct
0316                   their output to the CNS3xxx UART0.
0317 
0318         config DEBUG_DAVINCI_DA8XX_UART1
0319                 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
0320                 depends on ARCH_DAVINCI_DA8XX
0321                 select DEBUG_UART_8250
0322                 help
0323                   Say Y here if you want the debug print routines to direct
0324                   their output to UART1 serial port on DaVinci DA8XX devices.
0325 
0326         config DEBUG_DAVINCI_DA8XX_UART2
0327                 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
0328                 depends on ARCH_DAVINCI_DA8XX
0329                 select DEBUG_UART_8250
0330                 help
0331                   Say Y here if you want the debug print routines to direct
0332                   their output to UART2 serial port on DaVinci DA8XX devices.
0333 
0334         config DEBUG_DAVINCI_DMx_UART0
0335                 bool "Kernel low-level debugging on DaVinci DMx using UART0"
0336                 depends on ARCH_DAVINCI_DMx
0337                 select DEBUG_UART_8250
0338                 help
0339                   Say Y here if you want the debug print routines to direct
0340                   their output to UART0 serial port on DaVinci DMx devices.
0341 
0342         config DEBUG_DC21285_PORT
0343                 bool "Kernel low-level debugging messages via footbridge serial port"
0344                 depends on FOOTBRIDGE
0345                 help
0346                   Say Y here if you want the debug print routines to direct
0347                   their output to the serial port in the DC21285 (Footbridge).
0348 
0349         config DEBUG_DIGICOLOR_UA0
0350                 bool "Kernel low-level debugging messages via Digicolor UA0"
0351                 depends on ARCH_DIGICOLOR
0352                 help
0353                   Say Y here if you want the debug print routines to direct
0354                   their output to the UA0 serial port in the CX92755.
0355 
0356         config DEBUG_EP93XX
0357                 bool "Kernel low-level debugging messages via ep93xx UART"
0358                 depends on ARCH_EP93XX
0359                 select DEBUG_UART_PL01X
0360                 help
0361                   Say Y here if you want kernel low-level debugging support
0362                   on Cirrus Logic EP93xx based platforms.
0363 
0364         config DEBUG_FOOTBRIDGE_COM1
0365                 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
0366                 depends on FOOTBRIDGE
0367                 select DEBUG_UART_8250
0368                 help
0369                   Say Y here if you want the debug print routines to direct
0370                   their output to the 8250 at PCI COM1.
0371 
0372         config DEBUG_GEMINI
0373                 bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
0374                 depends on ARCH_GEMINI
0375                 select DEBUG_UART_8250
0376                 help
0377                   Say Y here if you want kernel low-level debugging support
0378                   on Cortina Gemini based platforms.
0379 
0380         config DEBUG_HI3620_UART
0381                 bool "Hisilicon HI3620 Debug UART"
0382                 depends on ARCH_HI3xxx
0383                 select DEBUG_UART_PL01X
0384                 help
0385                   Say Y here if you want kernel low-level debugging support
0386                   on HI3620 UART.
0387 
0388         config DEBUG_HIGHBANK_UART
0389                 bool "Kernel low-level debugging messages via Highbank UART"
0390                 depends on ARCH_HIGHBANK
0391                 select DEBUG_UART_PL01X
0392                 help
0393                   Say Y here if you want the debug print routines to direct
0394                   their output to the UART on Highbank based devices.
0395 
0396         config DEBUG_HIP01_UART
0397                 bool "Hisilicon Hip01 Debug UART"
0398                 depends on ARCH_HIP01
0399                 select DEBUG_UART_8250
0400                 help
0401                   Say Y here if you want kernel low-level debugging support
0402                   on HIP01 UART.
0403 
0404         config DEBUG_HIP04_UART
0405                 bool "Hisilicon HiP04 Debug UART"
0406                 depends on ARCH_HIP04
0407                 select DEBUG_UART_8250
0408                 help
0409                   Say Y here if you want kernel low-level debugging support
0410                   on HIP04 UART.
0411 
0412         config DEBUG_HIX5HD2_UART
0413                 bool "Hisilicon Hix5hd2 Debug UART"
0414                 depends on ARCH_HIX5HD2
0415                 select DEBUG_UART_PL01X
0416                 help
0417                   Say Y here if you want kernel low-level debugging support
0418                   on Hix5hd2 UART.
0419 
0420         config DEBUG_IMX1_UART
0421                 bool "i.MX1 Debug UART"
0422                 depends on SOC_IMX1
0423                 help
0424                   Say Y here if you want kernel low-level debugging support
0425                   on i.MX1.
0426 
0427         config DEBUG_IMX23_UART
0428                 bool "i.MX23 Debug UART"
0429                 depends on SOC_IMX23
0430                 select DEBUG_UART_PL01X
0431                 help
0432                   Say Y here if you want kernel low-level debugging support
0433                   on i.MX23.
0434 
0435         config DEBUG_IMX25_UART
0436                 bool "i.MX25 Debug UART"
0437                 depends on SOC_IMX25
0438                 help
0439                   Say Y here if you want kernel low-level debugging support
0440                   on i.MX25.
0441 
0442         config DEBUG_IMX27_UART
0443                 bool "i.MX27 Debug UART"
0444                 depends on SOC_IMX27
0445                 help
0446                   Say Y here if you want kernel low-level debugging support
0447                   on i.MX27.
0448 
0449         config DEBUG_IMX28_UART
0450                 bool "i.MX28 Debug UART"
0451                 depends on SOC_IMX28
0452                 select DEBUG_UART_PL01X
0453                 help
0454                   Say Y here if you want kernel low-level debugging support
0455                   on i.MX28.
0456 
0457         config DEBUG_IMX31_UART
0458                 bool "i.MX31 Debug UART"
0459                 depends on SOC_IMX31
0460                 help
0461                   Say Y here if you want kernel low-level debugging support
0462                   on i.MX31.
0463 
0464         config DEBUG_IMX35_UART
0465                 bool "i.MX35 Debug UART"
0466                 depends on SOC_IMX35
0467                 help
0468                   Say Y here if you want kernel low-level debugging support
0469                   on i.MX35.
0470 
0471         config DEBUG_IMX50_UART
0472                 bool "i.MX50 Debug UART"
0473                 depends on SOC_IMX50
0474                 help
0475                   Say Y here if you want kernel low-level debugging support
0476                   on i.MX50.
0477 
0478         config DEBUG_IMX51_UART
0479                 bool "i.MX51 Debug UART"
0480                 depends on SOC_IMX51
0481                 help
0482                   Say Y here if you want kernel low-level debugging support
0483                   on i.MX51.
0484 
0485         config DEBUG_IMX53_UART
0486                 bool "i.MX53 Debug UART"
0487                 depends on SOC_IMX53
0488                 help
0489                   Say Y here if you want kernel low-level debugging support
0490                   on i.MX53.
0491 
0492         config DEBUG_IMX6Q_UART
0493                 bool "i.MX6Q/DL Debug UART"
0494                 depends on SOC_IMX6Q
0495                 help
0496                   Say Y here if you want kernel low-level debugging support
0497                   on i.MX6Q/DL.
0498 
0499         config DEBUG_IMX6SL_UART
0500                 bool "i.MX6SL Debug UART"
0501                 depends on SOC_IMX6SL
0502                 help
0503                   Say Y here if you want kernel low-level debugging support
0504                   on i.MX6SL.
0505 
0506         config DEBUG_IMX6SX_UART
0507                 bool "i.MX6SX Debug UART"
0508                 depends on SOC_IMX6SX
0509                 help
0510                   Say Y here if you want kernel low-level debugging support
0511                   on i.MX6SX.
0512 
0513         config DEBUG_IMX6UL_UART
0514                 bool "i.MX6UL Debug UART"
0515                 depends on SOC_IMX6UL
0516                 help
0517                   Say Y here if you want kernel low-level debugging support
0518                   on i.MX6UL.
0519 
0520         config DEBUG_IMX7D_UART
0521                 bool "i.MX7D Debug UART"
0522                 depends on SOC_IMX7D
0523                 help
0524                   Say Y here if you want kernel low-level debugging support
0525                   on i.MX7D.
0526 
0527         config DEBUG_INTEGRATOR
0528                 bool "Kernel low-level debugging messages via ARM Integrator UART"
0529                 depends on ARCH_INTEGRATOR
0530                 select DEBUG_UART_PL01X
0531                 help
0532                   Say Y here if you want kernel low-level debugging support
0533                   on ARM Integrator platforms.
0534 
0535         config DEBUG_KEYSTONE_UART0
0536                 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
0537                 depends on ARCH_KEYSTONE
0538                 select DEBUG_UART_8250
0539                 help
0540                   Say Y here if you want the debug print routines to direct
0541                   their output to UART0 serial port on KEYSTONE2 devices.
0542 
0543         config DEBUG_KEYSTONE_UART1
0544                 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
0545                 depends on ARCH_KEYSTONE
0546                 select DEBUG_UART_8250
0547                 help
0548                   Say Y here if you want the debug print routines to direct
0549                   their output to UART1 serial port on KEYSTONE2 devices.
0550 
0551         config DEBUG_LPC18XX_UART0
0552                 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
0553                 depends on ARCH_LPC18XX
0554                 select DEBUG_UART_8250
0555                 help
0556                   Say Y here if you want kernel low-level debugging support
0557                   on NXP LPC18xx/43xx UART0.
0558 
0559         config DEBUG_LPC32XX
0560                 bool "Kernel low-level debugging messages via NXP LPC32xx UART"
0561                 depends on ARCH_LPC32XX
0562                 select DEBUG_UART_8250
0563                 help
0564                   Say Y here if you want kernel low-level debugging support
0565                   on NXP LPC32xx based platforms.
0566 
0567         config DEBUG_MESON_UARTAO
0568                 bool "Kernel low-level debugging via Meson6 UARTAO"
0569                 depends on ARCH_MESON
0570                 help
0571                   Say Y here if you want kernel low-lever debugging support
0572                   on Amlogic Meson6 based platforms on the UARTAO.
0573 
0574         config DEBUG_MMP_UART2
0575                 bool "Kernel low-level debugging message via MMP UART2"
0576                 depends on ARCH_MMP
0577                 select DEBUG_UART_8250
0578                 help
0579                   Say Y here if you want kernel low-level debugging support
0580                   on MMP UART2.
0581 
0582         config DEBUG_MMP_UART3
0583                 bool "Kernel low-level debugging message via MMP UART3"
0584                 depends on ARCH_MMP
0585                 select DEBUG_UART_8250
0586                 help
0587                   Say Y here if you want kernel low-level debugging support
0588                   on MMP UART3.
0589 
0590         config DEBUG_MVEBU_UART0
0591                 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
0592                 depends on ARCH_MVEBU
0593                 depends on ARCH_MVEBU && CPU_V7
0594                 select DEBUG_UART_8250
0595                 help
0596                   Say Y here if you want kernel low-level debugging support
0597                   on MVEBU based platforms on UART0.
0598 
0599                   This option should be used with the old bootloaders
0600                   that left the internal registers mapped at
0601                   0xd0000000. As of today, this is the case on
0602                   platforms such as the Globalscale Mirabox or the
0603                   Plathome OpenBlocks AX3, when using the original
0604                   bootloader.
0605 
0606                   This option will not work on older Marvell platforms
0607                   (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
0608                   the "new bootloader" variant.
0609 
0610                   If the wrong DEBUG_MVEBU_UART* option is selected,
0611                   when u-boot hands over to the kernel, the system
0612                   silently crashes, with no serial output at all.
0613 
0614         config DEBUG_MVEBU_UART0_ALTERNATE
0615                 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
0616                 depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
0617                 select DEBUG_UART_8250
0618                 help
0619                   Say Y here if you want kernel low-level debugging support
0620                   on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
0621                   Kirkwood, Dove, MV78xx0, Orion5x).
0622 
0623 
0624                   This option should be used with the new bootloaders
0625                   that remap the internal registers at 0xf1000000.
0626 
0627                   If the wrong DEBUG_MVEBU_UART* option is selected,
0628                   when u-boot hands over to the kernel, the system
0629                   silently crashes, with no serial output at all.
0630 
0631         config DEBUG_MVEBU_UART1_ALTERNATE
0632                 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
0633                 depends on ARCH_MVEBU
0634                 select DEBUG_UART_8250
0635                 help
0636                   Say Y here if you want kernel low-level debugging support
0637                   on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
0638                   Kirkwood, Dove, MV78xx0, Orion5x).
0639 
0640                   This option should be used with the new bootloaders
0641                   that remap the internal registers at 0xf1000000.
0642                   All of the older (pre Armada XP/370) platforms also use
0643                   this address, regardless of the boot loader version.
0644 
0645                   If the wrong DEBUG_MVEBU_UART* option is selected,
0646                   when u-boot hands over to the kernel, the system
0647                   silently crashes, with no serial output at all.
0648 
0649         config DEBUG_MSTARV7_PMUART
0650                 bool "Kernel low-level debugging messages via MSTARV7 PM UART"
0651                 depends on ARCH_MSTARV7
0652                 select DEBUG_UART_8250
0653                 help
0654                   Say Y here if you want kernel low-level debugging support
0655                   for MSTAR ARMv7-based platforms on PM UART.
0656 
0657         config DEBUG_MT6589_UART0
0658                 bool "Mediatek mt6589 UART0"
0659                 depends on ARCH_MEDIATEK
0660                 select DEBUG_UART_8250
0661                 help
0662                   Say Y here if you want kernel low-level debugging support
0663                   for Mediatek mt6589 based platforms on UART0.
0664 
0665         config DEBUG_MT8127_UART0
0666                 bool "Mediatek mt8127/mt6592 UART0"
0667                 depends on ARCH_MEDIATEK
0668                 select DEBUG_UART_8250
0669                 help
0670                   Say Y here if you want kernel low-level debugging support
0671                   for Mediatek mt8127 based platforms on UART0.
0672 
0673         config DEBUG_MT8135_UART3
0674                 bool "Mediatek mt8135 UART3"
0675                 depends on ARCH_MEDIATEK
0676                 select DEBUG_UART_8250
0677                 help
0678                   Say Y here if you want kernel low-level debugging support
0679                   for Mediatek mt8135 based platforms on UART3.
0680 
0681         config DEBUG_NOMADIK_UART
0682                 bool "Kernel low-level debugging messages via NOMADIK UART"
0683                 depends on ARCH_NOMADIK
0684                 select DEBUG_UART_PL01X
0685                 help
0686                   Say Y here if you want kernel low-level debugging support
0687                   on NOMADIK based platforms.
0688 
0689         config DEBUG_NSPIRE_CLASSIC_UART
0690                 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
0691                 depends on ARCH_NSPIRE
0692                 select DEBUG_UART_8250
0693                 help
0694                   Say Y here if you want kernel low-level debugging support
0695                   on TI-NSPIRE classic models.
0696 
0697         config DEBUG_NSPIRE_CX_UART
0698                 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
0699                 depends on ARCH_NSPIRE
0700                 select DEBUG_UART_PL01X
0701                 help
0702                   Say Y here if you want kernel low-level debugging support
0703                   on TI-NSPIRE CX models.
0704 
0705         config DEBUG_OMAP1UART1
0706                 bool "Kernel low-level debugging via OMAP1 UART1"
0707                 depends on ARCH_OMAP1
0708                 select DEBUG_UART_8250
0709                 help
0710                   Say Y here if you want kernel low-level debugging support
0711                   on OMAP1 based platforms (except OMAP730) on the UART1.
0712 
0713         config DEBUG_OMAP1UART2
0714                 bool "Kernel low-level debugging via OMAP1 UART2"
0715                 depends on ARCH_OMAP1
0716                 select DEBUG_UART_8250
0717                 help
0718                   Say Y here if you want kernel low-level debugging support
0719                   on OMAP1 based platforms (except OMAP730) on the UART2.
0720 
0721         config DEBUG_OMAP1UART3
0722                 bool "Kernel low-level debugging via OMAP1 UART3"
0723                 depends on ARCH_OMAP1
0724                 select DEBUG_UART_8250
0725                 help
0726                   Say Y here if you want kernel low-level debugging support
0727                   on OMAP1 based platforms (except OMAP730) on the UART3.
0728 
0729         config DEBUG_OMAP2UART1
0730                 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
0731                 depends on ARCH_OMAP2PLUS
0732                 select DEBUG_UART_8250
0733                 help
0734                   This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
0735                   omap3 torpedo and 3530 lv som.
0736 
0737         config DEBUG_OMAP2UART2
0738                 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
0739                 depends on ARCH_OMAP2PLUS
0740                 select DEBUG_UART_8250
0741 
0742         config DEBUG_OMAP2UART3
0743                 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
0744                 depends on ARCH_OMAP2PLUS
0745                 select DEBUG_UART_8250
0746 
0747         config DEBUG_OMAP3UART3
0748                 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
0749                 depends on ARCH_OMAP2PLUS
0750                 select DEBUG_UART_8250
0751                 help
0752                   This covers at least cm_t3x, beagle, crane, devkit8000,
0753                   igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
0754                   and 3517evm.
0755 
0756         config DEBUG_OMAP4UART3
0757                 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
0758                 depends on ARCH_OMAP2PLUS
0759                 select DEBUG_UART_8250
0760 
0761         config DEBUG_OMAP3UART4
0762                 bool "Kernel low-level debugging messages via OMAP36XX UART4"
0763                 depends on ARCH_OMAP2PLUS
0764                 select DEBUG_UART_8250
0765 
0766         config DEBUG_OMAP4UART4
0767                 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
0768                 depends on ARCH_OMAP2PLUS
0769                 select DEBUG_UART_8250
0770 
0771         config DEBUG_OMAP7XXUART1
0772                 bool "Kernel low-level debugging via OMAP730 UART1"
0773                 depends on ARCH_OMAP730
0774                 select DEBUG_UART_8250
0775                 help
0776                   Say Y here if you want kernel low-level debugging support
0777                   on OMAP730 based platforms on the UART1.
0778 
0779         config DEBUG_OMAP7XXUART2
0780                 bool "Kernel low-level debugging via OMAP730 UART2"
0781                 depends on ARCH_OMAP730
0782                 select DEBUG_UART_8250
0783                 help
0784                   Say Y here if you want kernel low-level debugging support
0785                   on OMAP730 based platforms on the UART2.
0786 
0787         config DEBUG_OMAP7XXUART3
0788                 bool "Kernel low-level debugging via OMAP730 UART3"
0789                 depends on ARCH_OMAP730
0790                 select DEBUG_UART_8250
0791                 help
0792                   Say Y here if you want kernel low-level debugging support
0793                   on OMAP730 based platforms on the UART3.
0794 
0795         config DEBUG_TI81XXUART1
0796                 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
0797                 depends on ARCH_OMAP2PLUS
0798                 select DEBUG_UART_8250
0799 
0800         config DEBUG_TI81XXUART2
0801                 bool "Kernel low-level debugging messages via TI81XX UART2"
0802                 depends on ARCH_OMAP2PLUS
0803                 select DEBUG_UART_8250
0804 
0805         config DEBUG_TI81XXUART3
0806                 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
0807                 depends on ARCH_OMAP2PLUS
0808                 select DEBUG_UART_8250
0809 
0810         config DEBUG_AM33XXUART1
0811                 bool "Kernel low-level debugging messages via AM33XX UART1"
0812                 depends on ARCH_OMAP2PLUS
0813                 select DEBUG_UART_8250
0814 
0815         config DEBUG_ZOOM_UART
0816                 bool "Kernel low-level debugging messages via Zoom2/3 UART"
0817                 depends on ARCH_OMAP2PLUS
0818                 select DEBUG_OMAP2PLUS_UART
0819 
0820         config DEBUG_PXA_UART1
0821                 depends on ARCH_PXA
0822                 bool "Use PXA UART1 for low-level debug"
0823                 select DEBUG_UART_8250
0824                 help
0825                   Say Y here if you want kernel low-level debugging support
0826                   on PXA UART1.
0827 
0828         config DEBUG_QCOM_UARTDM
0829                 bool "Kernel low-level debugging messages via QCOM UARTDM"
0830                 depends on ARCH_QCOM
0831                 help
0832                   Say Y here if you want the debug print routines to direct
0833                   their output to the serial port on Qualcomm devices.
0834 
0835                   ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
0836                   APQ8064   0x16640000        0xf0040000
0837                   APQ8084   0xf995e000        0xfa75e000
0838                   IPQ4019   0x078af000        0xf78af000
0839                   MSM8X60   0x19c40000        0xf0040000
0840                   MSM8960   0x16440000        0xf0040000
0841                   MSM8974   0xf991e000        0xfa71e000
0842 
0843                   Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
0844                   options based on your needs.
0845 
0846         config DEBUG_REALVIEW_STD_PORT
0847                 bool "RealView Default UART"
0848                 depends on ARCH_REALVIEW
0849                 select DEBUG_UART_PL01X
0850                 help
0851                   Say Y here if you want the debug print routines to direct
0852                   their output to the serial port on RealView EB, PB11MP, PBA8
0853                   and PBX platforms.
0854 
0855         config DEBUG_REALVIEW_PB1176_PORT
0856                 bool "RealView PB1176 UART"
0857                 depends on MACH_REALVIEW_PB1176
0858                 select DEBUG_UART_PL01X
0859                 help
0860                   Say Y here if you want the debug print routines to direct
0861                   their output to the standard serial port on the RealView
0862                   PB1176 platform.
0863 
0864         config DEBUG_RV1108_UART0
0865                 bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
0866                 depends on ARCH_ROCKCHIP
0867                 select DEBUG_UART_8250
0868                 help
0869                   Say Y here if you want kernel low-level debugging support
0870                   on Rockchip RV1108 based platforms.
0871 
0872         config DEBUG_RV1108_UART1
0873                 bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
0874                 depends on ARCH_ROCKCHIP
0875                 select DEBUG_UART_8250
0876                 help
0877                   Say Y here if you want kernel low-level debugging support
0878                   on Rockchip RV1108 based platforms.
0879 
0880         config DEBUG_RV1108_UART2
0881                 bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
0882                 depends on ARCH_ROCKCHIP
0883                 select DEBUG_UART_8250
0884                 help
0885                   Say Y here if you want kernel low-level debugging support
0886                   on Rockchip RV1108 based platforms.
0887 
0888         config DEBUG_RK29_UART0
0889                 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
0890                 depends on ARCH_ROCKCHIP
0891                 select DEBUG_UART_8250
0892                 help
0893                   Say Y here if you want kernel low-level debugging support
0894                   on Rockchip based platforms.
0895 
0896         config DEBUG_RK29_UART1
0897                 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
0898                 depends on ARCH_ROCKCHIP
0899                 select DEBUG_UART_8250
0900                 help
0901                   Say Y here if you want kernel low-level debugging support
0902                   on Rockchip based platforms.
0903 
0904         config DEBUG_RK29_UART2
0905                 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
0906                 depends on ARCH_ROCKCHIP
0907                 select DEBUG_UART_8250
0908                 help
0909                   Say Y here if you want kernel low-level debugging support
0910                   on Rockchip based platforms.
0911 
0912         config DEBUG_RK3X_UART0
0913                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
0914                 depends on ARCH_ROCKCHIP
0915                 select DEBUG_UART_8250
0916                 help
0917                   Say Y here if you want kernel low-level debugging support
0918                   on Rockchip based platforms.
0919 
0920         config DEBUG_RK3X_UART1
0921                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
0922                 depends on ARCH_ROCKCHIP
0923                 select DEBUG_UART_8250
0924                 help
0925                   Say Y here if you want kernel low-level debugging support
0926                   on Rockchip based platforms.
0927 
0928         config DEBUG_RK3X_UART2
0929                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
0930                 depends on ARCH_ROCKCHIP
0931                 select DEBUG_UART_8250
0932                 help
0933                   Say Y here if you want kernel low-level debugging support
0934                   on Rockchip based platforms.
0935 
0936         config DEBUG_RK3X_UART3
0937                 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
0938                 depends on ARCH_ROCKCHIP
0939                 select DEBUG_UART_8250
0940                 help
0941                   Say Y here if you want kernel low-level debugging support
0942                   on Rockchip based platforms.
0943 
0944         config DEBUG_RK32_UART2
0945                 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
0946                 depends on ARCH_ROCKCHIP
0947                 select DEBUG_UART_8250
0948                 help
0949                   Say Y here if you want kernel low-level debugging support
0950                   on Rockchip RK32xx based platforms.
0951 
0952         config DEBUG_R7S72100_SCIF2
0953                 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
0954                 depends on ARCH_R7S72100
0955                 help
0956                   Say Y here if you want kernel low-level debugging support
0957                   via SCIF2 on Renesas RZ/A1H (R7S72100).
0958 
0959         config DEBUG_R7S9210_SCIF2
0960                 bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
0961                 depends on ARCH_R7S9210
0962                 help
0963                   Say Y here if you want kernel low-level debugging support
0964                   via SCIF2 on Renesas RZ/A2M (R7S9210).
0965 
0966         config DEBUG_R7S9210_SCIF4
0967                 bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
0968                 depends on ARCH_R7S9210
0969                 help
0970                   Say Y here if you want kernel low-level debugging support
0971                   via SCIF4 on Renesas RZ/A2M (R7S9210).
0972 
0973         config DEBUG_RCAR_GEN1_SCIF0
0974                 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
0975                 depends on ARCH_R8A7778
0976                 help
0977                   Say Y here if you want kernel low-level debugging support
0978                   via SCIF0 on Renesas R-Car M1A (R8A7778).
0979 
0980         config DEBUG_RCAR_GEN1_SCIF2
0981                 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
0982                 depends on ARCH_R8A7779
0983                 help
0984                   Say Y here if you want kernel low-level debugging support
0985                   via SCIF2 on Renesas R-Car H1 (R8A7779).
0986 
0987         config DEBUG_RCAR_GEN2_SCIF0
0988                 bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
0989                 depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
0990                         ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
0991                 help
0992                   Say Y here if you want kernel low-level debugging support
0993                   via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
0994                   R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
0995                   M2-N (R8A7793).
0996 
0997         config DEBUG_RCAR_GEN2_SCIF1
0998                 bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
0999                 depends on ARCH_R8A77470
1000                 help
1001                   Say Y here if you want kernel low-level debugging support
1002                   via SCIF1 on Renesas RZ/G1C (R8A77470).
1003 
1004         config DEBUG_RCAR_GEN2_SCIF2
1005                 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
1006                 depends on ARCH_R8A7794
1007                 help
1008                   Say Y here if you want kernel low-level debugging support
1009                   via SCIF2 on Renesas R-Car E2 (R8A7794).
1010 
1011         config DEBUG_RCAR_GEN2_SCIF4
1012                 bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
1013                 depends on ARCH_R8A7745
1014                 help
1015                   Say Y here if you want kernel low-level debugging support
1016                   via SCIF4 on Renesas RZ/G1E (R8A7745).
1017 
1018         config DEBUG_RCAR_GEN2_SCIFA2
1019                 bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
1020                 depends on ARCH_R8A7742
1021                 help
1022                   Say Y here if you want kernel low-level debugging support
1023                   via SCIFA2 on Renesas RZ/G1H (R8A7742).
1024 
1025         config DEBUG_RMOBILE_SCIFA0
1026                 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
1027                 depends on ARCH_R8A73A4
1028                 help
1029                   Say Y here if you want kernel low-level debugging support
1030                   via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
1031 
1032         config DEBUG_RMOBILE_SCIFA1
1033                 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
1034                 depends on ARCH_R8A7740
1035                 help
1036                   Say Y here if you want kernel low-level debugging support
1037                   via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
1038 
1039         config DEBUG_RMOBILE_SCIFA4
1040                 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
1041                 depends on ARCH_SH73A0
1042                 help
1043                   Say Y here if you want kernel low-level debugging support
1044                   via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
1045 
1046         config DEBUG_S3C_UART0
1047                 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1048                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1049                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1050                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1051                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1052                 bool "Use Samsung S3C UART 0 for low-level debug"
1053                 help
1054                   Say Y here if you want the debug print routines to direct
1055                   their output to UART 0. The port must have been initialised
1056                   by the boot-loader before use.
1057 
1058         config DEBUG_S3C_UART1
1059                 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1060                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1061                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1062                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1063                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1064                 bool "Use Samsung S3C UART 1 for low-level debug"
1065                 help
1066                   Say Y here if you want the debug print routines to direct
1067                   their output to UART 1. The port must have been initialised
1068                   by the boot-loader before use.
1069 
1070         config DEBUG_S3C_UART2
1071                 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1072                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1073                 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1074                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1075                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1076                 bool "Use Samsung S3C UART 2 for low-level debug"
1077                 help
1078                   Say Y here if you want the debug print routines to direct
1079                   their output to UART 2. The port must have been initialised
1080                   by the boot-loader before use.
1081 
1082         config DEBUG_S3C_UART3
1083                 depends on ARCH_EXYNOS || ARCH_S5PV210
1084                 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1085                 select DEBUG_S3C64XX_UART if ARCH_S3C64XX
1086                 select DEBUG_S5PV210_UART if ARCH_S5PV210
1087                 bool "Use Samsung S3C UART 3 for low-level debug"
1088                 help
1089                   Say Y here if you want the debug print routines to direct
1090                   their output to UART 3. The port must have been initialised
1091                   by the boot-loader before use.
1092 
1093         config DEBUG_S3C2410_UART0
1094                 depends on ARCH_S3C24XX
1095                 select DEBUG_S3C2410_UART
1096                 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
1097                 help
1098                   Say Y here if you want the debug print routines to direct
1099                   their output to UART 0. The port must have been initialised
1100                   by the boot-loader before use.
1101 
1102         config DEBUG_S3C2410_UART1
1103                 depends on ARCH_S3C24XX
1104                 select DEBUG_S3C2410_UART
1105                 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
1106                 help
1107                   Say Y here if you want the debug print routines to direct
1108                   their output to UART 1. The port must have been initialised
1109                   by the boot-loader before use.
1110 
1111         config DEBUG_S3C2410_UART2
1112                 depends on ARCH_S3C24XX
1113                 select DEBUG_S3C2410_UART
1114                 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
1115                 help
1116                   Say Y here if you want the debug print routines to direct
1117                   their output to UART 2. The port must have been initialised
1118                   by the boot-loader before use.
1119 
1120         config DEBUG_SA1100
1121                 depends on ARCH_SA1100
1122                 bool "Use SA1100 UARTs for low-level debug"
1123                 help
1124                   Say Y here if you want kernel low-level debugging support
1125                   on SA-11x0 UART ports. The kernel will check for the first
1126                   enabled UART in a sequence 3-1-2.
1127 
1128         config DEBUG_SD5203_UART
1129                 bool "Hisilicon SD5203 Debug UART"
1130                 depends on ARCH_SD5203
1131                 select DEBUG_UART_8250
1132                 help
1133                   Say Y here if you want kernel low-level debugging support
1134                   on SD5203 UART.
1135 
1136         config DEBUG_SOCFPGA_UART0
1137                 depends on ARCH_INTEL_SOCFPGA
1138                 bool "Use SOCFPGA UART0 for low-level debug"
1139                 select DEBUG_UART_8250
1140                 help
1141                   Say Y here if you want kernel low-level debugging support
1142                   on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1143 
1144         config DEBUG_SOCFPGA_ARRIA10_UART1
1145                 depends on ARCH_INTEL_SOCFPGA
1146                 bool "Use SOCFPGA Arria10 UART1 for low-level debug"
1147                 select DEBUG_UART_8250
1148                 help
1149                   Say Y here if you want kernel low-level debugging support
1150                   on SOCFPGA(Arria 10) based platforms.
1151 
1152         config DEBUG_SOCFPGA_CYCLONE5_UART1
1153                 depends on ARCH_INTEL_SOCFPGA
1154                 bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1155                 select DEBUG_UART_8250
1156                 help
1157                   Say Y here if you want kernel low-level debugging support
1158                   on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1159 
1160         config DEBUG_SUN9I_UART0
1161                 bool "Kernel low-level debugging messages via sun9i UART0"
1162                 depends on MACH_SUN9I
1163                 select DEBUG_UART_8250
1164                 help
1165                   Say Y here if you want kernel low-level debugging support
1166                   on Allwinner A80 based platforms on the UART0.
1167 
1168         config DEBUG_SUNXI_UART0
1169                 bool "Kernel low-level debugging messages via sunXi UART0"
1170                 depends on ARCH_SUNXI
1171                 select DEBUG_UART_8250
1172                 help
1173                   Say Y here if you want kernel low-level debugging support
1174                   on Allwinner A1X based platforms on the UART0.
1175 
1176         config DEBUG_SUNXI_UART1
1177                 bool "Kernel low-level debugging messages via sunXi UART1"
1178                 depends on ARCH_SUNXI
1179                 select DEBUG_UART_8250
1180                 help
1181                   Say Y here if you want kernel low-level debugging support
1182                   on Allwinner A1X based platforms on the UART1.
1183 
1184         config DEBUG_SUNXI_R_UART
1185                 bool "Kernel low-level debugging messages via sunXi R_UART"
1186                 depends on MACH_SUN6I || MACH_SUN8I
1187                 select DEBUG_UART_8250
1188                 help
1189                   Say Y here if you want kernel low-level debugging support
1190                   on Allwinner A31/A23 based platforms on the R_UART.
1191 
1192         config DEBUG_SPEAR3XX
1193                 bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1194                 depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1195                 select DEBUG_UART_PL01X
1196                 help
1197                   Say Y here if you want kernel low-level debugging support
1198                   on ST SPEAr based platforms.
1199 
1200         config DEBUG_SPEAR13XX
1201                 bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1202                 depends on ARCH_SPEAR13XX
1203                 select DEBUG_UART_PL01X
1204                 help
1205                   Say Y here if you want kernel low-level debugging support
1206                   on ST SPEAr13xx based platforms.
1207 
1208         config DEBUG_STIH41X_ASC2
1209                 bool "Use StiH415/416 ASC2 UART for low-level debug"
1210                 depends on ARCH_STI
1211                 help
1212                   Say Y here if you want kernel low-level debugging support
1213                   on STiH415/416 based platforms like b2000, which has
1214                   default UART wired up to ASC2.
1215 
1216                   If unsure, say N.
1217 
1218         config DEBUG_STIH41X_SBC_ASC1
1219                 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1220                 depends on ARCH_STI
1221                 help
1222                   Say Y here if you want kernel low-level debugging support
1223                   on STiH415/416 based platforms like b2020. which has
1224                   default UART wired up to SBC ASC1.
1225 
1226                   If unsure, say N.
1227 
1228         config DEBUG_STIH418_SBC_ASC0
1229                 bool "Use StiH418 SBC ASC0 UART for low-level debug"
1230                 depends on ARCH_STI
1231                 help
1232                   Say Y here if you want kernel low-level debugging support
1233                   on STiH418 based platforms which has default UART wired
1234                   up to SBC ASC0.
1235 
1236                   If unsure, say N.
1237 
1238         config STM32F4_DEBUG_UART
1239                 bool "Use STM32F4 UART for low-level debug"
1240                 depends on MACH_STM32F429 || MACH_STM32F469
1241                 select DEBUG_STM32_UART
1242                 help
1243                   Say Y here if you want kernel low-level debugging support
1244                   on STM32F4 based platforms, which default UART is wired on
1245                   USART1, but another UART instance can be selected by modifying
1246                   CONFIG_DEBUG_UART_PHYS.
1247 
1248                   If unsure, say N.
1249 
1250         config STM32F7_DEBUG_UART
1251                 bool "Use STM32F7 UART for low-level debug"
1252                 depends on MACH_STM32F746 || MACH_STM32F769
1253                 select DEBUG_STM32_UART
1254                 help
1255                   Say Y here if you want kernel low-level debugging support
1256                   on STM32F7 based platforms, which default UART is wired on
1257                   USART1, but another UART instance can be selected by modifying
1258                   CONFIG_DEBUG_UART_PHYS.
1259 
1260                   If unsure, say N.
1261 
1262         config STM32H7_DEBUG_UART
1263                 bool "Use STM32H7 UART for low-level debug"
1264                 depends on MACH_STM32H743
1265                 select DEBUG_STM32_UART
1266                 help
1267                   Say Y here if you want kernel low-level debugging support
1268                   on STM32H7 based platforms, which default UART is wired on
1269                   USART1, but another UART instance can be selected by modifying
1270                   CONFIG_DEBUG_UART_PHYS.
1271 
1272                   If unsure, say N.
1273 
1274         config STM32MP1_DEBUG_UART
1275                 bool "Use STM32MP1 UART for low-level debug"
1276                 depends on MACH_STM32MP157
1277                 select DEBUG_STM32_UART
1278                 help
1279                   Say Y here if you want kernel low-level debugging support
1280                   on STM32MP1 based platforms, wich default UART is wired on
1281                   UART4, but another UART instance can be selected by modifying
1282                   CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
1283 
1284                   If unsure, say N.
1285 
1286         config TEGRA_DEBUG_UART_AUTO_ODMDATA
1287                 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
1288                 depends on ARCH_TEGRA
1289                 select DEBUG_TEGRA_UART
1290                 help
1291                   Automatically determines which UART to use for low-level
1292                   debug based on the ODMDATA value. This value is part of
1293                   the BCT, and is written to the boot memory device using
1294                   nvflash, or other flashing tool.  When bits 19:18 are 3,
1295                   then bits 17:15 indicate which UART to use; 0/1/2/3/4
1296                   are UART A/B/C/D/E.
1297 
1298         config TEGRA_DEBUG_UARTA
1299                 bool "Kernel low-level debugging messages via Tegra UART A"
1300                 depends on ARCH_TEGRA
1301                 select DEBUG_TEGRA_UART
1302                 help
1303                   Say Y here if you want kernel low-level debugging support
1304                   on Tegra based platforms.
1305 
1306         config TEGRA_DEBUG_UARTB
1307                 bool "Kernel low-level debugging messages via Tegra UART B"
1308                 depends on ARCH_TEGRA
1309                 select DEBUG_TEGRA_UART
1310                 help
1311                   Say Y here if you want kernel low-level debugging support
1312                   on Tegra based platforms.
1313 
1314         config TEGRA_DEBUG_UARTC
1315                 bool "Kernel low-level debugging messages via Tegra UART C"
1316                 depends on ARCH_TEGRA
1317                 select DEBUG_TEGRA_UART
1318                 help
1319                   Say Y here if you want kernel low-level debugging support
1320                   on Tegra based platforms.
1321 
1322         config TEGRA_DEBUG_UARTD
1323                 bool "Kernel low-level debugging messages via Tegra UART D"
1324                 depends on ARCH_TEGRA
1325                 select DEBUG_TEGRA_UART
1326                 help
1327                   Say Y here if you want kernel low-level debugging support
1328                   on Tegra based platforms.
1329 
1330         config TEGRA_DEBUG_UARTE
1331                 bool "Kernel low-level debugging messages via Tegra UART E"
1332                 depends on ARCH_TEGRA
1333                 select DEBUG_TEGRA_UART
1334                 help
1335                   Say Y here if you want kernel low-level debugging support
1336                   on Tegra based platforms.
1337 
1338         config DEBUG_UX500_UART
1339                 depends on ARCH_U8500
1340                 bool "Use Ux500 UART for low-level debug"
1341                 help
1342                   Say Y here if you want kernel low-level debugging support
1343                   on Ux500 based platforms.
1344 
1345         config DEBUG_VERSATILE
1346                 bool "Kernel low-level debugging messages via ARM Versatile UART"
1347                 depends on ARCH_VERSATILE
1348                 select DEBUG_UART_PL01X
1349                 help
1350                   Say Y here if you want kernel low-level debugging support
1351                   on ARM Versatile platforms.
1352 
1353         config DEBUG_VEXPRESS_UART0_DETECT
1354                 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1355                 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1356                 help
1357                   This option enables a simple heuristic which tries to determine
1358                   the motherboard's memory map variant (original or RS1) and then
1359                   choose the relevant UART0 base address.
1360 
1361                   Note that this will only work with standard A-class core tiles,
1362                   and may fail with non-standard SMM or custom software models.
1363 
1364         config DEBUG_VEXPRESS_UART0_CA9
1365                 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1366                 depends on ARCH_VEXPRESS
1367                 select DEBUG_UART_PL01X
1368                 help
1369                   This option selects UART0 at 0x10009000. Except for custom models,
1370                   this applies only to the V2P-CA9 tile.
1371 
1372         config DEBUG_VEXPRESS_UART0_RS1
1373                 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1374                 depends on ARCH_VEXPRESS
1375                 select DEBUG_UART_PL01X
1376                 help
1377                   This option selects UART0 at 0x1c090000. This applies to most
1378                   of the tiles using the RS1 memory map, including all new A-class
1379                   core tiles, FPGA-based SMMs and software models.
1380 
1381         config DEBUG_VEXPRESS_UART0_CRX
1382                 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1383                 depends on ARCH_VEXPRESS && !MMU
1384                 select DEBUG_UART_PL01X
1385                 help
1386                   This option selects UART0 at 0xb0090000. This is appropriate for
1387                   Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1388 
1389         config DEBUG_VF_UART
1390                 bool "Vybrid UART"
1391                 depends on SOC_VF610
1392                 help
1393                   Say Y here if you want kernel low-level debugging support
1394                   on Vybrid based platforms.
1395 
1396         config DEBUG_VT8500_UART0
1397                 bool "Use UART0 on VIA/Wondermedia SoCs"
1398                 depends on ARCH_VT8500
1399                 help
1400                   This option selects UART0 on VIA/Wondermedia System-on-a-chip
1401                   devices, including VT8500, WM8505, WM8650 and WM8850.
1402 
1403         config DEBUG_ZYNQ_UART0
1404                 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
1405                 depends on ARCH_ZYNQ
1406                 help
1407                   Say Y here if you want the debug print routines to direct
1408                   their output to UART0 on the Zynq platform.
1409 
1410         config DEBUG_ZYNQ_UART1
1411                 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
1412                 depends on ARCH_ZYNQ
1413                 help
1414                   Say Y here if you want the debug print routines to direct
1415                   their output to UART1 on the Zynq platform.
1416 
1417                   If you have a ZC702 board and want early boot messages to
1418                   appear on the USB serial adaptor, select this option.
1419 
1420         config DEBUG_ICEDCC
1421                 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1422                 help
1423                   Say Y here if you want the debug print routines to direct
1424                   their output to the EmbeddedICE macrocell's DCC channel using
1425                   co-processor 14. This is known to work on the ARM9 style ICE
1426                   channel and on the XScale with the PEEDI.
1427 
1428                   Note that the system will appear to hang during boot if there
1429                   is nothing connected to read from the DCC.
1430 
1431         config DEBUG_SEMIHOSTING
1432                 bool "Kernel low-level debug output via semihosting I/O"
1433                 help
1434                   Semihosting enables code running on an ARM target to use
1435                   the I/O facilities on a host debugger/emulator through a
1436                   simple SVC call. The host debugger or emulator must have
1437                   semihosting enabled for the special svc call to be trapped
1438                   otherwise the kernel will crash.
1439 
1440                   This is known to work with OpenOCD, as well as
1441                   ARM's Fast Models, or any other controlling environment
1442                   that implements semihosting.
1443 
1444                   For more details about semihosting, please see
1445                   chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1446 
1447         config DEBUG_LL_UART_8250
1448                 bool "Kernel low-level debugging via 8250 UART"
1449                 help
1450                   Say Y here if you wish the debug print routes to direct
1451                   their output to an 8250 UART.  You can use this option
1452                   to provide the parameters for the 8250 UART rather than
1453                   selecting one of the platform specific options above if
1454                   you know the parameters for the port.
1455 
1456                   This option is preferred over the platform specific
1457                   options; the platform specific options are deprecated
1458                   and will be soon removed.
1459 
1460         config DEBUG_LL_UART_PL01X
1461                 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1462                 help
1463                   Say Y here if you wish the debug print routes to direct
1464                   their output to a PL01x Primecell UART.  You can use
1465                   this option to provide the parameters for the UART
1466                   rather than selecting one of the platform specific
1467                   options above if you know the parameters for the port.
1468 
1469                   This option is preferred over the platform specific
1470                   options; the platform specific options are deprecated
1471                   and will be soon removed.
1472 
1473 endchoice
1474 
1475 config DEBUG_AT91_UART
1476         bool
1477         depends on ARCH_AT91
1478 
1479 config DEBUG_EXYNOS_UART
1480         bool
1481 
1482 config DEBUG_S3C2410_UART
1483         bool
1484         select DEBUG_S3C24XX_UART
1485 
1486 config DEBUG_S3C24XX_UART
1487         bool
1488 
1489 config DEBUG_S3C64XX_UART
1490         bool
1491 
1492 config DEBUG_S5PV210_UART
1493         bool
1494 
1495 config DEBUG_S3C_UART
1496         depends on DEBUG_S3C2410_UART || DEBUG_S3C24XX_UART || \
1497                    DEBUG_S3C64XX_UART ||  DEBUG_S5PV210_UART || \
1498                    DEBUG_EXYNOS_UART
1499         int
1500         default "0" if DEBUG_S3C_UART0
1501         default "1" if DEBUG_S3C_UART1
1502         default "2" if DEBUG_S3C_UART2
1503         default "3" if DEBUG_S3C_UART3
1504 
1505 config DEBUG_OMAP2PLUS_UART
1506         bool
1507         depends on ARCH_OMAP2PLUS
1508 
1509 config DEBUG_IMX_UART_PORT
1510         int "i.MX Debug UART Port Selection"
1511         depends on DEBUG_IMX1_UART || \
1512                    DEBUG_IMX25_UART || \
1513                    DEBUG_IMX27_UART || \
1514                    DEBUG_IMX31_UART || \
1515                    DEBUG_IMX35_UART || \
1516                    DEBUG_IMX50_UART || \
1517                    DEBUG_IMX51_UART || \
1518                    DEBUG_IMX53_UART || \
1519                    DEBUG_IMX6Q_UART || \
1520                    DEBUG_IMX6SL_UART || \
1521                    DEBUG_IMX6SX_UART || \
1522                    DEBUG_IMX6UL_UART || \
1523                    DEBUG_IMX7D_UART
1524         default 1
1525         help
1526           Choose UART port on which kernel low-level debug messages
1527           should be output.
1528 
1529 config DEBUG_VF_UART_PORT
1530         int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1531         default 1
1532         range 0 3
1533         depends on SOC_VF610
1534         help
1535           Choose UART port on which kernel low-level debug messages
1536           should be output.
1537 
1538 config DEBUG_TEGRA_UART
1539         bool
1540         depends on ARCH_TEGRA
1541 
1542 config DEBUG_STM32_UART
1543         bool
1544         depends on ARCH_STM32
1545 
1546 config DEBUG_UART_FLOW_CONTROL
1547         bool "Enable flow control (CTS) for the debug UART"
1548         depends on DEBUG_LL
1549         default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
1550         help
1551           Some UART ports are connected to terminals that will use modem
1552           control signals to indicate whether they are ready to receive text.
1553           In practice this means that the terminal is asserting the special
1554           control signal CTS (Clear To Send). If your debug UART supports
1555           this and your debug terminal will require it, enable this option.
1556 
1557 config DEBUG_LL_INCLUDE
1558         string
1559         default "debug/sa1100.S" if DEBUG_SA1100
1560         default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1561         default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1562         default "debug/at91.S" if DEBUG_AT91_UART
1563         default "debug/asm9260.S" if DEBUG_ASM9260_UART
1564         default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1565         default "debug/dc21285.S" if DEBUG_DC21285_PORT
1566         default "debug/meson.S" if DEBUG_MESON_UARTAO
1567         default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1568         default "debug/exynos.S" if DEBUG_EXYNOS_UART
1569         default "debug/icedcc.S" if DEBUG_ICEDCC
1570         default "debug/imx.S" if DEBUG_IMX1_UART || \
1571                                  DEBUG_IMX25_UART || \
1572                                  DEBUG_IMX27_UART || \
1573                                  DEBUG_IMX31_UART || \
1574                                  DEBUG_IMX35_UART || \
1575                                  DEBUG_IMX50_UART || \
1576                                  DEBUG_IMX51_UART || \
1577                                  DEBUG_IMX53_UART || \
1578                                  DEBUG_IMX6Q_UART || \
1579                                  DEBUG_IMX6SL_UART || \
1580                                  DEBUG_IMX6SX_UART || \
1581                                  DEBUG_IMX6UL_UART || \
1582                                  DEBUG_IMX7D_UART
1583         default "debug/msm.S" if DEBUG_QCOM_UARTDM
1584         default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1585         default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1586         default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
1587         default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
1588         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1589         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1590         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1591         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
1592         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1593         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
1594         default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
1595         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1596         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1597         default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1598         default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
1599         default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1600         default "debug/sti.S" if DEBUG_STIH41X_ASC2
1601         default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
1602         default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
1603         default "debug/stm32.S" if DEBUG_STM32_UART
1604         default "debug/tegra.S" if DEBUG_TEGRA_UART
1605         default "debug/ux500.S" if DEBUG_UX500_UART
1606         default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1607         default "debug/vf.S" if DEBUG_VF_UART
1608         default "debug/vt8500.S" if DEBUG_VT8500_UART0
1609         default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1610         default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1611         default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1612         default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
1613         default "mach/debug-macro.S"
1614 
1615 # Compatibility options for PL01x
1616 config DEBUG_UART_PL01X
1617         bool
1618 
1619 # Compatibility options for 8250
1620 config DEBUG_UART_8250
1621         def_bool ARCH_IOP32X || ARCH_IXP4XX || ARCH_RPC
1622 
1623 config DEBUG_UART_PHYS
1624         hex "Physical base address of debug UART"
1625         default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1626         default 0x01c28000 if DEBUG_SUNXI_UART0
1627         default 0x01c28400 if DEBUG_SUNXI_UART1
1628         default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1629         default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1630         default 0x01f02800 if DEBUG_SUNXI_R_UART
1631         default 0x02530c00 if DEBUG_KEYSTONE_UART0
1632         default 0x02531000 if DEBUG_KEYSTONE_UART1
1633         default 0x03010fe0 if ARCH_RPC
1634         default 0x07000000 if DEBUG_SUN9I_UART0
1635         default 0x09530000 if DEBUG_STIH418_SBC_ASC0
1636         default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1637                                 DEBUG_VEXPRESS_UART0_CA9
1638         default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1639         default 0x10124000 if DEBUG_RK3X_UART0
1640         default 0x10126000 if DEBUG_RK3X_UART1
1641         default 0x101f1000 if DEBUG_VERSATILE
1642         default 0x101fb000 if DEBUG_NOMADIK_UART
1643         default 0x10210000 if DEBUG_RV1108_UART2
1644         default 0x10220000 if DEBUG_RV1108_UART1
1645         default 0x10230000 if DEBUG_RV1108_UART0
1646         default 0x11002000 if DEBUG_MT8127_UART0
1647         default 0x11006000 if DEBUG_MT6589_UART0
1648         default 0x11009000 if DEBUG_MT8135_UART3
1649         default 0x16000000 if DEBUG_INTEGRATOR
1650         default 0x1600d000 if DEBUG_SD5203_UART
1651         default 0x18000300 if DEBUG_BCM_5301X
1652         default 0x18000400 if DEBUG_BCM_HR2
1653         default 0x18023000 if DEBUG_BCM_IPROC_UART3
1654         default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1655         default 0x1f221000 if DEBUG_MSTARV7_PMUART
1656         default 0x20001000 if DEBUG_HIP01_UART
1657         default 0x20060000 if DEBUG_RK29_UART0
1658         default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1659         default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1660         default 0x20201000 if DEBUG_BCM2835
1661         default 0x3e000000 if DEBUG_BCM_KONA_UART
1662         default 0x3f201000 if DEBUG_BCM2836
1663         default 0x40010000 if STM32MP1_DEBUG_UART
1664         default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
1665                                 STM32H7_DEBUG_UART
1666         default 0x40028000 if DEBUG_AT91_SAMV7_USART1
1667         default 0x40081000 if DEBUG_LPC18XX_UART0
1668         default 0x40090000 if DEBUG_LPC32XX
1669         default 0x40100000 if DEBUG_PXA_UART1
1670         default 0x42000000 if DEBUG_GEMINI
1671         default 0x44e09000 if DEBUG_AM33XXUART1
1672         default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1673         default 0x48022000 if DEBUG_TI81XXUART2
1674         default 0x48024000 if DEBUG_TI81XXUART3
1675         default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1676                                 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1677         default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1678                                 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1679         default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1680         default 0x49020000 if DEBUG_OMAP3UART3
1681         default 0x49042000 if DEBUG_OMAP3UART4
1682         default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1683                                 DEBUG_S3C2410_UART0)
1684         default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1685                                 DEBUG_S3C2410_UART1)
1686         default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1687                                 DEBUG_S3C2410_UART2)
1688         default 0x78000000 if DEBUG_CNS3XXX
1689         default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1690         default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1691         default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1692         default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1693         default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1694         default 0x80010000 if DEBUG_ASM9260_UART
1695         default 0x80070000 if DEBUG_IMX23_UART
1696         default 0x80074000 if DEBUG_IMX28_UART
1697         default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
1698         default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1699         default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1700         default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1701         default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1702         default 0xd0000000 if DEBUG_SPEAR3XX
1703         default 0xd0012000 if DEBUG_MVEBU_UART0
1704         default 0xc81004c0 if DEBUG_MESON_UARTAO
1705         default 0xd4017000 if DEBUG_MMP_UART2
1706         default 0xd4018000 if DEBUG_MMP_UART3
1707         default 0xe0000000 if DEBUG_SPEAR13XX
1708         default 0xe0064200 if DEBUG_AT91_LAN966_FLEXCOM
1709         default 0xe1824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1710         default 0xe4007000 if DEBUG_HIP04_UART
1711         default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1712         default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1713         default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
1714         default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1715         default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1716         default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1717         default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
1718         default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
1719         default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
1720         default 0xe8009000 if DEBUG_R7S9210_SCIF4
1721         default 0xf0000000 if DEBUG_DIGICOLOR_UA0
1722         default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1723         default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1724         default 0xf7fc9000 if DEBUG_BERLIN_UART
1725         default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
1726         default 0xf8b00000 if DEBUG_HIX5HD2_UART
1727         default 0xf991e000 if DEBUG_QCOM_UARTDM
1728         default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
1729         default 0xfcb00000 if DEBUG_HI3620_UART
1730         default 0xfd883000 if DEBUG_ALPINE_UART0
1731         default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
1732         default 0xfe800000 if ARCH_IOP32X
1733         default 0xfed32000 if DEBUG_STIH41X_ASC2
1734         default 0xff690000 if DEBUG_RK32_UART2
1735         default 0xffc02000 if DEBUG_SOCFPGA_UART0
1736         default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1737         default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1738         default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1739         default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1740         default 0xfff36000 if DEBUG_HIGHBANK_UART
1741         default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1742         default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1743         default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1744         default 0xfffe8600 if DEBUG_BCM63XX_UART
1745         default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
1746         default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1747         depends on ARCH_EP93XX || \
1748                 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1749                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1750                 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1751                 DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
1752                 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1753                 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
1754                 DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
1755                 DEBUG_RCAR_GEN2_SCIFA2 || \
1756                 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1757                 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1758                 DEBUG_S3C64XX_UART || \
1759                 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1760                 DEBUG_DIGICOLOR_UA0 || \
1761                 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1762                 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1763                 DEBUG_STIH418_SBC_ASC0
1764 
1765 config DEBUG_UART_VIRT
1766         hex "Virtual base address of debug UART"
1767         default 0xc881f000 if DEBUG_RV1108_UART2
1768         default 0xc8821000 if DEBUG_RV1108_UART1
1769         default 0xc8912000 if DEBUG_RV1108_UART0
1770         default 0xe0010fe0 if ARCH_RPC
1771         default 0xe0824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1772         default 0xf0010000 if DEBUG_ASM9260_UART
1773         default 0xf0100000 if DEBUG_DIGICOLOR_UA0
1774         default 0xf01fb000 if DEBUG_NOMADIK_UART
1775         default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1776         default 0xf0221000 if DEBUG_MSTARV7_PMUART
1777         default 0xf1000300 if DEBUG_BCM_5301X
1778         default 0xf1000400 if DEBUG_BCM_HR2
1779         default 0xf1002000 if DEBUG_MT8127_UART0
1780         default 0xf1006000 if DEBUG_MT6589_UART0
1781         default 0xf1009000 if DEBUG_MT8135_UART3
1782         default 0xf1023000 if DEBUG_BCM_IPROC_UART3
1783         default 0xf11f1000 if DEBUG_VERSATILE
1784         default 0xf1600000 if DEBUG_INTEGRATOR
1785         default 0xf1c28000 if DEBUG_SUNXI_UART0
1786         default 0xf1c28400 if DEBUG_SUNXI_UART1
1787         default 0xf1f02800 if DEBUG_SUNXI_R_UART
1788         default 0xf31004c0 if DEBUG_MESON_UARTAO
1789         default 0xf4090000 if DEBUG_LPC32XX
1790         default 0xf4200000 if DEBUG_GEMINI
1791         default 0xf6200000 if DEBUG_PXA_UART1
1792         default 0xf7000000 if DEBUG_SUN9I_UART0
1793         default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1794         default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1795                                 DEBUG_S3C2410_UART0)
1796         default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1797         default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1798         default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1799         default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1800                                 DEBUG_S3C2410_UART1)
1801         default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1802                                 DEBUG_S3C2410_UART2)
1803         default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1804         default 0xf7fc9000 if DEBUG_BERLIN_UART
1805         default 0xf8007000 if DEBUG_HIP04_UART
1806         default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1807         default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1808         default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
1809         default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
1810         default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
1811         default 0xf9e09000 if DEBUG_AM33XXUART1
1812         default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
1813         default 0xfa022000 if DEBUG_TI81XXUART2
1814         default 0xfa024000 if DEBUG_TI81XXUART3
1815         default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1816                                 DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1817         default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1818                                 DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1819         default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1820         default 0xfa71e000 if DEBUG_QCOM_UARTDM
1821         default 0xfb002000 if DEBUG_CNS3XXX
1822         default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1823         default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1824         default 0xfb020000 if DEBUG_OMAP3UART3
1825         default 0xfb042000 if DEBUG_OMAP3UART4
1826         default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1827         default 0xfcfe8600 if DEBUG_BCM63XX_UART
1828         default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1829         default 0xfd064200 if DEBUG_AT91_LAN966_FLEXCOM
1830         default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
1831         default 0xfd883000 if DEBUG_ALPINE_UART0
1832         default 0xfdd32000 if DEBUG_STIH41X_ASC2
1833         default 0xfe010000 if STM32MP1_DEBUG_UART
1834         default 0xfe017000 if DEBUG_MMP_UART2
1835         default 0xfe018000 if DEBUG_MMP_UART3
1836         default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1837         default 0xfe300000 if DEBUG_BCM_KONA_UART
1838         default 0xfe800000 if ARCH_IOP32X
1839         default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1840         default 0xfeb24000 if DEBUG_RK3X_UART0
1841         default 0xfeb26000 if DEBUG_RK3X_UART1
1842         default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1843         default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1844         default 0xfec02000 if DEBUG_SOCFPGA_UART0
1845         default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1846         default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
1847         default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1848         default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1849         default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1850         default 0xfec90000 if DEBUG_RK32_UART2
1851         default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1852         default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
1853         default 0xfed60000 if DEBUG_RK29_UART0
1854         default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1855         default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1856         default 0xfedc0000 if DEBUG_EP93XX
1857         default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
1858         default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1859         default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1860         default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1861         default 0xfef36000 if DEBUG_HIGHBANK_UART
1862         default 0xff0b0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1863         default 0xff0b0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1864         default 0xff0b9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1865         default 0xffd01000 if DEBUG_HIP01_UART
1866         default DEBUG_UART_PHYS if !MMU
1867         depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1868                 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1869                 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1870                 DEBUG_S3C64XX_UART || \
1871                 DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1872                 DEBUG_DIGICOLOR_UA0 || \
1873                 DEBUG_AT91_UART || DEBUG_STM32_UART || \
1874                 DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
1875                 DEBUG_STIH418_SBC_ASC0
1876 
1877 config DEBUG_UART_8250_SHIFT
1878         int "Register offset shift for the 8250 debug UART"
1879         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1880         default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1881                 DEBUG_BCM_HR2 || DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || \
1882                 DEBUG_OMAP7XXUART3
1883         default 3 if DEBUG_MSTARV7_PMUART
1884         default 2
1885 
1886 config DEBUG_UART_8250_WORD
1887         bool "Use 32-bit accesses for 8250 UART"
1888         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1889         depends on DEBUG_UART_8250_SHIFT >= 2
1890         default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1891                 DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1892                 DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
1893                 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1894                 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
1895                 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
1896 
1897 config DEBUG_UART_8250_PALMCHIP
1898         bool "8250 UART is Palmchip BK-310x"
1899         depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1900         help
1901           Palmchip provides a UART implementation compatible with 16550
1902           except for having a different register layout.  Say Y here if
1903           the debug UART is of this type.
1904 
1905 config DEBUG_UNCOMPRESS
1906         bool "Enable decompressor debugging via DEBUG_LL output"
1907         depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1908         depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1909                      (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
1910                      !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
1911         help
1912           This option influences the normal decompressor output for
1913           multiplatform kernels.  Normally, multiplatform kernels disable
1914           decompressor output because it is not possible to know where to
1915           send the decompressor output.
1916 
1917           When this option is set, the selected DEBUG_LL output method
1918           will be re-used for normal decompressor output on multiplatform
1919           kernels.
1920           
1921 
1922 config UNCOMPRESS_INCLUDE
1923         string
1924         default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1925                                         PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1926         default "mach/uncompress.h"
1927 
1928 config EARLY_PRINTK
1929         bool "Early printk"
1930         depends on DEBUG_LL
1931         help
1932           Say Y here if you want to have an early console using the
1933           kernel low-level debugging functions. Add earlyprintk to your
1934           kernel parameters to enable this console.
1935 
1936 config ARM_KPROBES_TEST
1937         tristate "Kprobes test module"
1938         depends on KPROBES && MODULES
1939         help
1940           Perform tests of kprobes API and instruction set simulation.
1941 
1942 config PID_IN_CONTEXTIDR
1943         bool "Write the current PID to the CONTEXTIDR register"
1944         depends on CPU_COPY_V6
1945         help
1946           Enabling this option causes the kernel to write the current PID to
1947           the PROCID field of the CONTEXTIDR register, at the expense of some
1948           additional instructions during context switch. Say Y here only if you
1949           are planning to use hardware trace tools with this kernel.
1950 
1951 source "drivers/hwtracing/coresight/Kconfig"