xref: /linux/arch/arm/Kconfig.debug (revision 7c41ea57beb2aee96fa63091a457b1a2826f3c42)
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
121fd15b87SRussell King	---help---
131fd15b87SRussell King	  Say Y here if you want to show the kernel pagetable layout in a
141fd15b87SRussell King	  debugfs file. This information is only useful for kernel developers
151fd15b87SRussell King	  who are working in architecture specific areas of the kernel.
161fd15b87SRussell King	  It is probably not a good idea to enable this feature in a production
171fd15b87SRussell King	  kernel.
181fd15b87SRussell King	  If in doubt, say "N"
191fd15b87SRussell King
20a8e53c15SJinbum Parkconfig DEBUG_WX
21a8e53c15SJinbum Park	bool "Warn on W+X mappings at boot"
22ad43fc9aSArnd Bergmann	depends on MMU
23a8e53c15SJinbum Park	select ARM_PTDUMP_CORE
24a8e53c15SJinbum Park	---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"
50f9b58e8cSStefan Agner	default UNWINDER_ARM if AEABI && !FUNCTION_GRAPH_TRACER
51f9b58e8cSStefan Agner	default UNWINDER_FRAME_POINTER if !AEABI || FUNCTION_GRAPH_TRACER
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"
59f9b58e8cSStefan Agner	depends on !THUMB2_KERNEL && !CC_IS_CLANG
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"
68d6f94fa0SKees Cook	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
82f9b58e8cSStefan Agnerconfig FRAME_POINTER
83f9b58e8cSStefan Agner	bool
841da177e4SLinus Torvalds
851da177e4SLinus Torvaldsconfig DEBUG_USER
861da177e4SLinus Torvalds	bool "Verbose user fault messages"
871da177e4SLinus Torvalds	help
881da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
891da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
901da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
911da177e4SLinus Torvalds	  production system. Most people should say N here.
921da177e4SLinus Torvalds
931da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
941da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
951da177e4SLinus Torvalds
961da177e4SLinus Torvalds	      1 - undefined instruction events
971da177e4SLinus Torvalds	      2 - system calls
981da177e4SLinus Torvalds	      4 - invalid data aborts
991da177e4SLinus Torvalds	      8 - SIGSEGV faults
1001da177e4SLinus Torvalds	     16 - SIGBUS faults
1011da177e4SLinus Torvalds
1021da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
1031da177e4SLinus Torvaldsconfig DEBUG_LL
1044f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
1051da177e4SLinus Torvalds	depends on DEBUG_KERNEL
1061da177e4SLinus Torvalds	help
10735efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
1081da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
1091da177e4SLinus Torvalds	  executes before the console is initialized.
1101da177e4SLinus Torvalds
1114f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
1124f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
1134f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
1144f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
1154f5ef922SWill Deacon
11617916b28SWill Deaconchoice
11717916b28SWill Deacon	prompt "Kernel low-level debugging port"
11817916b28SWill Deacon	depends on DEBUG_LL
11917916b28SWill Deacon
1203c215e64STsahee Zidenberg	config DEBUG_ALPINE_UART0
1213c215e64STsahee Zidenberg		bool "Kernel low-level debugging messages via Alpine UART0"
1223c215e64STsahee Zidenberg		depends on ARCH_ALPINE
1233c215e64STsahee Zidenberg		select DEBUG_UART_8250
1243c215e64STsahee Zidenberg		help
1253c215e64STsahee Zidenberg		  Say Y here if you want kernel low-level debugging support
1263c215e64STsahee Zidenberg		  on Alpine based platforms.
1273c215e64STsahee Zidenberg
128d5bd4e8dSOleksij Rempel	config DEBUG_ASM9260_UART
129d5bd4e8dSOleksij Rempel		bool "Kernel low-level debugging via asm9260 UART"
130d5bd4e8dSOleksij Rempel		depends on MACH_ASM9260
131d5bd4e8dSOleksij Rempel		help
132d5bd4e8dSOleksij Rempel		  Say Y here if you want the debug print routines to direct
133d5bd4e8dSOleksij Rempel		  their output to an UART or USART port on asm9260 based
134d5bd4e8dSOleksij Rempel		  machines.
135d5bd4e8dSOleksij Rempel
136d5bd4e8dSOleksij Rempel		    DEBUG_UART_PHYS | DEBUG_UART_VIRT
137d5bd4e8dSOleksij Rempel
138d5bd4e8dSOleksij Rempel		    0x80000000      | 0xf0000000     | UART0
139d5bd4e8dSOleksij Rempel		    0x80004000      | 0xf0004000     | UART1
140d5bd4e8dSOleksij Rempel		    0x80008000      | 0xf0008000     | UART2
141d5bd4e8dSOleksij Rempel		    0x8000c000      | 0xf000c000     | UART3
142d5bd4e8dSOleksij Rempel		    0x80010000      | 0xf0010000     | UART4
143d5bd4e8dSOleksij Rempel		    0x80014000      | 0xf0014000     | UART5
144d5bd4e8dSOleksij Rempel		    0x80018000      | 0xf0018000     | UART6
145d5bd4e8dSOleksij Rempel		    0x8001c000      | 0xf001c000     | UART7
146d5bd4e8dSOleksij Rempel		    0x80020000      | 0xf0020000     | UART8
147d5bd4e8dSOleksij Rempel		    0x80024000      | 0xf0024000     | UART9
148d5bd4e8dSOleksij Rempel
1498b2f2d03SAlexandre Belloni	config DEBUG_AT91_RM9200_DBGU
1508b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9 DBGU"
1518b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1528b2f2d03SAlexandre Belloni		depends on SOC_AT91RM9200 || SOC_AT91SAM9
1536f112a08SAlexandre Belloni		help
1548b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1558b2f2d03SAlexandre Belloni		  on the DBGU port of:
1568b2f2d03SAlexandre Belloni		    at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
1578b2f2d03SAlexandre Belloni		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5
15813079a73SJean-Christophe PLAGNIOL-VILLARD
1598b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAM9263_DBGU
1608b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
1618b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1628b2f2d03SAlexandre Belloni		depends on SOC_AT91SAM9 || SOC_SAMA5D3
1638b2f2d03SAlexandre Belloni		help
1648b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1658b2f2d03SAlexandre Belloni		  on the DBGU port of:
1668b2f2d03SAlexandre Belloni		    at91sam9263, at91sam9g45, at91sam9m10,
1678b2f2d03SAlexandre Belloni		    sama5d3
16813079a73SJean-Christophe PLAGNIOL-VILLARD
1698b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAMA5D2_UART1
1708b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on SAMA5D2 UART1"
1718b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1728b2f2d03SAlexandre Belloni		depends on SOC_SAMA5D2
1738b2f2d03SAlexandre Belloni		help
1748b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1758b2f2d03SAlexandre Belloni		  on the UART1 port of sama5d2.
1768b2f2d03SAlexandre Belloni
1778b2f2d03SAlexandre Belloni	config DEBUG_AT91_SAMA5D4_USART3
1788b2f2d03SAlexandre Belloni		bool "Kernel low-level debugging on SAMA5D4 USART3"
1798b2f2d03SAlexandre Belloni		select DEBUG_AT91_UART
1808b2f2d03SAlexandre Belloni		depends on SOC_SAMA5D4
1818b2f2d03SAlexandre Belloni		help
1828b2f2d03SAlexandre Belloni		  Say Y here if you want kernel low-level debugging support
1838b2f2d03SAlexandre Belloni		  on the USART3 port of sama5d4.
184c268a743SNicolas Ferre
18563e07c0fSSzemző András	config DEBUG_AT91_SAMV7_USART1
18663e07c0fSSzemző András		bool "Kernel low-level debugging via SAMV7 USART1"
18763e07c0fSSzemző András		select DEBUG_AT91_UART
18863e07c0fSSzemző András		depends on SOC_SAMV7
18963e07c0fSSzemző András		help
19063e07c0fSSzemző András		  Say Y here if you want the debug print routines to direct
19163e07c0fSSzemző András		  their output to the USART1 port on SAMV7 based
19263e07c0fSSzemző András		  machines.
19363e07c0fSSzemző András
194f1ac922dSStephen Warren	config DEBUG_BCM2835
195f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
1965234c34eSEric Anholt		depends on ARCH_BCM2835 && ARCH_MULTI_V6
1975234c34eSEric Anholt		select DEBUG_UART_PL01X
1985234c34eSEric Anholt
1995234c34eSEric Anholt	config DEBUG_BCM2836
2005234c34eSEric Anholt		bool "Kernel low-level debugging on BCM2836 PL011 UART"
2015234c34eSEric Anholt		depends on ARCH_BCM2835 && ARCH_MULTI_V7
2025c972af4SRussell King		select DEBUG_UART_PL01X
203f1ac922dSStephen Warren
20406580275SHauke Mehrtens	config DEBUG_BCM_5301X
2052dc9e0b9SFlorian Fainelli		bool "Kernel low-level debugging on BCM5301X/NSP UART1"
2062dc9e0b9SFlorian Fainelli		depends on ARCH_BCM_5301X || ARCH_BCM_NSP
207140bd603SHauke Mehrtens		select DEBUG_UART_8250
20806580275SHauke Mehrtens
209fa1e581dSFlorian Fainelli	config DEBUG_BCM_HR2
210fa1e581dSFlorian Fainelli		bool "Kernel low-level debugging on Hurricane 2 UART2"
211fa1e581dSFlorian Fainelli		depends on ARCH_BCM_HR2
212fa1e581dSFlorian Fainelli		select DEBUG_UART_8250
213fa1e581dSFlorian Fainelli
214295898baSClément Peron	config DEBUG_BCM_IPROC_UART3
215295898baSClément Peron		bool "Kernel low-level debugging on BCM IPROC UART3"
216295898baSClément Peron		depends on ARCH_BCM_CYGNUS
217295898baSClément Peron		select DEBUG_UART_8250
218295898baSClément Peron		help
219295898baSClément Peron		  Say Y here if you want the debug print routines to direct
220295898baSClément Peron		  their output to the third serial port on these devices.
221295898baSClément Peron
222753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
223753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
2247aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
225753d1243SChristian Daudt		select DEBUG_UART_8250
226753d1243SChristian Daudt		help
227753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
228753d1243SChristian Daudt		  on Broadcom SoC platforms.
229753d1243SChristian Daudt		  This low level debug works for Broadcom
230753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
231753d1243SChristian Daudt		  bcm11351, etc...)
232753d1243SChristian Daudt
2336c548099SArnd Bergmann	config DEBUG_BCM63XX_UART
234b51312beSFlorian Fainelli		bool "Kernel low-level debugging on BCM63XX UART"
235b51312beSFlorian Fainelli		depends on ARCH_BCM_63XX
236b51312beSFlorian Fainelli
237caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
238caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
239caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
240caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
241caad0b41SSebastian Hesselbarth		help
242caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
243caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
244caad0b41SSebastian Hesselbarth
24581b43a6eSMarc Carino	config DEBUG_BRCMSTB_UART
24681b43a6eSMarc Carino		bool "Use BRCMSTB UART for low-level debug"
24781b43a6eSMarc Carino		depends on ARCH_BRCMSTB
24881b43a6eSMarc Carino		help
24981b43a6eSMarc Carino		  Say Y here if you want the debug print routines to direct
250d0cf9d8aSFlorian Fainelli		  their output to the first serial port on these devices. The
251d0cf9d8aSFlorian Fainelli		  UART physical and virtual address is automatically provided
252d0cf9d8aSFlorian Fainelli		  based on the chip identification register value.
25381b43a6eSMarc Carino
25481b43a6eSMarc Carino		  If you have a Broadcom STB chip and would like early print
25581b43a6eSMarc Carino		  messages to appear over the UART, select this option.
25681b43a6eSMarc Carino
257164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
258164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
259164acf96SStephen Boyd		depends on ARCH_CLPS711X
260164acf96SStephen Boyd		help
261164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
262164acf96SStephen Boyd		  their output to the first serial port on these devices.
26317916b28SWill Deacon
26417916b28SWill Deacon	config DEBUG_CLPS711X_UART2
26517916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
26617916b28SWill Deacon		depends on ARCH_CLPS711X
26717916b28SWill Deacon		help
26817916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
26917916b28SWill Deacon		  their output to the second serial port on these devices.
27017916b28SWill Deacon
27129c9b7beSArnd Bergmann	config DEBUG_CNS3XXX
27229c9b7beSArnd Bergmann		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
27329c9b7beSArnd Bergmann		depends on ARCH_CNS3XXX
274b125170aSKrzysztof Hałasa		select DEBUG_UART_8250
27529c9b7beSArnd Bergmann		help
27629c9b7beSArnd Bergmann		  Say Y here if you want the debug print routines to direct
27729c9b7beSArnd Bergmann                  their output to the CNS3xxx UART0.
27829c9b7beSArnd Bergmann
279477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
280477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
281477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
28297bd1a48SRussell King		select DEBUG_UART_8250
283477099f1SUwe Kleine-König		help
284477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
285477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
286477099f1SUwe Kleine-König
287477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
288477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
289477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
29097bd1a48SRussell King		select DEBUG_UART_8250
291477099f1SUwe Kleine-König		help
292477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
293477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
294477099f1SUwe Kleine-König
295477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
296477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
297477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
29897bd1a48SRussell King		select DEBUG_UART_8250
299477099f1SUwe Kleine-König		help
300477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
301477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
302477099f1SUwe Kleine-König
303e76f4750SRussell King	config DEBUG_DC21285_PORT
304e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
305e76f4750SRussell King		depends on FOOTBRIDGE
306e76f4750SRussell King		help
307e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
308e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
309e76f4750SRussell King
310e23814daSBaruch Siach	config DEBUG_DIGICOLOR_UA0
311e23814daSBaruch Siach		bool "Kernel low-level debugging messages via Digicolor UA0"
312e23814daSBaruch Siach		depends on ARCH_DIGICOLOR
313e23814daSBaruch Siach		help
314e23814daSBaruch Siach		  Say Y here if you want the debug print routines to direct
315e23814daSBaruch Siach		  their output to the UA0 serial port in the CX92755.
316e23814daSBaruch Siach
317f06455faSArnd Bergmann	config DEBUG_EP93XX
318f06455faSArnd Bergmann		bool "Kernel low-level debugging messages via ep93xx UART"
319f06455faSArnd Bergmann		depends on ARCH_EP93XX
320f06455faSArnd Bergmann		select DEBUG_UART_PL01X
321f06455faSArnd Bergmann		help
322f06455faSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
323f06455faSArnd Bergmann		  on Cirrus Logic EP93xx based platforms.
324f06455faSArnd Bergmann
325e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
326e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
327e76f4750SRussell King		depends on FOOTBRIDGE
3280045c0ddSArnd Bergmann		select DEBUG_UART_8250
329e76f4750SRussell King		help
330e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
331e76f4750SRussell King		  their output to the 8250 at PCI COM1.
332e76f4750SRussell King
333d7175a3bSArnd Bergmann	config DEBUG_GEMINI
334d7175a3bSArnd Bergmann		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
335d7175a3bSArnd Bergmann		depends on ARCH_GEMINI
336d7175a3bSArnd Bergmann		select DEBUG_UART_8250
337d7175a3bSArnd Bergmann		help
338d7175a3bSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
339d7175a3bSArnd Bergmann		  on Cortina Gemini based platforms.
340d7175a3bSArnd Bergmann
3418d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
3428d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
3438d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
3448d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
3458d258bebSHaojian Zhuang		help
3468d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
3478d258bebSHaojian Zhuang		  on HI3620 UART.
3488d258bebSHaojian Zhuang
349220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
350220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
351220e6cf7SRob Herring		depends on ARCH_HIGHBANK
3525c972af4SRussell King		select DEBUG_UART_PL01X
353220e6cf7SRob Herring		help
354220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
355220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
356220e6cf7SRob Herring
35727dafaa8SWang Long	config DEBUG_HIP01_UART
35827dafaa8SWang Long		bool "Hisilicon Hip01 Debug UART"
35927dafaa8SWang Long		depends on ARCH_HIP01
36027dafaa8SWang Long		select DEBUG_UART_8250
36127dafaa8SWang Long		help
36227dafaa8SWang Long		  Say Y here if you want kernel low-level debugging support
36327dafaa8SWang Long		  on HIP01 UART.
36427dafaa8SWang Long
365c9a1df48SHaojian Zhuang	config DEBUG_HIP04_UART
366c9a1df48SHaojian Zhuang		bool "Hisilicon HiP04 Debug UART"
367c9a1df48SHaojian Zhuang		depends on ARCH_HIP04
368c9a1df48SHaojian Zhuang		select DEBUG_UART_8250
369c9a1df48SHaojian Zhuang		help
370c9a1df48SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
371c9a1df48SHaojian Zhuang		  on HIP04 UART.
372c9a1df48SHaojian Zhuang
37337bdaf82SOlof Johansson	config DEBUG_HIX5HD2_UART
37437bdaf82SOlof Johansson		bool "Hisilicon Hix5hd2 Debug UART"
37537bdaf82SOlof Johansson		depends on ARCH_HIX5HD2
37693fd03a8SCatalin Marinas		select DEBUG_UART_PL01X
37793fd03a8SCatalin Marinas		help
37837bdaf82SOlof Johansson		  Say Y here if you want kernel low-level debugging support
37937bdaf82SOlof Johansson		  on Hix5hd2 UART.
3801da177e4SLinus Torvalds
381f350b861SShawn Guo	config DEBUG_IMX1_UART
382f350b861SShawn Guo		bool "i.MX1 Debug UART"
383f350b861SShawn Guo		depends on SOC_IMX1
384f350b861SShawn Guo		help
385f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
386f350b861SShawn Guo		  on i.MX1.
387f350b861SShawn Guo
388f350b861SShawn Guo	config DEBUG_IMX23_UART
389f350b861SShawn Guo		bool "i.MX23 Debug UART"
390f350b861SShawn Guo		depends on SOC_IMX23
3915c972af4SRussell King		select DEBUG_UART_PL01X
392f350b861SShawn Guo		help
393f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
394f350b861SShawn Guo		  on i.MX23.
395f350b861SShawn Guo
396f350b861SShawn Guo	config DEBUG_IMX25_UART
397f350b861SShawn Guo		bool "i.MX25 Debug UART"
398f350b861SShawn Guo		depends on SOC_IMX25
399f350b861SShawn Guo		help
400f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
401f350b861SShawn Guo		  on i.MX25.
402f350b861SShawn Guo
403f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
404f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
405f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
406f350b861SShawn Guo		help
407f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
408f350b861SShawn Guo		  on i.MX21 or i.MX27.
409f350b861SShawn Guo
410f350b861SShawn Guo	config DEBUG_IMX28_UART
411f350b861SShawn Guo		bool "i.MX28 Debug UART"
412f350b861SShawn Guo		depends on SOC_IMX28
4135c972af4SRussell King		select DEBUG_UART_PL01X
414f350b861SShawn Guo		help
415f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
416f350b861SShawn Guo		  on i.MX28.
417f350b861SShawn Guo
4184ad625d4SShawn Guo	config DEBUG_IMX31_UART
4194ad625d4SShawn Guo		bool "i.MX31 Debug UART"
4204ad625d4SShawn Guo		depends on SOC_IMX31
421f350b861SShawn Guo		help
422f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
4234ad625d4SShawn Guo		  on i.MX31.
4244ad625d4SShawn Guo
4254ad625d4SShawn Guo	config DEBUG_IMX35_UART
4264ad625d4SShawn Guo		bool "i.MX35 Debug UART"
4274ad625d4SShawn Guo		depends on SOC_IMX35
4284ad625d4SShawn Guo		help
4294ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
4304ad625d4SShawn Guo		  on i.MX35.
431f350b861SShawn Guo
432ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
433ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
434ad364a70SGreg Ungerer		depends on SOC_IMX50
435ad364a70SGreg Ungerer		help
436ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
437ad364a70SGreg Ungerer		  on i.MX50.
438ad364a70SGreg Ungerer
439f350b861SShawn Guo	config DEBUG_IMX51_UART
440f350b861SShawn Guo		bool "i.MX51 Debug UART"
441f350b861SShawn Guo		depends on SOC_IMX51
442f350b861SShawn Guo		help
443f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
444f350b861SShawn Guo		  on i.MX51.
445f350b861SShawn Guo
4467356420cSFabio Estevam	config DEBUG_IMX53_UART
4477356420cSFabio Estevam		bool "i.MX53 Debug UART"
4487356420cSFabio Estevam		depends on SOC_IMX53
449f350b861SShawn Guo		help
450f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
4517356420cSFabio Estevam		  on i.MX53.
452f350b861SShawn Guo
45349c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
4543c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
455785d7fabSDirk Behme		depends on SOC_IMX6Q
456785d7fabSDirk Behme		help
457785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
4583c03a2feSShawn Guo		  on i.MX6Q/DL.
459bac89d75SShawn Guo
46034e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
46134e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
46234e8a16bSShawn Guo		depends on SOC_IMX6SL
46334e8a16bSShawn Guo		help
46434e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
46534e8a16bSShawn Guo		  on i.MX6SL.
46634e8a16bSShawn Guo
46774368e81SShawn Guo	config DEBUG_IMX6SX_UART
46874368e81SShawn Guo		bool "i.MX6SX Debug UART"
46974368e81SShawn Guo		depends on SOC_IMX6SX
47074368e81SShawn Guo		help
47174368e81SShawn Guo		  Say Y here if you want kernel low-level debugging support
47274368e81SShawn Guo		  on i.MX6SX.
47374368e81SShawn Guo
47420c305f6SAnson Huang	config DEBUG_IMX6UL_UART
47520c305f6SAnson Huang		bool "i.MX6UL Debug UART"
47620c305f6SAnson Huang		depends on SOC_IMX6UL
47720c305f6SAnson Huang		help
47820c305f6SAnson Huang		  Say Y here if you want kernel low-level debugging support
47920c305f6SAnson Huang		  on i.MX6UL.
48020c305f6SAnson Huang
48152d7aec2SAnson Huang	config DEBUG_IMX7D_UART
48252d7aec2SAnson Huang		bool "i.MX7D Debug UART"
48352d7aec2SAnson Huang		depends on SOC_IMX7D
48452d7aec2SAnson Huang		help
48552d7aec2SAnson Huang		  Say Y here if you want kernel low-level debugging support
48652d7aec2SAnson Huang		  on i.MX7D.
48752d7aec2SAnson Huang
4884db22c10SArnd Bergmann	config DEBUG_INTEGRATOR
4894db22c10SArnd Bergmann		bool "Kernel low-level debugging messages via ARM Integrator UART"
4904db22c10SArnd Bergmann		depends on ARCH_INTEGRATOR
4914db22c10SArnd Bergmann		select DEBUG_UART_PL01X
4924db22c10SArnd Bergmann		help
4934db22c10SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
4944db22c10SArnd Bergmann		  on ARM Integrator platforms.
4954db22c10SArnd Bergmann
496828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
497828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
498828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
499f2acf003SRussell King		select DEBUG_UART_8250
500828989adSSantosh Shilimkar		help
501828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
502828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
503828989adSSantosh Shilimkar
504828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
505828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
506828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
507f2acf003SRussell King		select DEBUG_UART_8250
508828989adSSantosh Shilimkar		help
509828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
510828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
511828989adSSantosh Shilimkar
512abbfb21eSDaniel Thompson	config DEBUG_KS8695_UART
513abbfb21eSDaniel Thompson		bool "KS8695 Debug UART"
514abbfb21eSDaniel Thompson		depends on ARCH_KS8695
515abbfb21eSDaniel Thompson		help
516abbfb21eSDaniel Thompson		  Say Y here if you want kernel low-level debugging support
517abbfb21eSDaniel Thompson		  on KS8695.
518abbfb21eSDaniel Thompson
5190aed6a37SJoachim Eastwood	config DEBUG_LPC18XX_UART0
5200aed6a37SJoachim Eastwood		bool "Kernel low-level debugging via LPC18xx/43xx UART0"
5210aed6a37SJoachim Eastwood		depends on ARCH_LPC18XX
5220aed6a37SJoachim Eastwood		select DEBUG_UART_8250
5230aed6a37SJoachim Eastwood		help
5240aed6a37SJoachim Eastwood		  Say Y here if you want kernel low-level debugging support
5250aed6a37SJoachim Eastwood		  on NXP LPC18xx/43xx UART0.
5260aed6a37SJoachim Eastwood
52759bd4c38SArnd Bergmann	config DEBUG_LPC32XX
52859bd4c38SArnd Bergmann		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
52959bd4c38SArnd Bergmann		depends on ARCH_LPC32XX
53059bd4c38SArnd Bergmann		select DEBUG_UART_8250
53159bd4c38SArnd Bergmann		help
53259bd4c38SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
53359bd4c38SArnd Bergmann		  on NXP LPC32xx based platforms.
53459bd4c38SArnd Bergmann
535d8a00916SCarlo Caione	config DEBUG_MESON_UARTAO
536d8a00916SCarlo Caione		bool "Kernel low-level debugging via Meson6 UARTAO"
537d8a00916SCarlo Caione		depends on ARCH_MESON
538d8a00916SCarlo Caione		help
539d8a00916SCarlo Caione		  Say Y here if you want kernel low-lever debugging support
540d8a00916SCarlo Caione		  on Amlogic Meson6 based platforms on the UARTAO.
541d8a00916SCarlo Caione
542fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
543fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
544fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
5454a003647SRussell King		select DEBUG_UART_8250
546fa4cd2a8SHaojian Zhuang		help
547fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
548fa4cd2a8SHaojian Zhuang		  on MMP UART2.
549fa4cd2a8SHaojian Zhuang
550fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
551fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
552fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
5534a003647SRussell King		select DEBUG_UART_8250
554fa4cd2a8SHaojian Zhuang		help
555fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
556fa4cd2a8SHaojian Zhuang		  on MMP UART3.
557fa4cd2a8SHaojian Zhuang
558d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0
559d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
560bfd5af99SRob Herring		depends on ARCH_MVEBU
561c047f529SArnd Bergmann		depends on ARCH_MVEBU && CPU_V7
5624a003647SRussell King		select DEBUG_UART_8250
563bfd5af99SRob Herring		help
564bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
565d91125ddSMaxime Ripard		  on MVEBU based platforms on UART0.
566bfd5af99SRob Herring
567c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
568c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
569c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
570c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
571c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
572c2804cd6SThomas Petazzoni		  bootloader.
573c2804cd6SThomas Petazzoni
574c047f529SArnd Bergmann		  This option will not work on older Marvell platforms
575c047f529SArnd Bergmann		  (Kirkwood, Dove, MV78xx0, Orion5x), which should pick
576c047f529SArnd Bergmann		  the "new bootloader" variant.
577c047f529SArnd Bergmann
578c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
579c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
580c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
581c2804cd6SThomas Petazzoni
582d91125ddSMaxime Ripard	config DEBUG_MVEBU_UART0_ALTERNATE
583d91125ddSMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
584c047f529SArnd Bergmann		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_MV78XX0 || ARCH_ORION5X
5854a003647SRussell King		select DEBUG_UART_8250
586c2804cd6SThomas Petazzoni		help
587c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
588c047f529SArnd Bergmann		  on MVEBU based platforms on UART0. (Armada XP, Armada 3xx,
589c047f529SArnd Bergmann		  Kirkwood, Dove, MV78xx0, Orion5x).
590c047f529SArnd Bergmann
591c2804cd6SThomas Petazzoni
592c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
593c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
594c2804cd6SThomas Petazzoni
595c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
596c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
597c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
598c2804cd6SThomas Petazzoni
599bd920490SMaxime Ripard	config DEBUG_MVEBU_UART1_ALTERNATE
600bd920490SMaxime Ripard		bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
601bd920490SMaxime Ripard		depends on ARCH_MVEBU
602bd920490SMaxime Ripard		select DEBUG_UART_8250
603bd920490SMaxime Ripard		help
604bd920490SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
605c047f529SArnd Bergmann		  on MVEBU based platforms on UART1. (Armada XP, Armada 3xx,
606c047f529SArnd Bergmann		  Kirkwood, Dove, MV78xx0, Orion5x).
607a3d3ef9dSStephen Boyd
6081da177e4SLinus Torvalds		  This option should be used with the new bootloaders
6091da177e4SLinus Torvalds		  that remap the internal registers at 0xf1000000.
610c047f529SArnd Bergmann		  All of the older (pre Armada XP/370) platforms also use
611c047f529SArnd Bergmann		  this address, regardless of the boot loader version.
6121da177e4SLinus Torvalds
6131da177e4SLinus Torvalds		  If the wrong DEBUG_MVEBU_UART* option is selected,
6141da177e4SLinus Torvalds		  when u-boot hands over to the kernel, the system
6151da177e4SLinus Torvalds		  silently crashes, with no serial output at all.
6161da177e4SLinus Torvalds
6171dc93416SArnd Bergmann	config DEBUG_MT6589_UART0
6181dc93416SArnd Bergmann		bool "Mediatek mt6589 UART0"
6191dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6201dc93416SArnd Bergmann		select DEBUG_UART_8250
621c7c3eac6SShawn Guo		help
622c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
6231dc93416SArnd Bergmann		  for Mediatek mt6589 based platforms on UART0.
6241dc93416SArnd Bergmann
6251dc93416SArnd Bergmann	config DEBUG_MT8127_UART0
6261dc93416SArnd Bergmann		bool "Mediatek mt8127/mt6592 UART0"
6271dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6281dc93416SArnd Bergmann		select DEBUG_UART_8250
6291dc93416SArnd Bergmann		help
6301dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
6311dc93416SArnd Bergmann		  for Mediatek mt8127 based platforms on UART0.
6321dc93416SArnd Bergmann
6331dc93416SArnd Bergmann	config DEBUG_MT8135_UART3
6341dc93416SArnd Bergmann		bool "Mediatek mt8135 UART3"
6351dc93416SArnd Bergmann		depends on ARCH_MEDIATEK
6361dc93416SArnd Bergmann		select DEBUG_UART_8250
6371dc93416SArnd Bergmann		help
6381dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
6391dc93416SArnd Bergmann		  for Mediatek mt8135 based platforms on UART3.
640c7c3eac6SShawn Guo
6414d31e664SDaniel Thompson	config DEBUG_NETX_UART
6424d31e664SDaniel Thompson		bool "Kernel low-level debugging messages via NetX UART"
6434d31e664SDaniel Thompson		depends on ARCH_NETX
6444d31e664SDaniel Thompson		help
6454d31e664SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
6464d31e664SDaniel Thompson		  on Hilscher NetX based platforms.
6474d31e664SDaniel Thompson
648266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
649266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
650266c3479SLinus Walleij		depends on ARCH_NOMADIK
6515c972af4SRussell King		select DEBUG_UART_PL01X
652266c3479SLinus Walleij		help
653266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
654266c3479SLinus Walleij		  on NOMADIK based platforms.
655266c3479SLinus Walleij
6569851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
6579851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
6589851ca57SDaniel Tang		depends on ARCH_NSPIRE
6594a003647SRussell King		select DEBUG_UART_8250
6609851ca57SDaniel Tang		help
6619851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
6629851ca57SDaniel Tang		  on TI-NSPIRE classic models.
6639851ca57SDaniel Tang
6649851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
6659851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
6669851ca57SDaniel Tang		depends on ARCH_NSPIRE
6675c972af4SRussell King		select DEBUG_UART_PL01X
6689851ca57SDaniel Tang		help
6699851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
6709851ca57SDaniel Tang		  on TI-NSPIRE CX models.
6719851ca57SDaniel Tang
672c26b9993SDaniel Thompson	config DEBUG_OMAP1UART1
673c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART1"
674c26b9993SDaniel Thompson		depends on ARCH_OMAP1
675c26b9993SDaniel Thompson		select DEBUG_UART_8250
676c26b9993SDaniel Thompson		help
677c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
678c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART1.
679c26b9993SDaniel Thompson
680c26b9993SDaniel Thompson	config DEBUG_OMAP1UART2
681c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART2"
682c26b9993SDaniel Thompson		depends on ARCH_OMAP1
683c26b9993SDaniel Thompson		select DEBUG_UART_8250
684c26b9993SDaniel Thompson		help
685c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
686c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART2.
687c26b9993SDaniel Thompson
688c26b9993SDaniel Thompson	config DEBUG_OMAP1UART3
689c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP1 UART3"
690c26b9993SDaniel Thompson		depends on ARCH_OMAP1
691c26b9993SDaniel Thompson		select DEBUG_UART_8250
692c26b9993SDaniel Thompson		help
693c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
694c26b9993SDaniel Thompson		  on OMAP1 based platforms (except OMAP730) on the UART3.
695c26b9993SDaniel Thompson
696cce278d2SRussell King	config DEBUG_OMAP2UART1
697cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
698808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
699d2b310b0STony Lindgren		select DEBUG_UART_8250
700808b7e07STony Lindgren		help
701cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
702cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
703cce278d2SRussell King
704cce278d2SRussell King	config DEBUG_OMAP2UART2
705cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
706cce278d2SRussell King		depends on ARCH_OMAP2PLUS
707d2b310b0STony Lindgren		select DEBUG_UART_8250
708cce278d2SRussell King
709cce278d2SRussell King	config DEBUG_OMAP2UART3
710cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
711cce278d2SRussell King		depends on ARCH_OMAP2PLUS
712d2b310b0STony Lindgren		select DEBUG_UART_8250
713cce278d2SRussell King
714cce278d2SRussell King	config DEBUG_OMAP3UART3
715cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
716cce278d2SRussell King		depends on ARCH_OMAP2PLUS
717fc23beb8STony Lindgren		select DEBUG_UART_8250
718cce278d2SRussell King		help
719cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
720cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
721cce278d2SRussell King		  and 3517evm.
722cce278d2SRussell King
723cce278d2SRussell King	config DEBUG_OMAP4UART3
724cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
725cce278d2SRussell King		depends on ARCH_OMAP2PLUS
726fc23beb8STony Lindgren		select DEBUG_UART_8250
727cce278d2SRussell King
728cce278d2SRussell King	config DEBUG_OMAP3UART4
729cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
730cce278d2SRussell King		depends on ARCH_OMAP2PLUS
731fc23beb8STony Lindgren		select DEBUG_UART_8250
732cce278d2SRussell King
733cce278d2SRussell King	config DEBUG_OMAP4UART4
734cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
735cce278d2SRussell King		depends on ARCH_OMAP2PLUS
736fc23beb8STony Lindgren		select DEBUG_UART_8250
737cce278d2SRussell King
738c26b9993SDaniel Thompson	config DEBUG_OMAP7XXUART1
739c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP730 UART1"
740c26b9993SDaniel Thompson		depends on ARCH_OMAP730
741c26b9993SDaniel Thompson		select DEBUG_UART_8250
742c26b9993SDaniel Thompson		help
743c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
744c26b9993SDaniel Thompson		  on OMAP730 based platforms on the UART1.
745c26b9993SDaniel Thompson
746c26b9993SDaniel Thompson	config DEBUG_OMAP7XXUART2
747c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP730 UART2"
748c26b9993SDaniel Thompson		depends on ARCH_OMAP730
749c26b9993SDaniel Thompson		select DEBUG_UART_8250
750c26b9993SDaniel Thompson		help
751c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
752c26b9993SDaniel Thompson		  on OMAP730 based platforms on the UART2.
753c26b9993SDaniel Thompson
754c26b9993SDaniel Thompson	config DEBUG_OMAP7XXUART3
755c26b9993SDaniel Thompson		bool "Kernel low-level debugging via OMAP730 UART3"
756c26b9993SDaniel Thompson		depends on ARCH_OMAP730
757c26b9993SDaniel Thompson		select DEBUG_UART_8250
758c26b9993SDaniel Thompson		help
759c26b9993SDaniel Thompson		  Say Y here if you want kernel low-level debugging support
760c26b9993SDaniel Thompson		  on OMAP730 based platforms on the UART3.
761c26b9993SDaniel Thompson
762cce278d2SRussell King	config DEBUG_TI81XXUART1
763cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
764cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7652d1f7d2eSTony Lindgren		select DEBUG_UART_8250
766cce278d2SRussell King
767cce278d2SRussell King	config DEBUG_TI81XXUART2
768cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
769cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7702d1f7d2eSTony Lindgren		select DEBUG_UART_8250
771cce278d2SRussell King
772cce278d2SRussell King	config DEBUG_TI81XXUART3
773cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
774cce278d2SRussell King		depends on ARCH_OMAP2PLUS
7752d1f7d2eSTony Lindgren		select DEBUG_UART_8250
776cce278d2SRussell King
777cce278d2SRussell King	config DEBUG_AM33XXUART1
778cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
779cce278d2SRussell King		depends on ARCH_OMAP2PLUS
78051ef7003STony Lindgren		select DEBUG_UART_8250
781cce278d2SRussell King
782cce278d2SRussell King	config DEBUG_ZOOM_UART
783cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
784cce278d2SRussell King		depends on ARCH_OMAP2PLUS
785cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
786808b7e07STony Lindgren
78759bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
78859bba2a9SRob Herring		depends on ARCH_PICOXCELL
78959bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
7900b4cccbeSRussell King		select DEBUG_UART_8250
79159bba2a9SRob Herring		help
79259bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
79359bba2a9SRob Herring		  on PicoXcell based platforms.
79459bba2a9SRob Herring
7950a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
7960a43cd3bSHaojian Zhuang		depends on ARCH_PXA
7970a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
7984a003647SRussell King		select DEBUG_UART_8250
7990a43cd3bSHaojian Zhuang		help
8000a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
8010a43cd3bSHaojian Zhuang		  on PXA UART1.
8020a43cd3bSHaojian Zhuang
8031dc93416SArnd Bergmann	config DEBUG_QCOM_UARTDM
8041dc93416SArnd Bergmann		bool "Kernel low-level debugging messages via QCOM UARTDM"
8051dc93416SArnd Bergmann		depends on ARCH_QCOM
8061dc93416SArnd Bergmann		help
8071dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
8081dc93416SArnd Bergmann		  their output to the serial port on Qualcomm devices.
8091dc93416SArnd Bergmann
8101dc93416SArnd Bergmann		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_VIRT
8111dc93416SArnd Bergmann		  APQ8064   0x16640000        0xf0040000
8121dc93416SArnd Bergmann		  APQ8084   0xf995e000        0xfa75e000
8137b87fe94SChristian Lamparter		  IPQ4019   0x078af000        0xf78af000
8141dc93416SArnd Bergmann		  MSM8X60   0x19c40000        0xf0040000
8151dc93416SArnd Bergmann		  MSM8960   0x16440000        0xf0040000
8161dc93416SArnd Bergmann		  MSM8974   0xf991e000        0xfa71e000
8171dc93416SArnd Bergmann
8181dc93416SArnd Bergmann		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
8191dc93416SArnd Bergmann		  options based on your needs.
8201dc93416SArnd Bergmann
821e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
822e76f4750SRussell King		bool "RealView Default UART"
823e76f4750SRussell King		depends on ARCH_REALVIEW
8245c972af4SRussell King		select DEBUG_UART_PL01X
825e76f4750SRussell King		help
826e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
827e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
828e76f4750SRussell King		  and PBX platforms.
829e76f4750SRussell King
830e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
831e76f4750SRussell King		bool "RealView PB1176 UART"
832e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
8335c972af4SRussell King		select DEBUG_UART_PL01X
834e76f4750SRussell King		help
835e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
836e76f4750SRussell King		  their output to the standard serial port on the RealView
837e76f4750SRussell King		  PB1176 platform.
838e76f4750SRussell King
839a3b882f9SAndy Yan	config DEBUG_RV1108_UART0
840a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART0"
841a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
842a3b882f9SAndy Yan		select DEBUG_UART_8250
843a3b882f9SAndy Yan		help
844a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
845a3b882f9SAndy Yan                  on Rockchip RV1108 based platforms.
846a3b882f9SAndy Yan
847a3b882f9SAndy Yan	config DEBUG_RV1108_UART1
848a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART1"
849a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
850a3b882f9SAndy Yan		select DEBUG_UART_8250
851a3b882f9SAndy Yan		help
852a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
853a3b882f9SAndy Yan		  on Rockchip RV1108 based platforms.
854a3b882f9SAndy Yan
855a3b882f9SAndy Yan	config DEBUG_RV1108_UART2
856a3b882f9SAndy Yan		bool "Kernel low-level debugging messages via Rockchip RV1108 UART2"
857a3b882f9SAndy Yan		depends on ARCH_ROCKCHIP
858a3b882f9SAndy Yan		select DEBUG_UART_8250
859a3b882f9SAndy Yan		help
860a3b882f9SAndy Yan		  Say Y here if you want kernel low-level debugging support
861a3b882f9SAndy Yan		  on Rockchip RV1108 based platforms.
862a3b882f9SAndy Yan
863cce278d2SRussell King	config DEBUG_RK29_UART0
864cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
86538bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
8664a003647SRussell King		select DEBUG_UART_8250
867cce278d2SRussell King		help
868cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
869cce278d2SRussell King		  on Rockchip based platforms.
870cce278d2SRussell King
871cce278d2SRussell King	config DEBUG_RK29_UART1
872cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
873cce278d2SRussell King		depends on ARCH_ROCKCHIP
8744a003647SRussell King		select DEBUG_UART_8250
875cce278d2SRussell King		help
876cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
877cce278d2SRussell King		  on Rockchip based platforms.
878cce278d2SRussell King
879cce278d2SRussell King	config DEBUG_RK29_UART2
880cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
881cce278d2SRussell King		depends on ARCH_ROCKCHIP
8824a003647SRussell King		select DEBUG_UART_8250
883cce278d2SRussell King		help
884cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
885cce278d2SRussell King		  on Rockchip based platforms.
886cce278d2SRussell King
887cce278d2SRussell King	config DEBUG_RK3X_UART0
888aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
889cce278d2SRussell King		depends on ARCH_ROCKCHIP
8904a003647SRussell King		select DEBUG_UART_8250
891cce278d2SRussell King		help
892cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
893cce278d2SRussell King		  on Rockchip based platforms.
894cce278d2SRussell King
895cce278d2SRussell King	config DEBUG_RK3X_UART1
896aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
897cce278d2SRussell King		depends on ARCH_ROCKCHIP
8984a003647SRussell King		select DEBUG_UART_8250
899cce278d2SRussell King		help
900cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
901cce278d2SRussell King		  on Rockchip based platforms.
902cce278d2SRussell King
903cce278d2SRussell King	config DEBUG_RK3X_UART2
904aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
905cce278d2SRussell King		depends on ARCH_ROCKCHIP
9064a003647SRussell King		select DEBUG_UART_8250
907cce278d2SRussell King		help
908cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
909cce278d2SRussell King		  on Rockchip based platforms.
910cce278d2SRussell King
911cce278d2SRussell King	config DEBUG_RK3X_UART3
912aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
913cce278d2SRussell King		depends on ARCH_ROCKCHIP
9144a003647SRussell King		select DEBUG_UART_8250
91538bd6892SHeiko Stuebner		help
91638bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
91738bd6892SHeiko Stuebner		  on Rockchip based platforms.
91838bd6892SHeiko Stuebner
919efd02ee9SHeiko Stuebner	config DEBUG_RK32_UART2
920efd02ee9SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
921efd02ee9SHeiko Stuebner		depends on ARCH_ROCKCHIP
922efd02ee9SHeiko Stuebner		select DEBUG_UART_8250
923efd02ee9SHeiko Stuebner		help
924efd02ee9SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
925efd02ee9SHeiko Stuebner		  on Rockchip RK32xx based platforms.
926efd02ee9SHeiko Stuebner
9277a2071c5SGeert Uytterhoeven	config DEBUG_R7S72100_SCIF2
9287a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
9297a2071c5SGeert Uytterhoeven		depends on ARCH_R7S72100
9307a2071c5SGeert Uytterhoeven		help
9317a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9327a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas RZ/A1H (R7S72100).
9337a2071c5SGeert Uytterhoeven
9347a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF0
9357a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
9367a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7778
9377a2071c5SGeert Uytterhoeven		help
9387a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9397a2071c5SGeert Uytterhoeven		  via SCIF0 on Renesas R-Car M1A (R8A7778).
9407a2071c5SGeert Uytterhoeven
9417a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN1_SCIF2
9427a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
9437a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7779
9447a2071c5SGeert Uytterhoeven		help
9457a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9467a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car H1 (R8A7779).
9477a2071c5SGeert Uytterhoeven
9487a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF0
949fcfbb6f1SChris Paterson		bool "Kernel low-level debugging messages via SCIF0 on R-Car Gen2 and RZ/G1"
950abf3bf53SBiju Das		depends on ARCH_R8A7743 || ARCH_R8A7744 || ARCH_R8A7790 || \
951abf3bf53SBiju Das			ARCH_R8A7791 || ARCH_R8A7792 || ARCH_R8A7793
9527a2071c5SGeert Uytterhoeven		help
9537a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
954abf3bf53SBiju Das		  via SCIF0 on Renesas RZ/G1M (R8A7743), RZ/G1N (R8A7744),
955abf3bf53SBiju Das		  R-Car H2 (R8A7790), M2-W (R8A7791), V2H (R8A7792), or
956abf3bf53SBiju Das		  M2-N (R8A7793).
9577a2071c5SGeert Uytterhoeven
9582f095c26SBiju Das	config DEBUG_RCAR_GEN2_SCIF1
9592f095c26SBiju Das		bool "Kernel low-level debugging messages via SCIF1 on R8A77470"
9602f095c26SBiju Das		depends on ARCH_R8A77470
9612f095c26SBiju Das		help
9622f095c26SBiju Das		  Say Y here if you want kernel low-level debugging support
9632f095c26SBiju Das		  via SCIF1 on Renesas RZ/G1C (R8A77470).
9642f095c26SBiju Das
9657a2071c5SGeert Uytterhoeven	config DEBUG_RCAR_GEN2_SCIF2
9667a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
9677a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7794
9687a2071c5SGeert Uytterhoeven		help
9697a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9707a2071c5SGeert Uytterhoeven		  via SCIF2 on Renesas R-Car E2 (R8A7794).
9717a2071c5SGeert Uytterhoeven
9728e5f2d65SFabrizio Castro	config DEBUG_RCAR_GEN2_SCIF4
9738e5f2d65SFabrizio Castro		bool "Kernel low-level debugging messages via SCIF4 on R8A7745"
9748e5f2d65SFabrizio Castro		depends on ARCH_R8A7745
9758e5f2d65SFabrizio Castro		help
9768e5f2d65SFabrizio Castro		  Say Y here if you want kernel low-level debugging support
9778e5f2d65SFabrizio Castro		  via SCIF4 on Renesas RZ/G1E (R8A7745).
9788e5f2d65SFabrizio Castro
9797a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA0
98059b89af1SMagnus Damm		bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
98159b89af1SMagnus Damm		depends on ARCH_R8A73A4
9827a2071c5SGeert Uytterhoeven		help
9837a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
98459b89af1SMagnus Damm		  via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
9857a2071c5SGeert Uytterhoeven
9867a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA1
9877a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
9887a2071c5SGeert Uytterhoeven		depends on ARCH_R8A7740
9897a2071c5SGeert Uytterhoeven		help
9907a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9917a2071c5SGeert Uytterhoeven		  via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
9927a2071c5SGeert Uytterhoeven
9937a2071c5SGeert Uytterhoeven	config DEBUG_RMOBILE_SCIFA4
9947a2071c5SGeert Uytterhoeven		bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
9957a2071c5SGeert Uytterhoeven		depends on ARCH_SH73A0
9967a2071c5SGeert Uytterhoeven		help
9977a2071c5SGeert Uytterhoeven		  Say Y here if you want kernel low-level debugging support
9987a2071c5SGeert Uytterhoeven		  via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
9997a2071c5SGeert Uytterhoeven
1000e76f4750SRussell King	config DEBUG_S3C_UART0
1001e76f4750SRussell King		depends on PLAT_SAMSUNG
1002a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
10031899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1004bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10057bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10065cc8a016SSachin Kamat		bool "Use Samsung S3C UART 0 for low-level debug"
1007e76f4750SRussell King		help
1008e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1009e76f4750SRussell King		  their output to UART 0. The port must have been initialised
1010e76f4750SRussell King		  by the boot-loader before use.
1011e76f4750SRussell King
1012e76f4750SRussell King	config DEBUG_S3C_UART1
1013e76f4750SRussell King		depends on PLAT_SAMSUNG
1014a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
10151899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
1016bb08dea1SArnd Bergmann		select DEBUG_S3C64XX_UART if ARCH_S3C64XX
10177bab7d9eSTomasz Figa		select DEBUG_S5PV210_UART if ARCH_S5PV210
10185cc8a016SSachin Kamat		bool "Use Samsung S3C UART 1 for low-level debug"
1019e76f4750SRussell King		help
1020e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1021e76f4750SRussell King		  their output to UART 1. The port must have been initialised
1022e76f4750SRussell King		  by the boot-loader before use.
1023e76f4750SRussell King
1024e76f4750SRussell King	config DEBUG_S3C_UART2
1025e76f4750SRussell King		depends on PLAT_SAMSUNG
1026a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
10271899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
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
10377bab7d9eSTomasz Figa		depends on PLAT_SAMSUNG && (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
1047daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART0
1048daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
1049daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
1050daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
1051daf67dfcSHeiko Stuebner		help
1052daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
1053daf67dfcSHeiko Stuebner		  their output to UART 0. The port must have been initialised
1054daf67dfcSHeiko Stuebner		  by the boot-loader before use.
1055daf67dfcSHeiko Stuebner
1056daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART1
1057daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
1058daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
1059daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
1060daf67dfcSHeiko Stuebner		help
1061daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
1062daf67dfcSHeiko Stuebner		  their output to UART 1. The port must have been initialised
1063daf67dfcSHeiko Stuebner		  by the boot-loader before use.
1064daf67dfcSHeiko Stuebner
1065daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART2
1066daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
1067daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
1068daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
1069daf67dfcSHeiko Stuebner		help
1070daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
1071daf67dfcSHeiko Stuebner		  their output to UART 2. The port must have been initialised
1072daf67dfcSHeiko Stuebner		  by the boot-loader before use.
1073daf67dfcSHeiko Stuebner
1074e6131fa3SDmitry Eremin-Solenikov	config DEBUG_SA1100
1075e6131fa3SDmitry Eremin-Solenikov		depends on ARCH_SA1100
1076e6131fa3SDmitry Eremin-Solenikov		bool "Use SA1100 UARTs for low-level debug"
1077e6131fa3SDmitry Eremin-Solenikov		help
1078e6131fa3SDmitry Eremin-Solenikov		  Say Y here if you want kernel low-level debugging support
1079e6131fa3SDmitry Eremin-Solenikov		  on SA-11x0 UART ports. The kernel will check for the first
1080e6131fa3SDmitry Eremin-Solenikov		  enabled UART in a sequence 3-1-2.
1081e6131fa3SDmitry Eremin-Solenikov
1082de73c162SDinh Nguyen	config DEBUG_SOCFPGA_UART0
10836111bf7cSRob Herring		depends on ARCH_SOCFPGA
1084de73c162SDinh Nguyen		bool "Use SOCFPGA UART0 for low-level debug"
10850b4cccbeSRussell King		select DEBUG_UART_8250
10866111bf7cSRob Herring		help
10876111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
1088de73c162SDinh Nguyen		  on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
1089de73c162SDinh Nguyen
1090de73c162SDinh Nguyen	config DEBUG_SOCFPGA_UART1
1091de73c162SDinh Nguyen		depends on ARCH_SOCFPGA
1092de73c162SDinh Nguyen		bool "Use SOCFPGA UART1 for low-level debug"
1093de73c162SDinh Nguyen		select DEBUG_UART_8250
1094de73c162SDinh Nguyen		help
1095de73c162SDinh Nguyen		  Say Y here if you want kernel low-level debugging support
1096de73c162SDinh Nguyen		  on SOCFPGA(Arria 10) based platforms.
1097de73c162SDinh Nguyen
10986111bf7cSRob Herring
1099d4da889aSChen-Yu Tsai	config DEBUG_SUN9I_UART0
1100d4da889aSChen-Yu Tsai		bool "Kernel low-level debugging messages via sun9i UART0"
1101d4da889aSChen-Yu Tsai		depends on MACH_SUN9I
1102d4da889aSChen-Yu Tsai		select DEBUG_UART_8250
1103d4da889aSChen-Yu Tsai		help
1104d4da889aSChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
1105d4da889aSChen-Yu Tsai		  on Allwinner A80 based platforms on the UART0.
1106d4da889aSChen-Yu Tsai
1107aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
1108aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
1109aa25115aSStefan Roese		depends on ARCH_SUNXI
11104a003647SRussell King		select DEBUG_UART_8250
1111aa25115aSStefan Roese		help
1112aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
1113aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
1114aa25115aSStefan Roese
1115cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
1116cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
1117cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
11184a003647SRussell King		select DEBUG_UART_8250
1119cb84fa18SMaxime Ripard		help
1120cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
1121cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
1122cb84fa18SMaxime Ripard
1123c4718543SChen-Yu Tsai	config DEBUG_SUNXI_R_UART
1124c4718543SChen-Yu Tsai		bool "Kernel low-level debugging messages via sunXi R_UART"
1125c4718543SChen-Yu Tsai		depends on MACH_SUN6I || MACH_SUN8I
1126c4718543SChen-Yu Tsai		select DEBUG_UART_8250
1127c4718543SChen-Yu Tsai		help
1128c4718543SChen-Yu Tsai		  Say Y here if you want kernel low-level debugging support
1129c4718543SChen-Yu Tsai		  on Allwinner A31/A23 based platforms on the R_UART.
1130c4718543SChen-Yu Tsai
11317f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
11327f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
11337f46a107SBarry Song		depends on ARCH_PRIMA2
113401ea63d9SGuo Zeng		select DEBUG_SIRFSOC_UART
11357f46a107SBarry Song		help
11367f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
11377f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
11387f46a107SBarry Song
113901ea63d9SGuo Zeng	config DEBUG_SIRFATLAS7_UART0
114001ea63d9SGuo Zeng		bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
114101ea63d9SGuo Zeng		depends on ARCH_ATLAS7
114201ea63d9SGuo Zeng		select DEBUG_SIRFSOC_UART
11437f46a107SBarry Song		help
11447f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
114501ea63d9SGuo Zeng		  their output to the uart0 port on SiRFATLAS7 devices.The uart0
114601ea63d9SGuo Zeng		  is used on SiRFATLAS7 as a extra debug port.sometimes an extra
114701ea63d9SGuo Zeng		  debug port can be very useful.
114801ea63d9SGuo Zeng
114901ea63d9SGuo Zeng	config DEBUG_SIRFATLAS7_UART1
115001ea63d9SGuo Zeng		bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
115101ea63d9SGuo Zeng		depends on ARCH_ATLAS7
115201ea63d9SGuo Zeng		select DEBUG_SIRFSOC_UART
115301ea63d9SGuo Zeng		help
115401ea63d9SGuo Zeng		  Say Y here if you want the debug print routines to direct
115501ea63d9SGuo Zeng		  their output to the uart1 port on SiRFATLAS7 devices.
11567f46a107SBarry Song
1157375d84cfSArnd Bergmann	config DEBUG_SPEAR3XX
1158375d84cfSArnd Bergmann		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
1159375d84cfSArnd Bergmann		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
1160375d84cfSArnd Bergmann		select DEBUG_UART_PL01X
1161375d84cfSArnd Bergmann		help
1162375d84cfSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1163375d84cfSArnd Bergmann		  on ST SPEAr based platforms.
1164375d84cfSArnd Bergmann
1165375d84cfSArnd Bergmann	config DEBUG_SPEAR13XX
1166375d84cfSArnd Bergmann		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
1167375d84cfSArnd Bergmann		depends on ARCH_SPEAR13XX
1168375d84cfSArnd Bergmann		select DEBUG_UART_PL01X
1169375d84cfSArnd Bergmann		help
1170375d84cfSArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1171375d84cfSArnd Bergmann		  on ST SPEAr13xx based platforms.
1172375d84cfSArnd Bergmann
1173cce278d2SRussell King	config STIH41X_DEBUG_ASC2
1174cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
11755562b800SArnd Bergmann		depends on ARCH_STI
1176cce278d2SRussell King		select DEBUG_STI_UART
11775562b800SArnd Bergmann		help
11785562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
1179cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
1180cce278d2SRussell King		  default UART wired up to ASC2.
1181cce278d2SRussell King
1182cce278d2SRussell King		  If unsure, say N.
1183cce278d2SRussell King
1184cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
1185cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1186cce278d2SRussell King		depends on ARCH_STI
1187cce278d2SRussell King		select DEBUG_STI_UART
1188cce278d2SRussell King		help
1189cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
1190cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
1191cce278d2SRussell King		  default UART wired up to SBC ASC1.
11925562b800SArnd Bergmann
11935562b800SArnd Bergmann		  If unsure, say N.
11945562b800SArnd Bergmann
11951da177e4SLinus Torvalds	config TEGRA_DEBUG_UART_AUTO_ODMDATA
11961da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
11971da177e4SLinus Torvalds		depends on ARCH_TEGRA
11981da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
11991da177e4SLinus Torvalds		help
12001da177e4SLinus Torvalds		  Automatically determines which UART to use for low-level
12011da177e4SLinus Torvalds		  debug based on the ODMDATA value. This value is part of
12021da177e4SLinus Torvalds		  the BCT, and is written to the boot memory device using
12031da177e4SLinus Torvalds		  nvflash, or other flashing tool.  When bits 19:18 are 3,
12041da177e4SLinus Torvalds		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
12051da177e4SLinus Torvalds		  are UART A/B/C/D/E.
12061da177e4SLinus Torvalds
12071da177e4SLinus Torvalds	config TEGRA_DEBUG_UARTA
12081da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART A"
12091da177e4SLinus Torvalds		depends on ARCH_TEGRA
12101da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12111da177e4SLinus Torvalds		help
12121da177e4SLinus Torvalds		  Say Y here if you want kernel low-level debugging support
12131da177e4SLinus Torvalds		  on Tegra based platforms.
12141da177e4SLinus Torvalds
12151da177e4SLinus Torvalds	config TEGRA_DEBUG_UARTB
12161da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART B"
12171da177e4SLinus Torvalds		depends on ARCH_TEGRA
12181da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12191da177e4SLinus Torvalds		help
12201da177e4SLinus Torvalds		  Say Y here if you want kernel low-level debugging support
12211da177e4SLinus Torvalds		  on Tegra based platforms.
12221da177e4SLinus Torvalds
12231da177e4SLinus Torvalds	config TEGRA_DEBUG_UARTC
12241da177e4SLinus Torvalds		bool "Kernel low-level debugging messages via Tegra UART C"
12251da177e4SLinus Torvalds		depends on ARCH_TEGRA
12261da177e4SLinus Torvalds		select DEBUG_TEGRA_UART
12271da177e4SLinus Torvalds		help
1228e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1229e76f4750SRussell King		  on Tegra based platforms.
1230e76f4750SRussell King
1231e76f4750SRussell King	config TEGRA_DEBUG_UARTD
1232e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
1233e76f4750SRussell King		depends on ARCH_TEGRA
1234e76f4750SRussell King		select DEBUG_TEGRA_UART
1235e76f4750SRussell King		help
1236e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1237e76f4750SRussell King		  on Tegra based platforms.
1238e76f4750SRussell King
1239e76f4750SRussell King	config TEGRA_DEBUG_UARTE
1240e76f4750SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
1241e76f4750SRussell King		depends on ARCH_TEGRA
1242e76f4750SRussell King		select DEBUG_TEGRA_UART
1243e76f4750SRussell King		help
1244e76f4750SRussell King		  Say Y here if you want kernel low-level debugging support
1245e76f4750SRussell King		  on Tegra based platforms.
1246e76f4750SRussell King
1247dd324da7SLinus Walleij	config DEBUG_U300_UART
1248dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
1249dd324da7SLinus Walleij		depends on ARCH_U300
12505c972af4SRussell King		select DEBUG_UART_PL01X
1251dd324da7SLinus Walleij		help
1252dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
1253dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
1254dd324da7SLinus Walleij
1255f87b95ddSLinus Walleij	config DEBUG_UX500_UART
1256f87b95ddSLinus Walleij		depends on ARCH_U8500
1257f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
1258f87b95ddSLinus Walleij		help
1259f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
1260f87b95ddSLinus Walleij		  on Ux500 based platforms.
1261f87b95ddSLinus Walleij
12624db22c10SArnd Bergmann	config DEBUG_VERSATILE
12634db22c10SArnd Bergmann		bool "Kernel low-level debugging messages via ARM Versatile UART"
12644db22c10SArnd Bergmann		depends on ARCH_VERSATILE
12654db22c10SArnd Bergmann		select DEBUG_UART_PL01X
1266d6682085SMatthias Brugger		help
1267d6682085SMatthias Brugger		  Say Y here if you want kernel low-level debugging support
12684db22c10SArnd Bergmann		  on ARM Versatile platforms.
126965ec48c0SJoe.C
12701b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
12711b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
12721b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
12731b820eafSPawel Moll		help
12741b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
12751b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
12761b820eafSPawel Moll		  choose the relevant UART0 base address.
12771b820eafSPawel Moll
12781b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
12791b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
12801b820eafSPawel Moll
12811b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
12821b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
12831b820eafSPawel Moll		depends on ARCH_VEXPRESS
12845c972af4SRussell King		select DEBUG_UART_PL01X
12851b820eafSPawel Moll		help
12861b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
12871b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
12881b820eafSPawel Moll
12891b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
12901b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
12911b820eafSPawel Moll		depends on ARCH_VEXPRESS
12925c972af4SRussell King		select DEBUG_UART_PL01X
12931b820eafSPawel Moll		help
12941b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
12951b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
12961b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
12971b820eafSPawel Moll
1298ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
1299ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1300ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
13015c972af4SRussell King		select DEBUG_UART_PL01X
1302ed18bdc8SJonathan Austin		help
1303ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
1304ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1305ed18bdc8SJonathan Austin
13061dc93416SArnd Bergmann	config DEBUG_VF_UART
13071dc93416SArnd Bergmann		bool "Vybrid UART"
13081dc93416SArnd Bergmann		depends on SOC_VF610
13091dc93416SArnd Bergmann		help
13101dc93416SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
13111dc93416SArnd Bergmann		  on Vybrid based platforms.
13121dc93416SArnd Bergmann
1313b61a2722STony Prisk	config DEBUG_VT8500_UART0
1314b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
1315b61a2722STony Prisk		depends on ARCH_VT8500
1316b61a2722STony Prisk		help
1317b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
1318b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
1319b61a2722STony Prisk
13201dc93416SArnd Bergmann	config DEBUG_ZTE_ZX
13211dc93416SArnd Bergmann		bool "Use ZTE ZX UART"
13221dc93416SArnd Bergmann		select DEBUG_UART_PL01X
13231dc93416SArnd Bergmann		depends on ARCH_ZX
13241dc93416SArnd Bergmann		help
13251dc93416SArnd Bergmann		  Say Y here if you are enabling ZTE ZX296702 SOC and need
13261dc93416SArnd Bergmann		  debug uart support.
13271dc93416SArnd Bergmann
13281dc93416SArnd Bergmann		  This option is preferred over the platform specific
13291dc93416SArnd Bergmann		  options; the platform specific options are deprecated
13301dc93416SArnd Bergmann		  and will be soon removed.
13311dc93416SArnd Bergmann
13321dc93416SArnd Bergmann	config DEBUG_ZYNQ_UART0
13331dc93416SArnd Bergmann		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
13341dc93416SArnd Bergmann		depends on ARCH_ZYNQ
13351dc93416SArnd Bergmann		help
13361dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
13371dc93416SArnd Bergmann		  their output to UART0 on the Zynq platform.
13381dc93416SArnd Bergmann
13391dc93416SArnd Bergmann	config DEBUG_ZYNQ_UART1
13401dc93416SArnd Bergmann		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
13411dc93416SArnd Bergmann		depends on ARCH_ZYNQ
13421dc93416SArnd Bergmann		help
13431dc93416SArnd Bergmann		  Say Y here if you want the debug print routines to direct
13441dc93416SArnd Bergmann		  their output to UART1 on the Zynq platform.
13451dc93416SArnd Bergmann
13461dc93416SArnd Bergmann		  If you have a ZC702 board and want early boot messages to
13471dc93416SArnd Bergmann		  appear on the USB serial adaptor, select this option.
13481dc93416SArnd Bergmann
1349e76f4750SRussell King	config DEBUG_ICEDCC
1350e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1351e76f4750SRussell King		help
1352e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
1353e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
1354e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
1355e76f4750SRussell King		  channel and on the XScale with the PEEDI.
1356e76f4750SRussell King
1357e76f4750SRussell King		  Note that the system will appear to hang during boot if there
1358e76f4750SRussell King		  is nothing connected to read from the DCC.
1359e76f4750SRussell King
1360b0df8986SRussell King	config DEBUG_SEMIHOSTING
136162194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
1362b0df8986SRussell King		help
1363b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
1364b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
136562194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
1366b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
1367b0df8986SRussell King		  otherwise the kernel will crash.
1368b0df8986SRussell King
1369b0df8986SRussell King		  This is known to work with OpenOCD, as well as
1370b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
1371b0df8986SRussell King		  that implements semihosting.
1372b0df8986SRussell King
1373b0df8986SRussell King		  For more details about semihosting, please see
1374b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1375b0df8986SRussell King
1376f8f1279cSRussell King	config DEBUG_LL_UART_8250
1377f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
1378f8f1279cSRussell King		help
1379f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1380f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
1381f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
1382f8f1279cSRussell King		  selecting one of the platform specific options above if
1383f8f1279cSRussell King		  you know the parameters for the port.
1384f8f1279cSRussell King
1385f8f1279cSRussell King		  This option is preferred over the platform specific
1386f8f1279cSRussell King		  options; the platform specific options are deprecated
1387f8f1279cSRussell King		  and will be soon removed.
1388f8f1279cSRussell King
1389494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
1390494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
1391494e492dSUwe Kleine-König		depends on ARCH_EFM32
1392494e492dSUwe Kleine-König		help
1393494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
1394494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
1395494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
1396494e492dSUwe Kleine-König
1397494e492dSUwe Kleine-König		    0x4000c000 | USART0
1398494e492dSUwe Kleine-König		    0x4000c400 | USART1
1399494e492dSUwe Kleine-König		    0x4000c800 | USART2
1400494e492dSUwe Kleine-König		    0x4000e000 | UART0
1401494e492dSUwe Kleine-König		    0x4000e400 | UART1
1402494e492dSUwe Kleine-König
1403f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
1404f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1405f8f1279cSRussell King		help
1406f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
1407f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
1408f8f1279cSRussell King		  this option to provide the parameters for the UART
1409f8f1279cSRussell King		  rather than selecting one of the platform specific
1410f8f1279cSRussell King		  options above if you know the parameters for the port.
1411f8f1279cSRussell King
1412f8f1279cSRussell King		  This option is preferred over the platform specific
1413f8f1279cSRussell King		  options; the platform specific options are deprecated
1414f8f1279cSRussell King		  and will be soon removed.
1415f8f1279cSRussell King
14161da177e4SLinus Torvaldsendchoice
14171da177e4SLinus Torvalds
14188b2f2d03SAlexandre Belloniconfig DEBUG_AT91_UART
14198b2f2d03SAlexandre Belloni	bool
14208b2f2d03SAlexandre Belloni	depends on ARCH_AT91
14218b2f2d03SAlexandre Belloni
1422a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
1423a2e40710SArnd Bergmann	bool
1424a2e40710SArnd Bergmann
1425daf67dfcSHeiko Stuebnerconfig DEBUG_S3C2410_UART
1426daf67dfcSHeiko Stuebner	bool
14271899de28SHeiko Stuebner	select DEBUG_S3C24XX_UART
14281899de28SHeiko Stuebner
14291899de28SHeiko Stuebnerconfig DEBUG_S3C24XX_UART
14301899de28SHeiko Stuebner	bool
1431daf67dfcSHeiko Stuebner
1432bb08dea1SArnd Bergmannconfig DEBUG_S3C64XX_UART
1433bb08dea1SArnd Bergmann	bool
1434bb08dea1SArnd Bergmann
14357bab7d9eSTomasz Figaconfig DEBUG_S5PV210_UART
14367bab7d9eSTomasz Figa	bool
14377bab7d9eSTomasz Figa
1438cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
1439cce278d2SRussell King	bool
1440cce278d2SRussell King	depends on ARCH_OMAP2PLUS
1441cce278d2SRussell King
1442f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
1443*7c41ea57SUwe Kleine-König	int "i.MX Debug UART Port Selection"
1444*7c41ea57SUwe Kleine-König	depends on DEBUG_IMX1_UART || \
1445f8c95fe6SShawn Guo		   DEBUG_IMX25_UART || \
1446f8c95fe6SShawn Guo		   DEBUG_IMX21_IMX27_UART || \
1447f8c95fe6SShawn Guo		   DEBUG_IMX31_UART || \
1448f8c95fe6SShawn Guo		   DEBUG_IMX35_UART || \
1449ad364a70SGreg Ungerer		   DEBUG_IMX50_UART || \
1450f8c95fe6SShawn Guo		   DEBUG_IMX51_UART || \
14510c52db7eSPaul Bolle		   DEBUG_IMX53_UART || \
145234e8a16bSShawn Guo		   DEBUG_IMX6Q_UART || \
145374368e81SShawn Guo		   DEBUG_IMX6SL_UART || \
145452d7aec2SAnson Huang		   DEBUG_IMX6SX_UART || \
145520c305f6SAnson Huang		   DEBUG_IMX6UL_UART || \
145652d7aec2SAnson Huang		   DEBUG_IMX7D_UART
145749c9e60eSShawn Guo	default 1
145849c9e60eSShawn Guo	help
145949c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
146049c9e60eSShawn Guo	  should be output.
146149c9e60eSShawn Guo
1462cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
1463cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1464cfdb7d56SStefan Agner	default 1
1465cfdb7d56SStefan Agner	range 0 3
1466cfdb7d56SStefan Agner	depends on SOC_VF610
1467cfdb7d56SStefan Agner	help
1468cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
1469cfdb7d56SStefan Agner	  should be output.
1470cfdb7d56SStefan Agner
1471cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
1472cce278d2SRussell King	bool
1473cce278d2SRussell King	depends on ARCH_TEGRA
1474808b7e07STony Lindgren
1475cce278d2SRussell Kingconfig DEBUG_STI_UART
1476cce278d2SRussell King	bool
1477cce278d2SRussell King	depends on ARCH_STI
14785026aecfSSrinivas Kandagatla
147901ea63d9SGuo Zengconfig DEBUG_SIRFSOC_UART
148001ea63d9SGuo Zeng	bool
148101ea63d9SGuo Zeng	depends on ARCH_SIRF
148201ea63d9SGuo Zeng
148391a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
148491a9fec0SRob Herring	string
1485e6131fa3SDmitry Eremin-Solenikov	default "debug/sa1100.S" if DEBUG_SA1100
14860c532546SMans Rullgard	default "debug/palmchip.S" if DEBUG_UART_8250_PALMCHIP
1487f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
148842dfd1e1SNicolas Ferre	default "debug/at91.S" if DEBUG_AT91_UART
1489d5bd4e8dSOleksij Rempel	default "debug/asm9260.S" if DEBUG_ASM9260_UART
1490dd99eef5SAlexander Shiyan	default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
14910045c0ddSArnd Bergmann	default "debug/dc21285.S" if DEBUG_DC21285_PORT
1492d8a00916SCarlo Caione	default "debug/meson.S" if DEBUG_MESON_UARTAO
1493f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1494a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
1495494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
149691a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
14976dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
14986dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
14996dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
15004ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
15014ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1502ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
15036dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
15047356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
150534e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
150674368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
150752d7aec2SAnson Huang				 DEBUG_IMX6SX_UART || \
150820c305f6SAnson Huang				 DEBUG_IMX6UL_UART || \
150952d7aec2SAnson Huang				 DEBUG_IMX7D_UART
1510abbfb21eSDaniel Thompson	default "debug/ks8695.S" if DEBUG_KS8695_UART
1511c0c89fafSStephen Boyd	default "debug/msm.S" if DEBUG_QCOM_UARTDM
15124d31e664SDaniel Thompson	default "debug/netx.S" if DEBUG_NETX_UART
1513808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
15147a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
15157a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
15167a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
15177a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
15182f095c26SBiju Das	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF1
15197a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
15208e5f2d65SFabrizio Castro	default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF4
15217a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
15227a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
15237a2071c5SGeert Uytterhoeven	default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1524bb08dea1SArnd Bergmann	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART || DEBUG_S3C64XX_UART
15257bab7d9eSTomasz Figa	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
152601ea63d9SGuo Zeng	default "debug/sirf.S" if DEBUG_SIRFSOC_UART
15275026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
1528150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1529150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
15304e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1531c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1532b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1533385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
15346c548099SArnd Bergmann	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1535e23814daSBaruch Siach	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1536d0cf9d8aSFlorian Fainelli	default "debug/brcmstb.S" if DEBUG_BRCMSTB_UART
153791a9fec0SRob Herring	default "mach/debug-macro.S"
153891a9fec0SRob Herring
1539f8f1279cSRussell King# Compatibility options for PL01x
15405c972af4SRussell Kingconfig DEBUG_UART_PL01X
1541a61cbf51SDaniel Thompson	bool
15425c972af4SRussell King
1543f8f1279cSRussell King# Compatibility options for 8250
15447610b607SRussell Kingconfig DEBUG_UART_8250
15450045c0ddSArnd Bergmann	def_bool ARCH_EBSA110 || \
1546d7175a3bSArnd Bergmann		ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \
154759bd4c38SArnd Bergmann		ARCH_RPC
15484a003647SRussell King
1549c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1550c3faa9b7SRussell King	hex "Physical base address of debug UART"
15514d31e664SDaniel Thompson	default 0x00100a00 if DEBUG_NETX_UART
155297bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1553c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1554c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
155597bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
155697bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1557c4718543SChen-Yu Tsai	default 0x01f02800 if DEBUG_SUNXI_R_UART
1558f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1559f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1560c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
1561d4da889aSChen-Yu Tsai	default 0x07000000 if DEBUG_SUN9I_UART0
156258d03985SJun Nie	default 0x09405000 if DEBUG_ZTE_ZX
1563b125170aSKrzysztof Hałasa	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
15645c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
15655c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1566c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1567c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
15684db22c10SArnd Bergmann	default 0x101f1000 if DEBUG_VERSATILE
15695c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
1570a3b882f9SAndy Yan	default 0x10210000 if DEBUG_RV1108_UART2
1571a3b882f9SAndy Yan	default 0x10220000 if DEBUG_RV1108_UART1
1572a3b882f9SAndy Yan	default 0x10230000 if DEBUG_RV1108_UART0
157365ec48c0SJoe.C	default 0x11002000 if DEBUG_MT8127_UART0
1574d6682085SMatthias Brugger	default 0x11006000 if DEBUG_MT6589_UART0
157565ec48c0SJoe.C	default 0x11009000 if DEBUG_MT8135_UART3
15764db22c10SArnd Bergmann	default 0x16000000 if DEBUG_INTEGRATOR
157706580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
1578fa1e581dSFlorian Fainelli	default 0x18000400 if DEBUG_BCM_HR2
157901ea63d9SGuo Zeng	default 0x18010000 if DEBUG_SIRFATLAS7_UART0
158001ea63d9SGuo Zeng	default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1581295898baSClément Peron	default 0x18023000 if DEBUG_BCM_IPROC_UART3
15825c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
158327dafaa8SWang Long	default 0x20001000 if DEBUG_HIP01_UART
1584c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1585c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1586c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
15875c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1588753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1589f3f49e42SClément Peron	default 0x3f201000 if DEBUG_BCM2836
1590494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
159163e07c0fSSzemző András	default 0x40028000 if DEBUG_AT91_SAMV7_USART1
15920aed6a37SJoachim Eastwood	default 0x40081000 if DEBUG_LPC18XX_UART0
159359bd4c38SArnd Bergmann	default 0x40090000 if DEBUG_LPC32XX
1594c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1595d7175a3bSArnd Bergmann	default 0x42000000 if DEBUG_GEMINI
159651ef7003STony Lindgren	default 0x44e09000 if DEBUG_AM33XXUART1
15972d1f7d2eSTony Lindgren	default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
15982d1f7d2eSTony Lindgren	default 0x48022000 if DEBUG_TI81XXUART2
15992d1f7d2eSTony Lindgren	default 0x48024000 if DEBUG_TI81XXUART3
1600d2b310b0STony Lindgren	default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1601d2b310b0STony Lindgren				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1602d2b310b0STony Lindgren	default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1603d2b310b0STony Lindgren				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1604fc23beb8STony Lindgren	default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
1605fc23beb8STony Lindgren	default 0x49020000 if DEBUG_OMAP3UART3
1606fc23beb8STony Lindgren	default 0x49042000 if DEBUG_OMAP3UART4
16071899de28SHeiko Stuebner	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
16081899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
16091899de28SHeiko Stuebner	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
16101899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
16111899de28SHeiko Stuebner	default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
16121899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1613c3ca2130SKrzysztof Hałasa	default 0x78000000 if DEBUG_CNS3XXX
16140045c0ddSArnd Bergmann	default 0x7c0003f8 if DEBUG_FOOTBRIDGE_COM1
1615bb08dea1SArnd Bergmann	default 0x7f005000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
1616bb08dea1SArnd Bergmann	default 0x7f005400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1617bb08dea1SArnd Bergmann	default 0x7f005800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1618bb08dea1SArnd Bergmann	default 0x7f005c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
1619d5bd4e8dSOleksij Rempel	default 0x80010000 if DEBUG_ASM9260_UART
16205c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
16215c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1622c39e1ef7SAlexander Shiyan	default 0x80230000 if DEBUG_PICOXCELL_UART
1623f06455faSArnd Bergmann	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
16245c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
162501ea63d9SGuo Zeng	default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
16265c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
16275c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1628c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1629c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1630375d84cfSArnd Bergmann	default 0xd0000000 if DEBUG_SPEAR3XX
1631d91125ddSMaxime Ripard	default 0xd0012000 if DEBUG_MVEBU_UART0
1632d8a00916SCarlo Caione	default 0xc81004c0 if DEBUG_MESON_UARTAO
1633c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1634c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
1635375d84cfSArnd Bergmann	default 0xe0000000 if DEBUG_SPEAR13XX
1636c9a1df48SHaojian Zhuang	default 0xe4007000 if DEBUG_HIP04_UART
16377a2071c5SGeert Uytterhoeven	default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
16387a2071c5SGeert Uytterhoeven	default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
16397a2071c5SGeert Uytterhoeven	default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
16407a2071c5SGeert Uytterhoeven	default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
16417a2071c5SGeert Uytterhoeven	default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
16422f095c26SBiju Das	default 0xe6e68000 if DEBUG_RCAR_GEN2_SCIF1
16438e5f2d65SFabrizio Castro	default 0xe6ee0000 if DEBUG_RCAR_GEN2_SCIF4
16447a2071c5SGeert Uytterhoeven	default 0xe8008000 if DEBUG_R7S72100_SCIF2
1645c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1646d91125ddSMaxime Ripard	default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1647bd920490SMaxime Ripard	default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1648caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
16498b2f2d03SAlexandre Belloni	default 0xf8020000 if DEBUG_AT91_SAMA5D2_UART1
165012aae309SHaifeng Yan	default 0xf8b00000 if DEBUG_HIX5HD2_UART
16517098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
16528b2f2d03SAlexandre Belloni	default 0xfc00c000 if DEBUG_AT91_SAMA5D4_USART3
16538d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
16543c215e64STsahee Zidenberg	default 0xfd883000 if DEBUG_ALPINE_UART0
1655c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
1656efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
1657de73c162SDinh Nguyen	default 0xffc02000 if DEBUG_SOCFPGA_UART0
1658de73c162SDinh Nguyen	default 0xffc02100 if DEBUG_SOCFPGA_UART1
1659c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
16607a2071c5SGeert Uytterhoeven	default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
16617a2071c5SGeert Uytterhoeven	default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
16625c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1663c26b9993SDaniel Thompson	default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1664c26b9993SDaniel Thompson	default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1665c26b9993SDaniel Thompson	default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
16666c548099SArnd Bergmann	default 0xfffe8600 if DEBUG_BCM63XX_UART
16678b2f2d03SAlexandre Belloni	default 0xffffee00 if DEBUG_AT91_SAM9263_DBGU
16688b2f2d03SAlexandre Belloni	default 0xfffff200 if DEBUG_AT91_RM9200_DBGU
1669c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1670d02fde7fSDaniel Thompson	depends on ARCH_EP93XX || \
1671d02fde7fSDaniel Thompson	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1672494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
1673d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1674c0c89fafSStephen Boyd		DEBUG_NETX_UART || \
16754d31e664SDaniel Thompson		DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
16767a2071c5SGeert Uytterhoeven		DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
16772f095c26SBiju Das		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF1 || \
16782f095c26SBiju Das		DEBUG_RCAR_GEN2_SCIF2 || DEBUG_RCAR_GEN2_SCIF4 || \
16797a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
16807a2071c5SGeert Uytterhoeven		DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1681bb08dea1SArnd Bergmann		DEBUG_S3C64XX_UART || \
16826c548099SArnd Bergmann		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
16836f112a08SAlexandre Belloni		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
16846f112a08SAlexandre Belloni		DEBUG_AT91_UART
1685c3faa9b7SRussell King
1686c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1687c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1688a3b882f9SAndy Yan	default 0xc881f000 if DEBUG_RV1108_UART2
1689a3b882f9SAndy Yan	default 0xc8821000 if DEBUG_RV1108_UART1
1690a3b882f9SAndy Yan	default 0xc8912000 if DEBUG_RV1108_UART0
16914d31e664SDaniel Thompson	default 0xe0000a00 if DEBUG_NETX_UART
1692c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
1693c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1694d5bd4e8dSOleksij Rempel	default 0xf0010000 if DEBUG_ASM9260_UART
16955c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
16965234c34eSEric Anholt	default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
169706580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
1698fa1e581dSFlorian Fainelli	default 0xf1000400 if DEBUG_BCM_HR2
169965ec48c0SJoe.C	default 0xf1002000 if DEBUG_MT8127_UART0
1700d6682085SMatthias Brugger	default 0xf1006000 if DEBUG_MT6589_UART0
170165ec48c0SJoe.C	default 0xf1009000 if DEBUG_MT8135_UART3
1702295898baSClément Peron	default 0xf1023000 if DEBUG_BCM_IPROC_UART3
17034db22c10SArnd Bergmann	default 0xf11f1000 if DEBUG_VERSATILE
17044db22c10SArnd Bergmann	default 0xf1600000 if DEBUG_INTEGRATOR
1705c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1706c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1707c4718543SChen-Yu Tsai	default 0xf1f02800 if DEBUG_SUNXI_R_UART
17081dc93416SArnd Bergmann	default 0xf31004c0 if DEBUG_MESON_UARTAO
170959bd4c38SArnd Bergmann	default 0xf4090000 if DEBUG_LPC32XX
1710d7175a3bSArnd Bergmann	default 0xf4200000 if DEBUG_GEMINI
1711cde7fc87SRobert Jarzmik	default 0xf6200000 if DEBUG_PXA_UART1
1712d4da889aSChen-Yu Tsai	default 0xf7000000 if DEBUG_SUN9I_UART0
1713bb08dea1SArnd Bergmann	default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0
17141899de28SHeiko Stuebner	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
17151899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
1716bb08dea1SArnd Bergmann	default 0xf7000400 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART1
1717bb08dea1SArnd Bergmann	default 0xf7000800 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART2
1718bb08dea1SArnd Bergmann	default 0xf7000c00 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART3
17191899de28SHeiko Stuebner	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
17201899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
17211899de28SHeiko Stuebner	default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
17221899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
17238b2f2d03SAlexandre Belloni	default 0xf7020000 if DEBUG_AT91_SAMA5D2_UART1
1724caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
1725c9a1df48SHaojian Zhuang	default 0xf8007000 if DEBUG_HIP04_UART
17265c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
17275c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
17288b2f2d03SAlexandre Belloni	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
17298b2f2d03SAlexandre Belloni	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
173051ef7003STony Lindgren	default 0xf9e09000 if DEBUG_AM33XXUART1
17312d1f7d2eSTony Lindgren	default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
17322d1f7d2eSTony Lindgren	default 0xfa022000 if DEBUG_TI81XXUART2
17332d1f7d2eSTony Lindgren	default 0xfa024000 if DEBUG_TI81XXUART3
1734d2b310b0STony Lindgren	default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
1735d2b310b0STony Lindgren				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
1736d2b310b0STony Lindgren	default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
1737d2b310b0STony Lindgren				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
1738fc23beb8STony Lindgren	default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
17397098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
1740b125170aSKrzysztof Hałasa	default 0xfb002000 if DEBUG_CNS3XXX
17415c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
17428b2f2d03SAlexandre Belloni	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
1743fc23beb8STony Lindgren	default 0xfb020000 if DEBUG_OMAP3UART3
1744fc23beb8STony Lindgren	default 0xfb042000 if DEBUG_OMAP3UART4
17455c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
174658d03985SJun Nie	default 0xfc705000 if DEBUG_ZTE_ZX
17476c548099SArnd Bergmann	default 0xfcfe8600 if DEBUG_BCM63XX_UART
1748375d84cfSArnd Bergmann	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
1749c047f529SArnd Bergmann	default 0xfd012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_MV78XX0
17503c215e64STsahee Zidenberg	default 0xfd883000 if DEBUG_ALPINE_UART0
1751c047f529SArnd Bergmann	default 0xfde12000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_DOVE
1752c047f529SArnd Bergmann	default 0xfe012000 if DEBUG_MVEBU_UART0_ALTERNATE && ARCH_ORION5X
1753c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1754c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
17555c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
17560b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1757753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
1758c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
175912aae309SHaifeng Yan	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1760c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1761c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1762f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1763f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1764de73c162SDinh Nguyen	default 0xfec02000 if DEBUG_SOCFPGA_UART0
1765de73c162SDinh Nguyen	default 0xfec02100 if DEBUG_SOCFPGA_UART1
1766c047f529SArnd Bergmann	default 0xfec12000 if (DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE) && ARCH_MVEBU
1767bd920490SMaxime Ripard	default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
176801ea63d9SGuo Zeng	default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
176997bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
177001ea63d9SGuo Zeng	default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
177101ea63d9SGuo Zeng	default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1772efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
177397bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
177497bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1775c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1776c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1777c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1778f06455faSArnd Bergmann	default 0xfedc0000 if DEBUG_EP93XX
17790045c0ddSArnd Bergmann	default 0xfee003f8 if DEBUG_FOOTBRIDGE_COM1
17805c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1781c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1782c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1783c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1784c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
1785c26b9993SDaniel Thompson	default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1786c26b9993SDaniel Thompson	default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1787c26b9993SDaniel Thompson	default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1788c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
17895c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
179027dafaa8SWang Long	default 0xffd01000 if DEBUG_HIP01_UART
17915c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1792f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1793d8a00916SCarlo Caione		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1794c0c89fafSStephen Boyd		DEBUG_NETX_UART || \
17954d31e664SDaniel Thompson		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1796bb08dea1SArnd Bergmann		DEBUG_S3C64XX_UART || \
17976c548099SArnd Bergmann		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
17980b37e9e8SAlexandre Belloni		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
17990b37e9e8SAlexandre Belloni		DEBUG_AT91_UART
1800c3faa9b7SRussell King
18014a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
18024a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1803f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
18040045c0ddSArnd Bergmann	default 0 if DEBUG_FOOTBRIDGE_COM1 || ARCH_IOP32X || DEBUG_BCM_5301X || \
1805fa1e581dSFlorian Fainelli		DEBUG_BCM_HR2 || DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || \
1806fa1e581dSFlorian Fainelli		DEBUG_OMAP7XXUART3
18074a003647SRussell King	default 2
18087610b607SRussell King
18090b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
18100b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1811f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
18120b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1813cdd2e08bSArnd Bergmann	default y if DEBUG_PICOXCELL_UART || \
1814cdd2e08bSArnd Bergmann		DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_UART1 || \
1815cdd2e08bSArnd Bergmann		DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
1816de73c162SDinh Nguyen		DEBUG_ALPINE_UART0 || \
181797bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1818295898baSClément Peron		DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
1819d0cf9d8aSFlorian Fainelli		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
18200b4cccbeSRussell King
18210c532546SMans Rullgardconfig DEBUG_UART_8250_PALMCHIP
18220c532546SMans Rullgard	bool "8250 UART is Palmchip BK-310x"
18230c532546SMans Rullgard	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
18240c532546SMans Rullgard	help
18250c532546SMans Rullgard	  Palmchip provides a UART implementation compatible with 16550
18260c532546SMans Rullgard	  except for having a different register layout.  Say Y here if
18270c532546SMans Rullgard	  the debug UART is of this type.
18280c532546SMans Rullgard
18297610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
18307610b607SRussell King	bool "Enable flow control for 8250 UART"
1831f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
18320045c0ddSArnd Bergmann	default y if ARCH_EBSA110 || DEBUG_FOOTBRIDGE_COM1 || DEBUG_GEMINI || ARCH_RPC
18337610b607SRussell King
18343b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
183529337b60SRussell King	bool "Enable decompressor debugging via DEBUG_LL output"
18369c77bc43SStefan Agner	depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
183729337b60SRussell King	depends on DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1838d0cf9d8aSFlorian Fainelli		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM) && \
1839d0cf9d8aSFlorian Fainelli		     !DEBUG_BRCMSTB_UART
1840b6992fa9SRussell King	help
1841b6992fa9SRussell King	  This option influences the normal decompressor output for
1842b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1843b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1844b6992fa9SRussell King	  send the decompressor output.
1845b6992fa9SRussell King
1846b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1847b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1848b6992fa9SRussell King	  kernels.
1849b6992fa9SRussell King
18503b4af9bcSShawn Guo
1851615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1852615967b0SShawn Guo	string
1853ffd80eccSSachin Kamat	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
185436d6c928SUlrich Hecht					PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1855615967b0SShawn Guo	default "mach/uncompress.h"
1856615967b0SShawn Guo
18571da177e4SLinus Torvaldsconfig EARLY_PRINTK
18581da177e4SLinus Torvalds	bool "Early printk"
18591da177e4SLinus Torvalds	depends on DEBUG_LL
18601da177e4SLinus Torvalds	help
18611da177e4SLinus Torvalds	  Say Y here if you want to have an early console using the
18621da177e4SLinus Torvalds	  kernel low-level debugging functions. Add earlyprintk to your
18631da177e4SLinus Torvalds	  kernel parameters to enable this console.
18641da177e4SLinus Torvalds
18651da177e4SLinus Torvaldsconfig ARM_KPROBES_TEST
18661da177e4SLinus Torvalds	tristate "Kprobes test module"
18671da177e4SLinus Torvalds	depends on KPROBES && MODULES
18681da177e4SLinus Torvalds	help
18691da177e4SLinus Torvalds	  Perform tests of kprobes API and instruction set simulation.
18701da177e4SLinus Torvalds
1871575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1872575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1873575320d6SWill Deacon	depends on CPU_COPY_V6
1874575320d6SWill Deacon	help
1875575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1876575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1877575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1878575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1879575320d6SWill Deacon
188001081f5aSMathieu Poiriersource "drivers/hwtracing/coresight/Kconfig"
1881