xref: /linux/arch/arm/Kconfig.debug (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
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
20*a90f0a02SChristophe Leroyconfig ARM_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
931da177e4SLinus Torvaldsconfig DEBUG_USER
941da177e4SLinus Torvalds	bool "Verbose user fault messages"
951da177e4SLinus Torvalds	help
961da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
971da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
981da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
991da177e4SLinus Torvalds	  production system. Most people should say N here.
1001da177e4SLinus Torvalds
1011da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
1021da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
1031da177e4SLinus Torvalds
1041da177e4SLinus Torvalds	      1 - undefined instruction events
1051da177e4SLinus Torvalds	      2 - system calls
1061da177e4SLinus Torvalds	      4 - invalid data aborts
1071da177e4SLinus Torvalds	      8 - SIGSEGV faults
1081da177e4SLinus Torvalds	     16 - SIGBUS faults
1091da177e4SLinus Torvalds
1101da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
1111da177e4SLinus Torvaldsconfig DEBUG_LL
1124f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
1131da177e4SLinus Torvalds	depends on DEBUG_KERNEL
1141da177e4SLinus Torvalds	help
11535efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
1161da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
1171da177e4SLinus Torvalds	  executes before the console is initialized.
1181da177e4SLinus Torvalds
1194f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
1204f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
1214f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
1224f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
1234f5ef922SWill Deacon
12417916b28SWill Deaconchoice
12517916b28SWill Deacon	prompt "Kernel low-level debugging port"
12617916b28SWill Deacon	depends on DEBUG_LL
12717916b28SWill Deacon
1283c215e64STsahee Zidenberg	config DEBUG_ALPINE_UART0
1293c215e64STsahee Zidenberg		bool "Kernel low-level debugging messages via Alpine UART0"
1303c215e64STsahee Zidenberg		depends on ARCH_ALPINE
1313c215e64STsahee Zidenberg		select DEBUG_UART_8250
1323c215e64STsahee Zidenberg		help
1333c215e64STsahee Zidenberg		  Say Y here if you want kernel low-level debugging support
1343c215e64STsahee Zidenberg		  on Alpine based platforms.
1353c215e64STsahee Zidenberg
136d5bd4e8dSOleksij Rempel	config DEBUG_ASM9260_UART
137d5bd4e8dSOleksij Rempel		bool "Kernel low-level debugging via asm9260 UART"
138d5bd4e8dSOleksij Rempel		depends on MACH_ASM9260
139d5bd4e8dSOleksij Rempel		help
140d5bd4e8dSOleksij Rempel		  Say Y here if you want the debug print routines to direct
141d5bd4e8dSOleksij Rempel		  their output to an UART or USART port on asm9260 based
142d5bd4e8dSOleksij Rempel		  machines.
143d5bd4e8dSOleksij Rempel
144d5bd4e8dSOleksij Rempel		    DEBUG_UART_PHYS | DEBUG_UART_VIRT
145d5bd4e8dSOleksij Rempel
146d5bd4e8dSOleksij Rempel		    0x80000000      | 0xf0000000     | UART0
147d5bd4e8dSOleksij Rempel		    0x80004000      | 0xf0004000     | UART1
148d5bd4e8dSOleksij Rempel		    0x80008000      | 0xf0008000     | UART2
149d5bd4e8dSOleksij Rempel		    0x8000c000      | 0xf000c000     | UART3
150d5bd4e8dSOleksij Rempel		    0x80010000      | 0xf0010000     | UART4
151d5bd4e8dSOleksij Rempel		    0x80014000      | 0xf0014000     | UART5
152d5bd4e8dSOleksij Rempel		    0x80018000      | 0xf0018000     | UART6
153d5bd4e8dSOleksij Rempel		    0x8001c000      | 0xf001c000     | UART7
154d5bd4e8dSOleksij Rempel		    0x80020000      | 0xf0020000     | UART8
155d5bd4e8dSOleksij Rempel		    0x80024000      | 0xf0024000     | UART9
156d5bd4e8dSOleksij Rempel
1578b2f2d03SAlexandre Belloni	config DEBUG_AT91_RM9200_DBGU
15880f58695SClaudiu Beznea		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
1598b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
16080f58695SClaudiu Beznea		depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
1616f112a08SAlexandre Belloni		help
1628b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1638b2f2d03SAlexandre Belloni		  on the DBGU port of:
1648b2f2d03SAlexandre Belloni		    at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
16580f58695SClaudiu Beznea		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60
16613079a73SJean-Christophe PLAGNIOL-VILLARD
1678b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAM9263_DBGU
1688b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
1698b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1708b2f2d03SAlexandre Belloni		depends on SOC_AT91SAM9 || SOC_SAMA5D3
1718b2f2d03SAlexandre Belloni		help
1728b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1738b2f2d03SAlexandre Belloni		  on the DBGU port of:
1748b2f2d03SAlexandre Belloni		    at91sam9263, at91sam9g45, at91sam9m10,
1758b2f2d03SAlexandre Belloni		    sama5d3
17613079a73SJean-Christophe PLAGNIOL-VILLARD
1778b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAMA5D2_UART1
1788b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on SAMA5D2 UART1"
1798b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1808b2f2d03SAlexandre Belloni		depends on SOC_SAMA5D2
1818b2f2d03SAlexandre Belloni		help
1828b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1838b2f2d03SAlexandre Belloni		  on the UART1 port of sama5d2.
1848b2f2d03SAlexandre Belloni
1858b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAMA5D4_USART3
1868b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on SAMA5D4 USART3"
1878b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1888b2f2d03SAlexandre Belloni		depends on SOC_SAMA5D4
1898b2f2d03SAlexandre Belloni		help
1908b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1918b2f2d03SAlexandre Belloni		  on the USART3 port of sama5d4.
192c268a743SNicolas Ferre
19363e07c0fSSzemző András	config DEBUG_AT91_SAMV7_USART1
19463e07c0fSSzemző András		bool "Kernel low-level debugging via SAMV7 USART1"
19563e07c0fSSzemző András		select DEBUG_AT91_UART
19663e07c0fSSzemző András		depends on SOC_SAMV7
19763e07c0fSSzemző András		help
19863e07c0fSSzemző András		  Say Y here if you want the debug print routines to direct
19963e07c0fSSzemző András		  their output to the USART1 port on SAMV7 based
20063e07c0fSSzemző András		  machines.
20163e07c0fSSzemző András
202577cb67aSEugen Hristev	config DEBUG_AT91_SAMA7G5_FLEXCOM3
203577cb67aSEugen Hristev		bool "Kernel low-level debugging on SAMA7G5 FLEXCOM3"
204577cb67aSEugen Hristev		select DEBUG_AT91_UART
205577cb67aSEugen Hristev		depends on SOC_SAMA7G5
206577cb67aSEugen Hristev		help
207577cb67aSEugen Hristev		  Say Y here if you want kernel low-level debugging support
208577cb67aSEugen Hristev		  on the FLEXCOM3 port of SAMA7G5.
209577cb67aSEugen Hristev
2106041558eSKavyasree Kotagiri	config DEBUG_AT91_LAN966_FLEXCOM
2116041558eSKavyasree Kotagiri		bool "Kernel low-level debugging on LAN966 FLEXCOM USART"
2126041558eSKavyasree Kotagiri		select DEBUG_AT91_UART
2136041558eSKavyasree Kotagiri		depends on SOC_LAN966
2146041558eSKavyasree Kotagiri		help
2156041558eSKavyasree Kotagiri		Say Y here if you want kernel low-level debugging support
2166041558eSKavyasree Kotagiri		on the FLEXCOM port of LAN966.
2176041558eSKavyasree Kotagiri
2186041558eSKavyasree Kotagiri		DEBUG_UART_PHYS | DEBUG_UART_VIRT
2196041558eSKavyasree Kotagiri
2206041558eSKavyasree Kotagiri		0xe0040200      | 0xfd040200     | FLEXCOM0
2216041558eSKavyasree Kotagiri		0xe0044200      | 0xfd044200     | FLEXCOM1
2226041558eSKavyasree Kotagiri		0xe0060200      | 0xfd060200     | FLEXCOM2
2236041558eSKavyasree Kotagiri		0xe0064200      | 0xfd064200     | FLEXCOM3
2246041558eSKavyasree Kotagiri		0xe0070200      | 0xfd070200     | FLEXCOM4
2256041558eSKavyasree Kotagiri
2266041558eSKavyasree Kotagiri		By default, enabling FLEXCOM3 port. Based on requirement, use
2276041558eSKavyasree Kotagiri		DEBUG_UART_PHYS and DEBUG_UART_VIRT configurations from above
2286041558eSKavyasree Kotagiri		table.
2296041558eSKavyasree Kotagiri
230f1ac922dSStephen Warren	config DEBUG_BCM2835
231f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
2325234c34eSEric Anholt		depends on ARCH_BCM2835 && ARCH_MULTI_V6
2335234c34eSEric Anholt		select DEBUG_UART_PL01X
2345234c34eSEric Anholt
2355234c34eSEric Anholt	config DEBUG_BCM2836
2365234c34eSEric Anholt		bool "Kernel low-level debugging on BCM2836 PL011 UART"
2375234c34eSEric Anholt		depends on ARCH_BCM2835 && ARCH_MULTI_V7
2385c972af4SRussell King		select DEBUG_UART_PL01X
239f1ac922dSStephen Warren
24006580275SHauke Mehrtens	config DEBUG_BCM_5301X
2412dc9e0b9SFlorian Fainelli		bool "Kernel low-level debugging on BCM5301X/NSP UART1"
2422dc9e0b9SFlorian Fainelli		depends on ARCH_BCM_5301X || ARCH_BCM_NSP
243140bd603SHauke Mehrtens		select DEBUG_UART_8250
24406580275SHauke Mehrtens
245fa1e581dSFlorian Fainelli	config DEBUG_BCM_HR2
246fa1e581dSFlorian Fainelli		bool "Kernel low-level debugging on Hurricane 2 UART2"
247fa1e581dSFlorian Fainelli		depends on ARCH_BCM_HR2
248fa1e581dSFlorian Fainelli		select DEBUG_UART_8250
249fa1e581dSFlorian Fainelli
250295898baSClément Peron	config DEBUG_BCM_IPROC_UART3
251295898baSClément Peron		bool "Kernel low-level debugging on BCM IPROC UART3"
252295898baSClément Peron		depends on ARCH_BCM_CYGNUS
253295898baSClément Peron		select DEBUG_UART_8250
254295898baSClément Peron		help
255295898baSClément Peron		  Say Y here if you want the debug print routines to direct
256295898baSClément Peron		  their output to the third serial port on these devices.
257295898baSClément Peron
258753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
259753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
2607aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
261753d1243SChristian Daudt		select DEBUG_UART_8250
262753d1243SChristian Daudt		help
263753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
264753d1243SChristian Daudt		  on Broadcom SoC platforms.
265753d1243SChristian Daudt		  This low level debug works for Broadcom
266753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
267753d1243SChristian Daudt		  bcm11351, etc...)
268753d1243SChristian Daudt
2696c548099SArnd Bergmann	config DEBUG_BCM63XX_UART
270b51312beSFlorian Fainelli		bool "Kernel low-level debugging on BCM63XX UART"
271fa0ef5a0SWilliam Zhang		depends on ARCH_BCMBCA
272b51312beSFlorian Fainelli
273caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
274caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
275caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
276caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
277caad0b41SSebastian Hesselbarth		help
278caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
279caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
280caad0b41SSebastian Hesselbarth
28181b43a6eSMarc Carino	config DEBUG_BRCMSTB_UART
28281b43a6eSMarc Carino		bool "Use BRCMSTB UART for low-level debug"
28381b43a6eSMarc Carino		depends on ARCH_BRCMSTB
28481b43a6eSMarc Carino		help
28581b43a6eSMarc Carino		  Say Y here if you want the debug print routines to direct
286d0cf9d8aSFlorian Fainelli		  their output to the first serial port on these devices. The
287d0cf9d8aSFlorian Fainelli		  UART physical and virtual address is automatically provided
288d0cf9d8aSFlorian Fainelli		  based on the chip identification register value.
28981b43a6eSMarc Carino
29081b43a6eSMarc Carino		  If you have a Broadcom STB chip and would like early print
29181b43a6eSMarc Carino		  messages to appear over the UART, select this option.
29281b43a6eSMarc Carino
293164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
294164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
295164acf96SStephen Boyd		depends on ARCH_CLPS711X
296164acf96SStephen Boyd		help
297164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
298164acf96SStephen Boyd		  their output to the first serial port on these devices.
29917916b28SWill Deacon
30017916b28SWill Deacon	config DEBUG_CLPS711X_UART2
30117916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
30217916b28SWill Deacon		depends on ARCH_CLPS711X
30317916b28SWill Deacon		help
30417916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
30517916b28SWill Deacon		  their output to the second serial port on these devices.
30617916b28SWill Deacon
307477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
308477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
309477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
31097bd1a48SRussell King		select DEBUG_UART_8250
311477099f1SUwe Kleine-König		help
312477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
313477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
314477099f1SUwe Kleine-König
315477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
316477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
317477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
31897bd1a48SRussell King		select DEBUG_UART_8250
319477099f1SUwe Kleine-König		help
320477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
321477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
322477099f1SUwe Kleine-König
323e76f4750SRussell King	config DEBUG_DC21285_PORT
324e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
325e76f4750SRussell King		depends on FOOTBRIDGE
326e76f4750SRussell King		help
327e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
328e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
329e76f4750SRussell King
330e23814daSBaruch Siach	config DEBUG_DIGICOLOR_UA0
331e23814daSBaruch Siach		bool "Kernel low-level debugging messages via Digicolor UA0"
332e23814daSBaruch Siach		depends on ARCH_DIGICOLOR
333e23814daSBaruch Siach		help
334e23814daSBaruch Siach		  Say Y here if you want the debug print routines to direct
335e23814daSBaruch Siach		  their output to the UA0 serial port in the CX92755.
336e23814daSBaruch Siach
337f06455faSArnd Bergmann	config DEBUG_EP93XX
338f06455faSArnd Bergmann		bool "Kernel low-level debugging messages via ep93xx UART"
339f06455faSArnd Bergmann		depends on ARCH_EP93XX
340f06455faSArnd Bergmann		select DEBUG_UART_PL01X
341f06455faSArnd Bergmann		help
342f06455faSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
343f06455faSArnd Bergmann		  on Cirrus Logic EP93xx based platforms.
344f06455faSArnd Bergmann
345e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
346e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
347e76f4750SRussell King		depends on FOOTBRIDGE
3480045c0ddSArnd Bergmann		select DEBUG_UART_8250
349e76f4750SRussell King		help
350e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
351e76f4750SRussell King		  their output to the 8250 at PCI COM1.
352e76f4750SRussell King
353d7175a3bSArnd Bergmann	config DEBUG_GEMINI
354d7175a3bSArnd Bergmann		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
355d7175a3bSArnd Bergmann		depends on ARCH_GEMINI
356d7175a3bSArnd Bergmann		select DEBUG_UART_8250
357d7175a3bSArnd Bergmann		help
358d7175a3bSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
359d7175a3bSArnd Bergmann		  on Cortina Gemini based platforms.
360d7175a3bSArnd Bergmann
3618d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
3628d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
3638d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
3648d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
3658d258bebSHaojian Zhuang		help
3668d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
3678d258bebSHaojian Zhuang		  on HI3620 UART.
3688d258bebSHaojian Zhuang
369220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
370220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
371220e6cf7SRob Herring		depends on ARCH_HIGHBANK
3725c972af4SRussell King		select DEBUG_UART_PL01X
373220e6cf7SRob Herring		help
374220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
375220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
376220e6cf7SRob Herring
37727dafaa8SWang Long	config DEBUG_HIP01_UART
37827dafaa8SWang Long		bool "Hisilicon Hip01 Debug UART"
37927dafaa8SWang Long		depends on ARCH_HIP01
38027dafaa8SWang Long		select DEBUG_UART_8250
38127dafaa8SWang Long		help
38227dafaa8SWang Long		  Say Y here if you want kernel low-level debugging support
38327dafaa8SWang Long		  on HIP01 UART.
38427dafaa8SWang Long
385c9a1df48SHaojian Zhuang	config DEBUG_HIP04_UART
386c9a1df48SHaojian Zhuang		bool "Hisilicon HiP04 Debug UART"
387c9a1df48SHaojian Zhuang		depends on ARCH_HIP04
388c9a1df48SHaojian Zhuang		select DEBUG_UART_8250
389c9a1df48SHaojian Zhuang		help
390c9a1df48SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
391c9a1df48SHaojian Zhuang		  on HIP04 UART.
392c9a1df48SHaojian Zhuang
39337bdaf82SOlof Johansson	config DEBUG_HIX5HD2_UART
39437bdaf82SOlof Johansson		bool "Hisilicon Hix5hd2 Debug UART"
39537bdaf82SOlof Johansson		depends on ARCH_HIX5HD2
39693fd03a8SCatalin Marinas		select DEBUG_UART_PL01X
39793fd03a8SCatalin Marinas		help
39837bdaf82SOlof Johansson		  Say Y here if you want kernel low-level debugging support
39937bdaf82SOlof Johansson		  on Hix5hd2 UART.
4001da177e4SLinus Torvalds
401f350b861SShawn Guo	config DEBUG_IMX1_UART
402f350b861SShawn Guo		bool "i.MX1 Debug UART"
403f350b861SShawn Guo		depends on SOC_IMX1
404f350b861SShawn Guo		help
405f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
406f350b861SShawn Guo		  on i.MX1.
407f350b861SShawn Guo
408f350b861SShawn Guo	config DEBUG_IMX23_UART
409f350b861SShawn Guo		bool "i.MX23 Debug UART"
410f350b861SShawn Guo		depends on SOC_IMX23
4115c972af4SRussell King		select DEBUG_UART_PL01X
412f350b861SShawn Guo		help
413f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
414f350b861SShawn Guo		  on i.MX23.
415f350b861SShawn Guo
416f350b861SShawn Guo	config DEBUG_IMX25_UART
417f350b861SShawn Guo		bool "i.MX25 Debug UART"
418f350b861SShawn Guo		depends on SOC_IMX25
419f350b861SShawn Guo		help
420f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
421f350b861SShawn Guo		  on i.MX25.
422f350b861SShawn Guo
423b0100bceSLukas Bulwahn	config DEBUG_IMX27_UART
424b0100bceSLukas Bulwahn		bool "i.MX27 Debug UART"
425b0100bceSLukas Bulwahn		depends on SOC_IMX27
426f350b861SShawn Guo		help
427f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
428b0100bceSLukas Bulwahn		  on i.MX27.
429f350b861SShawn Guo
430f350b861SShawn Guo	config DEBUG_IMX28_UART
431f350b861SShawn Guo		bool "i.MX28 Debug UART"
432f350b861SShawn Guo		depends on SOC_IMX28
4335c972af4SRussell King		select DEBUG_UART_PL01X
434f350b861SShawn Guo		help
435f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
436f350b861SShawn Guo		  on i.MX28.
437f350b861SShawn Guo
4384ad625d4SShawn Guo	config DEBUG_IMX31_UART
4394ad625d4SShawn Guo		bool "i.MX31 Debug UART"
4404ad625d4SShawn Guo		depends on SOC_IMX31
441f350b861SShawn Guo		help
442f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
4434ad625d4SShawn Guo		  on i.MX31.
4444ad625d4SShawn Guo
4454ad625d4SShawn Guo	config DEBUG_IMX35_UART
4464ad625d4SShawn Guo		bool "i.MX35 Debug UART"
4474ad625d4SShawn Guo		depends on SOC_IMX35
4484ad625d4SShawn Guo		help
4494ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
4504ad625d4SShawn Guo		  on i.MX35.
451f350b861SShawn Guo
452ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
453ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
454ad364a70SGreg Ungerer		depends on SOC_IMX50
455ad364a70SGreg Ungerer		help
456ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
457ad364a70SGreg Ungerer		  on i.MX50.
458ad364a70SGreg Ungerer
459f350b861SShawn Guo	config DEBUG_IMX51_UART
460f350b861SShawn Guo		bool "i.MX51 Debug UART"
461f350b861SShawn Guo		depends on SOC_IMX51
462f350b861SShawn Guo		help
463f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
464f350b861SShawn Guo		  on i.MX51.
465f350b861SShawn Guo
4667356420cSFabio Estevam	config DEBUG_IMX53_UART
4677356420cSFabio Estevam		bool "i.MX53 Debug UART"
4687356420cSFabio Estevam		depends on SOC_IMX53
469f350b861SShawn Guo		help
470f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
4717356420cSFabio Estevam		  on i.MX53.
472f350b861SShawn Guo
47349c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
4743c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
475785d7fabSDirk Behme		depends on SOC_IMX6Q
476785d7fabSDirk Behme		help
477785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
4783c03a2feSShawn Guo		  on i.MX6Q/DL.
479bac89d75SShawn Guo
48034e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
48134e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
48234e8a16bSShawn Guo		depends on SOC_IMX6SL
48334e8a16bSShawn Guo		help
48434e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
48534e8a16bSShawn Guo		  on i.MX6SL.
48634e8a16bSShawn Guo
48774368e81SShawn Guo	config DEBUG_IMX6SX_UART
48874368e81SShawn Guo		bool "i.MX6SX Debug UART"
48974368e81SShawn Guo		depends on SOC_IMX6SX
49074368e81SShawn Guo		help
49174368e81SShawn Guo		  Say Y here if you want kernel low-level debugging support
49274368e81SShawn Guo		  on i.MX6SX.
49374368e81SShawn Guo
49420c305f6SAnson Huang	config DEBUG_IMX6UL_UART
49520c305f6SAnson Huang		bool "i.MX6UL Debug UART"
49620c305f6SAnson Huang		depends on SOC_IMX6UL
49720c305f6SAnson Huang		help
49820c305f6SAnson Huang		  Say Y here if you want kernel low-level debugging support
49920c305f6SAnson Huang		  on i.MX6UL.
50020c305f6SAnson Huang
50152d7aec2SAnson Huang	config DEBUG_IMX7D_UART
50252d7aec2SAnson Huang		bool "i.MX7D Debug UART"
50352d7aec2SAnson Huang		depends on SOC_IMX7D
50452d7aec2SAnson Huang		help
50552d7aec2SAnson Huang		  Say Y here if you want kernel low-level debugging support
50652d7aec2SAnson Huang		  on i.MX7D.
50752d7aec2SAnson Huang
5084db22c10SArnd Bergmann	config DEBUG_INTEGRATOR
5094db22c10SArnd Bergmann		bool "Kernel low-level debugging messages via ARM Integrator UART"
5104db22c10SArnd Bergmann		depends on ARCH_INTEGRATOR
5114db22c10SArnd Bergmann		select DEBUG_UART_PL01X
5124db22c10SArnd Bergmann		help
5134db22c10SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
5144db22c10SArnd Bergmann		  on ARM Integrator platforms.
5154db22c10SArnd Bergmann
516828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
517828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
518828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
519f2acf003SRussell King		select DEBUG_UART_8250
520828989adSSantosh Shilimkar		help
521828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
522828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
523828989adSSantosh Shilimkar
524828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
525828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
526828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
527f2acf003SRussell King		select DEBUG_UART_8250
528828989adSSantosh Shilimkar		help
529828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
530828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
531828989adSSantosh Shilimkar
5320aed6a37SJoachim Eastwood	config DEBUG_LPC18XX_UART0
5330aed6a37SJoachim Eastwood		bool "Kernel low-level debugging via LPC18xx/43xx UART0"
5340aed6a37SJoachim Eastwood		depends on ARCH_LPC18XX
5350aed6a37SJoachim Eastwood		select DEBUG_UART_8250
5360aed6a37SJoachim Eastwood		help
5370aed6a37SJoachim Eastwood		  Say Y here if you want kernel low-level debugging support
5380aed6a37SJoachim Eastwood		  on NXP LPC18xx/43xx UART0.
5390aed6a37SJoachim Eastwood
54059bd4c38SArnd Bergmann	config DEBUG_LPC32XX
54159bd4c38SArnd Bergmann		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
54259bd4c38SArnd Bergmann		depends on ARCH_LPC32XX
54359bd4c38SArnd Bergmann		select DEBUG_UART_8250
54459bd4c38SArnd Bergmann		help
54559bd4c38SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
54659bd4c38SArnd Bergmann		  on NXP LPC32xx based platforms.
54759bd4c38SArnd Bergmann
548d8a00916SCarlo Caione	config DEBUG_MESON_UARTAO
549d8a00916SCarlo Caione		bool "Kernel low-level debugging via Meson6 UARTAO"
550d8a00916SCarlo Caione		depends on ARCH_MESON
551d8a00916SCarlo Caione		help
552d8a00916SCarlo Caione		  Say Y here if you want kernel low-lever debugging support
553d8a00916SCarlo Caione		  on Amlogic Meson6 based platforms on the UARTAO.
554d8a00916SCarlo Caione
555fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
556fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
557fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
5584a003647SRussell King		select DEBUG_UART_8250
559fa4cd2a8SHaojian Zhuang		help
560fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
561fa4cd2a8SHaojian Zhuang		  on MMP UART2.
562fa4cd2a8SHaojian Zhuang
563fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
564fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
565fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
5664a003647SRussell King		select DEBUG_UART_8250
567fa4cd2a8SHaojian Zhuang		help
568fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
569fa4cd2a8SHaojian Zhuang		  on MMP UART3.
570fa4cd2a8SHaojian Zhuang
571d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0
572d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
573bfd5af99SRob Herring		depends on ARCH_MVEBU
574c047f529SArnd Bergmann		depends on ARCH_MVEBU && CPU_V7
5754a003647SRussell King		select DEBUG_UART_8250
576bfd5af99SRob Herring		help
577bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
578d91125ddSMaxime Ripard		  on MVEBU based platforms on UART0.
579bfd5af99SRob Herring
580c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
581c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
582c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
583c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
584c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
585c2804cd6SThomas Petazzoni		  bootloader.
586c2804cd6SThomas Petazzoni
587c047f529SArnd Bergmann		  This option will not work on older Marvell platforms
588c047f529SArnd Bergmann		  (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
589c047f529SArnd Bergmann		  the "new bootloader" variant.
590c047f529SArnd Bergmann
591c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
592c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
593c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
594c2804cd6SThomas Petazzoni
595d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0_ALTERNATE
596d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
597c047f529SArnd Bergmann		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
5984a003647SRussell King		select DEBUG_UART_8250
599c2804cd6SThomas Petazzoni		help
600c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
601c047f529SArnd Bergmann		  on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
602c047f529SArnd Bergmann		  Kirkwood, Dove, MV78xx0, Orion5x).
603c047f529SArnd Bergmann
604c2804cd6SThomas Petazzoni
605c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
606c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
607c2804cd6SThomas Petazzoni
608c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
609c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
610c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
611c2804cd6SThomas Petazzoni
612bd920490SMaxime Ripard	config DEBUG_MVEBU_UART1_ALTERNATE
613bd920490SMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
614bd920490SMaxime Ripard		depends on ARCH_MVEBU
615bd920490SMaxime Ripard		select DEBUG_UART_8250
616bd920490SMaxime Ripard		help
617bd920490SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
618c047f529SArnd Bergmann		  on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
619c047f529SArnd Bergmann		  Kirkwood, Dove, MV78xx0, Orion5x).
620a3d3ef9dSStephen Boyd
6211da177e4SLinus Torvalds		  This option should be used with the new bootloaders
6221da177e4SLinus Torvalds		  that remap the internal registers at 0xf1000000.
623c047f529SArnd Bergmann		  All of the older (pre Armada XP/370) platforms also use
624c047f529SArnd Bergmann		  this address, regardless of the boot loader version.
6251da177e4SLinus Torvalds
6261da177e4SLinus Torvalds		  If the wrong DEBUG_MVEBU_UART* option is selected,
6271da177e4SLinus Torvalds		  when u-boot hands over to the kernel, the system
6281da177e4SLinus Torvalds		  silently crashes, with no serial output at all.
6291da177e4SLinus Torvalds
630624b9d83SRomain Perier	config DEBUG_MSTARV7_PMUART
631624b9d83SRomain Perier		bool "Kernel low-level debugging messages via MSTARV7 PM UART"
632624b9d83SRomain Perier		depends on ARCH_MSTARV7
633624b9d83SRomain Perier		select DEBUG_UART_8250
634624b9d83SRomain Perier		help
635624b9d83SRomain Perier		  Say Y here if you want kernel low-level debugging support
636624b9d83SRomain Perier		  for MSTAR ARMv7-based platforms on PM UART.
637624b9d83SRomain Perier
6381dc93416SArnd Bergmann	config DEBUG_MT6589_UART0
6391dc93416SArnd Bergmann		bool "Mediatek mt6589 UART0"
6401dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6411dc93416SArnd Bergmann		select DEBUG_UART_8250
642c7c3eac6SShawn Guo		help
643c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
6441dc93416SArnd Bergmann		  for Mediatek mt6589 based platforms on UART0.
6451dc93416SArnd Bergmann
6461dc93416SArnd Bergmann	config DEBUG_MT8127_UART0
6471dc93416SArnd Bergmann		bool "Mediatek mt8127/mt6592 UART0"
6481dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6491dc93416SArnd Bergmann		select DEBUG_UART_8250
6501dc93416SArnd Bergmann		help
6511dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
6521dc93416SArnd Bergmann		  for Mediatek mt8127 based platforms on UART0.
6531dc93416SArnd Bergmann
6541dc93416SArnd Bergmann	config DEBUG_MT8135_UART3
6551dc93416SArnd Bergmann		bool "Mediatek mt8135 UART3"
6561dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6571dc93416SArnd Bergmann		select DEBUG_UART_8250
6581dc93416SArnd Bergmann		help
6591dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
6601dc93416SArnd Bergmann		  for Mediatek mt8135 based platforms on UART3.
661c7c3eac6SShawn Guo
662266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
663266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
664266c3479SLinus Walleij		depends on ARCH_NOMADIK
6655c972af4SRussell King		select DEBUG_UART_PL01X
666266c3479SLinus Walleij		help
667266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
668266c3479SLinus Walleij		  on NOMADIK based platforms.
669266c3479SLinus Walleij
6709851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
6719851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
6729851ca57SDaniel Tang		depends on ARCH_NSPIRE
6734a003647SRussell King		select DEBUG_UART_8250
6749851ca57SDaniel Tang		help
6759851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
6769851ca57SDaniel Tang		  on TI-NSPIRE classic models.
6779851ca57SDaniel Tang
6789851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
6799851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
6809851ca57SDaniel Tang		depends on ARCH_NSPIRE
6815c972af4SRussell King		select DEBUG_UART_PL01X
6829851ca57SDaniel Tang		help
6839851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
6849851ca57SDaniel Tang		  on TI-NSPIRE CX models.
6859851ca57SDaniel Tang
686c26b9993SDaniel Thompson	config DEBUG_OMAP1UART1
687c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART1"
688c26b9993SDaniel Thompson		depends on ARCH_OMAP1
689c26b9993SDaniel Thompson		select DEBUG_UART_8250
690c26b9993SDaniel Thompson		help
691c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
692c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART1.
693c26b9993SDaniel Thompson
694c26b9993SDaniel Thompson	config DEBUG_OMAP1UART2
695c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART2"
696c26b9993SDaniel Thompson		depends on ARCH_OMAP1
697c26b9993SDaniel Thompson		select DEBUG_UART_8250
698c26b9993SDaniel Thompson		help
699c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
700c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART2.
701c26b9993SDaniel Thompson
702c26b9993SDaniel Thompson	config DEBUG_OMAP1UART3
703c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART3"
704c26b9993SDaniel Thompson		depends on ARCH_OMAP1
705c26b9993SDaniel Thompson		select DEBUG_UART_8250
706c26b9993SDaniel Thompson		help
707c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
708c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART3.
709c26b9993SDaniel Thompson
710cce278d2SRussell King	config DEBUG_OMAP2UART1
711cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
712808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
713d2b310b0STony Lindgren		select DEBUG_UART_8250
714808b7e07STony Lindgren		help
715cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
716cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
717cce278d2SRussell King
718cce278d2SRussell King	config DEBUG_OMAP2UART2
719cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
720cce278d2SRussell King		depends on ARCH_OMAP2PLUS
721d2b310b0STony Lindgren		select DEBUG_UART_8250
722cce278d2SRussell King
723cce278d2SRussell King	config DEBUG_OMAP2UART3
724cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
725cce278d2SRussell King		depends on ARCH_OMAP2PLUS
726d2b310b0STony Lindgren		select DEBUG_UART_8250
727cce278d2SRussell King
728cce278d2SRussell King	config DEBUG_OMAP3UART3
729cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
730cce278d2SRussell King		depends on ARCH_OMAP2PLUS
731fc23beb8STony Lindgren		select DEBUG_UART_8250
732cce278d2SRussell King		help
733cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
734cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
735cce278d2SRussell King		  and 3517evm.
736cce278d2SRussell King
737cce278d2SRussell King	config DEBUG_OMAP4UART3
738cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
739cce278d2SRussell King		depends on ARCH_OMAP2PLUS
740fc23beb8STony Lindgren		select DEBUG_UART_8250
741cce278d2SRussell King
742cce278d2SRussell King	config DEBUG_OMAP3UART4
743cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
744cce278d2SRussell King		depends on ARCH_OMAP2PLUS
745fc23beb8STony Lindgren		select DEBUG_UART_8250
746cce278d2SRussell King
747cce278d2SRussell King	config DEBUG_OMAP4UART4
748cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
749cce278d2SRussell King		depends on ARCH_OMAP2PLUS
750fc23beb8STony Lindgren		select DEBUG_UART_8250
751cce278d2SRussell King
752cce278d2SRussell King	config DEBUG_TI81XXUART1
753cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
754cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7552d1f7d2eSTony Lindgren		select DEBUG_UART_8250
756cce278d2SRussell King
757cce278d2SRussell King	config DEBUG_TI81XXUART2
758cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
759cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7602d1f7d2eSTony Lindgren		select DEBUG_UART_8250
761cce278d2SRussell King
762cce278d2SRussell King	config DEBUG_TI81XXUART3
763cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
764cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7652d1f7d2eSTony Lindgren		select DEBUG_UART_8250
766cce278d2SRussell King
767cce278d2SRussell King	config DEBUG_AM33XXUART1
768cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
769cce278d2SRussell King		depends on ARCH_OMAP2PLUS
77051ef7003STony Lindgren		select DEBUG_UART_8250
771cce278d2SRussell King
772cce278d2SRussell King	config DEBUG_ZOOM_UART
773cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
774cce278d2SRussell King		depends on ARCH_OMAP2PLUS
775cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
776808b7e07STony Lindgren
7770a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
7780a43cd3bSHaojian Zhuang		depends on ARCH_PXA
7790a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
7804a003647SRussell King		select DEBUG_UART_8250
7810a43cd3bSHaojian Zhuang		help
7820a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
7830a43cd3bSHaojian Zhuang		  on PXA UART1.
7840a43cd3bSHaojian Zhuang
7851dc93416SArnd Bergmann	config DEBUG_QCOM_UARTDM
7861dc93416SArnd Bergmann		bool "Kernel low-level debugging messages via QCOM UARTDM"
7871dc93416SArnd Bergmann		depends on ARCH_QCOM
7881dc93416SArnd Bergmann		help
7891dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
7901dc93416SArnd Bergmann		  their output to the serial port on Qualcomm devices.
7911dc93416SArnd Bergmann
7921dc93416SArnd Bergmann		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
7931dc93416SArnd Bergmann		  APQ8064   0x16640000        0xf0040000
7941dc93416SArnd Bergmann		  APQ8084   0xf995e000        0xfa75e000
7957b87fe94SChristian Lamparter		  IPQ4019   0x078af000        0xf78af000
7961dc93416SArnd Bergmann		  MSM8X60   0x19c40000        0xf0040000
7971dc93416SArnd Bergmann		  MSM8960   0x16440000        0xf0040000
7981dc93416SArnd Bergmann		  MSM8974   0xf991e000        0xfa71e000
7991dc93416SArnd Bergmann
8001dc93416SArnd Bergmann		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
8011dc93416SArnd Bergmann		  options based on your needs.
8021dc93416SArnd Bergmann
803e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
804e76f4750SRussell King		bool "RealView Default UART"
805e76f4750SRussell King		depends on ARCH_REALVIEW
8065c972af4SRussell King		select DEBUG_UART_PL01X
807e76f4750SRussell King		help
808e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
809e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
810e76f4750SRussell King		  and PBX platforms.
811e76f4750SRussell King
812e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
813e76f4750SRussell King		bool "RealView PB1176 UART"
814e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
8155c972af4SRussell King		select DEBUG_UART_PL01X
816e76f4750SRussell King		help
817e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
818e76f4750SRussell King		  their output to the standard serial port on the RealView
819e76f4750SRussell King		  PB1176 platform.
820e76f4750SRussell King
821a3b882f9SAndy Yan	config DEBUG_RV1108_UART0
822a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
823a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
824a3b882f9SAndy Yan		select DEBUG_UART_8250
825a3b882f9SAndy Yan		help
826a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
827a3b882f9SAndy Yan                  on Rockchip RV1108 based platforms.
828a3b882f9SAndy Yan
829a3b882f9SAndy Yan	config DEBUG_RV1108_UART1
830a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
831a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
832a3b882f9SAndy Yan		select DEBUG_UART_8250
833a3b882f9SAndy Yan		help
834a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
835a3b882f9SAndy Yan		  on Rockchip RV1108 based platforms.
836a3b882f9SAndy Yan
837a3b882f9SAndy Yan	config DEBUG_RV1108_UART2
838a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
839a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
840a3b882f9SAndy Yan		select DEBUG_UART_8250
841a3b882f9SAndy Yan		help
842a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
843a3b882f9SAndy Yan		  on Rockchip RV1108 based platforms.
844a3b882f9SAndy Yan
845cce278d2SRussell King	config DEBUG_RK29_UART0
846cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
84738bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
8484a003647SRussell King		select DEBUG_UART_8250
849cce278d2SRussell King		help
850cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
851cce278d2SRussell King		  on Rockchip based platforms.
852cce278d2SRussell King
853cce278d2SRussell King	config DEBUG_RK29_UART1
854cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
855cce278d2SRussell King		depends on ARCH_ROCKCHIP
8564a003647SRussell King		select DEBUG_UART_8250
857cce278d2SRussell King		help
858cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
859cce278d2SRussell King		  on Rockchip based platforms.
860cce278d2SRussell King
861cce278d2SRussell King	config DEBUG_RK29_UART2
862cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
863cce278d2SRussell King		depends on ARCH_ROCKCHIP
8644a003647SRussell King		select DEBUG_UART_8250
865cce278d2SRussell King		help
866cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
867cce278d2SRussell King		  on Rockchip based platforms.
868cce278d2SRussell King
869cce278d2SRussell King	config DEBUG_RK3X_UART0
870aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
871cce278d2SRussell King		depends on ARCH_ROCKCHIP
8724a003647SRussell King		select DEBUG_UART_8250
873cce278d2SRussell King		help
874cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
875cce278d2SRussell King		  on Rockchip based platforms.
876cce278d2SRussell King
877cce278d2SRussell King	config DEBUG_RK3X_UART1
878aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
879cce278d2SRussell King		depends on ARCH_ROCKCHIP
8804a003647SRussell King		select DEBUG_UART_8250
881cce278d2SRussell King		help
882cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
883cce278d2SRussell King		  on Rockchip based platforms.
884cce278d2SRussell King
885cce278d2SRussell King	config DEBUG_RK3X_UART2
886aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
887cce278d2SRussell King		depends on ARCH_ROCKCHIP
8884a003647SRussell King		select DEBUG_UART_8250
889cce278d2SRussell King		help
890cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
891cce278d2SRussell King		  on Rockchip based platforms.
892cce278d2SRussell King
893cce278d2SRussell King	config DEBUG_RK3X_UART3
894aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
895cce278d2SRussell King		depends on ARCH_ROCKCHIP
8964a003647SRussell King		select DEBUG_UART_8250
89738bd6892SHeiko Stuebner		help
89838bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
89938bd6892SHeiko Stuebner		  on Rockchip based platforms.
90038bd6892SHeiko Stuebner
901efd02ee9SHeiko Stuebner	config DEBUG_RK32_UART2
902efd02ee9SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
903efd02ee9SHeiko Stuebner		depends on ARCH_ROCKCHIP
904efd02ee9SHeiko Stuebner		select DEBUG_UART_8250
905efd02ee9SHeiko Stuebner		help
906efd02ee9SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
907efd02ee9SHeiko Stuebner		  on Rockchip RK32xx based platforms.
908efd02ee9SHeiko Stuebner
9097a2071c5SGeert Uytterhoeven	config DEBUG_R7S72100_SCIF2
9107a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
9117a2071c5SGeert Uytterhoeven		depends on ARCH_R7S72100
9127a2071c5SGeert Uytterhoeven		help
9137a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9147a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A1H (R7S72100).
9157a2071c5SGeert Uytterhoeven
916e9670ccbSGeert Uytterhoeven	config DEBUG_R7S9210_SCIF2
917e9670ccbSGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S9210"
918e9670ccbSGeert Uytterhoeven		depends on ARCH_R7S9210
919e9670ccbSGeert Uytterhoeven		help
920e9670ccbSGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
921e9670ccbSGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A2M (R7S9210).
922e9670ccbSGeert Uytterhoeven
923e9670ccbSGeert Uytterhoeven	config DEBUG_R7S9210_SCIF4
924e9670ccbSGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF4 on R7S9210"
925e9670ccbSGeert Uytterhoeven		depends on ARCH_R7S9210
926e9670ccbSGeert Uytterhoeven		help
927e9670ccbSGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
928e9670ccbSGeert Uytterhoeven		  via SCIF4 on Renesas RZ/A2M (R7S9210).
929e9670ccbSGeert Uytterhoeven
9307a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF0
9317a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
9327a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7778
9337a2071c5SGeert Uytterhoeven		help
9347a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9357a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car M1A (R8A7778).
9367a2071c5SGeert Uytterhoeven
9377a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF2
9387a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
9397a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7779
9407a2071c5SGeert Uytterhoeven		help
9417a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9427a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car H1 (R8A7779).
9437a2071c5SGeert Uytterhoeven
9447a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF0
945fcfbb6f1SChris Paterson		bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
946abf3bf53SBiju Das		depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
947abf3bf53SBiju Das			ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
9487a2071c5SGeert Uytterhoeven		help
9497a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
950abf3bf53SBiju Das		  via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
951abf3bf53SBiju Das		  R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
952abf3bf53SBiju Das		  M2-N (R8A7793).
9537a2071c5SGeert Uytterhoeven
9542f095c26SBiju Das	config DEBUG_RCAR_GEN2_SCIF1
9552f095c26SBiju Das		bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
9562f095c26SBiju Das		depends on ARCH_R8A77470
9572f095c26SBiju Das		help
9582f095c26SBiju Das		  Say Y here if you want kernel low-level debugging support
9592f095c26SBiju Das		  via SCIF1 on Renesas RZ/G1C (R8A77470).
9602f095c26SBiju Das
9617a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF2
9627a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
9637a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7794
9647a2071c5SGeert Uytterhoeven		help
9657a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9667a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car E2 (R8A7794).
9677a2071c5SGeert Uytterhoeven
9688e5f2d65SFabrizio Castro	config DEBUG_RCAR_GEN2_SCIF4
9698e5f2d65SFabrizio Castro		bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
9708e5f2d65SFabrizio Castro		depends on ARCH_R8A7745
9718e5f2d65SFabrizio Castro		help
9728e5f2d65SFabrizio Castro		  Say Y here if you want kernel low-level debugging support
9738e5f2d65SFabrizio Castro		  via SCIF4 on Renesas RZ/G1E (R8A7745).
9748e5f2d65SFabrizio Castro
97596866b1aSLad Prabhakar	config DEBUG_RCAR_GEN2_SCIFA2
97696866b1aSLad Prabhakar		bool "Kernel low-level debugging messages via SCIFA2 on R8A7742"
97796866b1aSLad Prabhakar		depends on ARCH_R8A7742
97896866b1aSLad Prabhakar		help
97996866b1aSLad Prabhakar		  Say Y here if you want kernel low-level debugging support
98096866b1aSLad Prabhakar		  via SCIFA2 on Renesas RZ/G1H (R8A7742).
98196866b1aSLad Prabhakar
9827a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA0
98359b89af1SMagnus Damm		bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
98459b89af1SMagnus Damm		depends on ARCH_R8A73A4
9857a2071c5SGeert Uytterhoeven		help
9867a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
98759b89af1SMagnus Damm		  via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
9887a2071c5SGeert Uytterhoeven
9897a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA1
9907a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
9917a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7740
9927a2071c5SGeert Uytterhoeven		help
9937a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9947a2071c5SGeert Uytterhoeven		  via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
9957a2071c5SGeert Uytterhoeven
9967a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA4
9977a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
9987a2071c5SGeert Uytterhoeven		depends on ARCH_SH73A0
9997a2071c5SGeert Uytterhoeven		help
10007a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
10017a2071c5SGeert Uytterhoeven		  via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
10027a2071c5SGeert Uytterhoeven
1003e76f4750SRussell King	config DEBUG_S3C_UART0
1004db8230d2SArnd Bergmann		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1005a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1006bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10077bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10085cc8a016SSachin Kamat		bool "Use Samsung S3C UART 0 for low-level debug"
1009e76f4750SRussell King		help
1010e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1011e76f4750SRussell King		  their output to UART 0. The port must have been initialised
1012e76f4750SRussell King		  by the boot-loader before use.
1013e76f4750SRussell King
1014e76f4750SRussell King	config DEBUG_S3C_UART1
1015db8230d2SArnd Bergmann		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1016a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1017bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10187bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10195cc8a016SSachin Kamat		bool "Use Samsung S3C UART 1 for low-level debug"
1020e76f4750SRussell King		help
1021e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1022e76f4750SRussell King		  their output to UART 1. The port must have been initialised
1023e76f4750SRussell King		  by the boot-loader before use.
1024e76f4750SRussell King
1025e76f4750SRussell King	config DEBUG_S3C_UART2
1026db8230d2SArnd Bergmann		depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS
1027a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1028bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10297bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10305cc8a016SSachin Kamat		bool "Use Samsung S3C UART 2 for low-level debug"
1031e76f4750SRussell King		help
1032e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1033e76f4750SRussell King		  their output to UART 2. The port must have been initialised
1034e76f4750SRussell King		  by the boot-loader before use.
1035e76f4750SRussell King
10365fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
1037cb6c0301SArnd Bergmann		depends on ARCH_EXYNOS || ARCH_S5PV210
10387bab7d9eSTomasz Figa		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
1039bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10407bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10415cc8a016SSachin Kamat		bool "Use Samsung S3C UART 3 for low-level debug"
10425fa23ddeSOlof Johansson		help
10435fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
10445fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
10455fa23ddeSOlof Johansson		  by the boot-loader before use.
10465fa23ddeSOlof Johansson
1047e6131fa3SDmitry Eremin-Solenikov	config DEBUG_SA1100
1048e6131fa3SDmitry Eremin-Solenikov		depends on ARCH_SA1100
1049e6131fa3SDmitry Eremin-Solenikov		bool "Use SA1100 UARTs for low-level debug"
1050e6131fa3SDmitry Eremin-Solenikov		help
1051e6131fa3SDmitry Eremin-Solenikov		  Say Y here if you want kernel low-level debugging support
1052e6131fa3SDmitry Eremin-Solenikov		  on SA-11x0 UART ports. The kernel will check for the first
1053e6131fa3SDmitry Eremin-Solenikov		  enabled UART in a sequence 3-1-2.
1054e6131fa3SDmitry Eremin-Solenikov
1055c5fdb668SKefeng Wang	config DEBUG_SD5203_UART
1056c5fdb668SKefeng Wang		bool "Hisilicon SD5203 Debug UART"
1057c5fdb668SKefeng Wang		depends on ARCH_SD5203
1058c5fdb668SKefeng Wang		select DEBUG_UART_8250
1059c5fdb668SKefeng Wang		help
1060c5fdb668SKefeng Wang		  Say Y here if you want kernel low-level debugging support
1061c5fdb668SKefeng Wang		  on SD5203 UART.
1062c5fdb668SKefeng Wang
1063de73c162SDinh Nguyen	config DEBUG_SOCFPGA_UART0
1064910499e1SKrzysztof Kozlowski		depends on ARCH_INTEL_SOCFPGA
1065de73c162SDinh Nguyen		bool "Use SOCFPGA UART0 for low-level debug"
10660b4cccbeSRussell King		select DEBUG_UART_8250
10676111bf7cSRob Herring		help
10686111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
1069de73c162SDinh Nguyen		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1070de73c162SDinh Nguyen
1071f6628486SClément Péron	config DEBUG_SOCFPGA_ARRIA10_UART1
1072910499e1SKrzysztof Kozlowski		depends on ARCH_INTEL_SOCFPGA
1073f6628486SClément Péron		bool "Use SOCFPGA Arria10 UART1 for low-level debug"
1074de73c162SDinh Nguyen		select DEBUG_UART_8250
1075de73c162SDinh Nguyen		help
1076de73c162SDinh Nguyen		  Say Y here if you want kernel low-level debugging support
1077de73c162SDinh Nguyen		  on SOCFPGA(Arria 10) based platforms.
1078de73c162SDinh Nguyen
1079f6628486SClément Péron	config DEBUG_SOCFPGA_CYCLONE5_UART1
1080910499e1SKrzysztof Kozlowski		depends on ARCH_INTEL_SOCFPGA
1081f6628486SClément Péron		bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug"
1082f6628486SClément Péron		select DEBUG_UART_8250
1083f6628486SClément Péron		help
1084f6628486SClément Péron		  Say Y here if you want kernel low-level debugging support
1085f6628486SClément Péron		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
10866111bf7cSRob Herring
1087d4da889aSChen-Yu Tsai	config DEBUG_SUN9I_UART0
1088d4da889aSChen-Yu Tsai		bool "Kernel low-level debugging messages via sun9i UART0"
1089d4da889aSChen-Yu Tsai		depends on MACH_SUN9I
1090d4da889aSChen-Yu Tsai		select DEBUG_UART_8250
1091d4da889aSChen-Yu Tsai		help
1092d4da889aSChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
1093d4da889aSChen-Yu Tsai		  on Allwinner A80 based platforms on the UART0.
1094d4da889aSChen-Yu Tsai
1095aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
1096aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
1097aa25115aSStefan Roese		depends on ARCH_SUNXI
10984a003647SRussell King		select DEBUG_UART_8250
1099aa25115aSStefan Roese		help
1100aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
1101aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
1102aa25115aSStefan Roese
1103cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
1104cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
1105cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
11064a003647SRussell King		select DEBUG_UART_8250
1107cb84fa18SMaxime Ripard		help
1108cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
1109cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
1110cb84fa18SMaxime Ripard
1111c4718543SChen-Yu Tsai	config DEBUG_SUNXI_R_UART
1112c4718543SChen-Yu Tsai		bool "Kernel low-level debugging messages via sunXi R_UART"
1113c4718543SChen-Yu Tsai		depends on MACH_SUN6I || MACH_SUN8I
1114c4718543SChen-Yu Tsai		select DEBUG_UART_8250
1115c4718543SChen-Yu Tsai		help
1116c4718543SChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
1117c4718543SChen-Yu Tsai		  on Allwinner A31/A23 based platforms on the R_UART.
1118c4718543SChen-Yu Tsai
1119375d84cfSArnd Bergmann	config DEBUG_SPEAR3XX
1120375d84cfSArnd Bergmann		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1121375d84cfSArnd Bergmann		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1122375d84cfSArnd Bergmann		select DEBUG_UART_PL01X
1123375d84cfSArnd Bergmann		help
1124375d84cfSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1125375d84cfSArnd Bergmann		  on ST SPEAr based platforms.
1126375d84cfSArnd Bergmann
1127375d84cfSArnd Bergmann	config DEBUG_SPEAR13XX
1128375d84cfSArnd Bergmann		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1129375d84cfSArnd Bergmann		depends on ARCH_SPEAR13XX
1130375d84cfSArnd Bergmann		select DEBUG_UART_PL01X
1131375d84cfSArnd Bergmann		help
1132375d84cfSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1133375d84cfSArnd Bergmann		  on ST SPEAr13xx based platforms.
1134375d84cfSArnd Bergmann
11359ca4efecSAlain VOLMAT	config DEBUG_STIH41X_ASC2
1136cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
11375562b800SArnd Bergmann		depends on ARCH_STI
11385562b800SArnd Bergmann		help
11395562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1140cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
1141cce278d2SRussell King		  default UART wired up to ASC2.
1142cce278d2SRussell King
1143cce278d2SRussell King		  If unsure, say N.
1144cce278d2SRussell King
11459ca4efecSAlain VOLMAT	config DEBUG_STIH41X_SBC_ASC1
1146cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1147cce278d2SRussell King		depends on ARCH_STI
1148cce278d2SRussell King		help
1149cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
1150cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
1151cce278d2SRussell King		  default UART wired up to SBC ASC1.
11525562b800SArnd Bergmann
11535562b800SArnd Bergmann		  If unsure, say N.
11545562b800SArnd Bergmann
11556e959ad8SAlain VOLMAT	config DEBUG_STIH418_SBC_ASC0
11566e959ad8SAlain VOLMAT		bool "Use StiH418 SBC ASC0 UART for low-level debug"
11576e959ad8SAlain VOLMAT		depends on ARCH_STI
11586e959ad8SAlain VOLMAT		help
11596e959ad8SAlain VOLMAT		  Say Y here if you want kernel low-level debugging support
11606e959ad8SAlain VOLMAT		  on STiH418 based platforms which has default UART wired
11616e959ad8SAlain VOLMAT		  up to SBC ASC0.
11626e959ad8SAlain VOLMAT
11636e959ad8SAlain VOLMAT		  If unsure, say N.
11646e959ad8SAlain VOLMAT
1165d88bb418SGerald Baeza	config STM32F4_DEBUG_UART
1166d88bb418SGerald Baeza		bool "Use STM32F4 UART for low-level debug"
116779d5cfd1SErwan Le Ray		depends on MACH_STM32F429 || MACH_STM32F469
1168d88bb418SGerald Baeza		select DEBUG_STM32_UART
1169d88bb418SGerald Baeza		help
1170d88bb418SGerald Baeza		  Say Y here if you want kernel low-level debugging support
1171d88bb418SGerald Baeza		  on STM32F4 based platforms, which default UART is wired on
117279d5cfd1SErwan Le Ray		  USART1, but another UART instance can be selected by modifying
117379d5cfd1SErwan Le Ray		  CONFIG_DEBUG_UART_PHYS.
1174d88bb418SGerald Baeza
1175d88bb418SGerald Baeza		  If unsure, say N.
1176d88bb418SGerald Baeza
1177d88bb418SGerald Baeza	config STM32F7_DEBUG_UART
1178d88bb418SGerald Baeza		bool "Use STM32F7 UART for low-level debug"
117913f71fa8SErwan Le Ray		depends on MACH_STM32F746 || MACH_STM32F769
1180d88bb418SGerald Baeza		select DEBUG_STM32_UART
1181d88bb418SGerald Baeza		help
1182d88bb418SGerald Baeza		  Say Y here if you want kernel low-level debugging support
1183d88bb418SGerald Baeza		  on STM32F7 based platforms, which default UART is wired on
118413f71fa8SErwan Le Ray		  USART1, but another UART instance can be selected by modifying
118513f71fa8SErwan Le Ray		  CONFIG_DEBUG_UART_PHYS.
1186d88bb418SGerald Baeza
1187d88bb418SGerald Baeza		  If unsure, say N.
1188d88bb418SGerald Baeza
118933cab895SErwan Le Ray	config STM32H7_DEBUG_UART
119033cab895SErwan Le Ray		bool "Use STM32H7 UART for low-level debug"
119133cab895SErwan Le Ray		depends on MACH_STM32H743
119233cab895SErwan Le Ray		select DEBUG_STM32_UART
119333cab895SErwan Le Ray		help
119433cab895SErwan Le Ray		  Say Y here if you want kernel low-level debugging support
119533cab895SErwan Le Ray		  on STM32H7 based platforms, which default UART is wired on
119633cab895SErwan Le Ray		  USART1, but another UART instance can be selected by modifying
119733cab895SErwan Le Ray		  CONFIG_DEBUG_UART_PHYS.
119833cab895SErwan Le Ray
119933cab895SErwan Le Ray		  If unsure, say N.
120033cab895SErwan Le Ray
120162c1594dSErwan Le Ray	config STM32MP1_DEBUG_UART
120262c1594dSErwan Le Ray		bool "Use STM32MP1 UART for low-level debug"
120362c1594dSErwan Le Ray		depends on MACH_STM32MP157
120462c1594dSErwan Le Ray		select DEBUG_STM32_UART
120562c1594dSErwan Le Ray		help
1206cfb1076dSRandy Dunlap		  Say Y here if you want kernel low-level debugging support on
1207cfb1076dSRandy Dunlap		  STM32MP1-based platforms, where the default UART is wired to
120862c1594dSErwan Le Ray		  UART4, but another UART instance can be selected by modifying
120962c1594dSErwan Le Ray		  CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
121062c1594dSErwan Le Ray
121162c1594dSErwan Le Ray		  If unsure, say N.
121262c1594dSErwan Le Ray
12131da177e4SLinus Torvalds	config TEGRA_DEBUG_UART_AUTO_ODMDATA
12141da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
12151da177e4SLinus Torvalds		depends on ARCH_TEGRA
12161da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12171da177e4SLinus Torvalds		help
12181da177e4SLinus Torvalds		  Automatically determines which UART to use for low-level
12191da177e4SLinus Torvalds		  debug based on the ODMDATA value. This value is part of
12201da177e4SLinus Torvalds		  the BCT, and is written to the boot memory device using
12211da177e4SLinus Torvalds		  nvflash, or other flashing tool.  When bits 19:18 are 3,
12221da177e4SLinus Torvalds		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
12231da177e4SLinus Torvalds		  are UART A/B/C/D/E.
12241da177e4SLinus Torvalds
12251da177e4SLinus Torvalds	config TEGRA_DEBUG_UARTA
12261da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART A"
12271da177e4SLinus Torvalds		depends on ARCH_TEGRA
12281da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12291da177e4SLinus Torvalds		help
12301da177e4SLinus Torvalds		  Say Y here if you want kernel low-level debugging support
12311da177e4SLinus Torvalds		  on Tegra based platforms.
1232e76f4750SRussell King
1233e76f4750SRussell King	config TEGRA_DEBUG_UARTB
1234e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
1235e76f4750SRussell King		depends on ARCH_TEGRA
1236e76f4750SRussell King		select DEBUG_TEGRA_UART
1237e76f4750SRussell King		help
1238e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1239e76f4750SRussell King		  on Tegra based platforms.
1240e76f4750SRussell King
1241e76f4750SRussell King	config TEGRA_DEBUG_UARTC
1242e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
1243e76f4750SRussell King		depends on ARCH_TEGRA
1244e76f4750SRussell King		select DEBUG_TEGRA_UART
1245e76f4750SRussell King		help
1246e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1247e76f4750SRussell King		  on Tegra based platforms.
1248e76f4750SRussell King
1249e76f4750SRussell King	config TEGRA_DEBUG_UARTD
1250e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
1251e76f4750SRussell King		depends on ARCH_TEGRA
1252e76f4750SRussell King		select DEBUG_TEGRA_UART
1253e76f4750SRussell King		help
1254e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1255e76f4750SRussell King		  on Tegra based platforms.
1256e76f4750SRussell King
1257e76f4750SRussell King	config TEGRA_DEBUG_UARTE
1258e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
1259e76f4750SRussell King		depends on ARCH_TEGRA
1260e76f4750SRussell King		select DEBUG_TEGRA_UART
1261e76f4750SRussell King		help
1262e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1263e76f4750SRussell King		  on Tegra based platforms.
1264e76f4750SRussell King
1265f87b95ddSLinus Walleij	config DEBUG_UX500_UART
1266f87b95ddSLinus Walleij		depends on ARCH_U8500
1267f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
1268f87b95ddSLinus Walleij		help
1269f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
1270f87b95ddSLinus Walleij		  on Ux500 based platforms.
1271f87b95ddSLinus Walleij
12724db22c10SArnd Bergmann	config DEBUG_VERSATILE
12734db22c10SArnd Bergmann		bool "Kernel low-level debugging messages via ARM Versatile UART"
12744db22c10SArnd Bergmann		depends on ARCH_VERSATILE
12754db22c10SArnd Bergmann		select DEBUG_UART_PL01X
1276d6682085SMatthias Brugger		help
1277d6682085SMatthias Brugger		  Say Y here if you want kernel low-level debugging support
12784db22c10SArnd Bergmann		  on ARM Versatile platforms.
127965ec48c0SJoe.C
12801b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
12811b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
12821b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
12831b820eafSPawel Moll		help
12841b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
12851b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
12861b820eafSPawel Moll		  choose the relevant UART0 base address.
12871b820eafSPawel Moll
12881b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
12891b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
12901b820eafSPawel Moll
12911b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
12921b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
12931b820eafSPawel Moll		depends on ARCH_VEXPRESS
12945c972af4SRussell King		select DEBUG_UART_PL01X
12951b820eafSPawel Moll		help
12961b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
12971b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
12981b820eafSPawel Moll
12991b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
13001b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
13011b820eafSPawel Moll		depends on ARCH_VEXPRESS
13025c972af4SRussell King		select DEBUG_UART_PL01X
13031b820eafSPawel Moll		help
13041b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
13051b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
13061b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
13071b820eafSPawel Moll
1308ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
1309ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1310ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
13115c972af4SRussell King		select DEBUG_UART_PL01X
1312ed18bdc8SJonathan Austin		help
1313ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
1314ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1315ed18bdc8SJonathan Austin
13161dc93416SArnd Bergmann	config DEBUG_VF_UART
13171dc93416SArnd Bergmann		bool "Vybrid UART"
13181dc93416SArnd Bergmann		depends on SOC_VF610
13191dc93416SArnd Bergmann		help
13201dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
13211dc93416SArnd Bergmann		  on Vybrid based platforms.
13221dc93416SArnd Bergmann
1323b61a2722STony Prisk	config DEBUG_VT8500_UART0
1324b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
1325b61a2722STony Prisk		depends on ARCH_VT8500
1326b61a2722STony Prisk		help
1327b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1328b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
1329b61a2722STony Prisk
13301dc93416SArnd Bergmann	config DEBUG_ZYNQ_UART0
13311dc93416SArnd Bergmann		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
13321dc93416SArnd Bergmann		depends on ARCH_ZYNQ
13331dc93416SArnd Bergmann		help
13341dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
13351dc93416SArnd Bergmann		  their output to UART0 on the Zynq platform.
13361dc93416SArnd Bergmann
13371dc93416SArnd Bergmann	config DEBUG_ZYNQ_UART1
13381dc93416SArnd Bergmann		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
13391dc93416SArnd Bergmann		depends on ARCH_ZYNQ
13401dc93416SArnd Bergmann		help
13411dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
13421dc93416SArnd Bergmann		  their output to UART1 on the Zynq platform.
13431dc93416SArnd Bergmann
13441dc93416SArnd Bergmann		  If you have a ZC702 board and want early boot messages to
13451dc93416SArnd Bergmann		  appear on the USB serial adaptor, select this option.
13461dc93416SArnd Bergmann
1347e76f4750SRussell King	config DEBUG_ICEDCC
1348e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1349e76f4750SRussell King		help
1350e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1351e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
1352e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
1353e76f4750SRussell King		  channel and on the XScale with the PEEDI.
1354e76f4750SRussell King
1355e76f4750SRussell King		  Note that the system will appear to hang during boot if there
1356e76f4750SRussell King		  is nothing connected to read from the DCC.
1357e76f4750SRussell King
1358b0df8986SRussell King	config DEBUG_SEMIHOSTING
135962194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
1360b0df8986SRussell King		help
1361b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
1362b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
136362194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
1364b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
1365b0df8986SRussell King		  otherwise the kernel will crash.
1366b0df8986SRussell King
1367b0df8986SRussell King		  This is known to work with OpenOCD, as well as
1368b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
1369b0df8986SRussell King		  that implements semihosting.
1370b0df8986SRussell King
1371b0df8986SRussell King		  For more details about semihosting, please see
1372b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1373b0df8986SRussell King
1374f8f1279cSRussell King	config DEBUG_LL_UART_8250
1375f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
1376f8f1279cSRussell King		help
1377f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1378f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
1379f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
1380f8f1279cSRussell King		  selecting one of the platform specific options above if
1381f8f1279cSRussell King		  you know the parameters for the port.
1382f8f1279cSRussell King
1383f8f1279cSRussell King		  This option is preferred over the platform specific
1384f8f1279cSRussell King		  options; the platform specific options are deprecated
1385f8f1279cSRussell King		  and will be soon removed.
1386f8f1279cSRussell King
1387f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
1388f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1389f8f1279cSRussell King		help
1390f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1391f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
1392f8f1279cSRussell King		  this option to provide the parameters for the UART
1393f8f1279cSRussell King		  rather than selecting one of the platform specific
1394f8f1279cSRussell King		  options above if you know the parameters for the port.
1395f8f1279cSRussell King
1396f8f1279cSRussell King		  This option is preferred over the platform specific
1397f8f1279cSRussell King		  options; the platform specific options are deprecated
1398f8f1279cSRussell King		  and will be soon removed.
1399f8f1279cSRussell King
14001da177e4SLinus Torvaldsendchoice
14011da177e4SLinus Torvalds
14028b2f2d03SAlexandre Belloniconfig DEBUG_AT91_UART
14038b2f2d03SAlexandre Belloni	bool
14048b2f2d03SAlexandre Belloni	depends on ARCH_AT91
14058b2f2d03SAlexandre Belloni
1406a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
1407a2e40710SArnd Bergmann	bool
1408a2e40710SArnd Bergmann
1409bb08dea1SArnd Bergmannconfig DEBUG_S3C64XX_UART
1410bb08dea1SArnd Bergmann	bool
1411bb08dea1SArnd Bergmann
14127bab7d9eSTomasz Figaconfig DEBUG_S5PV210_UART
14137bab7d9eSTomasz Figa	bool
14147bab7d9eSTomasz Figa
1415b3a77512SArnd Bergmannconfig DEBUG_S3C_UART
141661b7f892SArnd Bergmann	depends on DEBUG_S3C64XX_UART ||  DEBUG_S5PV210_UART || \
1417b3a77512SArnd Bergmann		   DEBUG_EXYNOS_UART
1418b3a77512SArnd Bergmann	int
1419b3a77512SArnd Bergmann	default "0" if DEBUG_S3C_UART0
1420b3a77512SArnd Bergmann	default "1" if DEBUG_S3C_UART1
1421b3a77512SArnd Bergmann	default "2" if DEBUG_S3C_UART2
1422b3a77512SArnd Bergmann	default "3" if DEBUG_S3C_UART3
1423b3a77512SArnd Bergmann
1424cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
1425cce278d2SRussell King	bool
1426cce278d2SRussell King	depends on ARCH_OMAP2PLUS
1427cce278d2SRussell King
1428f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
14297c41ea57SUwe Kleine-König	int "i.MX Debug UART Port Selection"
14307c41ea57SUwe Kleine-König	depends on DEBUG_IMX1_UART || \
1431f8c95fe6SShawn Guo		   DEBUG_IMX25_UART || \
1432b0100bceSLukas Bulwahn		   DEBUG_IMX27_UART || \
1433f8c95fe6SShawn Guo		   DEBUG_IMX31_UART || \
1434f8c95fe6SShawn Guo		   DEBUG_IMX35_UART || \
1435ad364a70SGreg Ungerer		   DEBUG_IMX50_UART || \
1436f8c95fe6SShawn Guo		   DEBUG_IMX51_UART || \
14370c52db7eSPaul Bolle		   DEBUG_IMX53_UART || \
143834e8a16bSShawn Guo		   DEBUG_IMX6Q_UART || \
143974368e81SShawn Guo		   DEBUG_IMX6SL_UART || \
144052d7aec2SAnson Huang		   DEBUG_IMX6SX_UART || \
144120c305f6SAnson Huang		   DEBUG_IMX6UL_UART || \
144252d7aec2SAnson Huang		   DEBUG_IMX7D_UART
144349c9e60eSShawn Guo	default 1
144449c9e60eSShawn Guo	help
144549c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
144649c9e60eSShawn Guo	  should be output.
144749c9e60eSShawn Guo
1448cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
1449cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1450cfdb7d56SStefan Agner	default 1
1451cfdb7d56SStefan Agner	range 0 3
1452cfdb7d56SStefan Agner	depends on SOC_VF610
1453cfdb7d56SStefan Agner	help
1454cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
1455cfdb7d56SStefan Agner	  should be output.
1456cfdb7d56SStefan Agner
1457cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
1458cce278d2SRussell King	bool
1459cce278d2SRussell King	depends on ARCH_TEGRA
1460808b7e07STony Lindgren
1461d88bb418SGerald Baezaconfig DEBUG_STM32_UART
1462d88bb418SGerald Baeza	bool
1463d88bb418SGerald Baeza	depends on ARCH_STM32
1464d88bb418SGerald Baeza
14654df24fefSLinus Walleijconfig DEBUG_UART_FLOW_CONTROL
14664df24fefSLinus Walleij	bool "Enable flow control (CTS) for the debug UART"
14674df24fefSLinus Walleij	depends on DEBUG_LL
14683e3f354bSArnd Bergmann	default y if DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
14694df24fefSLinus Walleij	help
14704df24fefSLinus Walleij	  Some UART ports are connected to terminals that will use modem
14714df24fefSLinus Walleij	  control signals to indicate whether they are ready to receive text.
14724df24fefSLinus Walleij	  In practice this means that the terminal is asserting the special
14734df24fefSLinus Walleij	  control signal CTS (Clear To Send). If your debug UART supports
14744df24fefSLinus Walleij	  this and your debug terminal will require it, enable this option.
14754df24fefSLinus Walleij
147691a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
147791a9fec0SRob Herring	string
1478e6131fa3SDmitry Eremin-Solenikov	default "debug/sa1100.S" if DEBUG_SA1100
14790c532546SMans Rullgard	default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1480f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
148142dfd1e1SNicolas Ferre	default "debug/at91.S" if DEBUG_AT91_UART
1482d5bd4e8dSOleksij Rempel	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1483dd99eef5SAlexander Shiyan	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
14840045c0ddSArnd Bergmann	default "debug/dc21285.S" if DEBUG_DC21285_PORT
1485d8a00916SCarlo Caione	default "debug/meson.S" if DEBUG_MESON_UARTAO
1486f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1487a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
148891a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
14896dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
14906dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
1491b0100bceSLukas Bulwahn				 DEBUG_IMX27_UART || \
14924ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
14934ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1494ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
14956dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
14967356420cSFabio Estevam				 DEBUG_IMX53_UART || \
149734e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
149874368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
149952d7aec2SAnson Huang				 DEBUG_IMX6SX_UART || \
150020c305f6SAnson Huang				 DEBUG_IMX6UL_UART || \
150152d7aec2SAnson Huang				 DEBUG_IMX7D_UART
1502c0c89fafSStephen Boyd	default "debug/msm.S" if DEBUG_QCOM_UARTDM
1503808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
15047a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1505e9670ccbSGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF2
1506e9670ccbSGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S9210_SCIF4
15077a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
15087a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
15097a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
15102f095c26SBiju Das	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
15117a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
15128e5f2d65SFabrizio Castro	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
151396866b1aSLad Prabhakar	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIFA2
15147a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
15157a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
15167a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
151761b7f892SArnd Bergmann	default "debug/s3c24xx.S" if DEBUG_S3C64XX_UART
15187bab7d9eSTomasz Figa	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
15199ca4efecSAlain VOLMAT	default "debug/sti.S" if DEBUG_STIH41X_ASC2
15209ca4efecSAlain VOLMAT	default "debug/sti.S" if DEBUG_STIH41X_SBC_ASC1
15216e959ad8SAlain VOLMAT	default "debug/sti.S" if DEBUG_STIH418_SBC_ASC0
1522d88bb418SGerald Baeza	default "debug/stm32.S" if DEBUG_STM32_UART
1523150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1524150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
15254e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1526c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1527b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1528385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
15296c548099SArnd Bergmann	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1530e23814daSBaruch Siach	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1531d0cf9d8aSFlorian Fainelli	default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
153291a9fec0SRob Herring	default "mach/debug-macro.S"
153391a9fec0SRob Herring
1534f8f1279cSRussell King# Compatibility options for PL01x
15355c972af4SRussell Kingconfig DEBUG_UART_PL01X
1536a61cbf51SDaniel Thompson	bool
15375c972af4SRussell King
1538f8f1279cSRussell King# Compatibility options for 8250
15397610b607SRussell Kingconfig DEBUG_UART_8250
1540b91a69d1SArnd Bergmann	def_bool ARCH_IXP4XX || ARCH_RPC
15414a003647SRussell King
1542c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1543c3faa9b7SRussell King	hex "Physical base address of debug UART"
1544c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1545c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
154697bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
154797bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1548c4718543SChen-Yu Tsai	default 0x01f02800 if DEBUG_SUNXI_R_UART
1549f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1550f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1551c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
1552d4da889aSChen-Yu Tsai	default 0x07000000 if DEBUG_SUN9I_UART0
15536e959ad8SAlain VOLMAT	default 0x09530000 if DEBUG_STIH418_SBC_ASC0
1554b125170aSKrzysztof Hałasa	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
15555c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
15565c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1557c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1558c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
15594db22c10SArnd Bergmann	default 0x101f1000 if DEBUG_VERSATILE
15605c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
1561a3b882f9SAndy Yan	default 0x10210000 if DEBUG_RV1108_UART2
1562a3b882f9SAndy Yan	default 0x10220000 if DEBUG_RV1108_UART1
1563a3b882f9SAndy Yan	default 0x10230000 if DEBUG_RV1108_UART0
156465ec48c0SJoe.C	default 0x11002000 if DEBUG_MT8127_UART0
1565d6682085SMatthias Brugger	default 0x11006000 if DEBUG_MT6589_UART0
156665ec48c0SJoe.C	default 0x11009000 if DEBUG_MT8135_UART3
15674db22c10SArnd Bergmann	default 0x16000000 if DEBUG_INTEGRATOR
1568c5fdb668SKefeng Wang	default 0x1600d000 if DEBUG_SD5203_UART
156906580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
1570fa1e581dSFlorian Fainelli	default 0x18000400 if DEBUG_BCM_HR2
1571295898baSClément Peron	default 0x18023000 if DEBUG_BCM_IPROC_UART3
15725c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1573624b9d83SRomain Perier	default 0x1f221000 if DEBUG_MSTARV7_PMUART
157427dafaa8SWang Long	default 0x20001000 if DEBUG_HIP01_UART
1575c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1576c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1577c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
15785c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1579753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1580f3f49e42SClément Peron	default 0x3f201000 if DEBUG_BCM2836
158162c1594dSErwan Le Ray	default 0x40010000 if STM32MP1_DEBUG_UART
158233cab895SErwan Le Ray	default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
158333cab895SErwan Le Ray				STM32H7_DEBUG_UART
158463e07c0fSSzemző András	default 0x40028000 if DEBUG_AT91_SAMV7_USART1
15850aed6a37SJoachim Eastwood	default 0x40081000 if DEBUG_LPC18XX_UART0
158659bd4c38SArnd Bergmann	default 0x40090000 if DEBUG_LPC32XX
1587c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1588d7175a3bSArnd Bergmann	default 0x42000000 if DEBUG_GEMINI
158951ef7003STony Lindgren	default 0x44e09000 if DEBUG_AM33XXUART1
15902d1f7d2eSTony Lindgren	default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
15912d1f7d2eSTony Lindgren	default 0x48022000 if DEBUG_TI81XXUART2
15922d1f7d2eSTony Lindgren	default 0x48024000 if DEBUG_TI81XXUART3
1593a9838799SLukas Bulwahn	default 0x4806a000 if DEBUG_OMAP2UART1
1594a9838799SLukas Bulwahn	default 0x4806c000 if DEBUG_OMAP2UART2
1595fc23beb8STony Lindgren	default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1596fc23beb8STony Lindgren	default 0x49020000 if DEBUG_OMAP3UART3
1597fc23beb8STony Lindgren	default 0x49042000 if DEBUG_OMAP3UART4
15980045c0ddSArnd Bergmann	default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1599bb08dea1SArnd Bergmann	default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1600bb08dea1SArnd Bergmann	default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1601bb08dea1SArnd Bergmann	default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1602bb08dea1SArnd Bergmann	default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1603d5bd4e8dSOleksij Rempel	default 0x80010000 if DEBUG_ASM9260_UART
16045c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
16055c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1606f06455faSArnd Bergmann	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
16075c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
16085c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1609c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1610c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1611375d84cfSArnd Bergmann	default 0xd0000000 if DEBUG_SPEAR3XX
1612d91125ddSMaxime Ripard	default 0xd0012000 if DEBUG_MVEBU_UART0
1613d8a00916SCarlo Caione	default 0xc81004c0 if DEBUG_MESON_UARTAO
1614c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1615c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
1616375d84cfSArnd Bergmann	default 0xe0000000 if DEBUG_SPEAR13XX
16176041558eSKavyasree Kotagiri	default 0xe0064200 if DEBUG_AT91_LAN966_FLEXCOM
1618577cb67aSEugen Hristev	default 0xe1824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1619c9a1df48SHaojian Zhuang	default 0xe4007000 if DEBUG_HIP04_UART
16207a2071c5SGeert Uytterhoeven	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
16217a2071c5SGeert Uytterhoeven	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
162296866b1aSLad Prabhakar	default 0xe6c60000 if DEBUG_RCAR_GEN2_SCIFA2
16237a2071c5SGeert Uytterhoeven	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
16247a2071c5SGeert Uytterhoeven	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
16257a2071c5SGeert Uytterhoeven	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
16262f095c26SBiju Das	default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
16278e5f2d65SFabrizio Castro	default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
1628e9670ccbSGeert Uytterhoeven	default 0xe8008000 if DEBUG_R7S72100_SCIF2 || DEBUG_R7S9210_SCIF2
1629e9670ccbSGeert Uytterhoeven	default 0xe8009000 if DEBUG_R7S9210_SCIF4
1630876e645fSArnd Bergmann	default 0xf0000000 if DEBUG_DIGICOLOR_UA0
1631d91125ddSMaxime Ripard	default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1632bd920490SMaxime Ripard	default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1633caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
16348b2f2d03SAlexandre Belloni	default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
163512aae309SHaifeng Yan	default 0xf8b00000 if DEBUG_HIX5HD2_UART
16367098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
16378b2f2d03SAlexandre Belloni	default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
16388d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
16393c215e64STsahee Zidenberg	default 0xfd883000 if DEBUG_ALPINE_UART0
16409ca4efecSAlain VOLMAT	default 0xfe531000 if DEBUG_STIH41X_SBC_ASC1
16419ca4efecSAlain VOLMAT	default 0xfed32000 if DEBUG_STIH41X_ASC2
1642efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
1643de73c162SDinh Nguyen	default 0xffc02000 if DEBUG_SOCFPGA_UART0
1644f6628486SClément Péron	default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1645f6628486SClément Péron	default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
16467a2071c5SGeert Uytterhoeven	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
16477a2071c5SGeert Uytterhoeven	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
16485c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
16490d7bb85eSArnd Bergmann	default 0xfffb0000 if DEBUG_OMAP1UART1
16500d7bb85eSArnd Bergmann	default 0xfffb0800 if DEBUG_OMAP1UART2
16510d7bb85eSArnd Bergmann	default 0xfffb9800 if DEBUG_OMAP1UART3
16526c548099SArnd Bergmann	default 0xfffe8600 if DEBUG_BCM63XX_UART
16538b2f2d03SAlexandre Belloni	default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
16548b2f2d03SAlexandre Belloni	default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1655d02fde7fSDaniel Thompson	depends on ARCH_EP93XX || \
1656d02fde7fSDaniel Thompson	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1657d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
16584d31e664SDaniel Thompson		DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1659e9670ccbSGeert Uytterhoeven		DEBUG_R7S9210_SCIF2 || DEBUG_R7S9210_SCIF4 || \
16607a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
16612f095c26SBiju Das		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
16622f095c26SBiju Das		DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
166396866b1aSLad Prabhakar		DEBUG_RCAR_GEN2_SCIFA2 || \
16647a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
166561b7f892SArnd Bergmann		DEBUG_RMOBILE_SCIFA4 || \
1666bb08dea1SArnd Bergmann		DEBUG_S3C64XX_UART || \
16676c548099SArnd Bergmann		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1668f3a73284SArnd Bergmann		DEBUG_DIGICOLOR_UA0 || \
16699ca4efecSAlain VOLMAT		DEBUG_AT91_UART || DEBUG_STM32_UART || \
16706e959ad8SAlain VOLMAT		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
16716e959ad8SAlain VOLMAT		DEBUG_STIH418_SBC_ASC0
1672c3faa9b7SRussell King
1673c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1674c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1675a3b882f9SAndy Yan	default 0xc881f000 if DEBUG_RV1108_UART2
1676a3b882f9SAndy Yan	default 0xc8821000 if DEBUG_RV1108_UART1
1677a3b882f9SAndy Yan	default 0xc8912000 if DEBUG_RV1108_UART0
1678c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
1679577cb67aSEugen Hristev	default 0xe0824200 if DEBUG_AT91_SAMA7G5_FLEXCOM3
1680d5bd4e8dSOleksij Rempel	default 0xf0010000 if DEBUG_ASM9260_UART
1681876e645fSArnd Bergmann	default 0xf0100000 if DEBUG_DIGICOLOR_UA0
16825c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
16835234c34eSEric Anholt	default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
1684624b9d83SRomain Perier	default 0xf0221000 if DEBUG_MSTARV7_PMUART
168506580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
1686fa1e581dSFlorian Fainelli	default 0xf1000400 if DEBUG_BCM_HR2
168765ec48c0SJoe.C	default 0xf1002000 if DEBUG_MT8127_UART0
1688d6682085SMatthias Brugger	default 0xf1006000 if DEBUG_MT6589_UART0
168965ec48c0SJoe.C	default 0xf1009000 if DEBUG_MT8135_UART3
1690295898baSClément Peron	default 0xf1023000 if DEBUG_BCM_IPROC_UART3
16914db22c10SArnd Bergmann	default 0xf11f1000 if DEBUG_VERSATILE
16924db22c10SArnd Bergmann	default 0xf1600000 if DEBUG_INTEGRATOR
1693c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1694c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1695c4718543SChen-Yu Tsai	default 0xf1f02800 if DEBUG_SUNXI_R_UART
16961dc93416SArnd Bergmann	default 0xf31004c0 if DEBUG_MESON_UARTAO
169759bd4c38SArnd Bergmann	default 0xf4090000 if DEBUG_LPC32XX
1698d7175a3bSArnd Bergmann	default 0xf4200000 if DEBUG_GEMINI
1699cde7fc87SRobert Jarzmik	default 0xf6200000 if DEBUG_PXA_UART1
1700d4da889aSChen-Yu Tsai	default 0xf7000000 if DEBUG_SUN9I_UART0
1701bb08dea1SArnd Bergmann	default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1702bb08dea1SArnd Bergmann	default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1703bb08dea1SArnd Bergmann	default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1704bb08dea1SArnd Bergmann	default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
17058b2f2d03SAlexandre Belloni	default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1706caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
1707c9a1df48SHaojian Zhuang	default 0xf8007000 if DEBUG_HIP04_UART
17085c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
17095c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
17108b2f2d03SAlexandre Belloni	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
17118b2f2d03SAlexandre Belloni	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
17126e959ad8SAlain VOLMAT	default 0xf9530000 if DEBUG_STIH418_SBC_ASC0
171351ef7003STony Lindgren	default 0xf9e09000 if DEBUG_AM33XXUART1
17142d1f7d2eSTony Lindgren	default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
17152d1f7d2eSTony Lindgren	default 0xfa022000 if DEBUG_TI81XXUART2
17162d1f7d2eSTony Lindgren	default 0xfa024000 if DEBUG_TI81XXUART3
1717a9838799SLukas Bulwahn	default 0xfa06a000 if DEBUG_OMAP2UART1
1718a9838799SLukas Bulwahn	default 0xfa06c000 if DEBUG_OMAP2UART2
1719fc23beb8STony Lindgren	default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
17207098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
17215c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
17228b2f2d03SAlexandre Belloni	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1723fc23beb8STony Lindgren	default 0xfb020000 if DEBUG_OMAP3UART3
1724fc23beb8STony Lindgren	default 0xfb042000 if DEBUG_OMAP3UART4
17255c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
17266c548099SArnd Bergmann	default 0xfcfe8600 if DEBUG_BCM63XX_UART
1727375d84cfSArnd Bergmann	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
17286041558eSKavyasree Kotagiri	default 0xfd064200 if DEBUG_AT91_LAN966_FLEXCOM
17299ca4efecSAlain VOLMAT	default 0xfd531000 if DEBUG_STIH41X_SBC_ASC1
17303c215e64STsahee Zidenberg	default 0xfd883000 if DEBUG_ALPINE_UART0
17319ca4efecSAlain VOLMAT	default 0xfdd32000 if DEBUG_STIH41X_ASC2
173262c1594dSErwan Le Ray	default 0xfe010000 if STM32MP1_DEBUG_UART
1733c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1734c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
17355c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1736753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
173712aae309SHaifeng Yan	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1738c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1739c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1740f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1741f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1742de73c162SDinh Nguyen	default 0xfec02000 if DEBUG_SOCFPGA_UART0
1743f6628486SClément Péron	default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1
1744f6628486SClément Péron	default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1
17453584be9eSArnd Bergmann	default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1746bd920490SMaxime Ripard	default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1747efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
174897bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1749c5fdb668SKefeng Wang	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_SD5203_UART
1750c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1751c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1752c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1753f06455faSArnd Bergmann	default 0xfedc0000 if DEBUG_EP93XX
17540045c0ddSArnd Bergmann	default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
17555c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1756713ce38dSLinus Walleij	default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1757713ce38dSLinus Walleij	default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1758c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
17590d7bb85eSArnd Bergmann	default 0xff0b0000 if DEBUG_OMAP1UART1
17600d7bb85eSArnd Bergmann	default 0xff0b0800 if DEBUG_OMAP1UART2
17610d7bb85eSArnd Bergmann	default 0xff0b9800 if DEBUG_OMAP1UART3
176227dafaa8SWang Long	default 0xffd01000 if DEBUG_HIP01_UART
17635c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1764f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1765d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
176661b7f892SArnd Bergmann		DEBUG_QCOM_UARTDM || \
1767bb08dea1SArnd Bergmann		DEBUG_S3C64XX_UART || \
17686c548099SArnd Bergmann		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1769f3a73284SArnd Bergmann		DEBUG_DIGICOLOR_UA0 || \
17709ca4efecSAlain VOLMAT		DEBUG_AT91_UART || DEBUG_STM32_UART || \
17716e959ad8SAlain VOLMAT		DEBUG_STIH41X_ASC2 || DEBUG_STIH41X_SBC_ASC1 || \
17726e959ad8SAlain VOLMAT		DEBUG_STIH418_SBC_ASC0
1773c3faa9b7SRussell King
17744a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
17754a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1776f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1777b91a69d1SArnd Bergmann	default 0 if DEBUG_FOOTBRIDGE_COM1 || DEBUG_BCM_5301X || \
1778ae4cc020SLukas Bulwahn		DEBUG_BCM_HR2
1779624b9d83SRomain Perier	default 3 if DEBUG_MSTARV7_PMUART
17804a003647SRussell King	default 2
17817610b607SRussell King
17820b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
17830b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1784f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
17850b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1786665a8799SRob Herring	default y if DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \
1787f6628486SClément Péron		DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \
1788f6628486SClément Péron		DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \
17892af4fcc0SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART1 || DEBUG_DAVINCI_DA8XX_UART2 || \
17902af4fcc0SArnd Bergmann		DEBUG_BCM_IPROC_UART3 || DEBUG_BCM_KONA_UART || \
17912af4fcc0SArnd Bergmann		DEBUG_RK32_UART2
17920b4cccbeSRussell King
17930c532546SMans Rullgardconfig DEBUG_UART_8250_PALMCHIP
17940c532546SMans Rullgard	bool "8250 UART is Palmchip BK-310x"
17950c532546SMans Rullgard	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
17960c532546SMans Rullgard	help
17970c532546SMans Rullgard	  Palmchip provides a UART implementation compatible with 16550
17980c532546SMans Rullgard	  except for having a different register layout.  Say Y here if
17990c532546SMans Rullgard	  the debug UART is of this type.
18000c532546SMans Rullgard
18013b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
180229337b60SRussell King	bool "Enable decompressor debugging via DEBUG_LL output"
180384fc8636SArnd Bergmann	depends on !ARCH_MULTIPLATFORM
18046fd09c9aSArnd Bergmann	depends on !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
180529337b60SRussell King	depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1806d0cf9d8aSFlorian Fainelli		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
18075ed801d0SLinus Walleij		     !DEBUG_BRCMSTB_UART && !DEBUG_SEMIHOSTING
1808b6992fa9SRussell King	help
180950d9edd3SMartin Kaiser	  Say Y here to enable debug output in the decompressor code, using
181050d9edd3SMartin Kaiser	  the selected DEBUG_LL output method.
18113b4af9bcSShawn Guo
1812615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1813615967b0SShawn Guo	string
18146fd09c9aSArnd Bergmann	default "mach/uncompress.h" if ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100
18156fd09c9aSArnd Bergmann	default "debug/uncompress.h"
1816615967b0SShawn Guo
18171da177e4SLinus Torvaldsconfig EARLY_PRINTK
18181da177e4SLinus Torvalds	bool "Early printk"
18191da177e4SLinus Torvalds	depends on DEBUG_LL
18201da177e4SLinus Torvalds	help
18211da177e4SLinus Torvalds	  Say Y here if you want to have an early console using the
18221da177e4SLinus Torvalds	  kernel low-level debugging functions. Add earlyprintk to your
18231da177e4SLinus Torvalds	  kernel parameters to enable this console.
18241da177e4SLinus Torvalds
18251da177e4SLinus Torvaldsconfig ARM_KPROBES_TEST
18261da177e4SLinus Torvalds	tristate "Kprobes test module"
18271da177e4SLinus Torvalds	depends on KPROBES && MODULES
18281da177e4SLinus Torvalds	help
18291da177e4SLinus Torvalds	  Perform tests of kprobes API and instruction set simulation.
18301da177e4SLinus Torvalds
1831575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1832575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1833575320d6SWill Deacon	depends on CPU_COPY_V6
1834575320d6SWill Deacon	help
1835575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1836575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1837575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1838575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1839575320d6SWill Deacon
184001081f5aSMathieu Poiriersource "drivers/hwtracing/coresight/Kconfig"
1841