xref: /linux/arch/arm/Kconfig.debug (revision 61b7f8920b176e3cb86c3b5e7c866261720a7917)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds
34fb69cc4SJinbum Parkconfig ARM_PTDUMP_CORE
44fb69cc4SJinbum Park	def_bool n
54fb69cc4SJinbum Park
64fb69cc4SJinbum Parkconfig ARM_PTDUMP_DEBUGFS
71fd15b87SRussell King	bool "Export kernel pagetable layout to userspace via debugfs"
81fd15b87SRussell King	depends on DEBUG_KERNEL
965ba508dSArnd Bergmann	depends on MMU
104fb69cc4SJinbum Park	select ARM_PTDUMP_CORE
111fd15b87SRussell King	select DEBUG_FS
12a7f7f624SMasahiro Yamada	help
131fd15b87SRussell King	  Say Y here if you want to show the kernel pagetable layout in a
141fd15b87SRussell King	  debugfs file. This information is only useful for kernel developers
151fd15b87SRussell King	  who are working in architecture specific areas of the kernel.
161fd15b87SRussell King	  It is probably not a good idea to enable this feature in a production
171fd15b87SRussell King	  kernel.
181fd15b87SRussell King	  If in doubt, say "N"
191fd15b87SRussell King
20a8e53c15SJinbum Parkconfig DEBUG_WX
21a8e53c15SJinbum Park	bool "Warn on W+X mappings at boot"
22ad43fc9aSArnd Bergmann	depends on MMU
23a8e53c15SJinbum Park	select ARM_PTDUMP_CORE
24a7f7f624SMasahiro Yamada	help
25a8e53c15SJinbum Park		Generate a warning if any W+X mappings are found at boot.
26a8e53c15SJinbum Park
27a8e53c15SJinbum Park		This is useful for discovering cases where the kernel is leaving
28a8e53c15SJinbum Park		W+X mappings after applying NX, as such mappings are a security risk.
29a8e53c15SJinbum Park
30a8e53c15SJinbum Park		Look for a message in dmesg output like this:
31a8e53c15SJinbum Park
32a8e53c15SJinbum Park			arm/mm: Checked W+X mappings: passed, no W+X pages found.
33a8e53c15SJinbum Park
34a8e53c15SJinbum Park		or like this, if the check failed:
35a8e53c15SJinbum Park
36a8e53c15SJinbum Park			arm/mm: Checked W+X mappings: FAILED, <N> W+X pages found.
37a8e53c15SJinbum Park
38a8e53c15SJinbum Park		Note that even if the check fails, your kernel is possibly
39a8e53c15SJinbum Park		still fine, as W+X mappings are not a security hole in
40a8e53c15SJinbum Park		themselves, what they do is that they make the exploitation
41a8e53c15SJinbum Park		of other unfixed kernel bugs easier.
42a8e53c15SJinbum Park
43a8e53c15SJinbum Park		There is no runtime or memory usage effect of this option
44a8e53c15SJinbum Park		once the kernel has booted up - it's a one time check.
45a8e53c15SJinbum Park
46a8e53c15SJinbum Park		If in doubt, say "Y".
47a8e53c15SJinbum Park
48f9b58e8cSStefan Agnerchoice
49f9b58e8cSStefan Agner	prompt "Choose kernel unwinder"
5050362162SRussell King	default UNWINDER_ARM if AEABI
5150362162SRussell King	default UNWINDER_FRAME_POINTER if !AEABI
521da177e4SLinus Torvalds	help
53f9b58e8cSStefan Agner	  This determines which method will be used for unwinding kernel stack
54f9b58e8cSStefan Agner	  traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
55f9b58e8cSStefan Agner	  livepatch, lockdep, and more.
56adf8b37bSCatalin Marinas
57f9b58e8cSStefan Agnerconfig UNWINDER_FRAME_POINTER
58f9b58e8cSStefan Agner	bool "Frame pointer unwinder"
596dc5fd93SNathan Huckleberry	depends on !THUMB2_KERNEL
60f9b58e8cSStefan Agner	select ARCH_WANT_FRAME_POINTERS
61f9b58e8cSStefan Agner	select FRAME_POINTER
62f9b58e8cSStefan Agner	help
63f9b58e8cSStefan Agner	  This option enables the frame pointer unwinder for unwinding
64f9b58e8cSStefan Agner	  kernel stack traces.
65f9b58e8cSStefan Agner
66f9b58e8cSStefan Agnerconfig UNWINDER_ARM
67f9b58e8cSStefan Agner	bool "ARM EABI stack unwinder"
6841918ec8SArd Biesheuvel	depends on AEABI
69f9b58e8cSStefan Agner	select ARM_UNWIND
70adf8b37bSCatalin Marinas	help
71adf8b37bSCatalin Marinas	  This option enables stack unwinding support in the kernel
72adf8b37bSCatalin Marinas	  using the information automatically generated by the
73adf8b37bSCatalin Marinas	  compiler. The resulting kernel image is slightly bigger but
74adf8b37bSCatalin Marinas	  the performance is not affected. Currently, this feature
75f9b58e8cSStefan Agner	  only works with EABI compilers.
76f9b58e8cSStefan Agner
77f9b58e8cSStefan Agnerendchoice
78f9b58e8cSStefan Agner
79f9b58e8cSStefan Agnerconfig ARM_UNWIND
80f9b58e8cSStefan Agner	bool
81f9b58e8cSStefan Agner
82b0343ab3SRussell Kingconfig BACKTRACE_VERBOSE
83b0343ab3SRussell King	bool "Verbose backtrace"
84b0343ab3SRussell King	depends on EXPERT
85b0343ab3SRussell King	help
86b0343ab3SRussell King	  When the kernel produces a warning or oops, the kernel prints a
87b0343ab3SRussell King	  trace of the call chain. This option controls whether we include
88b0343ab3SRussell King	  the numeric addresses or only include the symbolic information.
89b0343ab3SRussell King
90b0343ab3SRussell King	  In most cases, say N here, unless you are intending to debug the
91b0343ab3SRussell King	  kernel and have access to the kernel binary image.
92b0343ab3SRussell King
93f9b58e8cSStefan Agnerconfig FRAME_POINTER
94f9b58e8cSStefan Agner	bool
951da177e4SLinus Torvalds
961da177e4SLinus Torvaldsconfig DEBUG_USER
971da177e4SLinus Torvalds	bool "Verbose user fault messages"
981da177e4SLinus Torvalds	help
991da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
1001da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
1011da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
1021da177e4SLinus Torvalds	  production system. Most people should say N here.
1031da177e4SLinus Torvalds
1041da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
1051da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
1061da177e4SLinus Torvalds
1071da177e4SLinus Torvalds	      1 - undefined instruction events
1081da177e4SLinus Torvalds	      2 - system calls
1091da177e4SLinus Torvalds	      4 - invalid data aborts
1101da177e4SLinus Torvalds	      8 - SIGSEGV faults
1111da177e4SLinus Torvalds	     16 - SIGBUS faults
1121da177e4SLinus Torvalds
1131da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
1141da177e4SLinus Torvaldsconfig DEBUG_LL
1154f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
1161da177e4SLinus Torvalds	depends on DEBUG_KERNEL
1171da177e4SLinus Torvalds	help
11835efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
1191da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
1201da177e4SLinus Torvalds	  executes before the console is initialized.
1211da177e4SLinus Torvalds
1224f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
1234f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
1244f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
1254f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
1264f5ef922SWill Deacon
12717916b28SWill Deaconchoice
12817916b28SWill Deacon	prompt "Kernel low-level debugging port"
12917916b28SWill Deacon	depends on DEBUG_LL
13017916b28SWill Deacon
1313c215e64STsahee Zidenberg	config DEBUG_ALPINE_UART0
1323c215e64STsahee Zidenberg		bool "Kernel low-level debugging messages via Alpine UART0"
1333c215e64STsahee Zidenberg		depends on ARCH_ALPINE
1343c215e64STsahee Zidenberg		select DEBUG_UART_8250
1353c215e64STsahee Zidenberg		help
1363c215e64STsahee Zidenberg		  Say Y here if you want kernel low-level debugging support
1373c215e64STsahee Zidenberg		  on Alpine based platforms.
1383c215e64STsahee Zidenberg
139d5bd4e8dSOleksij Rempel	config DEBUG_ASM9260_UART
140d5bd4e8dSOleksij Rempel		bool "Kernel low-level debugging via asm9260 UART"
141d5bd4e8dSOleksij Rempel		depends on MACH_ASM9260
142d5bd4e8dSOleksij Rempel		help
143d5bd4e8dSOleksij Rempel		  Say Y here if you want the debug print routines to direct
144d5bd4e8dSOleksij Rempel		  their output to an UART or USART port on asm9260 based
145d5bd4e8dSOleksij Rempel		  machines.
146d5bd4e8dSOleksij Rempel
147d5bd4e8dSOleksij Rempel		    DEBUG_UART_PHYS | DEBUG_UART_VIRT
148d5bd4e8dSOleksij Rempel
149d5bd4e8dSOleksij Rempel		    0x80000000      | 0xf0000000     | UART0
150d5bd4e8dSOleksij Rempel		    0x80004000      | 0xf0004000     | UART1
151d5bd4e8dSOleksij Rempel		    0x80008000      | 0xf0008000     | UART2
152d5bd4e8dSOleksij Rempel		    0x8000c000      | 0xf000c000     | UART3
153d5bd4e8dSOleksij Rempel		    0x80010000      | 0xf0010000     | UART4
154d5bd4e8dSOleksij Rempel		    0x80014000      | 0xf0014000     | UART5
155d5bd4e8dSOleksij Rempel		    0x80018000      | 0xf0018000     | UART6
156d5bd4e8dSOleksij Rempel		    0x8001c000      | 0xf001c000     | UART7
157d5bd4e8dSOleksij Rempel		    0x80020000      | 0xf0020000     | UART8
158d5bd4e8dSOleksij Rempel		    0x80024000      | 0xf0024000     | UART9
159d5bd4e8dSOleksij Rempel
1608b2f2d03SAlexandre Belloni	config DEBUG_AT91_RM9200_DBGU
16180f58695SClaudiu Beznea		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
1628b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
16380f58695SClaudiu Beznea		depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
1646f112a08SAlexandre Belloni		help
1658b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1668b2f2d03SAlexandre Belloni		  on the DBGU port of:
1678b2f2d03SAlexandre Belloni		    at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
16880f58695SClaudiu Beznea		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
16913079a73SJean-Christophe PLAGNIOL-VILLARD
1708b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAM9263_DBGU
1718b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
1728b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1738b2f2d03SAlexandre Belloni		depends on SOC_AT91SAM9 || SOC_SAMA5D3
1748b2f2d03SAlexandre Belloni		help
1758b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1768b2f2d03SAlexandre Belloni		  on the DBGU port of:
1778b2f2d03SAlexandre Belloni		    at91sam9263, at91sam9g45, at91sam9m10,
1788b2f2d03SAlexandre Belloni		    sama5d3
17913079a73SJean-Christophe PLAGNIOL-VILLARD
1808b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAMA5D2_UART1
1818b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on SAMA5D2 UART1"
1828b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1838b2f2d03SAlexandre Belloni		depends on SOC_SAMA5D2
1848b2f2d03SAlexandre Belloni		help
1858b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1868b2f2d03SAlexandre Belloni		  on the UART1 port of sama5d2.
1878b2f2d03SAlexandre Belloni
1888b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAMA5D4_USART3
1898b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on SAMA5D4 USART3"
1908b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1918b2f2d03SAlexandre Belloni		depends on SOC_SAMA5D4
1928b2f2d03SAlexandre Belloni		help
1938b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1948b2f2d03SAlexandre Belloni		  on the USART3 port of sama5d4.
195c268a743SNicolas Ferre
19663e07c0fSSzemző András	config DEBUG_AT91_SAMV7_USART1
19763e07c0fSSzemző András		bool "Kernel low-level debugging via SAMV7 USART1"
19863e07c0fSSzemző András		select DEBUG_AT91_UART
19963e07c0fSSzemző András		depends on SOC_SAMV7
20063e07c0fSSzemző András		help
20163e07c0fSSzemző András		  Say Y here if you want the debug print routines to direct
20263e07c0fSSzemző András		  their output to the USART1 port on SAMV7 based
20363e07c0fSSzemző András		  machines.
20463e07c0fSSzemző András
205577cb67aSEugen Hristev	config DEBUG_AT91_SAMA7G5_FLEXCOM3
206577cb67aSEugen Hristev		bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
207577cb67aSEugen Hristev		select DEBUG_AT91_UART
208577cb67aSEugen Hristev		depends on SOC_SAMA7G5
209577cb67aSEugen Hristev		help
210577cb67aSEugen Hristev		  Say Y here if you want kernel low-level debugging support
211577cb67aSEugen Hristev		  on the FLEXCOM3 port of SAMA7G5.
212577cb67aSEugen Hristev
2136041558eSKavyasree Kotagiri	config DEBUG_AT91_LAN966_FLEXCOM
2146041558eSKavyasree Kotagiri		bool "Kernel low-level debugging on LAN966 FLEXCOM USART"
2156041558eSKavyasree Kotagiri		select DEBUG_AT91_UART
2166041558eSKavyasree Kotagiri		depends on SOC_LAN966
2176041558eSKavyasree Kotagiri		help
2186041558eSKavyasree Kotagiri		Say Y here if you want kernel low-level debugging support
2196041558eSKavyasree Kotagiri		on the FLEXCOM port of LAN966.
2206041558eSKavyasree Kotagiri
2216041558eSKavyasree Kotagiri		DEBUG_UART_PHYS | DEBUG_UART_VIRT
2226041558eSKavyasree Kotagiri
2236041558eSKavyasree Kotagiri		0xe0040200      | 0xfd040200     | FLEXCOM0
2246041558eSKavyasree Kotagiri		0xe0044200      | 0xfd044200     | FLEXCOM1
2256041558eSKavyasree Kotagiri		0xe0060200      | 0xfd060200     | FLEXCOM2
2266041558eSKavyasree Kotagiri		0xe0064200      | 0xfd064200     | FLEXCOM3
2276041558eSKavyasree Kotagiri		0xe0070200      | 0xfd070200     | FLEXCOM4
2286041558eSKavyasree Kotagiri
2296041558eSKavyasree Kotagiri		By default, enabling FLEXCOM3 port. Based on requirement, use
2306041558eSKavyasree Kotagiri		DEBUG_UART_PHYS and DEBUG_UART_VIRT configurations from above
2316041558eSKavyasree Kotagiri		table.
2326041558eSKavyasree Kotagiri
233f1ac922dSStephen Warren	config DEBUG_BCM2835
234f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
2355234c34eSEric Anholt		depends on ARCH_BCM2835 && ARCH_MULTI_V6
2365234c34eSEric Anholt		select DEBUG_UART_PL01X
2375234c34eSEric Anholt
2385234c34eSEric Anholt	config DEBUG_BCM2836
2395234c34eSEric Anholt		bool "Kernel low-level debugging on BCM2836 PL011 UART"
2405234c34eSEric Anholt		depends on ARCH_BCM2835 && ARCH_MULTI_V7
2415c972af4SRussell King		select DEBUG_UART_PL01X
242f1ac922dSStephen Warren
24306580275SHauke Mehrtens	config DEBUG_BCM_5301X
2442dc9e0b9SFlorian Fainelli		bool "Kernel low-level debugging on BCM5301X/NSP UART1"
2452dc9e0b9SFlorian Fainelli		depends on ARCH_BCM_5301X || ARCH_BCM_NSP
246140bd603SHauke Mehrtens		select DEBUG_UART_8250
24706580275SHauke Mehrtens
248fa1e581dSFlorian Fainelli	config DEBUG_BCM_HR2
249fa1e581dSFlorian Fainelli		bool "Kernel low-level debugging on Hurricane 2 UART2"
250fa1e581dSFlorian Fainelli		depends on ARCH_BCM_HR2
251fa1e581dSFlorian Fainelli		select DEBUG_UART_8250
252fa1e581dSFlorian Fainelli
253295898baSClément Peron	config DEBUG_BCM_IPROC_UART3
254295898baSClément Peron		bool "Kernel low-level debugging on BCM IPROC UART3"
255295898baSClément Peron		depends on ARCH_BCM_CYGNUS
256295898baSClément Peron		select DEBUG_UART_8250
257295898baSClément Peron		help
258295898baSClément Peron		  Say Y here if you want the debug print routines to direct
259295898baSClément Peron		  their output to the third serial port on these devices.
260295898baSClément Peron
261753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
262753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
2637aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
264753d1243SChristian Daudt		select DEBUG_UART_8250
265753d1243SChristian Daudt		help
266753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
267753d1243SChristian Daudt		  on Broadcom SoC platforms.
268753d1243SChristian Daudt		  This low level debug works for Broadcom
269753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
270753d1243SChristian Daudt		  bcm11351, etc...)
271753d1243SChristian Daudt
2726c548099SArnd Bergmann	config DEBUG_BCM63XX_UART
273b51312beSFlorian Fainelli		bool "Kernel low-level debugging on BCM63XX UART"
274fa0ef5a0SWilliam Zhang		depends on ARCH_BCMBCA
275b51312beSFlorian Fainelli
276caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
277caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
278caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
279caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
280caad0b41SSebastian Hesselbarth		help
281caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
282caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
283caad0b41SSebastian Hesselbarth
28481b43a6eSMarc Carino	config DEBUG_BRCMSTB_UART
28581b43a6eSMarc Carino		bool "Use BRCMSTB UART for low-level debug"
28681b43a6eSMarc Carino		depends on ARCH_BRCMSTB
28781b43a6eSMarc Carino		help
28881b43a6eSMarc Carino		  Say Y here if you want the debug print routines to direct
289d0cf9d8aSFlorian Fainelli		  their output to the first serial port on these devices. The
290d0cf9d8aSFlorian Fainelli		  UART physical and virtual address is automatically provided
291d0cf9d8aSFlorian Fainelli		  based on the chip identification register value.
29281b43a6eSMarc Carino
29381b43a6eSMarc Carino		  If you have a Broadcom STB chip and would like early print
29481b43a6eSMarc Carino		  messages to appear over the UART, select this option.
29581b43a6eSMarc Carino
296164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
297164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
298164acf96SStephen Boyd		depends on ARCH_CLPS711X
299164acf96SStephen Boyd		help
300164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
301164acf96SStephen Boyd		  their output to the first serial port on these devices.
30217916b28SWill Deacon
30317916b28SWill Deacon	config DEBUG_CLPS711X_UART2
30417916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
30517916b28SWill Deacon		depends on ARCH_CLPS711X
30617916b28SWill Deacon		help
30717916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
30817916b28SWill Deacon		  their output to the second serial port on these devices.
30917916b28SWill Deacon
310477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
311477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
312477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
31397bd1a48SRussell King		select DEBUG_UART_8250
314477099f1SUwe Kleine-König		help
315477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
316477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
317477099f1SUwe Kleine-König
318477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
319477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
320477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
32197bd1a48SRussell King		select DEBUG_UART_8250
322477099f1SUwe Kleine-König		help
323477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
324477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
325477099f1SUwe Kleine-König
326e76f4750SRussell King	config DEBUG_DC21285_PORT
327e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
328e76f4750SRussell King		depends on FOOTBRIDGE
329e76f4750SRussell King		help
330e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
331e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
332e76f4750SRussell King
333e23814daSBaruch Siach	config DEBUG_DIGICOLOR_UA0
334e23814daSBaruch Siach		bool "Kernel low-level debugging messages via Digicolor UA0"
335e23814daSBaruch Siach		depends on ARCH_DIGICOLOR
336e23814daSBaruch Siach		help
337e23814daSBaruch Siach		  Say Y here if you want the debug print routines to direct
338e23814daSBaruch Siach		  their output to the UA0 serial port in the CX92755.
339e23814daSBaruch Siach
340f06455faSArnd Bergmann	config DEBUG_EP93XX
341f06455faSArnd Bergmann		bool "Kernel low-level debugging messages via ep93xx UART"
342f06455faSArnd Bergmann		depends on ARCH_EP93XX
343f06455faSArnd Bergmann		select DEBUG_UART_PL01X
344f06455faSArnd Bergmann		help
345f06455faSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
346f06455faSArnd Bergmann		  on Cirrus Logic EP93xx based platforms.
347f06455faSArnd Bergmann
348e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
349e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
350e76f4750SRussell King		depends on FOOTBRIDGE
3510045c0ddSArnd Bergmann		select DEBUG_UART_8250
352e76f4750SRussell King		help
353e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
354e76f4750SRussell King		  their output to the 8250 at PCI COM1.
355e76f4750SRussell King
356d7175a3bSArnd Bergmann	config DEBUG_GEMINI
357d7175a3bSArnd Bergmann		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
358d7175a3bSArnd Bergmann		depends on ARCH_GEMINI
359d7175a3bSArnd Bergmann		select DEBUG_UART_8250
360d7175a3bSArnd Bergmann		help
361d7175a3bSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
362d7175a3bSArnd Bergmann		  on Cortina Gemini based platforms.
363d7175a3bSArnd Bergmann
3648d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
3658d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
3668d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
3678d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
3688d258bebSHaojian Zhuang		help
3698d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
3708d258bebSHaojian Zhuang		  on HI3620 UART.
3718d258bebSHaojian Zhuang
372220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
373220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
374220e6cf7SRob Herring		depends on ARCH_HIGHBANK
3755c972af4SRussell King		select DEBUG_UART_PL01X
376220e6cf7SRob Herring		help
377220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
378220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
379220e6cf7SRob Herring
38027dafaa8SWang Long	config DEBUG_HIP01_UART
38127dafaa8SWang Long		bool "Hisilicon Hip01 Debug UART"
38227dafaa8SWang Long		depends on ARCH_HIP01
38327dafaa8SWang Long		select DEBUG_UART_8250
38427dafaa8SWang Long		help
38527dafaa8SWang Long		  Say Y here if you want kernel low-level debugging support
38627dafaa8SWang Long		  on HIP01 UART.
38727dafaa8SWang Long
388c9a1df48SHaojian Zhuang	config DEBUG_HIP04_UART
389c9a1df48SHaojian Zhuang		bool "Hisilicon HiP04 Debug UART"
390c9a1df48SHaojian Zhuang		depends on ARCH_HIP04
391c9a1df48SHaojian Zhuang		select DEBUG_UART_8250
392c9a1df48SHaojian Zhuang		help
393c9a1df48SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
394c9a1df48SHaojian Zhuang		  on HIP04 UART.
395c9a1df48SHaojian Zhuang
39637bdaf82SOlof Johansson	config DEBUG_HIX5HD2_UART
39737bdaf82SOlof Johansson		bool "Hisilicon Hix5hd2 Debug UART"
39837bdaf82SOlof Johansson		depends on ARCH_HIX5HD2
39993fd03a8SCatalin Marinas		select DEBUG_UART_PL01X
40093fd03a8SCatalin Marinas		help
40137bdaf82SOlof Johansson		  Say Y here if you want kernel low-level debugging support
40237bdaf82SOlof Johansson		  on Hix5hd2 UART.
4031da177e4SLinus Torvalds
404f350b861SShawn Guo	config DEBUG_IMX1_UART
405f350b861SShawn Guo		bool "i.MX1 Debug UART"
406f350b861SShawn Guo		depends on SOC_IMX1
407f350b861SShawn Guo		help
408f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
409f350b861SShawn Guo		  on i.MX1.
410f350b861SShawn Guo
411f350b861SShawn Guo	config DEBUG_IMX23_UART
412f350b861SShawn Guo		bool "i.MX23 Debug UART"
413f350b861SShawn Guo		depends on SOC_IMX23
4145c972af4SRussell King		select DEBUG_UART_PL01X
415f350b861SShawn Guo		help
416f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
417f350b861SShawn Guo		  on i.MX23.
418f350b861SShawn Guo
419f350b861SShawn Guo	config DEBUG_IMX25_UART
420f350b861SShawn Guo		bool "i.MX25 Debug UART"
421f350b861SShawn Guo		depends on SOC_IMX25
422f350b861SShawn Guo		help
423f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
424f350b861SShawn Guo		  on i.MX25.
425f350b861SShawn Guo
426b0100bceSLukas Bulwahn	config DEBUG_IMX27_UART
427b0100bceSLukas Bulwahn		bool "i.MX27 Debug UART"
428b0100bceSLukas Bulwahn		depends on SOC_IMX27
429f350b861SShawn Guo		help
430f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
431b0100bceSLukas Bulwahn		  on i.MX27.
432f350b861SShawn Guo
433f350b861SShawn Guo	config DEBUG_IMX28_UART
434f350b861SShawn Guo		bool "i.MX28 Debug UART"
435f350b861SShawn Guo		depends on SOC_IMX28
4365c972af4SRussell King		select DEBUG_UART_PL01X
437f350b861SShawn Guo		help
438f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
439f350b861SShawn Guo		  on i.MX28.
440f350b861SShawn Guo
4414ad625d4SShawn Guo	config DEBUG_IMX31_UART
4424ad625d4SShawn Guo		bool "i.MX31 Debug UART"
4434ad625d4SShawn Guo		depends on SOC_IMX31
444f350b861SShawn Guo		help
445f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
4464ad625d4SShawn Guo		  on i.MX31.
4474ad625d4SShawn Guo
4484ad625d4SShawn Guo	config DEBUG_IMX35_UART
4494ad625d4SShawn Guo		bool "i.MX35 Debug UART"
4504ad625d4SShawn Guo		depends on SOC_IMX35
4514ad625d4SShawn Guo		help
4524ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
4534ad625d4SShawn Guo		  on i.MX35.
454f350b861SShawn Guo
455ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
456ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
457ad364a70SGreg Ungerer		depends on SOC_IMX50
458ad364a70SGreg Ungerer		help
459ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
460ad364a70SGreg Ungerer		  on i.MX50.
461ad364a70SGreg Ungerer
462f350b861SShawn Guo	config DEBUG_IMX51_UART
463f350b861SShawn Guo		bool "i.MX51 Debug UART"
464f350b861SShawn Guo		depends on SOC_IMX51
465f350b861SShawn Guo		help
466f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
467f350b861SShawn Guo		  on i.MX51.
468f350b861SShawn Guo
4697356420cSFabio Estevam	config DEBUG_IMX53_UART
4707356420cSFabio Estevam		bool "i.MX53 Debug UART"
4717356420cSFabio Estevam		depends on SOC_IMX53
472f350b861SShawn Guo		help
473f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
4747356420cSFabio Estevam		  on i.MX53.
475f350b861SShawn Guo
47649c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
4773c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
478785d7fabSDirk Behme		depends on SOC_IMX6Q
479785d7fabSDirk Behme		help
480785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
4813c03a2feSShawn Guo		  on i.MX6Q/DL.
482bac89d75SShawn Guo
48334e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
48434e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
48534e8a16bSShawn Guo		depends on SOC_IMX6SL
48634e8a16bSShawn Guo		help
48734e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
48834e8a16bSShawn Guo		  on i.MX6SL.
48934e8a16bSShawn Guo
49074368e81SShawn Guo	config DEBUG_IMX6SX_UART
49174368e81SShawn Guo		bool "i.MX6SX Debug UART"
49274368e81SShawn Guo		depends on SOC_IMX6SX
49374368e81SShawn Guo		help
49474368e81SShawn Guo		  Say Y here if you want kernel low-level debugging support
49574368e81SShawn Guo		  on i.MX6SX.
49674368e81SShawn Guo
49720c305f6SAnson Huang	config DEBUG_IMX6UL_UART
49820c305f6SAnson Huang		bool "i.MX6UL Debug UART"
49920c305f6SAnson Huang		depends on SOC_IMX6UL
50020c305f6SAnson Huang		help
50120c305f6SAnson Huang		  Say Y here if you want kernel low-level debugging support
50220c305f6SAnson Huang		  on i.MX6UL.
50320c305f6SAnson Huang
50452d7aec2SAnson Huang	config DEBUG_IMX7D_UART
50552d7aec2SAnson Huang		bool "i.MX7D Debug UART"
50652d7aec2SAnson Huang		depends on SOC_IMX7D
50752d7aec2SAnson Huang		help
50852d7aec2SAnson Huang		  Say Y here if you want kernel low-level debugging support
50952d7aec2SAnson Huang		  on i.MX7D.
51052d7aec2SAnson Huang
5114db22c10SArnd Bergmann	config DEBUG_INTEGRATOR
5124db22c10SArnd Bergmann		bool "Kernel low-level debugging messages via ARM Integrator UART"
5134db22c10SArnd Bergmann		depends on ARCH_INTEGRATOR
5144db22c10SArnd Bergmann		select DEBUG_UART_PL01X
5154db22c10SArnd Bergmann		help
5164db22c10SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
5174db22c10SArnd Bergmann		  on ARM Integrator platforms.
5184db22c10SArnd Bergmann
519828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
520828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
521828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
522f2acf003SRussell King		select DEBUG_UART_8250
523828989adSSantosh Shilimkar		help
524828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
525828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
526828989adSSantosh Shilimkar
527828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
528828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
529828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
530f2acf003SRussell King		select DEBUG_UART_8250
531828989adSSantosh Shilimkar		help
532828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
533828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
534828989adSSantosh Shilimkar
5350aed6a37SJoachim Eastwood	config DEBUG_LPC18XX_UART0
5360aed6a37SJoachim Eastwood		bool "Kernel low-level debugging via LPC18xx/43xx UART0"
5370aed6a37SJoachim Eastwood		depends on ARCH_LPC18XX
5380aed6a37SJoachim Eastwood		select DEBUG_UART_8250
5390aed6a37SJoachim Eastwood		help
5400aed6a37SJoachim Eastwood		  Say Y here if you want kernel low-level debugging support
5410aed6a37SJoachim Eastwood		  on NXP LPC18xx/43xx UART0.
5420aed6a37SJoachim Eastwood
54359bd4c38SArnd Bergmann	config DEBUG_LPC32XX
54459bd4c38SArnd Bergmann		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
54559bd4c38SArnd Bergmann		depends on ARCH_LPC32XX
54659bd4c38SArnd Bergmann		select DEBUG_UART_8250
54759bd4c38SArnd Bergmann		help
54859bd4c38SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
54959bd4c38SArnd Bergmann		  on NXP LPC32xx based platforms.
55059bd4c38SArnd Bergmann
551d8a00916SCarlo Caione	config DEBUG_MESON_UARTAO
552d8a00916SCarlo Caione		bool "Kernel low-level debugging via Meson6 UARTAO"
553d8a00916SCarlo Caione		depends on ARCH_MESON
554d8a00916SCarlo Caione		help
555d8a00916SCarlo Caione		  Say Y here if you want kernel low-lever debugging support
556d8a00916SCarlo Caione		  on Amlogic Meson6 based platforms on the UARTAO.
557d8a00916SCarlo Caione
558fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
559fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
560fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
5614a003647SRussell King		select DEBUG_UART_8250
562fa4cd2a8SHaojian Zhuang		help
563fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
564fa4cd2a8SHaojian Zhuang		  on MMP UART2.
565fa4cd2a8SHaojian Zhuang
566fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
567fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
568fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
5694a003647SRussell King		select DEBUG_UART_8250
570fa4cd2a8SHaojian Zhuang		help
571fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
572fa4cd2a8SHaojian Zhuang		  on MMP UART3.
573fa4cd2a8SHaojian Zhuang
574d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0
575d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
576bfd5af99SRob Herring		depends on ARCH_MVEBU
577c047f529SArnd Bergmann		depends on ARCH_MVEBU && CPU_V7
5784a003647SRussell King		select DEBUG_UART_8250
579bfd5af99SRob Herring		help
580bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
581d91125ddSMaxime Ripard		  on MVEBU based platforms on UART0.
582bfd5af99SRob Herring
583c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
584c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
585c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
586c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
587c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
588c2804cd6SThomas Petazzoni		  bootloader.
589c2804cd6SThomas Petazzoni
590c047f529SArnd Bergmann		  This option will not work on older Marvell platforms
591c047f529SArnd Bergmann		  (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
592c047f529SArnd Bergmann		  the "new bootloader" variant.
593c047f529SArnd Bergmann
594c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
595c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
596c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
597c2804cd6SThomas Petazzoni
598d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0_ALTERNATE
599d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
600c047f529SArnd Bergmann		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
6014a003647SRussell King		select DEBUG_UART_8250
602c2804cd6SThomas Petazzoni		help
603c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
604c047f529SArnd Bergmann		  on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
605c047f529SArnd Bergmann		  Kirkwood, Dove, MV78xx0, Orion5x).
606c047f529SArnd Bergmann
607c2804cd6SThomas Petazzoni
608c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
609c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
610c2804cd6SThomas Petazzoni
611c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
612c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
613c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
614c2804cd6SThomas Petazzoni
615bd920490SMaxime Ripard	config DEBUG_MVEBU_UART1_ALTERNATE
616bd920490SMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
617bd920490SMaxime Ripard		depends on ARCH_MVEBU
618bd920490SMaxime Ripard		select DEBUG_UART_8250
619bd920490SMaxime Ripard		help
620bd920490SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
621c047f529SArnd Bergmann		  on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
622c047f529SArnd Bergmann		  Kirkwood, Dove, MV78xx0, Orion5x).
623a3d3ef9dSStephen Boyd
6241da177e4SLinus Torvalds		  This option should be used with the new bootloaders
6251da177e4SLinus Torvalds		  that remap the internal registers at 0xf1000000.
626c047f529SArnd Bergmann		  All of the older (pre Armada XP/370) platforms also use
627c047f529SArnd Bergmann		  this address, regardless of the boot loader version.
6281da177e4SLinus Torvalds
6291da177e4SLinus Torvalds		  If the wrong DEBUG_MVEBU_UART* option is selected,
6301da177e4SLinus Torvalds		  when u-boot hands over to the kernel, the system
6311da177e4SLinus Torvalds		  silently crashes, with no serial output at all.
6321da177e4SLinus Torvalds
633624b9d83SRomain Perier	config DEBUG_MSTARV7_PMUART
634624b9d83SRomain Perier		bool "Kernel low-level debugging messages via MSTARV7 PM UART"
635624b9d83SRomain Perier		depends on ARCH_MSTARV7
636624b9d83SRomain Perier		select DEBUG_UART_8250
637624b9d83SRomain Perier		help
638624b9d83SRomain Perier		  Say Y here if you want kernel low-level debugging support
639624b9d83SRomain Perier		  for MSTAR ARMv7-based platforms on PM UART.
640624b9d83SRomain Perier
6411dc93416SArnd Bergmann	config DEBUG_MT6589_UART0
6421dc93416SArnd Bergmann		bool "Mediatek mt6589 UART0"
6431dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6441dc93416SArnd Bergmann		select DEBUG_UART_8250
645c7c3eac6SShawn Guo		help
646c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
6471dc93416SArnd Bergmann		  for Mediatek mt6589 based platforms on UART0.
6481dc93416SArnd Bergmann
6491dc93416SArnd Bergmann	config DEBUG_MT8127_UART0
6501dc93416SArnd Bergmann		bool "Mediatek mt8127/mt6592 UART0"
6511dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6521dc93416SArnd Bergmann		select DEBUG_UART_8250
6531dc93416SArnd Bergmann		help
6541dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
6551dc93416SArnd Bergmann		  for Mediatek mt8127 based platforms on UART0.
6561dc93416SArnd Bergmann
6571dc93416SArnd Bergmann	config DEBUG_MT8135_UART3
6581dc93416SArnd Bergmann		bool "Mediatek mt8135 UART3"
6591dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6601dc93416SArnd Bergmann		select DEBUG_UART_8250
6611dc93416SArnd Bergmann		help
6621dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
6631dc93416SArnd Bergmann		  for Mediatek mt8135 based platforms on UART3.
664c7c3eac6SShawn Guo
665266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
666266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
667266c3479SLinus Walleij		depends on ARCH_NOMADIK
6685c972af4SRussell King		select DEBUG_UART_PL01X
669266c3479SLinus Walleij		help
670266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
671266c3479SLinus Walleij		  on NOMADIK based platforms.
672266c3479SLinus Walleij
6739851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
6749851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
6759851ca57SDaniel Tang		depends on ARCH_NSPIRE
6764a003647SRussell King		select DEBUG_UART_8250
6779851ca57SDaniel Tang		help
6789851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
6799851ca57SDaniel Tang		  on TI-NSPIRE classic models.
6809851ca57SDaniel Tang
6819851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
6829851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
6839851ca57SDaniel Tang		depends on ARCH_NSPIRE
6845c972af4SRussell King		select DEBUG_UART_PL01X
6859851ca57SDaniel Tang		help
6869851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
6879851ca57SDaniel Tang		  on TI-NSPIRE CX models.
6889851ca57SDaniel Tang
689c26b9993SDaniel Thompson	config DEBUG_OMAP1UART1
690c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART1"
691c26b9993SDaniel Thompson		depends on ARCH_OMAP1
692c26b9993SDaniel Thompson		select DEBUG_UART_8250
693c26b9993SDaniel Thompson		help
694c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
695c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART1.
696c26b9993SDaniel Thompson
697c26b9993SDaniel Thompson	config DEBUG_OMAP1UART2
698c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART2"
699c26b9993SDaniel Thompson		depends on ARCH_OMAP1
700c26b9993SDaniel Thompson		select DEBUG_UART_8250
701c26b9993SDaniel Thompson		help
702c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
703c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART2.
704c26b9993SDaniel Thompson
705c26b9993SDaniel Thompson	config DEBUG_OMAP1UART3
706c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART3"
707c26b9993SDaniel Thompson		depends on ARCH_OMAP1
708c26b9993SDaniel Thompson		select DEBUG_UART_8250
709c26b9993SDaniel Thompson		help
710c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
711c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART3.
712c26b9993SDaniel Thompson
713cce278d2SRussell King	config DEBUG_OMAP2UART1
714cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
715808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
716d2b310b0STony Lindgren		select DEBUG_UART_8250
717808b7e07STony Lindgren		help
718cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
719cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
720cce278d2SRussell King
721cce278d2SRussell King	config DEBUG_OMAP2UART2
722cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
723cce278d2SRussell King		depends on ARCH_OMAP2PLUS
724d2b310b0STony Lindgren		select DEBUG_UART_8250
725cce278d2SRussell King
726cce278d2SRussell King	config DEBUG_OMAP2UART3
727cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
728cce278d2SRussell King		depends on ARCH_OMAP2PLUS
729d2b310b0STony Lindgren		select DEBUG_UART_8250
730cce278d2SRussell King
731cce278d2SRussell King	config DEBUG_OMAP3UART3
732cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
733cce278d2SRussell King		depends on ARCH_OMAP2PLUS
734fc23beb8STony Lindgren		select DEBUG_UART_8250
735cce278d2SRussell King		help
736cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
737cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
738cce278d2SRussell King		  and 3517evm.
739cce278d2SRussell King
740cce278d2SRussell King	config DEBUG_OMAP4UART3
741cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
742cce278d2SRussell King		depends on ARCH_OMAP2PLUS
743fc23beb8STony Lindgren		select DEBUG_UART_8250
744cce278d2SRussell King
745cce278d2SRussell King	config DEBUG_OMAP3UART4
746cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
747cce278d2SRussell King		depends on ARCH_OMAP2PLUS
748fc23beb8STony Lindgren		select DEBUG_UART_8250
749cce278d2SRussell King
750cce278d2SRussell King	config DEBUG_OMAP4UART4
751cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
752cce278d2SRussell King		depends on ARCH_OMAP2PLUS
753fc23beb8STony Lindgren		select DEBUG_UART_8250
754cce278d2SRussell King
755cce278d2SRussell King	config DEBUG_TI81XXUART1
756cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
757cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7582d1f7d2eSTony Lindgren		select DEBUG_UART_8250
759cce278d2SRussell King
760cce278d2SRussell King	config DEBUG_TI81XXUART2
761cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
762cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7632d1f7d2eSTony Lindgren		select DEBUG_UART_8250
764cce278d2SRussell King
765cce278d2SRussell King	config DEBUG_TI81XXUART3
766cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
767cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7682d1f7d2eSTony Lindgren		select DEBUG_UART_8250
769cce278d2SRussell King
770cce278d2SRussell King	config DEBUG_AM33XXUART1
771cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
772cce278d2SRussell King		depends on ARCH_OMAP2PLUS
77351ef7003STony Lindgren		select DEBUG_UART_8250
774cce278d2SRussell King
775cce278d2SRussell King	config DEBUG_ZOOM_UART
776cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
777cce278d2SRussell King		depends on ARCH_OMAP2PLUS
778cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
779808b7e07STony Lindgren
7800a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
7810a43cd3bSHaojian Zhuang		depends on ARCH_PXA
7820a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
7834a003647SRussell King		select DEBUG_UART_8250
7840a43cd3bSHaojian Zhuang		help
7850a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
7860a43cd3bSHaojian Zhuang		  on PXA UART1.
7870a43cd3bSHaojian Zhuang
7881dc93416SArnd Bergmann	config DEBUG_QCOM_UARTDM
7891dc93416SArnd Bergmann		bool "Kernel low-level debugging messages via QCOM UARTDM"
7901dc93416SArnd Bergmann		depends on ARCH_QCOM
7911dc93416SArnd Bergmann		help
7921dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
7931dc93416SArnd Bergmann		  their output to the serial port on Qualcomm devices.
7941dc93416SArnd Bergmann
7951dc93416SArnd Bergmann		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
7961dc93416SArnd Bergmann		  APQ8064   0x16640000        0xf0040000
7971dc93416SArnd Bergmann		  APQ8084   0xf995e000        0xfa75e000
7987b87fe94SChristian Lamparter		  IPQ4019   0x078af000        0xf78af000
7991dc93416SArnd Bergmann		  MSM8X60   0x19c40000        0xf0040000
8001dc93416SArnd Bergmann		  MSM8960   0x16440000        0xf0040000
8011dc93416SArnd Bergmann		  MSM8974   0xf991e000        0xfa71e000
8021dc93416SArnd Bergmann
8031dc93416SArnd Bergmann		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
8041dc93416SArnd Bergmann		  options based on your needs.
8051dc93416SArnd Bergmann
806e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
807e76f4750SRussell King		bool "RealView Default UART"
808e76f4750SRussell King		depends on ARCH_REALVIEW
8095c972af4SRussell King		select DEBUG_UART_PL01X
810e76f4750SRussell King		help
811e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
812e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
813e76f4750SRussell King		  and PBX platforms.
814e76f4750SRussell King
815e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
816e76f4750SRussell King		bool "RealView PB1176 UART"
817e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
8185c972af4SRussell King		select DEBUG_UART_PL01X
819e76f4750SRussell King		help
820e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
821e76f4750SRussell King		  their output to the standard serial port on the RealView
822e76f4750SRussell King		  PB1176 platform.
823e76f4750SRussell King
824a3b882f9SAndy Yan	config DEBUG_RV1108_UART0
825a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
826a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
827a3b882f9SAndy Yan		select DEBUG_UART_8250
828a3b882f9SAndy Yan		help
829a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
830a3b882f9SAndy Yan                  on Rockchip RV1108 based platforms.
831a3b882f9SAndy Yan
832a3b882f9SAndy Yan	config DEBUG_RV1108_UART1
833a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
834a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
835a3b882f9SAndy Yan		select DEBUG_UART_8250
836a3b882f9SAndy Yan		help
837a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
838a3b882f9SAndy Yan		  on Rockchip RV1108 based platforms.
839a3b882f9SAndy Yan
840a3b882f9SAndy Yan	config DEBUG_RV1108_UART2
841a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
842a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
843a3b882f9SAndy Yan		select DEBUG_UART_8250
844a3b882f9SAndy Yan		help
845a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
846a3b882f9SAndy Yan		  on Rockchip RV1108 based platforms.
847a3b882f9SAndy Yan
848cce278d2SRussell King	config DEBUG_RK29_UART0
849cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
85038bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
8514a003647SRussell King		select DEBUG_UART_8250
852cce278d2SRussell King		help
853cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
854cce278d2SRussell King		  on Rockchip based platforms.
855cce278d2SRussell King
856cce278d2SRussell King	config DEBUG_RK29_UART1
857cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
858cce278d2SRussell King		depends on ARCH_ROCKCHIP
8594a003647SRussell King		select DEBUG_UART_8250
860cce278d2SRussell King		help
861cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
862cce278d2SRussell King		  on Rockchip based platforms.
863cce278d2SRussell King
864cce278d2SRussell King	config DEBUG_RK29_UART2
865cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
866cce278d2SRussell King		depends on ARCH_ROCKCHIP
8674a003647SRussell King		select DEBUG_UART_8250
868cce278d2SRussell King		help
869cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
870cce278d2SRussell King		  on Rockchip based platforms.
871cce278d2SRussell King
872cce278d2SRussell King	config DEBUG_RK3X_UART0
873aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
874cce278d2SRussell King		depends on ARCH_ROCKCHIP
8754a003647SRussell King		select DEBUG_UART_8250
876cce278d2SRussell King		help
877cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
878cce278d2SRussell King		  on Rockchip based platforms.
879cce278d2SRussell King
880cce278d2SRussell King	config DEBUG_RK3X_UART1
881aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
882cce278d2SRussell King		depends on ARCH_ROCKCHIP
8834a003647SRussell King		select DEBUG_UART_8250
884cce278d2SRussell King		help
885cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
886cce278d2SRussell King		  on Rockchip based platforms.
887cce278d2SRussell King
888cce278d2SRussell King	config DEBUG_RK3X_UART2
889aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
890cce278d2SRussell King		depends on ARCH_ROCKCHIP
8914a003647SRussell King		select DEBUG_UART_8250
892cce278d2SRussell King		help
893cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
894cce278d2SRussell King		  on Rockchip based platforms.
895cce278d2SRussell King
896cce278d2SRussell King	config DEBUG_RK3X_UART3
897aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
898cce278d2SRussell King		depends on ARCH_ROCKCHIP
8994a003647SRussell King		select DEBUG_UART_8250
90038bd6892SHeiko Stuebner		help
90138bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
90238bd6892SHeiko Stuebner		  on Rockchip based platforms.
90338bd6892SHeiko Stuebner
904efd02ee9SHeiko Stuebner	config DEBUG_RK32_UART2
905efd02ee9SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
906efd02ee9SHeiko Stuebner		depends on ARCH_ROCKCHIP
907efd02ee9SHeiko Stuebner		select DEBUG_UART_8250
908efd02ee9SHeiko Stuebner		help
909efd02ee9SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
910efd02ee9SHeiko Stuebner		  on Rockchip RK32xx based platforms.
911efd02ee9SHeiko Stuebner
9127a2071c5SGeert Uytterhoeven	config DEBUG_R7S72100_SCIF2
9137a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
9147a2071c5SGeert Uytterhoeven		depends on ARCH_R7S72100
9157a2071c5SGeert Uytterhoeven		help
9167a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9177a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A1H (R7S72100).
9187a2071c5SGeert Uytterhoeven
919e9670ccbSGeert Uytterhoeven	config DEBUG_R7S9210_SCIF2
920e9670ccbSGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
921e9670ccbSGeert Uytterhoeven		depends on ARCH_R7S9210
922e9670ccbSGeert Uytterhoeven		help
923e9670ccbSGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
924e9670ccbSGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A2M (R7S9210).
925e9670ccbSGeert Uytterhoeven
926e9670ccbSGeert Uytterhoeven	config DEBUG_R7S9210_SCIF4
927e9670ccbSGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
928e9670ccbSGeert Uytterhoeven		depends on ARCH_R7S9210
929e9670ccbSGeert Uytterhoeven		help
930e9670ccbSGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
931e9670ccbSGeert Uytterhoeven		  via SCIF4 on Renesas RZ/A2M (R7S9210).
932e9670ccbSGeert Uytterhoeven
9337a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF0
9347a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
9357a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7778
9367a2071c5SGeert Uytterhoeven		help
9377a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9387a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car M1A (R8A7778).
9397a2071c5SGeert Uytterhoeven
9407a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF2
9417a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
9427a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7779
9437a2071c5SGeert Uytterhoeven		help
9447a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9457a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car H1 (R8A7779).
9467a2071c5SGeert Uytterhoeven
9477a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF0
948fcfbb6f1SChris Paterson		bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
949abf3bf53SBiju Das		depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
950abf3bf53SBiju Das			ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
9517a2071c5SGeert Uytterhoeven		help
9527a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
953abf3bf53SBiju Das		  via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
954abf3bf53SBiju Das		  R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
955abf3bf53SBiju Das		  M2-N (R8A7793).
9567a2071c5SGeert Uytterhoeven
9572f095c26SBiju Das	config DEBUG_RCAR_GEN2_SCIF1
9582f095c26SBiju Das		bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
9592f095c26SBiju Das		depends on ARCH_R8A77470
9602f095c26SBiju Das		help
9612f095c26SBiju Das		  Say Y here if you want kernel low-level debugging support
9622f095c26SBiju Das		  via SCIF1 on Renesas RZ/G1C (R8A77470).
9632f095c26SBiju Das
9647a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF2
9657a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
9667a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7794
9677a2071c5SGeert Uytterhoeven		help
9687a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9697a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car E2 (R8A7794).
9707a2071c5SGeert Uytterhoeven
9718e5f2d65SFabrizio Castro	config DEBUG_RCAR_GEN2_SCIF4
9728e5f2d65SFabrizio Castro		bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
9738e5f2d65SFabrizio Castro		depends on ARCH_R8A7745
9748e5f2d65SFabrizio Castro		help
9758e5f2d65SFabrizio Castro		  Say Y here if you want kernel low-level debugging support
9768e5f2d65SFabrizio Castro		  via SCIF4 on Renesas RZ/G1E (R8A7745).
9778e5f2d65SFabrizio Castro
97896866b1aSLad Prabhakar	config DEBUG_RCAR_GEN2_SCIFA2
97996866b1aSLad Prabhakar		bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
98096866b1aSLad Prabhakar		depends on ARCH_R8A7742
98196866b1aSLad Prabhakar		help
98296866b1aSLad Prabhakar		  Say Y here if you want kernel low-level debugging support
98396866b1aSLad Prabhakar		  via SCIFA2 on Renesas RZ/G1H (R8A7742).
98496866b1aSLad Prabhakar
9857a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA0
98659b89af1SMagnus Damm		bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
98759b89af1SMagnus Damm		depends on ARCH_R8A73A4
9887a2071c5SGeert Uytterhoeven		help
9897a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
99059b89af1SMagnus Damm		  via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
9917a2071c5SGeert Uytterhoeven
9927a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA1
9937a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
9947a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7740
9957a2071c5SGeert Uytterhoeven		help
9967a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9977a2071c5SGeert Uytterhoeven		  via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
9987a2071c5SGeert Uytterhoeven
9997a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA4
10007a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
10017a2071c5SGeert Uytterhoeven		depends on ARCH_SH73A0
10027a2071c5SGeert Uytterhoeven		help
10037a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
10047a2071c5SGeert Uytterhoeven		  via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
10057a2071c5SGeert Uytterhoeven
1006e76f4750SRussell King	config DEBUG_S3C_UART0
1007db8230d2SArnd Bergmann		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1008a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1009bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10107bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10115cc8a016SSachin Kamat		bool "Use Samsung S3C UART 0 for low-level debug"
1012e76f4750SRussell King		help
1013e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1014e76f4750SRussell King		  their output to UART 0. The port must have been initialised
1015e76f4750SRussell King		  by the boot-loader before use.
1016e76f4750SRussell King
1017e76f4750SRussell King	config DEBUG_S3C_UART1
1018db8230d2SArnd Bergmann		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1019a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1020bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10217bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10225cc8a016SSachin Kamat		bool "Use Samsung S3C UART 1 for low-level debug"
1023e76f4750SRussell King		help
1024e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1025e76f4750SRussell King		  their output to UART 1. The port must have been initialised
1026e76f4750SRussell King		  by the boot-loader before use.
1027e76f4750SRussell King
1028e76f4750SRussell King	config DEBUG_S3C_UART2
1029db8230d2SArnd Bergmann		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1030a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1031bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10327bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10335cc8a016SSachin Kamat		bool "Use Samsung S3C UART 2 for low-level debug"
1034e76f4750SRussell King		help
1035e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1036e76f4750SRussell King		  their output to UART 2. The port must have been initialised
1037e76f4750SRussell King		  by the boot-loader before use.
1038e76f4750SRussell King
10395fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
1040cb6c0301SArnd Bergmann		depends on ARCH_EXYNOS || ARCH_S5PV210
10417bab7d9eSTomasz Figa		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1042bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10437bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10445cc8a016SSachin Kamat		bool "Use Samsung S3C UART 3 for low-level debug"
10455fa23ddeSOlof Johansson		help
10465fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
10475fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
10485fa23ddeSOlof Johansson		  by the boot-loader before use.
10495fa23ddeSOlof Johansson
1050e6131fa3SDmitry Eremin-Solenikov	config DEBUG_SA1100
1051e6131fa3SDmitry Eremin-Solenikov		depends on ARCH_SA1100
1052e6131fa3SDmitry Eremin-Solenikov		bool "Use SA1100 UARTs for low-level debug"
1053e6131fa3SDmitry Eremin-Solenikov		help
1054e6131fa3SDmitry Eremin-Solenikov		  Say Y here if you want kernel low-level debugging support
1055e6131fa3SDmitry Eremin-Solenikov		  on SA-11x0 UART ports. The kernel will check for the first
1056e6131fa3SDmitry Eremin-Solenikov		  enabled UART in a sequence 3-1-2.
1057e6131fa3SDmitry Eremin-Solenikov
1058c5fdb668SKefeng Wang	config DEBUG_SD5203_UART
1059c5fdb668SKefeng Wang		bool "Hisilicon SD5203 Debug UART"
1060c5fdb668SKefeng Wang		depends on ARCH_SD5203
1061c5fdb668SKefeng Wang		select DEBUG_UART_8250
1062c5fdb668SKefeng Wang		help
1063c5fdb668SKefeng Wang		  Say Y here if you want kernel low-level debugging support
1064c5fdb668SKefeng Wang		  on SD5203 UART.
1065c5fdb668SKefeng Wang
1066de73c162SDinh Nguyen	config DEBUG_SOCFPGA_UART0
1067910499e1SKrzysztof Kozlowski		depends on ARCH_INTEL_SOCFPGA
1068de73c162SDinh Nguyen		bool "Use SOCFPGA UART0 for low-level debug"
10690b4cccbeSRussell King		select DEBUG_UART_8250
10706111bf7cSRob Herring		help
10716111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
1072de73c162SDinh Nguyen		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1073de73c162SDinh Nguyen
1074f6628486SClément Péron	config DEBUG_SOCFPGA_ARRIA10_UART1
1075910499e1SKrzysztof Kozlowski		depends on ARCH_INTEL_SOCFPGA
1076f6628486SClément Péron		bool "Use SOCFPGA Arria10 UART1 for low-level debug"
1077de73c162SDinh Nguyen		select DEBUG_UART_8250
1078de73c162SDinh Nguyen		help
1079de73c162SDinh Nguyen		  Say Y here if you want kernel low-level debugging support
1080de73c162SDinh Nguyen		  on SOCFPGA(Arria 10) based platforms.
1081de73c162SDinh Nguyen
1082f6628486SClément Péron	config DEBUG_SOCFPGA_CYCLONE5_UART1
1083910499e1SKrzysztof Kozlowski		depends on ARCH_INTEL_SOCFPGA
1084f6628486SClément Péron		bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1085f6628486SClément Péron		select DEBUG_UART_8250
1086f6628486SClément Péron		help
1087f6628486SClément Péron		  Say Y here if you want kernel low-level debugging support
1088f6628486SClément Péron		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
10896111bf7cSRob Herring
1090d4da889aSChen-Yu Tsai	config DEBUG_SUN9I_UART0
1091d4da889aSChen-Yu Tsai		bool "Kernel low-level debugging messages via sun9i UART0"
1092d4da889aSChen-Yu Tsai		depends on MACH_SUN9I
1093d4da889aSChen-Yu Tsai		select DEBUG_UART_8250
1094d4da889aSChen-Yu Tsai		help
1095d4da889aSChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
1096d4da889aSChen-Yu Tsai		  on Allwinner A80 based platforms on the UART0.
1097d4da889aSChen-Yu Tsai
1098aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
1099aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
1100aa25115aSStefan Roese		depends on ARCH_SUNXI
11014a003647SRussell King		select DEBUG_UART_8250
1102aa25115aSStefan Roese		help
1103aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
1104aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
1105aa25115aSStefan Roese
1106cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
1107cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
1108cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
11094a003647SRussell King		select DEBUG_UART_8250
1110cb84fa18SMaxime Ripard		help
1111cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
1112cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
1113cb84fa18SMaxime Ripard
1114c4718543SChen-Yu Tsai	config DEBUG_SUNXI_R_UART
1115c4718543SChen-Yu Tsai		bool "Kernel low-level debugging messages via sunXi R_UART"
1116c4718543SChen-Yu Tsai		depends on MACH_SUN6I || MACH_SUN8I
1117c4718543SChen-Yu Tsai		select DEBUG_UART_8250
1118c4718543SChen-Yu Tsai		help
1119c4718543SChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
1120c4718543SChen-Yu Tsai		  on Allwinner A31/A23 based platforms on the R_UART.
1121c4718543SChen-Yu Tsai
1122375d84cfSArnd Bergmann	config DEBUG_SPEAR3XX
1123375d84cfSArnd Bergmann		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1124375d84cfSArnd Bergmann		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1125375d84cfSArnd Bergmann		select DEBUG_UART_PL01X
1126375d84cfSArnd Bergmann		help
1127375d84cfSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1128375d84cfSArnd Bergmann		  on ST SPEAr based platforms.
1129375d84cfSArnd Bergmann
1130375d84cfSArnd Bergmann	config DEBUG_SPEAR13XX
1131375d84cfSArnd Bergmann		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1132375d84cfSArnd Bergmann		depends on ARCH_SPEAR13XX
1133375d84cfSArnd Bergmann		select DEBUG_UART_PL01X
1134375d84cfSArnd Bergmann		help
1135375d84cfSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1136375d84cfSArnd Bergmann		  on ST SPEAr13xx based platforms.
1137375d84cfSArnd Bergmann
11389ca4efecSAlain VOLMAT	config DEBUG_STIH41X_ASC2
1139cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
11405562b800SArnd Bergmann		depends on ARCH_STI
11415562b800SArnd Bergmann		help
11425562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1143cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
1144cce278d2SRussell King		  default UART wired up to ASC2.
1145cce278d2SRussell King
1146cce278d2SRussell King		  If unsure, say N.
1147cce278d2SRussell King
11489ca4efecSAlain VOLMAT	config DEBUG_STIH41X_SBC_ASC1
1149cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1150cce278d2SRussell King		depends on ARCH_STI
1151cce278d2SRussell King		help
1152cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
1153cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
1154cce278d2SRussell King		  default UART wired up to SBC ASC1.
11555562b800SArnd Bergmann
11565562b800SArnd Bergmann		  If unsure, say N.
11575562b800SArnd Bergmann
11586e959ad8SAlain VOLMAT	config DEBUG_STIH418_SBC_ASC0
11596e959ad8SAlain VOLMAT		bool "Use StiH418 SBC ASC0 UART for low-level debug"
11606e959ad8SAlain VOLMAT		depends on ARCH_STI
11616e959ad8SAlain VOLMAT		help
11626e959ad8SAlain VOLMAT		  Say Y here if you want kernel low-level debugging support
11636e959ad8SAlain VOLMAT		  on STiH418 based platforms which has default UART wired
11646e959ad8SAlain VOLMAT		  up to SBC ASC0.
11656e959ad8SAlain VOLMAT
11666e959ad8SAlain VOLMAT		  If unsure, say N.
11676e959ad8SAlain VOLMAT
1168d88bb418SGerald Baeza	config STM32F4_DEBUG_UART
1169d88bb418SGerald Baeza		bool "Use STM32F4 UART for low-level debug"
117079d5cfd1SErwan Le Ray		depends on MACH_STM32F429 || MACH_STM32F469
1171d88bb418SGerald Baeza		select DEBUG_STM32_UART
1172d88bb418SGerald Baeza		help
1173d88bb418SGerald Baeza		  Say Y here if you want kernel low-level debugging support
1174d88bb418SGerald Baeza		  on STM32F4 based platforms, which default UART is wired on
117579d5cfd1SErwan Le Ray		  USART1, but another UART instance can be selected by modifying
117679d5cfd1SErwan Le Ray		  CONFIG_DEBUG_UART_PHYS.
1177d88bb418SGerald Baeza
1178d88bb418SGerald Baeza		  If unsure, say N.
1179d88bb418SGerald Baeza
1180d88bb418SGerald Baeza	config STM32F7_DEBUG_UART
1181d88bb418SGerald Baeza		bool "Use STM32F7 UART for low-level debug"
118213f71fa8SErwan Le Ray		depends on MACH_STM32F746 || MACH_STM32F769
1183d88bb418SGerald Baeza		select DEBUG_STM32_UART
1184d88bb418SGerald Baeza		help
1185d88bb418SGerald Baeza		  Say Y here if you want kernel low-level debugging support
1186d88bb418SGerald Baeza		  on STM32F7 based platforms, which default UART is wired on
118713f71fa8SErwan Le Ray		  USART1, but another UART instance can be selected by modifying
118813f71fa8SErwan Le Ray		  CONFIG_DEBUG_UART_PHYS.
1189d88bb418SGerald Baeza
1190d88bb418SGerald Baeza		  If unsure, say N.
1191d88bb418SGerald Baeza
119233cab895SErwan Le Ray	config STM32H7_DEBUG_UART
119333cab895SErwan Le Ray		bool "Use STM32H7 UART for low-level debug"
119433cab895SErwan Le Ray		depends on MACH_STM32H743
119533cab895SErwan Le Ray		select DEBUG_STM32_UART
119633cab895SErwan Le Ray		help
119733cab895SErwan Le Ray		  Say Y here if you want kernel low-level debugging support
119833cab895SErwan Le Ray		  on STM32H7 based platforms, which default UART is wired on
119933cab895SErwan Le Ray		  USART1, but another UART instance can be selected by modifying
120033cab895SErwan Le Ray		  CONFIG_DEBUG_UART_PHYS.
120133cab895SErwan Le Ray
120233cab895SErwan Le Ray		  If unsure, say N.
120333cab895SErwan Le Ray
120462c1594dSErwan Le Ray	config STM32MP1_DEBUG_UART
120562c1594dSErwan Le Ray		bool "Use STM32MP1 UART for low-level debug"
120662c1594dSErwan Le Ray		depends on MACH_STM32MP157
120762c1594dSErwan Le Ray		select DEBUG_STM32_UART
120862c1594dSErwan Le Ray		help
120962c1594dSErwan Le Ray		  Say Y here if you want kernel low-level debugging support
121062c1594dSErwan Le Ray		  on STM32MP1 based platforms, wich default UART is wired on
121162c1594dSErwan Le Ray		  UART4, but another UART instance can be selected by modifying
121262c1594dSErwan Le Ray		  CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
121362c1594dSErwan Le Ray
121462c1594dSErwan Le Ray		  If unsure, say N.
121562c1594dSErwan Le Ray
12161da177e4SLinus Torvalds	config TEGRA_DEBUG_UART_AUTO_ODMDATA
12171da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
12181da177e4SLinus Torvalds		depends on ARCH_TEGRA
12191da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12201da177e4SLinus Torvalds		help
12211da177e4SLinus Torvalds		  Automatically determines which UART to use for low-level
12221da177e4SLinus Torvalds		  debug based on the ODMDATA value. This value is part of
12231da177e4SLinus Torvalds		  the BCT, and is written to the boot memory device using
12241da177e4SLinus Torvalds		  nvflash, or other flashing tool.  When bits 19:18 are 3,
12251da177e4SLinus Torvalds		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
12261da177e4SLinus Torvalds		  are UART A/B/C/D/E.
12271da177e4SLinus Torvalds
12281da177e4SLinus Torvalds	config TEGRA_DEBUG_UARTA
12291da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART A"
12301da177e4SLinus Torvalds		depends on ARCH_TEGRA
12311da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12321da177e4SLinus Torvalds		help
12331da177e4SLinus Torvalds		  Say Y here if you want kernel low-level debugging support
12341da177e4SLinus Torvalds		  on Tegra based platforms.
1235e76f4750SRussell King
1236e76f4750SRussell King	config TEGRA_DEBUG_UARTB
1237e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
1238e76f4750SRussell King		depends on ARCH_TEGRA
1239e76f4750SRussell King		select DEBUG_TEGRA_UART
1240e76f4750SRussell King		help
1241e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1242e76f4750SRussell King		  on Tegra based platforms.
1243e76f4750SRussell King
1244e76f4750SRussell King	config TEGRA_DEBUG_UARTC
1245e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
1246e76f4750SRussell King		depends on ARCH_TEGRA
1247e76f4750SRussell King		select DEBUG_TEGRA_UART
1248e76f4750SRussell King		help
1249e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1250e76f4750SRussell King		  on Tegra based platforms.
1251e76f4750SRussell King
1252e76f4750SRussell King	config TEGRA_DEBUG_UARTD
1253e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
1254e76f4750SRussell King		depends on ARCH_TEGRA
1255e76f4750SRussell King		select DEBUG_TEGRA_UART
1256e76f4750SRussell King		help
1257e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1258e76f4750SRussell King		  on Tegra based platforms.
1259e76f4750SRussell King
1260e76f4750SRussell King	config TEGRA_DEBUG_UARTE
1261e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
1262e76f4750SRussell King		depends on ARCH_TEGRA
1263e76f4750SRussell King		select DEBUG_TEGRA_UART
1264e76f4750SRussell King		help
1265e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1266e76f4750SRussell King		  on Tegra based platforms.
1267e76f4750SRussell King
1268f87b95ddSLinus Walleij	config DEBUG_UX500_UART
1269f87b95ddSLinus Walleij		depends on ARCH_U8500
1270f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
1271f87b95ddSLinus Walleij		help
1272f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
1273f87b95ddSLinus Walleij		  on Ux500 based platforms.
1274f87b95ddSLinus Walleij
12754db22c10SArnd Bergmann	config DEBUG_VERSATILE
12764db22c10SArnd Bergmann		bool "Kernel low-level debugging messages via ARM Versatile UART"
12774db22c10SArnd Bergmann		depends on ARCH_VERSATILE
12784db22c10SArnd Bergmann		select DEBUG_UART_PL01X
1279d6682085SMatthias Brugger		help
1280d6682085SMatthias Brugger		  Say Y here if you want kernel low-level debugging support
12814db22c10SArnd Bergmann		  on ARM Versatile platforms.
128265ec48c0SJoe.C
12831b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
12841b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
12851b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
12861b820eafSPawel Moll		help
12871b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
12881b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
12891b820eafSPawel Moll		  choose the relevant UART0 base address.
12901b820eafSPawel Moll
12911b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
12921b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
12931b820eafSPawel Moll
12941b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
12951b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
12961b820eafSPawel Moll		depends on ARCH_VEXPRESS
12975c972af4SRussell King		select DEBUG_UART_PL01X
12981b820eafSPawel Moll		help
12991b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
13001b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
13011b820eafSPawel Moll
13021b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
13031b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
13041b820eafSPawel Moll		depends on ARCH_VEXPRESS
13055c972af4SRussell King		select DEBUG_UART_PL01X
13061b820eafSPawel Moll		help
13071b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
13081b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
13091b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
13101b820eafSPawel Moll
1311ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
1312ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1313ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
13145c972af4SRussell King		select DEBUG_UART_PL01X
1315ed18bdc8SJonathan Austin		help
1316ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
1317ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1318ed18bdc8SJonathan Austin
13191dc93416SArnd Bergmann	config DEBUG_VF_UART
13201dc93416SArnd Bergmann		bool "Vybrid UART"
13211dc93416SArnd Bergmann		depends on SOC_VF610
13221dc93416SArnd Bergmann		help
13231dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
13241dc93416SArnd Bergmann		  on Vybrid based platforms.
13251dc93416SArnd Bergmann
1326b61a2722STony Prisk	config DEBUG_VT8500_UART0
1327b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
1328b61a2722STony Prisk		depends on ARCH_VT8500
1329b61a2722STony Prisk		help
1330b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1331b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
1332b61a2722STony Prisk
13331dc93416SArnd Bergmann	config DEBUG_ZYNQ_UART0
13341dc93416SArnd Bergmann		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
13351dc93416SArnd Bergmann		depends on ARCH_ZYNQ
13361dc93416SArnd Bergmann		help
13371dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
13381dc93416SArnd Bergmann		  their output to UART0 on the Zynq platform.
13391dc93416SArnd Bergmann
13401dc93416SArnd Bergmann	config DEBUG_ZYNQ_UART1
13411dc93416SArnd Bergmann		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
13421dc93416SArnd Bergmann		depends on ARCH_ZYNQ
13431dc93416SArnd Bergmann		help
13441dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
13451dc93416SArnd Bergmann		  their output to UART1 on the Zynq platform.
13461dc93416SArnd Bergmann
13471dc93416SArnd Bergmann		  If you have a ZC702 board and want early boot messages to
13481dc93416SArnd Bergmann		  appear on the USB serial adaptor, select this option.
13491dc93416SArnd Bergmann
1350e76f4750SRussell King	config DEBUG_ICEDCC
1351e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1352e76f4750SRussell King		help
1353e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1354e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
1355e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
1356e76f4750SRussell King		  channel and on the XScale with the PEEDI.
1357e76f4750SRussell King
1358e76f4750SRussell King		  Note that the system will appear to hang during boot if there
1359e76f4750SRussell King		  is nothing connected to read from the DCC.
1360e76f4750SRussell King
1361b0df8986SRussell King	config DEBUG_SEMIHOSTING
136262194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
1363b0df8986SRussell King		help
1364b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
1365b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
136662194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
1367b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
1368b0df8986SRussell King		  otherwise the kernel will crash.
1369b0df8986SRussell King
1370b0df8986SRussell King		  This is known to work with OpenOCD, as well as
1371b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
1372b0df8986SRussell King		  that implements semihosting.
1373b0df8986SRussell King
1374b0df8986SRussell King		  For more details about semihosting, please see
1375b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1376b0df8986SRussell King
1377f8f1279cSRussell King	config DEBUG_LL_UART_8250
1378f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
1379f8f1279cSRussell King		help
1380f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1381f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
1382f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
1383f8f1279cSRussell King		  selecting one of the platform specific options above if
1384f8f1279cSRussell King		  you know the parameters for the port.
1385f8f1279cSRussell King
1386f8f1279cSRussell King		  This option is preferred over the platform specific
1387f8f1279cSRussell King		  options; the platform specific options are deprecated
1388f8f1279cSRussell King		  and will be soon removed.
1389f8f1279cSRussell King
1390f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
1391f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1392f8f1279cSRussell King		help
1393f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1394f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
1395f8f1279cSRussell King		  this option to provide the parameters for the UART
1396f8f1279cSRussell King		  rather than selecting one of the platform specific
1397f8f1279cSRussell King		  options above if you know the parameters for the port.
1398f8f1279cSRussell King
1399f8f1279cSRussell King		  This option is preferred over the platform specific
1400f8f1279cSRussell King		  options; the platform specific options are deprecated
1401f8f1279cSRussell King		  and will be soon removed.
1402f8f1279cSRussell King
14031da177e4SLinus Torvaldsendchoice
14041da177e4SLinus Torvalds
14058b2f2d03SAlexandre Belloniconfig DEBUG_AT91_UART
14068b2f2d03SAlexandre Belloni	bool
14078b2f2d03SAlexandre Belloni	depends on ARCH_AT91
14088b2f2d03SAlexandre Belloni
1409a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
1410a2e40710SArnd Bergmann	bool
1411a2e40710SArnd Bergmann
1412bb08dea1SArnd Bergmannconfig DEBUG_S3C64XX_UART
1413bb08dea1SArnd Bergmann	bool
1414bb08dea1SArnd Bergmann
14157bab7d9eSTomasz Figaconfig DEBUG_S5PV210_UART
14167bab7d9eSTomasz Figa	bool
14177bab7d9eSTomasz Figa
1418b3a77512SArnd Bergmannconfig DEBUG_S3C_UART
1419*61b7f892SArnd Bergmann	depends on DEBUG_S3C64XX_UART ||  DEBUG_S5PV210_UART || \
1420b3a77512SArnd Bergmann		   DEBUG_EXYNOS_UART
1421b3a77512SArnd Bergmann	int
1422b3a77512SArnd Bergmann	default "0" if DEBUG_S3C_UART0
1423b3a77512SArnd Bergmann	default "1" if DEBUG_S3C_UART1
1424b3a77512SArnd Bergmann	default "2" if DEBUG_S3C_UART2
1425b3a77512SArnd Bergmann	default "3" if DEBUG_S3C_UART3
1426b3a77512SArnd Bergmann
1427cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
1428cce278d2SRussell King	bool
1429cce278d2SRussell King	depends on ARCH_OMAP2PLUS
1430cce278d2SRussell King
1431f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
14327c41ea57SUwe Kleine-König	int "i.MX Debug UART Port Selection"
14337c41ea57SUwe Kleine-König	depends on DEBUG_IMX1_UART || \
1434f8c95fe6SShawn Guo		   DEBUG_IMX25_UART || \
1435b0100bceSLukas Bulwahn		   DEBUG_IMX27_UART || \
1436f8c95fe6SShawn Guo		   DEBUG_IMX31_UART || \
1437f8c95fe6SShawn Guo		   DEBUG_IMX35_UART || \
1438ad364a70SGreg Ungerer		   DEBUG_IMX50_UART || \
1439f8c95fe6SShawn Guo		   DEBUG_IMX51_UART || \
14400c52db7eSPaul Bolle		   DEBUG_IMX53_UART || \
144134e8a16bSShawn Guo		   DEBUG_IMX6Q_UART || \
144274368e81SShawn Guo		   DEBUG_IMX6SL_UART || \
144352d7aec2SAnson Huang		   DEBUG_IMX6SX_UART || \
144420c305f6SAnson Huang		   DEBUG_IMX6UL_UART || \
144552d7aec2SAnson Huang		   DEBUG_IMX7D_UART
144649c9e60eSShawn Guo	default 1
144749c9e60eSShawn Guo	help
144849c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
144949c9e60eSShawn Guo	  should be output.
145049c9e60eSShawn Guo
1451cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
1452cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1453cfdb7d56SStefan Agner	default 1
1454cfdb7d56SStefan Agner	range 0 3
1455cfdb7d56SStefan Agner	depends on SOC_VF610
1456cfdb7d56SStefan Agner	help
1457cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
1458cfdb7d56SStefan Agner	  should be output.
1459cfdb7d56SStefan Agner
1460cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
1461cce278d2SRussell King	bool
1462cce278d2SRussell King	depends on ARCH_TEGRA
1463808b7e07STony Lindgren
1464d88bb418SGerald Baezaconfig DEBUG_STM32_UART
1465d88bb418SGerald Baeza	bool
1466d88bb418SGerald Baeza	depends on ARCH_STM32
1467d88bb418SGerald Baeza
14684df24fefSLinus Walleijconfig DEBUG_UART_FLOW_CONTROL
14694df24fefSLinus Walleij	bool "Enable flow control (CTS) for the debug UART"
14704df24fefSLinus Walleij	depends on DEBUG_LL
14713e3f354bSArnd Bergmann	default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
14724df24fefSLinus Walleij	help
14734df24fefSLinus Walleij	  Some UART ports are connected to terminals that will use modem
14744df24fefSLinus Walleij	  control signals to indicate whether they are ready to receive text.
14754df24fefSLinus Walleij	  In practice this means that the terminal is asserting the special
14764df24fefSLinus Walleij	  control signal CTS (Clear To Send). If your debug UART supports
14774df24fefSLinus Walleij	  this and your debug terminal will require it, enable this option.
14784df24fefSLinus Walleij
147991a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
148091a9fec0SRob Herring	string
1481e6131fa3SDmitry Eremin-Solenikov	default "debug/sa1100.S" if DEBUG_SA1100
14820c532546SMans Rullgard	default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1483f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
148442dfd1e1SNicolas Ferre	default "debug/at91.S" if DEBUG_AT91_UART
1485d5bd4e8dSOleksij Rempel	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1486dd99eef5SAlexander Shiyan	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
14870045c0ddSArnd Bergmann	default "debug/dc21285.S" if DEBUG_DC21285_PORT
1488d8a00916SCarlo Caione	default "debug/meson.S" if DEBUG_MESON_UARTAO
1489f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1490a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
149191a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
14926dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
14936dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
1494b0100bceSLukas Bulwahn				 DEBUG_IMX27_UART || \
14954ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
14964ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1497ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
14986dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
14997356420cSFabio Estevam				 DEBUG_IMX53_UART || \
150034e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
150174368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
150252d7aec2SAnson Huang				 DEBUG_IMX6SX_UART || \
150320c305f6SAnson Huang				 DEBUG_IMX6UL_UART || \
150452d7aec2SAnson Huang				 DEBUG_IMX7D_UART
1505c0c89fafSStephen Boyd	default "debug/msm.S" if DEBUG_QCOM_UARTDM
1506808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
15077a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1508e9670ccbSGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
1509e9670ccbSGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
15107a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
15117a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
15127a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
15132f095c26SBiju Das	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
15147a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
15158e5f2d65SFabrizio Castro	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
151696866b1aSLad Prabhakar	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
15177a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
15187a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
15197a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1520*61b7f892SArnd Bergmann	default "debug/s3c24xx.S" if DEBUG_S3C64XX_UART
15217bab7d9eSTomasz Figa	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
15229ca4efecSAlain VOLMAT	default "debug/sti.S" if DEBUG_STIH41X_ASC2
15239ca4efecSAlain VOLMAT	default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
15246e959ad8SAlain VOLMAT	default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
1525d88bb418SGerald Baeza	default "debug/stm32.S" if DEBUG_STM32_UART
1526150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1527150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
15284e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1529c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1530b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1531385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
15326c548099SArnd Bergmann	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1533e23814daSBaruch Siach	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1534d0cf9d8aSFlorian Fainelli	default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
153591a9fec0SRob Herring	default "mach/debug-macro.S"
153691a9fec0SRob Herring
1537f8f1279cSRussell King# Compatibility options for PL01x
15385c972af4SRussell Kingconfig DEBUG_UART_PL01X
1539a61cbf51SDaniel Thompson	bool
15405c972af4SRussell King
1541f8f1279cSRussell King# Compatibility options for 8250
15427610b607SRussell Kingconfig DEBUG_UART_8250
1543b91a69d1SArnd Bergmann	def_bool ARCH_IXP4XX || ARCH_RPC
15444a003647SRussell King
1545c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1546c3faa9b7SRussell King	hex "Physical base address of debug UART"
1547c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1548c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
154997bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
155097bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1551c4718543SChen-Yu Tsai	default 0x01f02800 if DEBUG_SUNXI_R_UART
1552f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1553f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1554c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
1555d4da889aSChen-Yu Tsai	default 0x07000000 if DEBUG_SUN9I_UART0
15566e959ad8SAlain VOLMAT	default 0x09530000 if DEBUG_STIH418_SBC_ASC0
1557b125170aSKrzysztof Hałasa	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
15585c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
15595c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1560c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1561c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
15624db22c10SArnd Bergmann	default 0x101f1000 if DEBUG_VERSATILE
15635c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
1564a3b882f9SAndy Yan	default 0x10210000 if DEBUG_RV1108_UART2
1565a3b882f9SAndy Yan	default 0x10220000 if DEBUG_RV1108_UART1
1566a3b882f9SAndy Yan	default 0x10230000 if DEBUG_RV1108_UART0
156765ec48c0SJoe.C	default 0x11002000 if DEBUG_MT8127_UART0
1568d6682085SMatthias Brugger	default 0x11006000 if DEBUG_MT6589_UART0
156965ec48c0SJoe.C	default 0x11009000 if DEBUG_MT8135_UART3
15704db22c10SArnd Bergmann	default 0x16000000 if DEBUG_INTEGRATOR
1571c5fdb668SKefeng Wang	default 0x1600d000 if DEBUG_SD5203_UART
157206580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
1573fa1e581dSFlorian Fainelli	default 0x18000400 if DEBUG_BCM_HR2
1574295898baSClément Peron	default 0x18023000 if DEBUG_BCM_IPROC_UART3
15755c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1576624b9d83SRomain Perier	default 0x1f221000 if DEBUG_MSTARV7_PMUART
157727dafaa8SWang Long	default 0x20001000 if DEBUG_HIP01_UART
1578c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1579c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1580c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
15815c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1582753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1583f3f49e42SClément Peron	default 0x3f201000 if DEBUG_BCM2836
158462c1594dSErwan Le Ray	default 0x40010000 if STM32MP1_DEBUG_UART
158533cab895SErwan Le Ray	default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
158633cab895SErwan Le Ray				STM32H7_DEBUG_UART
158763e07c0fSSzemző András	default 0x40028000 if DEBUG_AT91_SAMV7_USART1
15880aed6a37SJoachim Eastwood	default 0x40081000 if DEBUG_LPC18XX_UART0
158959bd4c38SArnd Bergmann	default 0x40090000 if DEBUG_LPC32XX
1590c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1591d7175a3bSArnd Bergmann	default 0x42000000 if DEBUG_GEMINI
159251ef7003STony Lindgren	default 0x44e09000 if DEBUG_AM33XXUART1
15932d1f7d2eSTony Lindgren	default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
15942d1f7d2eSTony Lindgren	default 0x48022000 if DEBUG_TI81XXUART2
15952d1f7d2eSTony Lindgren	default 0x48024000 if DEBUG_TI81XXUART3
1596d2b310b0STony Lindgren	default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1597d2b310b0STony Lindgren				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1598d2b310b0STony Lindgren	default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1599d2b310b0STony Lindgren				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1600fc23beb8STony Lindgren	default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1601fc23beb8STony Lindgren	default 0x49020000 if DEBUG_OMAP3UART3
1602fc23beb8STony Lindgren	default 0x49042000 if DEBUG_OMAP3UART4
16030045c0ddSArnd Bergmann	default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1604bb08dea1SArnd Bergmann	default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1605bb08dea1SArnd Bergmann	default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1606bb08dea1SArnd Bergmann	default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1607bb08dea1SArnd Bergmann	default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1608d5bd4e8dSOleksij Rempel	default 0x80010000 if DEBUG_ASM9260_UART
16095c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
16105c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1611f06455faSArnd Bergmann	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
16125c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
16135c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1614c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1615c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1616375d84cfSArnd Bergmann	default 0xd0000000 if DEBUG_SPEAR3XX
1617d91125ddSMaxime Ripard	default 0xd0012000 if DEBUG_MVEBU_UART0
1618d8a00916SCarlo Caione	default 0xc81004c0 if DEBUG_MESON_UARTAO
1619c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1620c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
1621375d84cfSArnd Bergmann	default 0xe0000000 if DEBUG_SPEAR13XX
16226041558eSKavyasree Kotagiri	default 0xe0064200 if DEBUG_AT91_LAN966_FLEXCOM
1623577cb67aSEugen Hristev	default 0xe1824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1624c9a1df48SHaojian Zhuang	default 0xe4007000 if DEBUG_HIP04_UART
16257a2071c5SGeert Uytterhoeven	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
16267a2071c5SGeert Uytterhoeven	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
162796866b1aSLad Prabhakar	default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
16287a2071c5SGeert Uytterhoeven	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
16297a2071c5SGeert Uytterhoeven	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
16307a2071c5SGeert Uytterhoeven	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
16312f095c26SBiju Das	default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
16328e5f2d65SFabrizio Castro	default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
1633e9670ccbSGeert Uytterhoeven	default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
1634e9670ccbSGeert Uytterhoeven	default 0xe8009000 if DEBUG_R7S9210_SCIF4
1635876e645fSArnd Bergmann	default 0xf0000000 if DEBUG_DIGICOLOR_UA0
1636d91125ddSMaxime Ripard	default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1637bd920490SMaxime Ripard	default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1638caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
16398b2f2d03SAlexandre Belloni	default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
164012aae309SHaifeng Yan	default 0xf8b00000 if DEBUG_HIX5HD2_UART
16417098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
16428b2f2d03SAlexandre Belloni	default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
16438d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
16443c215e64STsahee Zidenberg	default 0xfd883000 if DEBUG_ALPINE_UART0
16459ca4efecSAlain VOLMAT	default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
16469ca4efecSAlain VOLMAT	default 0xfed32000 if DEBUG_STIH41X_ASC2
1647efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
1648de73c162SDinh Nguyen	default 0xffc02000 if DEBUG_SOCFPGA_UART0
1649f6628486SClément Péron	default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1650f6628486SClément Péron	default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
16517a2071c5SGeert Uytterhoeven	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
16527a2071c5SGeert Uytterhoeven	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
16535c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
16540d7bb85eSArnd Bergmann	default 0xfffb0000 if DEBUG_OMAP1UART1
16550d7bb85eSArnd Bergmann	default 0xfffb0800 if DEBUG_OMAP1UART2
16560d7bb85eSArnd Bergmann	default 0xfffb9800 if DEBUG_OMAP1UART3
16576c548099SArnd Bergmann	default 0xfffe8600 if DEBUG_BCM63XX_UART
16588b2f2d03SAlexandre Belloni	default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
16598b2f2d03SAlexandre Belloni	default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1660d02fde7fSDaniel Thompson	depends on ARCH_EP93XX || \
1661d02fde7fSDaniel Thompson	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1662d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
16634d31e664SDaniel Thompson		DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1664e9670ccbSGeert Uytterhoeven		DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
16657a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
16662f095c26SBiju Das		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
16672f095c26SBiju Das		DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
166896866b1aSLad Prabhakar		DEBUG_RCAR_GEN2_SCIFA2 || \
16697a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1670*61b7f892SArnd Bergmann		DEBUG_RMOBILE_SCIFA4 || \
1671bb08dea1SArnd Bergmann		DEBUG_S3C64XX_UART || \
16726c548099SArnd Bergmann		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1673f3a73284SArnd Bergmann		DEBUG_DIGICOLOR_UA0 || \
16749ca4efecSAlain VOLMAT		DEBUG_AT91_UART || DEBUG_STM32_UART || \
16756e959ad8SAlain VOLMAT		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
16766e959ad8SAlain VOLMAT		DEBUG_STIH418_SBC_ASC0
1677c3faa9b7SRussell King
1678c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1679c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1680a3b882f9SAndy Yan	default 0xc881f000 if DEBUG_RV1108_UART2
1681a3b882f9SAndy Yan	default 0xc8821000 if DEBUG_RV1108_UART1
1682a3b882f9SAndy Yan	default 0xc8912000 if DEBUG_RV1108_UART0
1683c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
1684577cb67aSEugen Hristev	default 0xe0824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1685d5bd4e8dSOleksij Rempel	default 0xf0010000 if DEBUG_ASM9260_UART
1686876e645fSArnd Bergmann	default 0xf0100000 if DEBUG_DIGICOLOR_UA0
16875c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
16885234c34eSEric Anholt	default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1689624b9d83SRomain Perier	default 0xf0221000 if DEBUG_MSTARV7_PMUART
169006580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
1691fa1e581dSFlorian Fainelli	default 0xf1000400 if DEBUG_BCM_HR2
169265ec48c0SJoe.C	default 0xf1002000 if DEBUG_MT8127_UART0
1693d6682085SMatthias Brugger	default 0xf1006000 if DEBUG_MT6589_UART0
169465ec48c0SJoe.C	default 0xf1009000 if DEBUG_MT8135_UART3
1695295898baSClément Peron	default 0xf1023000 if DEBUG_BCM_IPROC_UART3
16964db22c10SArnd Bergmann	default 0xf11f1000 if DEBUG_VERSATILE
16974db22c10SArnd Bergmann	default 0xf1600000 if DEBUG_INTEGRATOR
1698c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1699c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1700c4718543SChen-Yu Tsai	default 0xf1f02800 if DEBUG_SUNXI_R_UART
17011dc93416SArnd Bergmann	default 0xf31004c0 if DEBUG_MESON_UARTAO
170259bd4c38SArnd Bergmann	default 0xf4090000 if DEBUG_LPC32XX
1703d7175a3bSArnd Bergmann	default 0xf4200000 if DEBUG_GEMINI
1704cde7fc87SRobert Jarzmik	default 0xf6200000 if DEBUG_PXA_UART1
1705d4da889aSChen-Yu Tsai	default 0xf7000000 if DEBUG_SUN9I_UART0
1706bb08dea1SArnd Bergmann	default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1707bb08dea1SArnd Bergmann	default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1708bb08dea1SArnd Bergmann	default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1709bb08dea1SArnd Bergmann	default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
17108b2f2d03SAlexandre Belloni	default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1711caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
1712c9a1df48SHaojian Zhuang	default 0xf8007000 if DEBUG_HIP04_UART
17135c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
17145c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
17158b2f2d03SAlexandre Belloni	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
17168b2f2d03SAlexandre Belloni	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
17176e959ad8SAlain VOLMAT	default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
171851ef7003STony Lindgren	default 0xf9e09000 if DEBUG_AM33XXUART1
17192d1f7d2eSTony Lindgren	default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
17202d1f7d2eSTony Lindgren	default 0xfa022000 if DEBUG_TI81XXUART2
17212d1f7d2eSTony Lindgren	default 0xfa024000 if DEBUG_TI81XXUART3
1722d2b310b0STony Lindgren	default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1723d2b310b0STony Lindgren				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1724d2b310b0STony Lindgren	default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1725d2b310b0STony Lindgren				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1726fc23beb8STony Lindgren	default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
17277098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
17285c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
17298b2f2d03SAlexandre Belloni	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1730fc23beb8STony Lindgren	default 0xfb020000 if DEBUG_OMAP3UART3
1731fc23beb8STony Lindgren	default 0xfb042000 if DEBUG_OMAP3UART4
17325c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
17336c548099SArnd Bergmann	default 0xfcfe8600 if DEBUG_BCM63XX_UART
1734375d84cfSArnd Bergmann	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
17356041558eSKavyasree Kotagiri	default 0xfd064200 if DEBUG_AT91_LAN966_FLEXCOM
17369ca4efecSAlain VOLMAT	default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
17373c215e64STsahee Zidenberg	default 0xfd883000 if DEBUG_ALPINE_UART0
17389ca4efecSAlain VOLMAT	default 0xfdd32000 if DEBUG_STIH41X_ASC2
173962c1594dSErwan Le Ray	default 0xfe010000 if STM32MP1_DEBUG_UART
1740c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1741c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
17425c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1743753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
174412aae309SHaifeng Yan	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1745c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1746c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1747f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1748f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1749de73c162SDinh Nguyen	default 0xfec02000 if DEBUG_SOCFPGA_UART0
1750f6628486SClément Péron	default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1751f6628486SClément Péron	default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
17523584be9eSArnd Bergmann	default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1753bd920490SMaxime Ripard	default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1754efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
175597bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1756c5fdb668SKefeng Wang	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
1757c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1758c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1759c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1760f06455faSArnd Bergmann	default 0xfedc0000 if DEBUG_EP93XX
17610045c0ddSArnd Bergmann	default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
17625c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1763713ce38dSLinus Walleij	default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1764713ce38dSLinus Walleij	default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1765c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
17660d7bb85eSArnd Bergmann	default 0xff0b0000 if DEBUG_OMAP1UART1
17670d7bb85eSArnd Bergmann	default 0xff0b0800 if DEBUG_OMAP1UART2
17680d7bb85eSArnd Bergmann	default 0xff0b9800 if DEBUG_OMAP1UART3
176927dafaa8SWang Long	default 0xffd01000 if DEBUG_HIP01_UART
17705c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1771f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1772d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1773*61b7f892SArnd Bergmann		DEBUG_QCOM_UARTDM || \
1774bb08dea1SArnd Bergmann		DEBUG_S3C64XX_UART || \
17756c548099SArnd Bergmann		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1776f3a73284SArnd Bergmann		DEBUG_DIGICOLOR_UA0 || \
17779ca4efecSAlain VOLMAT		DEBUG_AT91_UART || DEBUG_STM32_UART || \
17786e959ad8SAlain VOLMAT		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
17796e959ad8SAlain VOLMAT		DEBUG_STIH418_SBC_ASC0
1780c3faa9b7SRussell King
17814a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
17824a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1783f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1784b91a69d1SArnd Bergmann	default 0 if DEBUG_FOOTBRIDGE_COM1 || DEBUG_BCM_5301X || \
1785fa1e581dSFlorian Fainelli		DEBUG_BCM_HR2 || DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || \
1786fa1e581dSFlorian Fainelli		DEBUG_OMAP7XXUART3
1787624b9d83SRomain Perier	default 3 if DEBUG_MSTARV7_PMUART
17884a003647SRussell King	default 2
17897610b607SRussell King
17900b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
17910b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1792f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
17930b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1794665a8799SRob Herring	default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1795f6628486SClément Péron		DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1796f6628486SClément Péron		DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
17972af4fcc0SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART1 || DEBUG_DAVINCI_DA8XX_UART2 || \
17982af4fcc0SArnd Bergmann		DEBUG_BCM_IPROC_UART3 || DEBUG_BCM_KONA_UART || \
17992af4fcc0SArnd Bergmann		DEBUG_RK32_UART2
18000b4cccbeSRussell King
18010c532546SMans Rullgardconfig DEBUG_UART_8250_PALMCHIP
18020c532546SMans Rullgard	bool "8250 UART is Palmchip BK-310x"
18030c532546SMans Rullgard	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
18040c532546SMans Rullgard	help
18050c532546SMans Rullgard	  Palmchip provides a UART implementation compatible with 16550
18060c532546SMans Rullgard	  except for having a different register layout.  Say Y here if
18070c532546SMans Rullgard	  the debug UART is of this type.
18080c532546SMans Rullgard
18093b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
181029337b60SRussell King	bool "Enable decompressor debugging via DEBUG_LL output"
181184fc8636SArnd Bergmann	depends on !ARCH_MULTIPLATFORM
18126fd09c9aSArnd Bergmann	depends on !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
181329337b60SRussell King	depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1814d0cf9d8aSFlorian Fainelli		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
18155ed801d0SLinus Walleij		     !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
1816b6992fa9SRussell King	help
1817b6992fa9SRussell King	  This option influences the normal decompressor output for
1818b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1819b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1820b6992fa9SRussell King	  send the decompressor output.
1821b6992fa9SRussell King
1822b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1823b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1824b6992fa9SRussell King	  kernels.
1825b6992fa9SRussell King
18263b4af9bcSShawn Guo
1827615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1828615967b0SShawn Guo	string
18296fd09c9aSArnd Bergmann	default "mach/uncompress.h" if ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100
18306fd09c9aSArnd Bergmann	default "debug/uncompress.h"
1831615967b0SShawn Guo
18321da177e4SLinus Torvaldsconfig EARLY_PRINTK
18331da177e4SLinus Torvalds	bool "Early printk"
18341da177e4SLinus Torvalds	depends on DEBUG_LL
18351da177e4SLinus Torvalds	help
18361da177e4SLinus Torvalds	  Say Y here if you want to have an early console using the
18371da177e4SLinus Torvalds	  kernel low-level debugging functions. Add earlyprintk to your
18381da177e4SLinus Torvalds	  kernel parameters to enable this console.
18391da177e4SLinus Torvalds
18401da177e4SLinus Torvaldsconfig ARM_KPROBES_TEST
18411da177e4SLinus Torvalds	tristate "Kprobes test module"
18421da177e4SLinus Torvalds	depends on KPROBES && MODULES
18431da177e4SLinus Torvalds	help
18441da177e4SLinus Torvalds	  Perform tests of kprobes API and instruction set simulation.
18451da177e4SLinus Torvalds
1846575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1847575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1848575320d6SWill Deacon	depends on CPU_COPY_V6
1849575320d6SWill Deacon	help
1850575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1851575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1852575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1853575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1854575320d6SWill Deacon
185501081f5aSMathieu Poiriersource "drivers/hwtracing/coresight/Kconfig"
1856