cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig.debug (66634B)


      1# SPDX-License-Identifier: GPL-2.0
      2
      3config ARM_PTDUMP_CORE
      4	def_bool n
      5
      6config ARM_PTDUMP_DEBUGFS
      7	bool "Export kernel pagetable layout to userspace via debugfs"
      8	depends on DEBUG_KERNEL
      9	depends on MMU
     10	select ARM_PTDUMP_CORE
     11	select DEBUG_FS
     12	help
     13	  Say Y here if you want to show the kernel pagetable layout in a
     14	  debugfs file. This information is only useful for kernel developers
     15	  who are working in architecture specific areas of the kernel.
     16	  It is probably not a good idea to enable this feature in a production
     17	  kernel.
     18	  If in doubt, say "N"
     19
     20config DEBUG_WX
     21	bool "Warn on W+X mappings at boot"
     22	depends on MMU
     23	select ARM_PTDUMP_CORE
     24	help
     25		Generate a warning if any W+X mappings are found at boot.
     26
     27		This is useful for discovering cases where the kernel is leaving
     28		W+X mappings after applying NX, as such mappings are a security risk.
     29
     30		Look for a message in dmesg output like this:
     31
     32			arm/mm: Checked W+X mappings: passed, no W+X pages found.
     33
     34		or like this, if the check failed:
     35
     36			arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
     37
     38		Note that even if the check fails, your kernel is possibly
     39		still fine, as W+X mappings are not a security hole in
     40		themselves, what they do is that they make the exploitation
     41		of other unfixed kernel bugs easier.
     42
     43		There is no runtime or memory usage effect of this option
     44		once the kernel has booted up - it's a one time check.
     45
     46		If in doubt, say "Y".
     47
     48choice
     49	prompt "Choose kernel unwinder"
     50	default UNWINDER_ARM if AEABI
     51	default UNWINDER_FRAME_POINTER if !AEABI
     52	help
     53	  This determines which method will be used for unwinding kernel stack
     54	  traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
     55	  livepatch, lockdep, and more.
     56
     57config UNWINDER_FRAME_POINTER
     58	bool "Frame pointer unwinder"
     59	depends on !THUMB2_KERNEL
     60	select ARCH_WANT_FRAME_POINTERS
     61	select FRAME_POINTER
     62	help
     63	  This option enables the frame pointer unwinder for unwinding
     64	  kernel stack traces.
     65
     66config UNWINDER_ARM
     67	bool "ARM EABI stack unwinder"
     68	depends on AEABI
     69	select ARM_UNWIND
     70	help
     71	  This option enables stack unwinding support in the kernel
     72	  using the information automatically generated by the
     73	  compiler. The resulting kernel image is slightly bigger but
     74	  the performance is not affected. Currently, this feature
     75	  only works with EABI compilers.
     76
     77endchoice
     78
     79config ARM_UNWIND
     80	bool
     81
     82config BACKTRACE_VERBOSE
     83	bool "Verbose backtrace"
     84	depends on EXPERT
     85	help
     86	  When the kernel produces a warning or oops, the kernel prints a
     87	  trace of the call chain. This option controls whether we include
     88	  the numeric addresses or only include the symbolic information.
     89
     90	  In most cases, say N here, unless you are intending to debug the
     91	  kernel and have access to the kernel binary image.
     92
     93config FRAME_POINTER
     94	bool
     95
     96config DEBUG_USER
     97	bool "Verbose user fault messages"
     98	help
     99	  When a user program crashes due to an exception, the kernel can
    100	  print a brief message explaining what the problem was. This is
    101	  sometimes helpful for debugging but serves no purpose on a
    102	  production system. Most people should say N here.
    103
    104	  In addition, you need to pass user_debug=N on the kernel command
    105	  line to enable this feature.  N consists of the sum of:
    106
    107	      1 - undefined instruction events
    108	      2 - system calls
    109	      4 - invalid data aborts
    110	      8 - SIGSEGV faults
    111	     16 - SIGBUS faults
    112
    113# These options are only for real kernel hackers who want to get their hands dirty.
    114config DEBUG_LL
    115	bool "Kernel low-level debugging functions (read help!)"
    116	depends on DEBUG_KERNEL
    117	help
    118	  Say Y here to include definitions of printascii, printch, printhex
    119	  in the kernel.  This is helpful if you are debugging code that
    120	  executes before the console is initialized.
    121
    122	  Note that selecting this option will limit the kernel to a single
    123	  UART definition, as specified below. Attempting to boot the kernel
    124	  image on a different platform *will not work*, so this option should
    125	  not be enabled for kernels that are intended to be portable.
    126
    127choice
    128	prompt "Kernel low-level debugging port"
    129	depends on DEBUG_LL
    130
    131	config DEBUG_ALPINE_UART0
    132		bool "Kernel low-level debugging messages via Alpine UART0"
    133		depends on ARCH_ALPINE
    134		select DEBUG_UART_8250
    135		help
    136		  Say Y here if you want kernel low-level debugging support
    137		  on Alpine based platforms.
    138
    139	config DEBUG_ASM9260_UART
    140		bool "Kernel low-level debugging via asm9260 UART"
    141		depends on MACH_ASM9260
    142		help
    143		  Say Y here if you want the debug print routines to direct
    144		  their output to an UART or USART port on asm9260 based
    145		  machines.
    146
    147		    DEBUG_UART_PHYS | DEBUG_UART_VIRT
    148
    149		    0x80000000      | 0xf0000000     | UART0
    150		    0x80004000      | 0xf0004000     | UART1
    151		    0x80008000      | 0xf0008000     | UART2
    152		    0x8000c000      | 0xf000c000     | UART3
    153		    0x80010000      | 0xf0010000     | UART4
    154		    0x80014000      | 0xf0014000     | UART5
    155		    0x80018000      | 0xf0018000     | UART6
    156		    0x8001c000      | 0xf001c000     | UART7
    157		    0x80020000      | 0xf0020000     | UART8
    158		    0x80024000      | 0xf0024000     | UART9
    159
    160	config DEBUG_AT91_RM9200_DBGU
    161		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
    162		select DEBUG_AT91_UART
    163		depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
    164		help
    165		  Say Y here if you want kernel low-level debugging support
    166		  on the DBGU port of:
    167		    at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
    168		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
    169
    170	config DEBUG_AT91_SAM9263_DBGU
    171		bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
    172		select DEBUG_AT91_UART
    173		depends on SOC_AT91SAM9 || SOC_SAMA5D3
    174		help
    175		  Say Y here if you want kernel low-level debugging support
    176		  on the DBGU port of:
    177		    at91sam9263, at91sam9g45, at91sam9m10,
    178		    sama5d3
    179
    180	config DEBUG_AT91_SAMA5D2_UART1
    181		bool "Kernel low-level debugging on SAMA5D2 UART1"
    182		select DEBUG_AT91_UART
    183		depends on SOC_SAMA5D2
    184		help
    185		  Say Y here if you want kernel low-level debugging support
    186		  on the UART1 port of sama5d2.
    187
    188	config DEBUG_AT91_SAMA5D4_USART3
    189		bool "Kernel low-level debugging on SAMA5D4 USART3"
    190		select DEBUG_AT91_UART
    191		depends on SOC_SAMA5D4
    192		help
    193		  Say Y here if you want kernel low-level debugging support
    194		  on the USART3 port of sama5d4.
    195
    196	config DEBUG_AT91_SAMV7_USART1
    197		bool "Kernel low-level debugging via SAMV7 USART1"
    198		select DEBUG_AT91_UART
    199		depends on SOC_SAMV7
    200		help
    201		  Say Y here if you want the debug print routines to direct
    202		  their output to the USART1 port on SAMV7 based
    203		  machines.
    204
    205	config DEBUG_AT91_SAMA7G5_FLEXCOM3
    206		bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
    207		select DEBUG_AT91_UART
    208		depends on SOC_SAMA7G5
    209		help
    210		  Say Y here if you want kernel low-level debugging support
    211		  on the FLEXCOM3 port of SAMA7G5.
    212
    213	config DEBUG_AT91_LAN966_FLEXCOM
    214		bool "Kernel low-level debugging on LAN966 FLEXCOM USART"
    215		select DEBUG_AT91_UART
    216		depends on SOC_LAN966
    217		help
    218		Say Y here if you want kernel low-level debugging support
    219		on the FLEXCOM port of LAN966.
    220
    221		DEBUG_UART_PHYS | DEBUG_UART_VIRT
    222
    223		0xe0040200      | 0xfd040200     | FLEXCOM0
    224		0xe0044200      | 0xfd044200     | FLEXCOM1
    225		0xe0060200      | 0xfd060200     | FLEXCOM2
    226		0xe0064200      | 0xfd064200     | FLEXCOM3
    227		0xe0070200      | 0xfd070200     | FLEXCOM4
    228
    229		By default, enabling FLEXCOM3 port. Based on requirement, use
    230		DEBUG_UART_PHYS and DEBUG_UART_VIRT configurations from above
    231		table.
    232
    233	config DEBUG_BCM2835
    234		bool "Kernel low-level debugging on BCM2835 PL011 UART"
    235		depends on ARCH_BCM2835 && ARCH_MULTI_V6
    236		select DEBUG_UART_PL01X
    237
    238	config DEBUG_BCM2836
    239		bool "Kernel low-level debugging on BCM2836 PL011 UART"
    240		depends on ARCH_BCM2835 && ARCH_MULTI_V7
    241		select DEBUG_UART_PL01X
    242
    243	config DEBUG_BCM_5301X
    244		bool "Kernel low-level debugging on BCM5301X/NSP UART1"
    245		depends on ARCH_BCM_5301X || ARCH_BCM_NSP
    246		select DEBUG_UART_8250
    247
    248	config DEBUG_BCM_HR2
    249		bool "Kernel low-level debugging on Hurricane 2 UART2"
    250		depends on ARCH_BCM_HR2
    251		select DEBUG_UART_8250
    252
    253	config DEBUG_BCM_IPROC_UART3
    254		bool "Kernel low-level debugging on BCM IPROC UART3"
    255		depends on ARCH_BCM_CYGNUS
    256		select DEBUG_UART_8250
    257		help
    258		  Say Y here if you want the debug print routines to direct
    259		  their output to the third serial port on these devices.
    260
    261	config DEBUG_BCM_KONA_UART
    262		bool "Kernel low-level debugging messages via BCM KONA UART"
    263		depends on ARCH_BCM_MOBILE
    264		select DEBUG_UART_8250
    265		help
    266		  Say Y here if you want kernel low-level debugging support
    267		  on Broadcom SoC platforms.
    268		  This low level debug works for Broadcom
    269		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
    270		  bcm11351, etc...)
    271
    272	config DEBUG_BCM63XX_UART
    273		bool "Kernel low-level debugging on BCM63XX UART"
    274		depends on ARCH_BCM_63XX
    275
    276	config DEBUG_BERLIN_UART
    277		bool "Marvell Berlin SoC Debug UART"
    278		depends on ARCH_BERLIN
    279		select DEBUG_UART_8250
    280		help
    281		  Say Y here if you want kernel low-level debugging support
    282		  on Marvell Berlin SoC based platforms.
    283
    284	config DEBUG_BRCMSTB_UART
    285		bool "Use BRCMSTB UART for low-level debug"
    286		depends on ARCH_BRCMSTB
    287		help
    288		  Say Y here if you want the debug print routines to direct
    289		  their output to the first serial port on these devices. The
    290		  UART physical and virtual address is automatically provided
    291		  based on the chip identification register value.
    292
    293		  If you have a Broadcom STB chip and would like early print
    294		  messages to appear over the UART, select this option.
    295
    296	config DEBUG_CLPS711X_UART1
    297		bool "Kernel low-level debugging messages via UART1"
    298		depends on ARCH_CLPS711X
    299		help
    300		  Say Y here if you want the debug print routines to direct
    301		  their output to the first serial port on these devices.
    302
    303	config DEBUG_CLPS711X_UART2
    304		bool "Kernel low-level debugging messages via UART2"
    305		depends on ARCH_CLPS711X
    306		help
    307		  Say Y here if you want the debug print routines to direct
    308		  their output to the second serial port on these devices.
    309
    310	config DEBUG_CNS3XXX
    311		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
    312		depends on ARCH_CNS3XXX
    313		select DEBUG_UART_8250
    314		help
    315		  Say Y here if you want the debug print routines to direct
    316                  their output to the CNS3xxx UART0.
    317
    318	config DEBUG_DAVINCI_DA8XX_UART1
    319		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
    320		depends on ARCH_DAVINCI_DA8XX
    321		select DEBUG_UART_8250
    322		help
    323		  Say Y here if you want the debug print routines to direct
    324		  their output to UART1 serial port on DaVinci DA8XX devices.
    325
    326	config DEBUG_DAVINCI_DA8XX_UART2
    327		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
    328		depends on ARCH_DAVINCI_DA8XX
    329		select DEBUG_UART_8250
    330		help
    331		  Say Y here if you want the debug print routines to direct
    332		  their output to UART2 serial port on DaVinci DA8XX devices.
    333
    334	config DEBUG_DAVINCI_DMx_UART0
    335		bool "Kernel low-level debugging on DaVinci DMx using UART0"
    336		depends on ARCH_DAVINCI_DMx
    337		select DEBUG_UART_8250
    338		help
    339		  Say Y here if you want the debug print routines to direct
    340		  their output to UART0 serial port on DaVinci DMx devices.
    341
    342	config DEBUG_DC21285_PORT
    343		bool "Kernel low-level debugging messages via footbridge serial port"
    344		depends on FOOTBRIDGE
    345		help
    346		  Say Y here if you want the debug print routines to direct
    347		  their output to the serial port in the DC21285 (Footbridge).
    348
    349	config DEBUG_DIGICOLOR_UA0
    350		bool "Kernel low-level debugging messages via Digicolor UA0"
    351		depends on ARCH_DIGICOLOR
    352		help
    353		  Say Y here if you want the debug print routines to direct
    354		  their output to the UA0 serial port in the CX92755.
    355
    356	config DEBUG_EP93XX
    357		bool "Kernel low-level debugging messages via ep93xx UART"
    358		depends on ARCH_EP93XX
    359		select DEBUG_UART_PL01X
    360		help
    361		  Say Y here if you want kernel low-level debugging support
    362		  on Cirrus Logic EP93xx based platforms.
    363
    364	config DEBUG_FOOTBRIDGE_COM1
    365		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
    366		depends on FOOTBRIDGE
    367		select DEBUG_UART_8250
    368		help
    369		  Say Y here if you want the debug print routines to direct
    370		  their output to the 8250 at PCI COM1.
    371
    372	config DEBUG_GEMINI
    373		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
    374		depends on ARCH_GEMINI
    375		select DEBUG_UART_8250
    376		help
    377		  Say Y here if you want kernel low-level debugging support
    378		  on Cortina Gemini based platforms.
    379
    380	config DEBUG_HI3620_UART
    381		bool "Hisilicon HI3620 Debug UART"
    382		depends on ARCH_HI3xxx
    383		select DEBUG_UART_PL01X
    384		help
    385		  Say Y here if you want kernel low-level debugging support
    386		  on HI3620 UART.
    387
    388	config DEBUG_HIGHBANK_UART
    389		bool "Kernel low-level debugging messages via Highbank UART"
    390		depends on ARCH_HIGHBANK
    391		select DEBUG_UART_PL01X
    392		help
    393		  Say Y here if you want the debug print routines to direct
    394		  their output to the UART on Highbank based devices.
    395
    396	config DEBUG_HIP01_UART
    397		bool "Hisilicon Hip01 Debug UART"
    398		depends on ARCH_HIP01
    399		select DEBUG_UART_8250
    400		help
    401		  Say Y here if you want kernel low-level debugging support
    402		  on HIP01 UART.
    403
    404	config DEBUG_HIP04_UART
    405		bool "Hisilicon HiP04 Debug UART"
    406		depends on ARCH_HIP04
    407		select DEBUG_UART_8250
    408		help
    409		  Say Y here if you want kernel low-level debugging support
    410		  on HIP04 UART.
    411
    412	config DEBUG_HIX5HD2_UART
    413		bool "Hisilicon Hix5hd2 Debug UART"
    414		depends on ARCH_HIX5HD2
    415		select DEBUG_UART_PL01X
    416		help
    417		  Say Y here if you want kernel low-level debugging support
    418		  on Hix5hd2 UART.
    419
    420	config DEBUG_IMX1_UART
    421		bool "i.MX1 Debug UART"
    422		depends on SOC_IMX1
    423		help
    424		  Say Y here if you want kernel low-level debugging support
    425		  on i.MX1.
    426
    427	config DEBUG_IMX23_UART
    428		bool "i.MX23 Debug UART"
    429		depends on SOC_IMX23
    430		select DEBUG_UART_PL01X
    431		help
    432		  Say Y here if you want kernel low-level debugging support
    433		  on i.MX23.
    434
    435	config DEBUG_IMX25_UART
    436		bool "i.MX25 Debug UART"
    437		depends on SOC_IMX25
    438		help
    439		  Say Y here if you want kernel low-level debugging support
    440		  on i.MX25.
    441
    442	config DEBUG_IMX27_UART
    443		bool "i.MX27 Debug UART"
    444		depends on SOC_IMX27
    445		help
    446		  Say Y here if you want kernel low-level debugging support
    447		  on i.MX27.
    448
    449	config DEBUG_IMX28_UART
    450		bool "i.MX28 Debug UART"
    451		depends on SOC_IMX28
    452		select DEBUG_UART_PL01X
    453		help
    454		  Say Y here if you want kernel low-level debugging support
    455		  on i.MX28.
    456
    457	config DEBUG_IMX31_UART
    458		bool "i.MX31 Debug UART"
    459		depends on SOC_IMX31
    460		help
    461		  Say Y here if you want kernel low-level debugging support
    462		  on i.MX31.
    463
    464	config DEBUG_IMX35_UART
    465		bool "i.MX35 Debug UART"
    466		depends on SOC_IMX35
    467		help
    468		  Say Y here if you want kernel low-level debugging support
    469		  on i.MX35.
    470
    471	config DEBUG_IMX50_UART
    472		bool "i.MX50 Debug UART"
    473		depends on SOC_IMX50
    474		help
    475		  Say Y here if you want kernel low-level debugging support
    476		  on i.MX50.
    477
    478	config DEBUG_IMX51_UART
    479		bool "i.MX51 Debug UART"
    480		depends on SOC_IMX51
    481		help
    482		  Say Y here if you want kernel low-level debugging support
    483		  on i.MX51.
    484
    485	config DEBUG_IMX53_UART
    486		bool "i.MX53 Debug UART"
    487		depends on SOC_IMX53
    488		help
    489		  Say Y here if you want kernel low-level debugging support
    490		  on i.MX53.
    491
    492	config DEBUG_IMX6Q_UART
    493		bool "i.MX6Q/DL Debug UART"
    494		depends on SOC_IMX6Q
    495		help
    496		  Say Y here if you want kernel low-level debugging support
    497		  on i.MX6Q/DL.
    498
    499	config DEBUG_IMX6SL_UART
    500		bool "i.MX6SL Debug UART"
    501		depends on SOC_IMX6SL
    502		help
    503		  Say Y here if you want kernel low-level debugging support
    504		  on i.MX6SL.
    505
    506	config DEBUG_IMX6SX_UART
    507		bool "i.MX6SX Debug UART"
    508		depends on SOC_IMX6SX
    509		help
    510		  Say Y here if you want kernel low-level debugging support
    511		  on i.MX6SX.
    512
    513	config DEBUG_IMX6UL_UART
    514		bool "i.MX6UL Debug UART"
    515		depends on SOC_IMX6UL
    516		help
    517		  Say Y here if you want kernel low-level debugging support
    518		  on i.MX6UL.
    519
    520	config DEBUG_IMX7D_UART
    521		bool "i.MX7D Debug UART"
    522		depends on SOC_IMX7D
    523		help
    524		  Say Y here if you want kernel low-level debugging support
    525		  on i.MX7D.
    526
    527	config DEBUG_INTEGRATOR
    528		bool "Kernel low-level debugging messages via ARM Integrator UART"
    529		depends on ARCH_INTEGRATOR
    530		select DEBUG_UART_PL01X
    531		help
    532		  Say Y here if you want kernel low-level debugging support
    533		  on ARM Integrator platforms.
    534
    535	config DEBUG_KEYSTONE_UART0
    536		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
    537		depends on ARCH_KEYSTONE
    538		select DEBUG_UART_8250
    539		help
    540		  Say Y here if you want the debug print routines to direct
    541		  their output to UART0 serial port on KEYSTONE2 devices.
    542
    543	config DEBUG_KEYSTONE_UART1
    544		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
    545		depends on ARCH_KEYSTONE
    546		select DEBUG_UART_8250
    547		help
    548		  Say Y here if you want the debug print routines to direct
    549		  their output to UART1 serial port on KEYSTONE2 devices.
    550
    551	config DEBUG_LPC18XX_UART0
    552		bool "Kernel low-level debugging via LPC18xx/43xx UART0"
    553		depends on ARCH_LPC18XX
    554		select DEBUG_UART_8250
    555		help
    556		  Say Y here if you want kernel low-level debugging support
    557		  on NXP LPC18xx/43xx UART0.
    558
    559	config DEBUG_LPC32XX
    560		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
    561		depends on ARCH_LPC32XX
    562		select DEBUG_UART_8250
    563		help
    564		  Say Y here if you want kernel low-level debugging support
    565		  on NXP LPC32xx based platforms.
    566
    567	config DEBUG_MESON_UARTAO
    568		bool "Kernel low-level debugging via Meson6 UARTAO"
    569		depends on ARCH_MESON
    570		help
    571		  Say Y here if you want kernel low-lever debugging support
    572		  on Amlogic Meson6 based platforms on the UARTAO.
    573
    574	config DEBUG_MMP_UART2
    575		bool "Kernel low-level debugging message via MMP UART2"
    576		depends on ARCH_MMP
    577		select DEBUG_UART_8250
    578		help
    579		  Say Y here if you want kernel low-level debugging support
    580		  on MMP UART2.
    581
    582	config DEBUG_MMP_UART3
    583		bool "Kernel low-level debugging message via MMP UART3"
    584		depends on ARCH_MMP
    585		select DEBUG_UART_8250
    586		help
    587		  Say Y here if you want kernel low-level debugging support
    588		  on MMP UART3.
    589
    590	config DEBUG_MVEBU_UART0
    591		bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
    592		depends on ARCH_MVEBU
    593		depends on ARCH_MVEBU && CPU_V7
    594		select DEBUG_UART_8250
    595		help
    596		  Say Y here if you want kernel low-level debugging support
    597		  on MVEBU based platforms on UART0.
    598
    599		  This option should be used with the old bootloaders
    600		  that left the internal registers mapped at
    601		  0xd0000000. As of today, this is the case on
    602		  platforms such as the Globalscale Mirabox or the
    603		  Plathome OpenBlocks AX3, when using the original
    604		  bootloader.
    605
    606		  This option will not work on older Marvell platforms
    607		  (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
    608		  the "new bootloader" variant.
    609
    610		  If the wrong DEBUG_MVEBU_UART* option is selected,
    611		  when u-boot hands over to the kernel, the system
    612		  silently crashes, with no serial output at all.
    613
    614	config DEBUG_MVEBU_UART0_ALTERNATE
    615		bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
    616		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
    617		select DEBUG_UART_8250
    618		help
    619		  Say Y here if you want kernel low-level debugging support
    620		  on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
    621		  Kirkwood, Dove, MV78xx0, Orion5x).
    622
    623
    624		  This option should be used with the new bootloaders
    625		  that remap the internal registers at 0xf1000000.
    626
    627		  If the wrong DEBUG_MVEBU_UART* option is selected,
    628		  when u-boot hands over to the kernel, the system
    629		  silently crashes, with no serial output at all.
    630
    631	config DEBUG_MVEBU_UART1_ALTERNATE
    632		bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
    633		depends on ARCH_MVEBU
    634		select DEBUG_UART_8250
    635		help
    636		  Say Y here if you want kernel low-level debugging support
    637		  on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
    638		  Kirkwood, Dove, MV78xx0, Orion5x).
    639
    640		  This option should be used with the new bootloaders
    641		  that remap the internal registers at 0xf1000000.
    642		  All of the older (pre Armada XP/370) platforms also use
    643		  this address, regardless of the boot loader version.
    644
    645		  If the wrong DEBUG_MVEBU_UART* option is selected,
    646		  when u-boot hands over to the kernel, the system
    647		  silently crashes, with no serial output at all.
    648
    649	config DEBUG_MSTARV7_PMUART
    650		bool "Kernel low-level debugging messages via MSTARV7 PM UART"
    651		depends on ARCH_MSTARV7
    652		select DEBUG_UART_8250
    653		help
    654		  Say Y here if you want kernel low-level debugging support
    655		  for MSTAR ARMv7-based platforms on PM UART.
    656
    657	config DEBUG_MT6589_UART0
    658		bool "Mediatek mt6589 UART0"
    659		depends on ARCH_MEDIATEK
    660		select DEBUG_UART_8250
    661		help
    662		  Say Y here if you want kernel low-level debugging support
    663		  for Mediatek mt6589 based platforms on UART0.
    664
    665	config DEBUG_MT8127_UART0
    666		bool "Mediatek mt8127/mt6592 UART0"
    667		depends on ARCH_MEDIATEK
    668		select DEBUG_UART_8250
    669		help
    670		  Say Y here if you want kernel low-level debugging support
    671		  for Mediatek mt8127 based platforms on UART0.
    672
    673	config DEBUG_MT8135_UART3
    674		bool "Mediatek mt8135 UART3"
    675		depends on ARCH_MEDIATEK
    676		select DEBUG_UART_8250
    677		help
    678		  Say Y here if you want kernel low-level debugging support
    679		  for Mediatek mt8135 based platforms on UART3.
    680
    681	config DEBUG_NOMADIK_UART
    682		bool "Kernel low-level debugging messages via NOMADIK UART"
    683		depends on ARCH_NOMADIK
    684		select DEBUG_UART_PL01X
    685		help
    686		  Say Y here if you want kernel low-level debugging support
    687		  on NOMADIK based platforms.
    688
    689	config DEBUG_NSPIRE_CLASSIC_UART
    690		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
    691		depends on ARCH_NSPIRE
    692		select DEBUG_UART_8250
    693		help
    694		  Say Y here if you want kernel low-level debugging support
    695		  on TI-NSPIRE classic models.
    696
    697	config DEBUG_NSPIRE_CX_UART
    698		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
    699		depends on ARCH_NSPIRE
    700		select DEBUG_UART_PL01X
    701		help
    702		  Say Y here if you want kernel low-level debugging support
    703		  on TI-NSPIRE CX models.
    704
    705	config DEBUG_OMAP1UART1
    706		bool "Kernel low-level debugging via OMAP1 UART1"
    707		depends on ARCH_OMAP1
    708		select DEBUG_UART_8250
    709		help
    710		  Say Y here if you want kernel low-level debugging support
    711		  on OMAP1 based platforms (except OMAP730) on the UART1.
    712
    713	config DEBUG_OMAP1UART2
    714		bool "Kernel low-level debugging via OMAP1 UART2"
    715		depends on ARCH_OMAP1
    716		select DEBUG_UART_8250
    717		help
    718		  Say Y here if you want kernel low-level debugging support
    719		  on OMAP1 based platforms (except OMAP730) on the UART2.
    720
    721	config DEBUG_OMAP1UART3
    722		bool "Kernel low-level debugging via OMAP1 UART3"
    723		depends on ARCH_OMAP1
    724		select DEBUG_UART_8250
    725		help
    726		  Say Y here if you want kernel low-level debugging support
    727		  on OMAP1 based platforms (except OMAP730) on the UART3.
    728
    729	config DEBUG_OMAP2UART1
    730		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
    731		depends on ARCH_OMAP2PLUS
    732		select DEBUG_UART_8250
    733		help
    734		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
    735		  omap3 torpedo and 3530 lv som.
    736
    737	config DEBUG_OMAP2UART2
    738		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
    739		depends on ARCH_OMAP2PLUS
    740		select DEBUG_UART_8250
    741
    742	config DEBUG_OMAP2UART3
    743		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
    744		depends on ARCH_OMAP2PLUS
    745		select DEBUG_UART_8250
    746
    747	config DEBUG_OMAP3UART3
    748		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
    749		depends on ARCH_OMAP2PLUS
    750		select DEBUG_UART_8250
    751		help
    752		  This covers at least cm_t3x, beagle, crane, devkit8000,
    753		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
    754		  and 3517evm.
    755
    756	config DEBUG_OMAP4UART3
    757		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
    758		depends on ARCH_OMAP2PLUS
    759		select DEBUG_UART_8250
    760
    761	config DEBUG_OMAP3UART4
    762		bool "Kernel low-level debugging messages via OMAP36XX UART4"
    763		depends on ARCH_OMAP2PLUS
    764		select DEBUG_UART_8250
    765
    766	config DEBUG_OMAP4UART4
    767		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
    768		depends on ARCH_OMAP2PLUS
    769		select DEBUG_UART_8250
    770
    771	config DEBUG_OMAP7XXUART1
    772		bool "Kernel low-level debugging via OMAP730 UART1"
    773		depends on ARCH_OMAP730
    774		select DEBUG_UART_8250
    775		help
    776		  Say Y here if you want kernel low-level debugging support
    777		  on OMAP730 based platforms on the UART1.
    778
    779	config DEBUG_OMAP7XXUART2
    780		bool "Kernel low-level debugging via OMAP730 UART2"
    781		depends on ARCH_OMAP730
    782		select DEBUG_UART_8250
    783		help
    784		  Say Y here if you want kernel low-level debugging support
    785		  on OMAP730 based platforms on the UART2.
    786
    787	config DEBUG_OMAP7XXUART3
    788		bool "Kernel low-level debugging via OMAP730 UART3"
    789		depends on ARCH_OMAP730
    790		select DEBUG_UART_8250
    791		help
    792		  Say Y here if you want kernel low-level debugging support
    793		  on OMAP730 based platforms on the UART3.
    794
    795	config DEBUG_TI81XXUART1
    796		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
    797		depends on ARCH_OMAP2PLUS
    798		select DEBUG_UART_8250
    799
    800	config DEBUG_TI81XXUART2
    801		bool "Kernel low-level debugging messages via TI81XX UART2"
    802		depends on ARCH_OMAP2PLUS
    803		select DEBUG_UART_8250
    804
    805	config DEBUG_TI81XXUART3
    806		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
    807		depends on ARCH_OMAP2PLUS
    808		select DEBUG_UART_8250
    809
    810	config DEBUG_AM33XXUART1
    811		bool "Kernel low-level debugging messages via AM33XX UART1"
    812		depends on ARCH_OMAP2PLUS
    813		select DEBUG_UART_8250
    814
    815	config DEBUG_ZOOM_UART
    816		bool "Kernel low-level debugging messages via Zoom2/3 UART"
    817		depends on ARCH_OMAP2PLUS
    818		select DEBUG_OMAP2PLUS_UART
    819
    820	config DEBUG_PXA_UART1
    821		depends on ARCH_PXA
    822		bool "Use PXA UART1 for low-level debug"
    823		select DEBUG_UART_8250
    824		help
    825		  Say Y here if you want kernel low-level debugging support
    826		  on PXA UART1.
    827
    828	config DEBUG_QCOM_UARTDM
    829		bool "Kernel low-level debugging messages via QCOM UARTDM"
    830		depends on ARCH_QCOM
    831		help
    832		  Say Y here if you want the debug print routines to direct
    833		  their output to the serial port on Qualcomm devices.
    834
    835		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
    836		  APQ8064   0x16640000        0xf0040000
    837		  APQ8084   0xf995e000        0xfa75e000
    838		  IPQ4019   0x078af000        0xf78af000
    839		  MSM8X60   0x19c40000        0xf0040000
    840		  MSM8960   0x16440000        0xf0040000
    841		  MSM8974   0xf991e000        0xfa71e000
    842
    843		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
    844		  options based on your needs.
    845
    846	config DEBUG_REALVIEW_STD_PORT
    847		bool "RealView Default UART"
    848		depends on ARCH_REALVIEW
    849		select DEBUG_UART_PL01X
    850		help
    851		  Say Y here if you want the debug print routines to direct
    852		  their output to the serial port on RealView EB, PB11MP, PBA8
    853		  and PBX platforms.
    854
    855	config DEBUG_REALVIEW_PB1176_PORT
    856		bool "RealView PB1176 UART"
    857		depends on MACH_REALVIEW_PB1176
    858		select DEBUG_UART_PL01X
    859		help
    860		  Say Y here if you want the debug print routines to direct
    861		  their output to the standard serial port on the RealView
    862		  PB1176 platform.
    863
    864	config DEBUG_RV1108_UART0
    865		bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
    866		depends on ARCH_ROCKCHIP
    867		select DEBUG_UART_8250
    868		help
    869		  Say Y here if you want kernel low-level debugging support
    870                  on Rockchip RV1108 based platforms.
    871
    872	config DEBUG_RV1108_UART1
    873		bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
    874		depends on ARCH_ROCKCHIP
    875		select DEBUG_UART_8250
    876		help
    877		  Say Y here if you want kernel low-level debugging support
    878		  on Rockchip RV1108 based platforms.
    879
    880	config DEBUG_RV1108_UART2
    881		bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
    882		depends on ARCH_ROCKCHIP
    883		select DEBUG_UART_8250
    884		help
    885		  Say Y here if you want kernel low-level debugging support
    886		  on Rockchip RV1108 based platforms.
    887
    888	config DEBUG_RK29_UART0
    889		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
    890		depends on ARCH_ROCKCHIP
    891		select DEBUG_UART_8250
    892		help
    893		  Say Y here if you want kernel low-level debugging support
    894		  on Rockchip based platforms.
    895
    896	config DEBUG_RK29_UART1
    897		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
    898		depends on ARCH_ROCKCHIP
    899		select DEBUG_UART_8250
    900		help
    901		  Say Y here if you want kernel low-level debugging support
    902		  on Rockchip based platforms.
    903
    904	config DEBUG_RK29_UART2
    905		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
    906		depends on ARCH_ROCKCHIP
    907		select DEBUG_UART_8250
    908		help
    909		  Say Y here if you want kernel low-level debugging support
    910		  on Rockchip based platforms.
    911
    912	config DEBUG_RK3X_UART0
    913		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
    914		depends on ARCH_ROCKCHIP
    915		select DEBUG_UART_8250
    916		help
    917		  Say Y here if you want kernel low-level debugging support
    918		  on Rockchip based platforms.
    919
    920	config DEBUG_RK3X_UART1
    921		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
    922		depends on ARCH_ROCKCHIP
    923		select DEBUG_UART_8250
    924		help
    925		  Say Y here if you want kernel low-level debugging support
    926		  on Rockchip based platforms.
    927
    928	config DEBUG_RK3X_UART2
    929		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
    930		depends on ARCH_ROCKCHIP
    931		select DEBUG_UART_8250
    932		help
    933		  Say Y here if you want kernel low-level debugging support
    934		  on Rockchip based platforms.
    935
    936	config DEBUG_RK3X_UART3
    937		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
    938		depends on ARCH_ROCKCHIP
    939		select DEBUG_UART_8250
    940		help
    941		  Say Y here if you want kernel low-level debugging support
    942		  on Rockchip based platforms.
    943
    944	config DEBUG_RK32_UART2
    945		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
    946		depends on ARCH_ROCKCHIP
    947		select DEBUG_UART_8250
    948		help
    949		  Say Y here if you want kernel low-level debugging support
    950		  on Rockchip RK32xx based platforms.
    951
    952	config DEBUG_R7S72100_SCIF2
    953		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
    954		depends on ARCH_R7S72100
    955		help
    956		  Say Y here if you want kernel low-level debugging support
    957		  via SCIF2 on Renesas RZ/A1H (R7S72100).
    958
    959	config DEBUG_R7S9210_SCIF2
    960		bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
    961		depends on ARCH_R7S9210
    962		help
    963		  Say Y here if you want kernel low-level debugging support
    964		  via SCIF2 on Renesas RZ/A2M (R7S9210).
    965
    966	config DEBUG_R7S9210_SCIF4
    967		bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
    968		depends on ARCH_R7S9210
    969		help
    970		  Say Y here if you want kernel low-level debugging support
    971		  via SCIF4 on Renesas RZ/A2M (R7S9210).
    972
    973	config DEBUG_RCAR_GEN1_SCIF0
    974		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
    975		depends on ARCH_R8A7778
    976		help
    977		  Say Y here if you want kernel low-level debugging support
    978		  via SCIF0 on Renesas R-Car M1A (R8A7778).
    979
    980	config DEBUG_RCAR_GEN1_SCIF2
    981		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
    982		depends on ARCH_R8A7779
    983		help
    984		  Say Y here if you want kernel low-level debugging support
    985		  via SCIF2 on Renesas R-Car H1 (R8A7779).
    986
    987	config DEBUG_RCAR_GEN2_SCIF0
    988		bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
    989		depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
    990			ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
    991		help
    992		  Say Y here if you want kernel low-level debugging support
    993		  via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
    994		  R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
    995		  M2-N (R8A7793).
    996
    997	config DEBUG_RCAR_GEN2_SCIF1
    998		bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
    999		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
   1473endchoice
   1474
   1475config DEBUG_AT91_UART
   1476	bool
   1477	depends on ARCH_AT91
   1478
   1479config DEBUG_EXYNOS_UART
   1480	bool
   1481
   1482config DEBUG_S3C2410_UART
   1483	bool
   1484	select DEBUG_S3C24XX_UART
   1485
   1486config DEBUG_S3C24XX_UART
   1487	bool
   1488
   1489config DEBUG_S3C64XX_UART
   1490	bool
   1491
   1492config DEBUG_S5PV210_UART
   1493	bool
   1494
   1495config 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
   1505config DEBUG_OMAP2PLUS_UART
   1506	bool
   1507	depends on ARCH_OMAP2PLUS
   1508
   1509config 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
   1529config 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
   1538config DEBUG_TEGRA_UART
   1539	bool
   1540	depends on ARCH_TEGRA
   1541
   1542config DEBUG_STM32_UART
   1543	bool
   1544	depends on ARCH_STM32
   1545
   1546config 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
   1557config 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
   1616config DEBUG_UART_PL01X
   1617	bool
   1618
   1619# Compatibility options for 8250
   1620config DEBUG_UART_8250
   1621	def_bool ARCH_IOP32X || ARCH_IXP4XX || ARCH_RPC
   1622
   1623config 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
   1765config 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
   1877config 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
   1886config 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
   1897config 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
   1905config 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
   1922config 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
   1928config 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
   1936config 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
   1942config 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
   1951source "drivers/hwtracing/coresight/Kconfig"