xref: /linux/arch/arm/Kconfig.debug (revision efd02ee92b3efae6f4f1056640d407ac45c4051c)
11da177e4SLinus Torvaldsmenu "Kernel hacking"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldssource "lib/Kconfig.debug"
41da177e4SLinus Torvalds
51fd15b87SRussell Kingconfig ARM_PTDUMP
61fd15b87SRussell King	bool "Export kernel pagetable layout to userspace via debugfs"
71fd15b87SRussell King	depends on DEBUG_KERNEL
81fd15b87SRussell King	select DEBUG_FS
91fd15b87SRussell King	---help---
101fd15b87SRussell King	  Say Y here if you want to show the kernel pagetable layout in a
111fd15b87SRussell King	  debugfs file. This information is only useful for kernel developers
121fd15b87SRussell King	  who are working in architecture specific areas of the kernel.
131fd15b87SRussell King	  It is probably not a good idea to enable this feature in a production
141fd15b87SRussell King	  kernel.
151fd15b87SRussell King	  If in doubt, say "N"
161fd15b87SRussell King
17087aaffcSNicolas Pitreconfig STRICT_DEVMEM
18087aaffcSNicolas Pitre	bool "Filter access to /dev/mem"
19087aaffcSNicolas Pitre	depends on MMU
20087aaffcSNicolas Pitre	---help---
21087aaffcSNicolas Pitre	  If this option is disabled, you allow userspace (root) access to all
22087aaffcSNicolas Pitre	  of memory, including kernel and userspace memory. Accidental
23087aaffcSNicolas Pitre	  access to this is obviously disastrous, but specific access can
24087aaffcSNicolas Pitre	  be used by people debugging the kernel.
25087aaffcSNicolas Pitre
26087aaffcSNicolas Pitre	  If this option is switched on, the /dev/mem file only allows
27087aaffcSNicolas Pitre	  userspace access to memory mapped peripherals.
28087aaffcSNicolas Pitre
29087aaffcSNicolas Pitre          If in doubt, say Y.
30087aaffcSNicolas Pitre
31adf8b37bSCatalin Marinas# RMK wants arm kernels compiled with frame pointers or stack unwinding.
321da177e4SLinus Torvalds# If you know what you are doing and are willing to live without stack
331da177e4SLinus Torvalds# traces, you can get a slightly smaller kernel by setting this option to
341da177e4SLinus Torvalds# n, but then RMK will have to kill you ;).
351da177e4SLinus Torvaldsconfig FRAME_POINTER
361da177e4SLinus Torvalds	bool
3716c79651SCatalin Marinas	depends on !THUMB2_KERNEL
380e341af8SRabin Vincent	default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
391da177e4SLinus Torvalds	help
401da177e4SLinus Torvalds	  If you say N here, the resulting kernel will be slightly smaller and
41adf8b37bSCatalin Marinas	  faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled,
42adf8b37bSCatalin Marinas	  when a problem occurs with the kernel, the information that is
43adf8b37bSCatalin Marinas	  reported is severely limited.
44adf8b37bSCatalin Marinas
45adf8b37bSCatalin Marinasconfig ARM_UNWIND
464a50bfe3SRussell King	bool "Enable stack unwinding support (EXPERIMENTAL)"
47d6f94fa0SKees Cook	depends on AEABI
48adf8b37bSCatalin Marinas	default y
49adf8b37bSCatalin Marinas	help
50adf8b37bSCatalin Marinas	  This option enables stack unwinding support in the kernel
51adf8b37bSCatalin Marinas	  using the information automatically generated by the
52adf8b37bSCatalin Marinas	  compiler. The resulting kernel image is slightly bigger but
53adf8b37bSCatalin Marinas	  the performance is not affected. Currently, this feature
54adf8b37bSCatalin Marinas	  only works with EABI compilers. If unsure say Y.
551da177e4SLinus Torvalds
5609bfafacSRabin Vincentconfig OLD_MCOUNT
5709bfafacSRabin Vincent	bool
5809bfafacSRabin Vincent	depends on FUNCTION_TRACER && FRAME_POINTER
5909bfafacSRabin Vincent	default y
6009bfafacSRabin Vincent
611da177e4SLinus Torvaldsconfig DEBUG_USER
621da177e4SLinus Torvalds	bool "Verbose user fault messages"
631da177e4SLinus Torvalds	help
641da177e4SLinus Torvalds	  When a user program crashes due to an exception, the kernel can
651da177e4SLinus Torvalds	  print a brief message explaining what the problem was. This is
661da177e4SLinus Torvalds	  sometimes helpful for debugging but serves no purpose on a
671da177e4SLinus Torvalds	  production system. Most people should say N here.
681da177e4SLinus Torvalds
691da177e4SLinus Torvalds	  In addition, you need to pass user_debug=N on the kernel command
701da177e4SLinus Torvalds	  line to enable this feature.  N consists of the sum of:
711da177e4SLinus Torvalds
721da177e4SLinus Torvalds	      1 - undefined instruction events
731da177e4SLinus Torvalds	      2 - system calls
741da177e4SLinus Torvalds	      4 - invalid data aborts
751da177e4SLinus Torvalds	      8 - SIGSEGV faults
761da177e4SLinus Torvalds	     16 - SIGBUS faults
771da177e4SLinus Torvalds
781da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty.
791da177e4SLinus Torvaldsconfig DEBUG_LL
804f5ef922SWill Deacon	bool "Kernel low-level debugging functions (read help!)"
811da177e4SLinus Torvalds	depends on DEBUG_KERNEL
821da177e4SLinus Torvalds	help
8335efb606SRussell King	  Say Y here to include definitions of printascii, printch, printhex
841da177e4SLinus Torvalds	  in the kernel.  This is helpful if you are debugging code that
851da177e4SLinus Torvalds	  executes before the console is initialized.
861da177e4SLinus Torvalds
874f5ef922SWill Deacon	  Note that selecting this option will limit the kernel to a single
884f5ef922SWill Deacon	  UART definition, as specified below. Attempting to boot the kernel
894f5ef922SWill Deacon	  image on a different platform *will not work*, so this option should
904f5ef922SWill Deacon	  not be enabled for kernels that are intended to be portable.
914f5ef922SWill Deacon
9217916b28SWill Deaconchoice
9317916b28SWill Deacon	prompt "Kernel low-level debugging port"
9417916b28SWill Deacon	depends on DEBUG_LL
9517916b28SWill Deacon
9613079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU0
9713079a73SJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
9813079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU0
9913079a73SJean-Christophe PLAGNIOL-VILLARD
10013079a73SJean-Christophe PLAGNIOL-VILLARD	config AT91_DEBUG_LL_DBGU1
1019918ceafSJean-Christophe PLAGNIOL-VILLARD		bool "Kernel low-level debugging on 9263 and 9g45"
10213079a73SJean-Christophe PLAGNIOL-VILLARD		depends on HAVE_AT91_DBGU1
10313079a73SJean-Christophe PLAGNIOL-VILLARD
104f1ac922dSStephen Warren	config DEBUG_BCM2835
105f1ac922dSStephen Warren		bool "Kernel low-level debugging on BCM2835 PL011 UART"
106f1ac922dSStephen Warren		depends on ARCH_BCM2835
1075c972af4SRussell King		select DEBUG_UART_PL01X
108f1ac922dSStephen Warren
10906580275SHauke Mehrtens	config DEBUG_BCM_5301X
11006580275SHauke Mehrtens		bool "Kernel low-level debugging on BCM5301X UART1"
11106580275SHauke Mehrtens		depends on ARCH_BCM_5301X
11206580275SHauke Mehrtens		select DEBUG_UART_PL01X
11306580275SHauke Mehrtens
114753d1243SChristian Daudt	config DEBUG_BCM_KONA_UART
115753d1243SChristian Daudt		bool "Kernel low-level debugging messages via BCM KONA UART"
1167aa2077bSFlorian Fainelli		depends on ARCH_BCM_MOBILE
117753d1243SChristian Daudt		select DEBUG_UART_8250
118753d1243SChristian Daudt		help
119753d1243SChristian Daudt		  Say Y here if you want kernel low-level debugging support
120753d1243SChristian Daudt		  on Broadcom SoC platforms.
121753d1243SChristian Daudt		  This low level debug works for Broadcom
122753d1243SChristian Daudt		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
123753d1243SChristian Daudt		  bcm11351, etc...)
124753d1243SChristian Daudt
125caad0b41SSebastian Hesselbarth	config DEBUG_BERLIN_UART
126caad0b41SSebastian Hesselbarth		bool "Marvell Berlin SoC Debug UART"
127caad0b41SSebastian Hesselbarth		depends on ARCH_BERLIN
128caad0b41SSebastian Hesselbarth		select DEBUG_UART_8250
129caad0b41SSebastian Hesselbarth		help
130caad0b41SSebastian Hesselbarth		  Say Y here if you want kernel low-level debugging support
131caad0b41SSebastian Hesselbarth		  on Marvell Berlin SoC based platforms.
132caad0b41SSebastian Hesselbarth
133164acf96SStephen Boyd	config DEBUG_CLPS711X_UART1
134164acf96SStephen Boyd		bool "Kernel low-level debugging messages via UART1"
135164acf96SStephen Boyd		depends on ARCH_CLPS711X
136164acf96SStephen Boyd		help
137164acf96SStephen Boyd		  Say Y here if you want the debug print routines to direct
138164acf96SStephen Boyd		  their output to the first serial port on these devices.
13917916b28SWill Deacon
14017916b28SWill Deacon	config DEBUG_CLPS711X_UART2
14117916b28SWill Deacon		bool "Kernel low-level debugging messages via UART2"
14217916b28SWill Deacon		depends on ARCH_CLPS711X
14317916b28SWill Deacon		help
14417916b28SWill Deacon		  Say Y here if you want the debug print routines to direct
14517916b28SWill Deacon		  their output to the second serial port on these devices.
14617916b28SWill Deacon
14729c9b7beSArnd Bergmann	config DEBUG_CNS3XXX
14829c9b7beSArnd Bergmann		bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
14929c9b7beSArnd Bergmann		depends on ARCH_CNS3XXX
1505c972af4SRussell King		select DEBUG_UART_PL01X
15129c9b7beSArnd Bergmann		help
15229c9b7beSArnd Bergmann		  Say Y here if you want the debug print routines to direct
15329c9b7beSArnd Bergmann                  their output to the CNS3xxx UART0.
15429c9b7beSArnd Bergmann
155477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART1
156477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
157477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
15897bd1a48SRussell King		select DEBUG_UART_8250
159477099f1SUwe Kleine-König		help
160477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
161477099f1SUwe Kleine-König		  their output to UART1 serial port on DaVinci DA8XX devices.
162477099f1SUwe Kleine-König
163477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DA8XX_UART2
164477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
165477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DA8XX
16697bd1a48SRussell King		select DEBUG_UART_8250
167477099f1SUwe Kleine-König		help
168477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
169477099f1SUwe Kleine-König		  their output to UART2 serial port on DaVinci DA8XX devices.
170477099f1SUwe Kleine-König
171477099f1SUwe Kleine-König	config DEBUG_DAVINCI_DMx_UART0
172477099f1SUwe Kleine-König		bool "Kernel low-level debugging on DaVinci DMx using UART0"
173477099f1SUwe Kleine-König		depends on ARCH_DAVINCI_DMx
17497bd1a48SRussell King		select DEBUG_UART_8250
175477099f1SUwe Kleine-König		help
176477099f1SUwe Kleine-König		  Say Y here if you want the debug print routines to direct
177477099f1SUwe Kleine-König		  their output to UART0 serial port on DaVinci DMx devices.
178477099f1SUwe Kleine-König
179aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART0
180aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART0"
181aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
182aaf5e0beSNick Bowler		help
183aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
184aaf5e0beSNick Bowler		  their output to UART0 on the Zynq platform.
185aaf5e0beSNick Bowler
186aaf5e0beSNick Bowler	config DEBUG_ZYNQ_UART1
187aaf5e0beSNick Bowler		bool "Kernel low-level debugging on Xilinx Zynq using UART1"
188aaf5e0beSNick Bowler		depends on ARCH_ZYNQ
189aaf5e0beSNick Bowler		help
190aaf5e0beSNick Bowler		  Say Y here if you want the debug print routines to direct
191aaf5e0beSNick Bowler		  their output to UART1 on the Zynq platform.
192aaf5e0beSNick Bowler
193aaf5e0beSNick Bowler		  If you have a ZC702 board and want early boot messages to
194aaf5e0beSNick Bowler		  appear on the USB serial adaptor, select this option.
195aaf5e0beSNick Bowler
196e76f4750SRussell King	config DEBUG_DC21285_PORT
197e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge serial port"
198e76f4750SRussell King		depends on FOOTBRIDGE
199e76f4750SRussell King		help
200e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
201e76f4750SRussell King		  their output to the serial port in the DC21285 (Footbridge).
202e76f4750SRussell King
203e76f4750SRussell King	config DEBUG_FOOTBRIDGE_COM1
204e76f4750SRussell King		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
205e76f4750SRussell King		depends on FOOTBRIDGE
206e76f4750SRussell King		help
207e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
208e76f4750SRussell King		  their output to the 8250 at PCI COM1.
209e76f4750SRussell King
2108d258bebSHaojian Zhuang	config DEBUG_HI3620_UART
2118d258bebSHaojian Zhuang		bool "Hisilicon HI3620 Debug UART"
2128d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2138d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2148d258bebSHaojian Zhuang		help
2158d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2168d258bebSHaojian Zhuang		  on HI3620 UART.
2178d258bebSHaojian Zhuang
2188d258bebSHaojian Zhuang	config DEBUG_HI3716_UART
2198d258bebSHaojian Zhuang		bool "Hisilicon Hi3716 Debug UART"
2208d258bebSHaojian Zhuang		depends on ARCH_HI3xxx
2218d258bebSHaojian Zhuang		select DEBUG_UART_PL01X
2228d258bebSHaojian Zhuang		help
2238d258bebSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
2248d258bebSHaojian Zhuang		  on HI3716 UART.
2258d258bebSHaojian Zhuang
226220e6cf7SRob Herring	config DEBUG_HIGHBANK_UART
227220e6cf7SRob Herring		bool "Kernel low-level debugging messages via Highbank UART"
228220e6cf7SRob Herring		depends on ARCH_HIGHBANK
2295c972af4SRussell King		select DEBUG_UART_PL01X
230220e6cf7SRob Herring		help
231220e6cf7SRob Herring		  Say Y here if you want the debug print routines to direct
232220e6cf7SRob Herring		  their output to the UART on Highbank based devices.
233220e6cf7SRob Herring
234f350b861SShawn Guo	config DEBUG_IMX1_UART
235f350b861SShawn Guo		bool "i.MX1 Debug UART"
236f350b861SShawn Guo		depends on SOC_IMX1
237f350b861SShawn Guo		help
238f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
239f350b861SShawn Guo		  on i.MX1.
240f350b861SShawn Guo
241f350b861SShawn Guo	config DEBUG_IMX23_UART
242f350b861SShawn Guo		bool "i.MX23 Debug UART"
243f350b861SShawn Guo		depends on SOC_IMX23
2445c972af4SRussell King		select DEBUG_UART_PL01X
245f350b861SShawn Guo		help
246f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
247f350b861SShawn Guo		  on i.MX23.
248f350b861SShawn Guo
249f350b861SShawn Guo	config DEBUG_IMX25_UART
250f350b861SShawn Guo		bool "i.MX25 Debug UART"
251f350b861SShawn Guo		depends on SOC_IMX25
252f350b861SShawn Guo		help
253f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
254f350b861SShawn Guo		  on i.MX25.
255f350b861SShawn Guo
256f350b861SShawn Guo	config DEBUG_IMX21_IMX27_UART
257f350b861SShawn Guo		bool "i.MX21 and i.MX27 Debug UART"
258f350b861SShawn Guo		depends on SOC_IMX21 || SOC_IMX27
259f350b861SShawn Guo		help
260f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
261f350b861SShawn Guo		  on i.MX21 or i.MX27.
262f350b861SShawn Guo
263f350b861SShawn Guo	config DEBUG_IMX28_UART
264f350b861SShawn Guo		bool "i.MX28 Debug UART"
265f350b861SShawn Guo		depends on SOC_IMX28
2665c972af4SRussell King		select DEBUG_UART_PL01X
267f350b861SShawn Guo		help
268f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
269f350b861SShawn Guo		  on i.MX28.
270f350b861SShawn Guo
2714ad625d4SShawn Guo	config DEBUG_IMX31_UART
2724ad625d4SShawn Guo		bool "i.MX31 Debug UART"
2734ad625d4SShawn Guo		depends on SOC_IMX31
274f350b861SShawn Guo		help
275f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
2764ad625d4SShawn Guo		  on i.MX31.
2774ad625d4SShawn Guo
2784ad625d4SShawn Guo	config DEBUG_IMX35_UART
2794ad625d4SShawn Guo		bool "i.MX35 Debug UART"
2804ad625d4SShawn Guo		depends on SOC_IMX35
2814ad625d4SShawn Guo		help
2824ad625d4SShawn Guo		  Say Y here if you want kernel low-level debugging support
2834ad625d4SShawn Guo		  on i.MX35.
284f350b861SShawn Guo
285ad364a70SGreg Ungerer	config DEBUG_IMX50_UART
286ad364a70SGreg Ungerer		bool "i.MX50 Debug UART"
287ad364a70SGreg Ungerer		depends on SOC_IMX50
288ad364a70SGreg Ungerer		help
289ad364a70SGreg Ungerer		  Say Y here if you want kernel low-level debugging support
290ad364a70SGreg Ungerer		  on i.MX50.
291ad364a70SGreg Ungerer
292f350b861SShawn Guo	config DEBUG_IMX51_UART
293f350b861SShawn Guo		bool "i.MX51 Debug UART"
294f350b861SShawn Guo		depends on SOC_IMX51
295f350b861SShawn Guo		help
296f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
297f350b861SShawn Guo		  on i.MX51.
298f350b861SShawn Guo
2997356420cSFabio Estevam	config DEBUG_IMX53_UART
3007356420cSFabio Estevam		bool "i.MX53 Debug UART"
3017356420cSFabio Estevam		depends on SOC_IMX53
302f350b861SShawn Guo		help
303f350b861SShawn Guo		  Say Y here if you want kernel low-level debugging support
3047356420cSFabio Estevam		  on i.MX53.
305f350b861SShawn Guo
30649c9e60eSShawn Guo	config DEBUG_IMX6Q_UART
3073c03a2feSShawn Guo		bool "i.MX6Q/DL Debug UART"
308785d7fabSDirk Behme		depends on SOC_IMX6Q
309785d7fabSDirk Behme		help
310785d7fabSDirk Behme		  Say Y here if you want kernel low-level debugging support
3113c03a2feSShawn Guo		  on i.MX6Q/DL.
312bac89d75SShawn Guo
31334e8a16bSShawn Guo	config DEBUG_IMX6SL_UART
31434e8a16bSShawn Guo		bool "i.MX6SL Debug UART"
31534e8a16bSShawn Guo		depends on SOC_IMX6SL
31634e8a16bSShawn Guo		help
31734e8a16bSShawn Guo		  Say Y here if you want kernel low-level debugging support
31834e8a16bSShawn Guo		  on i.MX6SL.
31934e8a16bSShawn Guo
32074368e81SShawn Guo	config DEBUG_IMX6SX_UART
32174368e81SShawn Guo		bool "i.MX6SX Debug UART"
32274368e81SShawn Guo		depends on SOC_IMX6SX
32374368e81SShawn Guo		help
32474368e81SShawn Guo		  Say Y here if you want kernel low-level debugging support
32574368e81SShawn Guo		  on i.MX6SX.
32674368e81SShawn Guo
327828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART0
328828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
329828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
330f2acf003SRussell King		select DEBUG_UART_8250
331828989adSSantosh Shilimkar		help
332828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
333828989adSSantosh Shilimkar		  their output to UART0 serial port on KEYSTONE2 devices.
334828989adSSantosh Shilimkar
335828989adSSantosh Shilimkar	config DEBUG_KEYSTONE_UART1
336828989adSSantosh Shilimkar		bool "Kernel low-level debugging on KEYSTONE2 using UART1"
337828989adSSantosh Shilimkar		depends on ARCH_KEYSTONE
338f2acf003SRussell King		select DEBUG_UART_8250
339828989adSSantosh Shilimkar		help
340828989adSSantosh Shilimkar		  Say Y here if you want the debug print routines to direct
341828989adSSantosh Shilimkar		  their output to UART1 serial port on KEYSTONE2 devices.
342828989adSSantosh Shilimkar
343fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART2
344fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART2"
345fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
3464a003647SRussell King		select DEBUG_UART_8250
347fa4cd2a8SHaojian Zhuang		help
348fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
349fa4cd2a8SHaojian Zhuang		  on MMP UART2.
350fa4cd2a8SHaojian Zhuang
351fa4cd2a8SHaojian Zhuang	config DEBUG_MMP_UART3
352fa4cd2a8SHaojian Zhuang		bool "Kernel low-level debugging message via MMP UART3"
353fa4cd2a8SHaojian Zhuang		depends on ARCH_MMP
3544a003647SRussell King		select DEBUG_UART_8250
355fa4cd2a8SHaojian Zhuang		help
356fa4cd2a8SHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
357fa4cd2a8SHaojian Zhuang		  on MMP UART3.
358fa4cd2a8SHaojian Zhuang
3597098cff2SIvan T. Ivanov	config DEBUG_MSM_UART
3607098cff2SIvan T. Ivanov		bool "Kernel low-level debugging messages via MSM UART"
3617098cff2SIvan T. Ivanov		depends on ARCH_MSM
362650e3f0dSStephen Boyd		help
363650e3f0dSStephen Boyd		  Say Y here if you want the debug print routines to direct
3647098cff2SIvan T. Ivanov		  their output to the serial port on MSM devices.
365650e3f0dSStephen Boyd
3667098cff2SIvan T. Ivanov		  ARCH                DEBUG_UART_PHYS   DEBUG_UART_BASE   #
3677098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9a00000        0xe1000000        UART1
3687098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9b00000        0xe1000000        UART2
3697098cff2SIvan T. Ivanov		  MSM7X00A, QSD8X50   0xa9c00000        0xe1000000        UART3
370650e3f0dSStephen Boyd
3717098cff2SIvan T. Ivanov		  MSM7X30             0xaca00000        0xe1000000        UART1
3727098cff2SIvan T. Ivanov		  MSM7X30             0xacb00000        0xe1000000        UART2
3737098cff2SIvan T. Ivanov		  MSM7X30             0xacc00000        0xe1000000        UART3
374650e3f0dSStephen Boyd
3757098cff2SIvan T. Ivanov		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
3767098cff2SIvan T. Ivanov		  options based on your needs.
377a3d3ef9dSStephen Boyd
3787098cff2SIvan T. Ivanov	config DEBUG_QCOM_UARTDM
3797098cff2SIvan T. Ivanov		bool "Kernel low-level debugging messages via QCOM UARTDM"
3807098cff2SIvan T. Ivanov		depends on ARCH_QCOM
381a3d3ef9dSStephen Boyd		help
382a3d3ef9dSStephen Boyd		  Say Y here if you want the debug print routines to direct
3837098cff2SIvan T. Ivanov		  their output to the serial port on Qualcomm devices.
384a3d3ef9dSStephen Boyd
3857098cff2SIvan T. Ivanov		  ARCH      DEBUG_UART_PHYS   DEBUG_UART_BASE
3862f528dd3SGeorgi Djakov		  APQ8084   0xf995e000        0xfa75e000
3877098cff2SIvan T. Ivanov		  MSM8X60   0x19c40000        0xf0040000
3887098cff2SIvan T. Ivanov		  MSM8960   0x16440000        0xf0040000
3897098cff2SIvan T. Ivanov		  MSM8974   0xf991e000        0xfa71e000
3907098cff2SIvan T. Ivanov
3917098cff2SIvan T. Ivanov		  Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
3927098cff2SIvan T. Ivanov		  options based on your needs.
3933c8828f6SRohit Vaswani
394bfd5af99SRob Herring	config DEBUG_MVEBU_UART
395c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
396bfd5af99SRob Herring		depends on ARCH_MVEBU
3974a003647SRussell King		select DEBUG_UART_8250
398bfd5af99SRob Herring		help
399bfd5af99SRob Herring		  Say Y here if you want kernel low-level debugging support
400bfd5af99SRob Herring		  on MVEBU based platforms.
401bfd5af99SRob Herring
402c2804cd6SThomas Petazzoni		  This option should be used with the old bootloaders
403c2804cd6SThomas Petazzoni		  that left the internal registers mapped at
404c2804cd6SThomas Petazzoni		  0xd0000000. As of today, this is the case on
405c2804cd6SThomas Petazzoni		  platforms such as the Globalscale Mirabox or the
406c2804cd6SThomas Petazzoni		  Plathome OpenBlocks AX3, when using the original
407c2804cd6SThomas Petazzoni		  bootloader.
408c2804cd6SThomas Petazzoni
409c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
410c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
411c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
412c2804cd6SThomas Petazzoni
413c2804cd6SThomas Petazzoni	config DEBUG_MVEBU_UART_ALTERNATE
414c2804cd6SThomas Petazzoni		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
415c2804cd6SThomas Petazzoni		depends on ARCH_MVEBU
4164a003647SRussell King		select DEBUG_UART_8250
417c2804cd6SThomas Petazzoni		help
418c2804cd6SThomas Petazzoni		  Say Y here if you want kernel low-level debugging support
419c2804cd6SThomas Petazzoni		  on MVEBU based platforms.
420c2804cd6SThomas Petazzoni
421c2804cd6SThomas Petazzoni		  This option should be used with the new bootloaders
422c2804cd6SThomas Petazzoni		  that remap the internal registers at 0xf1000000.
423c2804cd6SThomas Petazzoni
424c2804cd6SThomas Petazzoni		  If the wrong DEBUG_MVEBU_UART* option is selected,
425c2804cd6SThomas Petazzoni		  when u-boot hands over to the kernel, the system
426c2804cd6SThomas Petazzoni		  silently crashes, with no serial output at all.
427c2804cd6SThomas Petazzoni
428c7c3eac6SShawn Guo	config DEBUG_VF_UART
429c7c3eac6SShawn Guo		bool "Vybrid UART"
430c7c3eac6SShawn Guo		depends on SOC_VF610
431c7c3eac6SShawn Guo		help
432c7c3eac6SShawn Guo		  Say Y here if you want kernel low-level debugging support
433c7c3eac6SShawn Guo		  on Vybrid based platforms.
434c7c3eac6SShawn Guo
435266c3479SLinus Walleij	config DEBUG_NOMADIK_UART
436266c3479SLinus Walleij		bool "Kernel low-level debugging messages via NOMADIK UART"
437266c3479SLinus Walleij		depends on ARCH_NOMADIK
4385c972af4SRussell King		select DEBUG_UART_PL01X
439266c3479SLinus Walleij		help
440266c3479SLinus Walleij		  Say Y here if you want kernel low-level debugging support
441266c3479SLinus Walleij		  on NOMADIK based platforms.
442266c3479SLinus Walleij
4439851ca57SDaniel Tang	config DEBUG_NSPIRE_CLASSIC_UART
4449851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
4459851ca57SDaniel Tang		depends on ARCH_NSPIRE
4464a003647SRussell King		select DEBUG_UART_8250
4479851ca57SDaniel Tang		help
4489851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
4499851ca57SDaniel Tang		  on TI-NSPIRE classic models.
4509851ca57SDaniel Tang
4519851ca57SDaniel Tang	config DEBUG_NSPIRE_CX_UART
4529851ca57SDaniel Tang		bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
4539851ca57SDaniel Tang		depends on ARCH_NSPIRE
4545c972af4SRussell King		select DEBUG_UART_PL01X
4559851ca57SDaniel Tang		help
4569851ca57SDaniel Tang		  Say Y here if you want kernel low-level debugging support
4579851ca57SDaniel Tang		  on TI-NSPIRE CX models.
4589851ca57SDaniel Tang
459cce278d2SRussell King	config DEBUG_OMAP2UART1
460cce278d2SRussell King		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
461808b7e07STony Lindgren		depends on ARCH_OMAP2PLUS
462cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
463808b7e07STony Lindgren		help
464cce278d2SRussell King		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
465cce278d2SRussell King		  omap3 torpedo and 3530 lv som.
466cce278d2SRussell King
467cce278d2SRussell King	config DEBUG_OMAP2UART2
468cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
469cce278d2SRussell King		depends on ARCH_OMAP2PLUS
470cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
471cce278d2SRussell King
472cce278d2SRussell King	config DEBUG_OMAP2UART3
473cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
474cce278d2SRussell King		depends on ARCH_OMAP2PLUS
475cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
476cce278d2SRussell King
477cce278d2SRussell King	config DEBUG_OMAP3UART3
478cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
479cce278d2SRussell King		depends on ARCH_OMAP2PLUS
480cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
481cce278d2SRussell King		help
482cce278d2SRussell King		  This covers at least cm_t3x, beagle, crane, devkit8000,
483cce278d2SRussell King		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
484cce278d2SRussell King		  and 3517evm.
485cce278d2SRussell King
486cce278d2SRussell King	config DEBUG_OMAP4UART3
487cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
488cce278d2SRussell King		depends on ARCH_OMAP2PLUS
489cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
490cce278d2SRussell King
491cce278d2SRussell King	config DEBUG_OMAP3UART4
492cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP36XX UART4"
493cce278d2SRussell King		depends on ARCH_OMAP2PLUS
494cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
495cce278d2SRussell King
496cce278d2SRussell King	config DEBUG_OMAP4UART4
497cce278d2SRussell King		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
498cce278d2SRussell King		depends on ARCH_OMAP2PLUS
499cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
500cce278d2SRussell King
501cce278d2SRussell King	config DEBUG_TI81XXUART1
502cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
503cce278d2SRussell King		depends on ARCH_OMAP2PLUS
504cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
505cce278d2SRussell King
506cce278d2SRussell King	config DEBUG_TI81XXUART2
507cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART2"
508cce278d2SRussell King		depends on ARCH_OMAP2PLUS
509cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
510cce278d2SRussell King
511cce278d2SRussell King	config DEBUG_TI81XXUART3
512cce278d2SRussell King		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
513cce278d2SRussell King		depends on ARCH_OMAP2PLUS
514cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
515cce278d2SRussell King
516cce278d2SRussell King	config DEBUG_AM33XXUART1
517cce278d2SRussell King		bool "Kernel low-level debugging messages via AM33XX UART1"
518cce278d2SRussell King		depends on ARCH_OMAP2PLUS
519cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
520cce278d2SRussell King
521cce278d2SRussell King	config DEBUG_ZOOM_UART
522cce278d2SRussell King		bool "Kernel low-level debugging messages via Zoom2/3 UART"
523cce278d2SRussell King		depends on ARCH_OMAP2PLUS
524cce278d2SRussell King		select DEBUG_OMAP2PLUS_UART
525808b7e07STony Lindgren
52659bba2a9SRob Herring	config DEBUG_PICOXCELL_UART
52759bba2a9SRob Herring		depends on ARCH_PICOXCELL
52859bba2a9SRob Herring		bool "Use PicoXcell UART for low-level debug"
5290b4cccbeSRussell King		select DEBUG_UART_8250
53059bba2a9SRob Herring		help
53159bba2a9SRob Herring		  Say Y here if you want kernel low-level debugging support
53259bba2a9SRob Herring		  on PicoXcell based platforms.
53359bba2a9SRob Herring
5340a43cd3bSHaojian Zhuang	config DEBUG_PXA_UART1
5350a43cd3bSHaojian Zhuang		depends on ARCH_PXA
5360a43cd3bSHaojian Zhuang		bool "Use PXA UART1 for low-level debug"
5374a003647SRussell King		select DEBUG_UART_8250
5380a43cd3bSHaojian Zhuang		help
5390a43cd3bSHaojian Zhuang		  Say Y here if you want kernel low-level debugging support
5400a43cd3bSHaojian Zhuang		  on PXA UART1.
5410a43cd3bSHaojian Zhuang
542e76f4750SRussell King	config DEBUG_REALVIEW_STD_PORT
543e76f4750SRussell King		bool "RealView Default UART"
544e76f4750SRussell King		depends on ARCH_REALVIEW
5455c972af4SRussell King		select DEBUG_UART_PL01X
546e76f4750SRussell King		help
547e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
548e76f4750SRussell King		  their output to the serial port on RealView EB, PB11MP, PBA8
549e76f4750SRussell King		  and PBX platforms.
550e76f4750SRussell King
551e76f4750SRussell King	config DEBUG_REALVIEW_PB1176_PORT
552e76f4750SRussell King		bool "RealView PB1176 UART"
553e76f4750SRussell King		depends on MACH_REALVIEW_PB1176
5545c972af4SRussell King		select DEBUG_UART_PL01X
555e76f4750SRussell King		help
556e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
557e76f4750SRussell King		  their output to the standard serial port on the RealView
558e76f4750SRussell King		  PB1176 platform.
559e76f4750SRussell King
560cce278d2SRussell King	config DEBUG_RK29_UART0
561cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
56238bd6892SHeiko Stuebner		depends on ARCH_ROCKCHIP
5634a003647SRussell King		select DEBUG_UART_8250
564cce278d2SRussell King		help
565cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
566cce278d2SRussell King		  on Rockchip based platforms.
567cce278d2SRussell King
568cce278d2SRussell King	config DEBUG_RK29_UART1
569cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
570cce278d2SRussell King		depends on ARCH_ROCKCHIP
5714a003647SRussell King		select DEBUG_UART_8250
572cce278d2SRussell King		help
573cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
574cce278d2SRussell King		  on Rockchip based platforms.
575cce278d2SRussell King
576cce278d2SRussell King	config DEBUG_RK29_UART2
577cce278d2SRussell King		bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
578cce278d2SRussell King		depends on ARCH_ROCKCHIP
5794a003647SRussell King		select DEBUG_UART_8250
580cce278d2SRussell King		help
581cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
582cce278d2SRussell King		  on Rockchip based platforms.
583cce278d2SRussell King
584cce278d2SRussell King	config DEBUG_RK3X_UART0
585aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
586cce278d2SRussell King		depends on ARCH_ROCKCHIP
5874a003647SRussell King		select DEBUG_UART_8250
588cce278d2SRussell King		help
589cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
590cce278d2SRussell King		  on Rockchip based platforms.
591cce278d2SRussell King
592cce278d2SRussell King	config DEBUG_RK3X_UART1
593aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
594cce278d2SRussell King		depends on ARCH_ROCKCHIP
5954a003647SRussell King		select DEBUG_UART_8250
596cce278d2SRussell King		help
597cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
598cce278d2SRussell King		  on Rockchip based platforms.
599cce278d2SRussell King
600cce278d2SRussell King	config DEBUG_RK3X_UART2
601aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
602cce278d2SRussell King		depends on ARCH_ROCKCHIP
6034a003647SRussell King		select DEBUG_UART_8250
604cce278d2SRussell King		help
605cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
606cce278d2SRussell King		  on Rockchip based platforms.
607cce278d2SRussell King
608cce278d2SRussell King	config DEBUG_RK3X_UART3
609aa9c4f74SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
610cce278d2SRussell King		depends on ARCH_ROCKCHIP
6114a003647SRussell King		select DEBUG_UART_8250
61238bd6892SHeiko Stuebner		help
61338bd6892SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
61438bd6892SHeiko Stuebner		  on Rockchip based platforms.
61538bd6892SHeiko Stuebner
616*efd02ee9SHeiko Stuebner	config DEBUG_RK32_UART2
617*efd02ee9SHeiko Stuebner		bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
618*efd02ee9SHeiko Stuebner		depends on ARCH_ROCKCHIP
619*efd02ee9SHeiko Stuebner		select DEBUG_UART_8250
620*efd02ee9SHeiko Stuebner		help
621*efd02ee9SHeiko Stuebner		  Say Y here if you want kernel low-level debugging support
622*efd02ee9SHeiko Stuebner		  on Rockchip RK32xx based platforms.
623*efd02ee9SHeiko Stuebner
624e76f4750SRussell King	config DEBUG_S3C_UART0
625e76f4750SRussell King		depends on PLAT_SAMSUNG
626a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
6271899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
628e76f4750SRussell King		bool "Use S3C UART 0 for low-level debug"
629e76f4750SRussell King		help
630e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
631e76f4750SRussell King		  their output to UART 0. The port must have been initialised
632e76f4750SRussell King		  by the boot-loader before use.
633e76f4750SRussell King
634e76f4750SRussell King		  The uncompressor code port configuration is now handled
635e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
636e76f4750SRussell King
637e76f4750SRussell King	config DEBUG_S3C_UART1
638e76f4750SRussell King		depends on PLAT_SAMSUNG
639a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
6401899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
641e76f4750SRussell King		bool "Use S3C UART 1 for low-level debug"
642e76f4750SRussell King		help
643e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
644e76f4750SRussell King		  their output to UART 1. The port must have been initialised
645e76f4750SRussell King		  by the boot-loader before use.
646e76f4750SRussell King
647e76f4750SRussell King		  The uncompressor code port configuration is now handled
648e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
649e76f4750SRussell King
650e76f4750SRussell King	config DEBUG_S3C_UART2
651e76f4750SRussell King		depends on PLAT_SAMSUNG
652a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART if ARCH_EXYNOS
6531899de28SHeiko Stuebner		select DEBUG_S3C24XX_UART if ARCH_S3C24XX
654e76f4750SRussell King		bool "Use S3C UART 2 for low-level debug"
655e76f4750SRussell King		help
656e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
657e76f4750SRussell King		  their output to UART 2. The port must have been initialised
658e76f4750SRussell King		  by the boot-loader before use.
659e76f4750SRussell King
660e76f4750SRussell King		  The uncompressor code port configuration is now handled
661e76f4750SRussell King		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
662e76f4750SRussell King
6635fa23ddeSOlof Johansson	config DEBUG_S3C_UART3
6645fa23ddeSOlof Johansson		depends on PLAT_SAMSUNG && ARCH_EXYNOS
665a2e40710SArnd Bergmann		select DEBUG_EXYNOS_UART
6665fa23ddeSOlof Johansson		bool "Use S3C UART 3 for low-level debug"
6675fa23ddeSOlof Johansson		help
6685fa23ddeSOlof Johansson		  Say Y here if you want the debug print routines to direct
6695fa23ddeSOlof Johansson		  their output to UART 3. The port must have been initialised
6705fa23ddeSOlof Johansson		  by the boot-loader before use.
6715fa23ddeSOlof Johansson
6725fa23ddeSOlof Johansson		  The uncompressor code port configuration is now handled
6735fa23ddeSOlof Johansson		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
6745fa23ddeSOlof Johansson
675daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART0
676daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
677daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
678daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
679daf67dfcSHeiko Stuebner		help
680daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
681daf67dfcSHeiko Stuebner		  their output to UART 0. The port must have been initialised
682daf67dfcSHeiko Stuebner		  by the boot-loader before use.
683daf67dfcSHeiko Stuebner
684daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART1
685daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
686daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
687daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
688daf67dfcSHeiko Stuebner		help
689daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
690daf67dfcSHeiko Stuebner		  their output to UART 1. The port must have been initialised
691daf67dfcSHeiko Stuebner		  by the boot-loader before use.
692daf67dfcSHeiko Stuebner
693daf67dfcSHeiko Stuebner	config DEBUG_S3C2410_UART2
694daf67dfcSHeiko Stuebner		depends on ARCH_S3C24XX
695daf67dfcSHeiko Stuebner		select DEBUG_S3C2410_UART
696daf67dfcSHeiko Stuebner		bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
697daf67dfcSHeiko Stuebner		help
698daf67dfcSHeiko Stuebner		  Say Y here if you want the debug print routines to direct
699daf67dfcSHeiko Stuebner		  their output to UART 2. The port must have been initialised
700daf67dfcSHeiko Stuebner		  by the boot-loader before use.
701daf67dfcSHeiko Stuebner
7026111bf7cSRob Herring	config DEBUG_SOCFPGA_UART
7036111bf7cSRob Herring		depends on ARCH_SOCFPGA
7046111bf7cSRob Herring		bool "Use SOCFPGA UART for low-level debug"
7050b4cccbeSRussell King		select DEBUG_UART_8250
7066111bf7cSRob Herring		help
7076111bf7cSRob Herring		  Say Y here if you want kernel low-level debugging support
7086111bf7cSRob Herring		  on SOCFPGA based platforms.
7096111bf7cSRob Herring
710aa25115aSStefan Roese	config DEBUG_SUNXI_UART0
711aa25115aSStefan Roese		bool "Kernel low-level debugging messages via sunXi UART0"
712aa25115aSStefan Roese		depends on ARCH_SUNXI
7134a003647SRussell King		select DEBUG_UART_8250
714aa25115aSStefan Roese		help
715aa25115aSStefan Roese		  Say Y here if you want kernel low-level debugging support
716aa25115aSStefan Roese		  on Allwinner A1X based platforms on the UART0.
717aa25115aSStefan Roese
718cb84fa18SMaxime Ripard	config DEBUG_SUNXI_UART1
719cb84fa18SMaxime Ripard		bool "Kernel low-level debugging messages via sunXi UART1"
720cb84fa18SMaxime Ripard		depends on ARCH_SUNXI
7214a003647SRussell King		select DEBUG_UART_8250
722cb84fa18SMaxime Ripard		help
723cb84fa18SMaxime Ripard		  Say Y here if you want kernel low-level debugging support
724cb84fa18SMaxime Ripard		  on Allwinner A1X based platforms on the UART1.
725cb84fa18SMaxime Ripard
726cce278d2SRussell King	config TEGRA_DEBUG_UART_AUTO_ODMDATA
727cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
72846067803SStephen Warren		depends on ARCH_TEGRA
729cce278d2SRussell King		select DEBUG_TEGRA_UART
730cce278d2SRussell King		help
731cce278d2SRussell King		  Automatically determines which UART to use for low-level
732cce278d2SRussell King		  debug based on the ODMDATA value. This value is part of
733cce278d2SRussell King		  the BCT, and is written to the boot memory device using
734cce278d2SRussell King		  nvflash, or other flashing tool.  When bits 19:18 are 3,
735cce278d2SRussell King		  then bits 17:15 indicate which UART to use; 0/1/2/3/4
736cce278d2SRussell King		  are UART A/B/C/D/E.
737cce278d2SRussell King
738cce278d2SRussell King	config TEGRA_DEBUG_UARTA
739cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART A"
740cce278d2SRussell King		depends on ARCH_TEGRA
741cce278d2SRussell King		select DEBUG_TEGRA_UART
742cce278d2SRussell King		help
743cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
744cce278d2SRussell King		  on Tegra based platforms.
745cce278d2SRussell King
746cce278d2SRussell King	config TEGRA_DEBUG_UARTB
747cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART B"
748cce278d2SRussell King		depends on ARCH_TEGRA
749cce278d2SRussell King		select DEBUG_TEGRA_UART
750cce278d2SRussell King		help
751cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
752cce278d2SRussell King		  on Tegra based platforms.
753cce278d2SRussell King
754cce278d2SRussell King	config TEGRA_DEBUG_UARTC
755cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART C"
756cce278d2SRussell King		depends on ARCH_TEGRA
757cce278d2SRussell King		select DEBUG_TEGRA_UART
758cce278d2SRussell King		help
759cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
760cce278d2SRussell King		  on Tegra based platforms.
761cce278d2SRussell King
762cce278d2SRussell King	config TEGRA_DEBUG_UARTD
763cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART D"
764cce278d2SRussell King		depends on ARCH_TEGRA
765cce278d2SRussell King		select DEBUG_TEGRA_UART
766cce278d2SRussell King		help
767cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
768cce278d2SRussell King		  on Tegra based platforms.
769cce278d2SRussell King
770cce278d2SRussell King	config TEGRA_DEBUG_UARTE
771cce278d2SRussell King		bool "Kernel low-level debugging messages via Tegra UART E"
772cce278d2SRussell King		depends on ARCH_TEGRA
773cce278d2SRussell King		select DEBUG_TEGRA_UART
77446067803SStephen Warren		help
77546067803SStephen Warren		  Say Y here if you want kernel low-level debugging support
77646067803SStephen Warren		  on Tegra based platforms.
77746067803SStephen Warren
7787f46a107SBarry Song	config DEBUG_SIRFPRIMA2_UART1
7797f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFprimaII UART1"
7807f46a107SBarry Song		depends on ARCH_PRIMA2
7817f46a107SBarry Song		help
7827f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
7837f46a107SBarry Song		  their output to the uart1 port on SiRFprimaII devices.
7847f46a107SBarry Song
7857f46a107SBarry Song	config DEBUG_SIRFMARCO_UART1
7867f46a107SBarry Song		bool "Kernel low-level debugging messages via SiRFmarco UART1"
7877f46a107SBarry Song		depends on ARCH_MARCO
7887f46a107SBarry Song		help
7897f46a107SBarry Song		  Say Y here if you want the debug print routines to direct
7907f46a107SBarry Song		  their output to the uart1 port on SiRFmarco devices.
7917f46a107SBarry Song
792cce278d2SRussell King	config STIH41X_DEBUG_ASC2
793cce278d2SRussell King		bool "Use StiH415/416 ASC2 UART for low-level debug"
7945562b800SArnd Bergmann		depends on ARCH_STI
795cce278d2SRussell King		select DEBUG_STI_UART
7965562b800SArnd Bergmann		help
7975562b800SArnd Bergmann		  Say Y here if you want kernel low-level debugging support
798cce278d2SRussell King		  on STiH415/416 based platforms like b2000, which has
799cce278d2SRussell King		  default UART wired up to ASC2.
800cce278d2SRussell King
801cce278d2SRussell King		  If unsure, say N.
802cce278d2SRussell King
803cce278d2SRussell King	config STIH41X_DEBUG_SBC_ASC1
804cce278d2SRussell King		bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
805cce278d2SRussell King		depends on ARCH_STI
806cce278d2SRussell King		select DEBUG_STI_UART
807cce278d2SRussell King		help
808cce278d2SRussell King		  Say Y here if you want kernel low-level debugging support
809cce278d2SRussell King		  on STiH415/416 based platforms like b2020. which has
810cce278d2SRussell King		  default UART wired up to SBC ASC1.
8115562b800SArnd Bergmann
8125562b800SArnd Bergmann		  If unsure, say N.
8135562b800SArnd Bergmann
814dd324da7SLinus Walleij	config DEBUG_U300_UART
815dd324da7SLinus Walleij		bool "Kernel low-level debugging messages via U300 UART0"
816dd324da7SLinus Walleij		depends on ARCH_U300
8175c972af4SRussell King		select DEBUG_UART_PL01X
818dd324da7SLinus Walleij		help
819dd324da7SLinus Walleij		  Say Y here if you want the debug print routines to direct
820dd324da7SLinus Walleij		  their output to the uart port on U300 devices.
821dd324da7SLinus Walleij
822f87b95ddSLinus Walleij	config DEBUG_UX500_UART
823f87b95ddSLinus Walleij		depends on ARCH_U8500
824f87b95ddSLinus Walleij		bool "Use Ux500 UART for low-level debug"
825f87b95ddSLinus Walleij		help
826f87b95ddSLinus Walleij		  Say Y here if you want kernel low-level debugging support
827f87b95ddSLinus Walleij		  on Ux500 based platforms.
828f87b95ddSLinus Walleij
8291b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_DETECT
8301b820eafSPawel Moll		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
8311b820eafSPawel Moll		depends on ARCH_VEXPRESS && CPU_CP15_MMU
8321b820eafSPawel Moll		help
8331b820eafSPawel Moll		  This option enables a simple heuristic which tries to determine
8341b820eafSPawel Moll		  the motherboard's memory map variant (original or RS1) and then
8351b820eafSPawel Moll		  choose the relevant UART0 base address.
8361b820eafSPawel Moll
8371b820eafSPawel Moll		  Note that this will only work with standard A-class core tiles,
8381b820eafSPawel Moll		  and may fail with non-standard SMM or custom software models.
8391b820eafSPawel Moll
8401b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_CA9
8411b820eafSPawel Moll		bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
8421b820eafSPawel Moll		depends on ARCH_VEXPRESS
8435c972af4SRussell King		select DEBUG_UART_PL01X
8441b820eafSPawel Moll		help
8451b820eafSPawel Moll		  This option selects UART0 at 0x10009000. Except for custom models,
8461b820eafSPawel Moll		  this applies only to the V2P-CA9 tile.
8471b820eafSPawel Moll
8481b820eafSPawel Moll	config DEBUG_VEXPRESS_UART0_RS1
8491b820eafSPawel Moll		bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
8501b820eafSPawel Moll		depends on ARCH_VEXPRESS
8515c972af4SRussell King		select DEBUG_UART_PL01X
8521b820eafSPawel Moll		help
8531b820eafSPawel Moll		  This option selects UART0 at 0x1c090000. This applies to most
8541b820eafSPawel Moll		  of the tiles using the RS1 memory map, including all new A-class
8551b820eafSPawel Moll		  core tiles, FPGA-based SMMs and software models.
8561b820eafSPawel Moll
857ed18bdc8SJonathan Austin	config DEBUG_VEXPRESS_UART0_CRX
858ed18bdc8SJonathan Austin		bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
859ed18bdc8SJonathan Austin		depends on ARCH_VEXPRESS && !MMU
8605c972af4SRussell King		select DEBUG_UART_PL01X
861ed18bdc8SJonathan Austin		help
862ed18bdc8SJonathan Austin		  This option selects UART0 at 0xb0090000. This is appropriate for
863ed18bdc8SJonathan Austin		  Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
864ed18bdc8SJonathan Austin
865b61a2722STony Prisk	config DEBUG_VT8500_UART0
866b61a2722STony Prisk		bool "Use UART0 on VIA/Wondermedia SoCs"
867b61a2722STony Prisk		depends on ARCH_VT8500
868b61a2722STony Prisk		help
869b61a2722STony Prisk		  This option selects UART0 on VIA/Wondermedia System-on-a-chip
870b61a2722STony Prisk		  devices, including VT8500, WM8505, WM8650 and WM8850.
871b61a2722STony Prisk
872e76f4750SRussell King	config DEBUG_LL_UART_NONE
873e76f4750SRussell King		bool "No low-level debugging UART"
874387798b3SRob Herring		depends on !ARCH_MULTIPLATFORM
875e76f4750SRussell King		help
876e76f4750SRussell King		  Say Y here if your platform doesn't provide a UART option
877730cc26fSRussell King		  above. This relies on your platform choosing the right UART
878e76f4750SRussell King		  definition internally in order for low-level debugging to
879e76f4750SRussell King		  work.
880e76f4750SRussell King
881e76f4750SRussell King	config DEBUG_ICEDCC
882e76f4750SRussell King		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
883e76f4750SRussell King		help
884e76f4750SRussell King		  Say Y here if you want the debug print routines to direct
885e76f4750SRussell King		  their output to the EmbeddedICE macrocell's DCC channel using
886e76f4750SRussell King		  co-processor 14. This is known to work on the ARM9 style ICE
887e76f4750SRussell King		  channel and on the XScale with the PEEDI.
888e76f4750SRussell King
889e76f4750SRussell King		  Note that the system will appear to hang during boot if there
890e76f4750SRussell King		  is nothing connected to read from the DCC.
891e76f4750SRussell King
892b0df8986SRussell King	config DEBUG_SEMIHOSTING
89362194bdaSStephen Boyd		bool "Kernel low-level debug output via semihosting I/O"
894b0df8986SRussell King		help
895b0df8986SRussell King		  Semihosting enables code running on an ARM target to use
896b0df8986SRussell King		  the I/O facilities on a host debugger/emulator through a
89762194bdaSStephen Boyd		  simple SVC call. The host debugger or emulator must have
898b0df8986SRussell King		  semihosting enabled for the special svc call to be trapped
899b0df8986SRussell King		  otherwise the kernel will crash.
900b0df8986SRussell King
901b0df8986SRussell King		  This is known to work with OpenOCD, as well as
902b0df8986SRussell King		  ARM's Fast Models, or any other controlling environment
903b0df8986SRussell King		  that implements semihosting.
904b0df8986SRussell King
905b0df8986SRussell King		  For more details about semihosting, please see
906b0df8986SRussell King		  chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
907b0df8986SRussell King
908f8f1279cSRussell King	config DEBUG_LL_UART_8250
909f8f1279cSRussell King		bool "Kernel low-level debugging via 8250 UART"
910f8f1279cSRussell King		help
911f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
912f8f1279cSRussell King		  their output to an 8250 UART.  You can use this option
913f8f1279cSRussell King		  to provide the parameters for the 8250 UART rather than
914f8f1279cSRussell King		  selecting one of the platform specific options above if
915f8f1279cSRussell King		  you know the parameters for the port.
916f8f1279cSRussell King
917f8f1279cSRussell King		  This option is preferred over the platform specific
918f8f1279cSRussell King		  options; the platform specific options are deprecated
919f8f1279cSRussell King		  and will be soon removed.
920f8f1279cSRussell King
921494e492dSUwe Kleine-König	config DEBUG_LL_UART_EFM32
922494e492dSUwe Kleine-König		bool "Kernel low-level debugging via efm32 UART"
923494e492dSUwe Kleine-König		depends on ARCH_EFM32
924494e492dSUwe Kleine-König		help
925494e492dSUwe Kleine-König		  Say Y here if you want the debug print routines to direct
926494e492dSUwe Kleine-König		  their output to an UART or USART port on efm32 based
927494e492dSUwe Kleine-König		  machines. Use the following addresses for DEBUG_UART_PHYS:
928494e492dSUwe Kleine-König
929494e492dSUwe Kleine-König		    0x4000c000 | USART0
930494e492dSUwe Kleine-König		    0x4000c400 | USART1
931494e492dSUwe Kleine-König		    0x4000c800 | USART2
932494e492dSUwe Kleine-König		    0x4000e000 | UART0
933494e492dSUwe Kleine-König		    0x4000e400 | UART1
934494e492dSUwe Kleine-König
935f8f1279cSRussell King	config DEBUG_LL_UART_PL01X
936f8f1279cSRussell King		bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
937f8f1279cSRussell King		help
938f8f1279cSRussell King		  Say Y here if you wish the debug print routes to direct
939f8f1279cSRussell King		  their output to a PL01x Primecell UART.  You can use
940f8f1279cSRussell King		  this option to provide the parameters for the UART
941f8f1279cSRussell King		  rather than selecting one of the platform specific
942f8f1279cSRussell King		  options above if you know the parameters for the port.
943f8f1279cSRussell King
944f8f1279cSRussell King		  This option is preferred over the platform specific
945f8f1279cSRussell King		  options; the platform specific options are deprecated
946f8f1279cSRussell King		  and will be soon removed.
947f8f1279cSRussell King
94817916b28SWill Deaconendchoice
94917916b28SWill Deacon
950a2e40710SArnd Bergmannconfig DEBUG_EXYNOS_UART
951a2e40710SArnd Bergmann	bool
952a2e40710SArnd Bergmann
953daf67dfcSHeiko Stuebnerconfig DEBUG_S3C2410_UART
954daf67dfcSHeiko Stuebner	bool
9551899de28SHeiko Stuebner	select DEBUG_S3C24XX_UART
9561899de28SHeiko Stuebner
9571899de28SHeiko Stuebnerconfig DEBUG_S3C24XX_UART
9581899de28SHeiko Stuebner	bool
959daf67dfcSHeiko Stuebner
960cce278d2SRussell Kingconfig DEBUG_OMAP2PLUS_UART
961cce278d2SRussell King	bool
962cce278d2SRussell King	depends on ARCH_OMAP2PLUS
963cce278d2SRussell King
964f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT
965f8c95fe6SShawn Guo	int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
966f8c95fe6SShawn Guo						DEBUG_IMX25_UART || \
967f8c95fe6SShawn Guo						DEBUG_IMX21_IMX27_UART || \
968f8c95fe6SShawn Guo						DEBUG_IMX31_UART || \
969f8c95fe6SShawn Guo						DEBUG_IMX35_UART || \
970ad364a70SGreg Ungerer						DEBUG_IMX50_UART || \
971f8c95fe6SShawn Guo						DEBUG_IMX51_UART || \
9720c52db7eSPaul Bolle						DEBUG_IMX53_UART || \
97334e8a16bSShawn Guo						DEBUG_IMX6Q_UART || \
97474368e81SShawn Guo						DEBUG_IMX6SL_UART || \
97574368e81SShawn Guo						DEBUG_IMX6SX_UART
97649c9e60eSShawn Guo	default 1
977287939a3SShawn Guo	depends on ARCH_MXC
97849c9e60eSShawn Guo	help
97949c9e60eSShawn Guo	  Choose UART port on which kernel low-level debug messages
98049c9e60eSShawn Guo	  should be output.
98149c9e60eSShawn Guo
982cfdb7d56SStefan Agnerconfig DEBUG_VF_UART_PORT
983cfdb7d56SStefan Agner	int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
984cfdb7d56SStefan Agner	default 1
985cfdb7d56SStefan Agner	range 0 3
986cfdb7d56SStefan Agner	depends on SOC_VF610
987cfdb7d56SStefan Agner	help
988cfdb7d56SStefan Agner	  Choose UART port on which kernel low-level debug messages
989cfdb7d56SStefan Agner	  should be output.
990cfdb7d56SStefan Agner
991cce278d2SRussell Kingconfig DEBUG_TEGRA_UART
992cce278d2SRussell King	bool
993cce278d2SRussell King	depends on ARCH_TEGRA
994808b7e07STony Lindgren
995cce278d2SRussell Kingconfig DEBUG_STI_UART
996cce278d2SRussell King	bool
997cce278d2SRussell King	depends on ARCH_STI
9985026aecfSSrinivas Kandagatla
99991a9fec0SRob Herringconfig DEBUG_LL_INCLUDE
100091a9fec0SRob Herring	string
1001f8f1279cSRussell King	default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1002f8f1279cSRussell King	default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1003a2e40710SArnd Bergmann	default "debug/exynos.S" if DEBUG_EXYNOS_UART
1004494e492dSUwe Kleine-König	default "debug/efm32.S" if DEBUG_LL_UART_EFM32
100591a9fec0SRob Herring	default "debug/icedcc.S" if DEBUG_ICEDCC
10066dde5ac5SShawn Guo	default "debug/imx.S" if DEBUG_IMX1_UART || \
10076dde5ac5SShawn Guo				 DEBUG_IMX25_UART || \
10086dde5ac5SShawn Guo				 DEBUG_IMX21_IMX27_UART || \
10094ad625d4SShawn Guo				 DEBUG_IMX31_UART || \
10104ad625d4SShawn Guo				 DEBUG_IMX35_UART || \
1011ad364a70SGreg Ungerer				 DEBUG_IMX50_UART || \
10126dde5ac5SShawn Guo				 DEBUG_IMX51_UART || \
10137356420cSFabio Estevam				 DEBUG_IMX53_UART ||\
101434e8a16bSShawn Guo				 DEBUG_IMX6Q_UART || \
101574368e81SShawn Guo				 DEBUG_IMX6SL_UART || \
101674368e81SShawn Guo				 DEBUG_IMX6SX_UART
10177098cff2SIvan T. Ivanov	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1018808b7e07STony Lindgren	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
10192cd62bd4SHeiko Stuebner	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
102067bdb287SArnd Bergmann	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
10215026aecfSSrinivas Kandagatla	default "debug/sti.S" if DEBUG_STI_UART
1022150a8dcfSLinus Torvalds	default "debug/tegra.S" if DEBUG_TEGRA_UART
1023150a8dcfSLinus Torvalds	default "debug/ux500.S" if DEBUG_UX500_UART
10244e218b99SRussell King	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1025c7c3eac6SShawn Guo	default "debug/vf.S" if DEBUG_VF_UART
1026b61a2722STony Prisk	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1027385f02b1SJosh Cartwright	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
102891a9fec0SRob Herring	default "mach/debug-macro.S"
102991a9fec0SRob Herring
1030f8f1279cSRussell King# Compatibility options for PL01x
10315c972af4SRussell Kingconfig DEBUG_UART_PL01X
10325c972af4SRussell King	def_bool ARCH_EP93XX || \
10335c972af4SRussell King		ARCH_INTEGRATOR || \
10340dc0e475SRussell King		ARCH_SPEAR3XX || \
10350dc0e475SRussell King		ARCH_SPEAR6XX || \
10360dc0e475SRussell King		ARCH_SPEAR13XX || \
10375c972af4SRussell King		ARCH_VERSATILE
10385c972af4SRussell King
1039f8f1279cSRussell King# Compatibility options for 8250
10407610b607SRussell Kingconfig DEBUG_UART_8250
10414a003647SRussell King	def_bool ARCH_DOVE || ARCH_EBSA110 || \
10424a003647SRussell King		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
10434a003647SRussell King		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
10444a003647SRussell King		ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
10454a003647SRussell King		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
10464a003647SRussell King
1047c3faa9b7SRussell Kingconfig DEBUG_UART_PHYS
1048c3faa9b7SRussell King	hex "Physical base address of debug UART"
104997bd1a48SRussell King	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1050c3faa9b7SRussell King	default 0x01c28000 if DEBUG_SUNXI_UART0
1051c3faa9b7SRussell King	default 0x01c28400 if DEBUG_SUNXI_UART1
105297bd1a48SRussell King	default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
105397bd1a48SRussell King	default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1054f2acf003SRussell King	default 0x02530c00 if DEBUG_KEYSTONE_UART0
1055f2acf003SRussell King	default 0x02531000 if DEBUG_KEYSTONE_UART1
1056c3faa9b7SRussell King	default 0x03010fe0 if ARCH_RPC
10575c972af4SRussell King	default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
10585c972af4SRussell King				DEBUG_VEXPRESS_UART0_CA9
10595c972af4SRussell King	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1060c3faa9b7SRussell King	default 0x10124000 if DEBUG_RK3X_UART0
1061c3faa9b7SRussell King	default 0x10126000 if DEBUG_RK3X_UART1
10625c972af4SRussell King	default 0x101f1000 if ARCH_VERSATILE
10635c972af4SRussell King	default 0x101fb000 if DEBUG_NOMADIK_UART
10645c972af4SRussell King	default 0x16000000 if ARCH_INTEGRATOR
106506580275SHauke Mehrtens	default 0x18000300 if DEBUG_BCM_5301X
10665c972af4SRussell King	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1067c3faa9b7SRussell King	default 0x20060000 if DEBUG_RK29_UART0
1068c3faa9b7SRussell King	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1069c3faa9b7SRussell King	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
10705c972af4SRussell King	default 0x20201000 if DEBUG_BCM2835
1071753d1243SChristian Daudt	default 0x3e000000 if DEBUG_BCM_KONA_UART
1072494e492dSUwe Kleine-König	default 0x4000e400 if DEBUG_LL_UART_EFM32
1073c3faa9b7SRussell King	default 0x40090000 if ARCH_LPC32XX
1074c3faa9b7SRussell King	default 0x40100000 if DEBUG_PXA_UART1
1075c3faa9b7SRussell King	default 0x42000000 if ARCH_GEMINI
10761899de28SHeiko Stuebner	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
10771899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
10781899de28SHeiko Stuebner	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
10791899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
10801899de28SHeiko Stuebner	default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
10811899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1082c3faa9b7SRussell King	default 0x7c0003f8 if FOOTBRIDGE
10835c972af4SRussell King	default 0x80070000 if DEBUG_IMX23_UART
10845c972af4SRussell King	default 0x80074000 if DEBUG_IMX28_UART
1085c39e1ef7SAlexander Shiyan	default 0x80230000 if DEBUG_PICOXCELL_UART
10865c972af4SRussell King	default 0x808c0000 if ARCH_EP93XX
10875c972af4SRussell King	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
10887098cff2SIvan T. Ivanov	default 0xa9a00000 if DEBUG_MSM_UART
10895c972af4SRussell King	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
10905c972af4SRussell King	default 0xc0013000 if DEBUG_U300_UART
1091c3faa9b7SRussell King	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1092c3faa9b7SRussell King	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
10930dc0e475SRussell King	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1094c3faa9b7SRussell King	default 0xd0012000 if DEBUG_MVEBU_UART
1095c3faa9b7SRussell King	default 0xd4017000 if DEBUG_MMP_UART2
1096c3faa9b7SRussell King	default 0xd4018000 if DEBUG_MMP_UART3
10970dc0e475SRussell King	default 0xe0000000 if ARCH_SPEAR13XX
1098c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
1099c3faa9b7SRussell King	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1100c3faa9b7SRussell King	default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1101c3faa9b7SRussell King				ARCH_ORION5X
1102caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
11038d258bebSHaojian Zhuang	default 0xf8b00000 if DEBUG_HI3716_UART
11047098cff2SIvan T. Ivanov	default 0xf991e000 if DEBUG_QCOM_UARTDM
11058d258bebSHaojian Zhuang	default 0xfcb00000 if DEBUG_HI3620_UART
1106c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
1107*efd02ee9SHeiko Stuebner	default 0xff690000 if DEBUG_RK32_UART2
11080b4cccbeSRussell King	default 0xffc02000 if DEBUG_SOCFPGA_UART
1109c3faa9b7SRussell King	default 0xffd82340 if ARCH_IOP13XX
11105c972af4SRussell King	default 0xfff36000 if DEBUG_HIGHBANK_UART
1111c3faa9b7SRussell King	default 0xfffff700 if ARCH_IOP33X
1112f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1113494e492dSUwe Kleine-König		DEBUG_LL_UART_EFM32 || \
11147098cff2SIvan T. Ivanov		DEBUG_UART_8250 || DEBUG_UART_PL01X || \
1115fe388facSOlof Johansson		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART
1116c3faa9b7SRussell King
1117c3faa9b7SRussell Kingconfig DEBUG_UART_VIRT
1118c3faa9b7SRussell King	hex "Virtual base address of debug UART"
1119c3faa9b7SRussell King	default 0xe0010fe0 if ARCH_RPC
11207098cff2SIvan T. Ivanov	default 0xe1000000 if DEBUG_MSM_UART
1121c3faa9b7SRussell King	default 0xf0000be0 if ARCH_EBSA110
11225c972af4SRussell King	default 0xf0009000 if DEBUG_CNS3XXX
11235c972af4SRussell King	default 0xf01fb000 if DEBUG_NOMADIK_UART
11245c972af4SRussell King	default 0xf0201000 if DEBUG_BCM2835
112506580275SHauke Mehrtens	default 0xf1000300 if DEBUG_BCM_5301X
11265c972af4SRussell King	default 0xf11f1000 if ARCH_VERSATILE
11275c972af4SRussell King	default 0xf1600000 if ARCH_INTEGRATOR
1128c3faa9b7SRussell King	default 0xf1c28000 if DEBUG_SUNXI_UART0
1129c3faa9b7SRussell King	default 0xf1c28400 if DEBUG_SUNXI_UART1
1130c3faa9b7SRussell King	default 0xf2100000 if DEBUG_PXA_UART1
1131c3faa9b7SRussell King	default 0xf4090000 if ARCH_LPC32XX
1132c3faa9b7SRussell King	default 0xf4200000 if ARCH_GEMINI
11331899de28SHeiko Stuebner	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
11341899de28SHeiko Stuebner				DEBUG_S3C2410_UART0)
11351899de28SHeiko Stuebner	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
11361899de28SHeiko Stuebner				DEBUG_S3C2410_UART1)
11371899de28SHeiko Stuebner	default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
11381899de28SHeiko Stuebner				DEBUG_S3C2410_UART2)
1139caad0b41SSebastian Hesselbarth	default 0xf7fc9000 if DEBUG_BERLIN_UART
11405c972af4SRussell King	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
11415c972af4SRussell King	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
11427098cff2SIvan T. Ivanov	default 0xfa71e000 if DEBUG_QCOM_UARTDM
11435c972af4SRussell King	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
11445c972af4SRussell King	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
11450dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
11460dc0e475SRussell King	default 0xfd000000 if ARCH_SPEAR13XX
1147c3faa9b7SRussell King	default 0xfd012000 if ARCH_MV78XX0
1148c3faa9b7SRussell King	default 0xfde12000 if ARCH_DOVE
1149c3faa9b7SRussell King	default 0xfe012000 if ARCH_ORION5X
1150c3faa9b7SRussell King	default 0xfe017000 if DEBUG_MMP_UART2
1151c3faa9b7SRussell King	default 0xfe018000 if DEBUG_MMP_UART3
11525c972af4SRussell King	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
11530b4cccbeSRussell King	default 0xfe230000 if DEBUG_PICOXCELL_UART
1154753d1243SChristian Daudt	default 0xfe300000 if DEBUG_BCM_KONA_UART
1155c3faa9b7SRussell King	default 0xfe800000 if ARCH_IOP32X
11568d258bebSHaojian Zhuang	default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1157c3faa9b7SRussell King	default 0xfeb24000 if DEBUG_RK3X_UART0
1158c3faa9b7SRussell King	default 0xfeb26000 if DEBUG_RK3X_UART1
1159f2acf003SRussell King	default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1160f2acf003SRussell King	default 0xfeb31000 if DEBUG_KEYSTONE_UART1
11610b4cccbeSRussell King	default 0xfec02000 if DEBUG_SOCFPGA_UART
1162c39e1ef7SAlexander Shiyan	default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
116397bd1a48SRussell King	default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1164*efd02ee9SHeiko Stuebner	default 0xfec90000 if DEBUG_RK32_UART2
116597bd1a48SRussell King	default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
116697bd1a48SRussell King	default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1167c3faa9b7SRussell King	default 0xfed12000 if ARCH_KIRKWOOD
1168c39e1ef7SAlexander Shiyan	default 0xfed60000 if DEBUG_RK29_UART0
1169c39e1ef7SAlexander Shiyan	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1170c39e1ef7SAlexander Shiyan	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
11715c972af4SRussell King	default 0xfedc0000 if ARCH_EP93XX
1172c3faa9b7SRussell King	default 0xfee003f8 if FOOTBRIDGE
11735c972af4SRussell King	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1174c3faa9b7SRussell King	default 0xfee82340 if ARCH_IOP13XX
1175c3faa9b7SRussell King	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1176c3faa9b7SRussell King	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1177c39e1ef7SAlexander Shiyan	default 0xfef36000 if DEBUG_HIGHBANK_UART
1178c3faa9b7SRussell King	default 0xfefff700 if ARCH_IOP33X
11795c972af4SRussell King	default 0xff003000 if DEBUG_U300_UART
11805c972af4SRussell King	default DEBUG_UART_PHYS if !MMU
1181f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
11827098cff2SIvan T. Ivanov		DEBUG_UART_8250 || DEBUG_UART_PL01X || \
1183fe388facSOlof Johansson		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART
1184c3faa9b7SRussell King
11854a003647SRussell Kingconfig DEBUG_UART_8250_SHIFT
11864a003647SRussell King	int "Register offset shift for the 8250 debug UART"
1187f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11884a003647SRussell King	default 0 if FOOTBRIDGE || ARCH_IOP32X
11894a003647SRussell King	default 2
11907610b607SRussell King
11910b4cccbeSRussell Kingconfig DEBUG_UART_8250_WORD
11920b4cccbeSRussell King	bool "Use 32-bit accesses for 8250 UART"
1193f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
11940b4cccbeSRussell King	depends on DEBUG_UART_8250_SHIFT >= 2
1195f2acf003SRussell King	default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
119697bd1a48SRussell King		ARCH_KEYSTONE || \
119797bd1a48SRussell King		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
11989d6eccb9SArnd Bergmann		DEBUG_DAVINCI_DA8XX_UART2 || \
1199*efd02ee9SHeiko Stuebner		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
12000b4cccbeSRussell King
12017610b607SRussell Kingconfig DEBUG_UART_8250_FLOW_CONTROL
12027610b607SRussell King	bool "Enable flow control for 8250 UART"
1203f8f1279cSRussell King	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
12047610b607SRussell King	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
12057610b607SRussell King
12063b4af9bcSShawn Guoconfig DEBUG_UNCOMPRESS
12073b4af9bcSShawn Guo	bool
120890266754SHeiko Stuebner	depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG
1209b6992fa9SRussell King	default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1210ae3c99a2SStephen Warren		     (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1211b6992fa9SRussell King	help
1212b6992fa9SRussell King	  This option influences the normal decompressor output for
1213b6992fa9SRussell King	  multiplatform kernels.  Normally, multiplatform kernels disable
1214b6992fa9SRussell King	  decompressor output because it is not possible to know where to
1215b6992fa9SRussell King	  send the decompressor output.
1216b6992fa9SRussell King
1217b6992fa9SRussell King	  When this option is set, the selected DEBUG_LL output method
1218b6992fa9SRussell King	  will be re-used for normal decompressor output on multiplatform
1219b6992fa9SRussell King	  kernels.
1220b6992fa9SRussell King
12213b4af9bcSShawn Guo
1222615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE
1223615967b0SShawn Guo	string
1224ffd80eccSSachin Kamat	default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
12252bf73dd6SLinus Torvalds					PLAT_SAMSUNG || ARCH_EFM32
1226615967b0SShawn Guo	default "mach/uncompress.h"
1227615967b0SShawn Guo
122893fd03a8SCatalin Marinasconfig EARLY_PRINTK
122993fd03a8SCatalin Marinas	bool "Early printk"
123093fd03a8SCatalin Marinas	depends on DEBUG_LL
123193fd03a8SCatalin Marinas	help
123293fd03a8SCatalin Marinas	  Say Y here if you want to have an early console using the
123393fd03a8SCatalin Marinas	  kernel low-level debugging functions. Add earlyprintk to your
123493fd03a8SCatalin Marinas	  kernel parameters to enable this console.
123593fd03a8SCatalin Marinas
1236c5d6c770SAlexander Shishkinconfig OC_ETM
1237c5d6c770SAlexander Shishkin	bool "On-chip ETM and ETB"
123853eebb0dSArnd Bergmann	depends on ARM_AMBA
1239c5d6c770SAlexander Shishkin	help
1240c5d6c770SAlexander Shishkin	  Enables the on-chip embedded trace macrocell and embedded trace
1241c5d6c770SAlexander Shishkin	  buffer driver that will allow you to collect traces of the
1242c5d6c770SAlexander Shishkin	  kernel code.
1243c5d6c770SAlexander Shishkin
12444189bc71SJon Medhurstconfig ARM_KPROBES_TEST
12454189bc71SJon Medhurst	tristate "Kprobes test module"
12464189bc71SJon Medhurst	depends on KPROBES && MODULES
12474189bc71SJon Medhurst	help
12484189bc71SJon Medhurst	  Perform tests of kprobes API and instruction set simulation.
12494189bc71SJon Medhurst
1250575320d6SWill Deaconconfig PID_IN_CONTEXTIDR
1251575320d6SWill Deacon	bool "Write the current PID to the CONTEXTIDR register"
1252575320d6SWill Deacon	depends on CPU_COPY_V6
1253575320d6SWill Deacon	help
1254575320d6SWill Deacon	  Enabling this option causes the kernel to write the current PID to
1255575320d6SWill Deacon	  the PROCID field of the CONTEXTIDR register, at the expense of some
1256575320d6SWill Deacon	  additional instructions during context switch. Say Y here only if you
1257575320d6SWill Deacon	  are planning to use hardware trace tools with this kernel.
1258575320d6SWill Deacon
1259dca9aa92SLaura Abbottconfig DEBUG_SET_MODULE_RONX
1260dca9aa92SLaura Abbott	bool "Set loadable kernel module data as NX and text as RO"
1261dca9aa92SLaura Abbott	depends on MODULES
1262dca9aa92SLaura Abbott	---help---
1263dca9aa92SLaura Abbott	  This option helps catch unintended modifications to loadable
1264dca9aa92SLaura Abbott	  kernel module's text and read-only data. It also prevents execution
1265dca9aa92SLaura Abbott	  of module data. Such protection may interfere with run-time code
1266dca9aa92SLaura Abbott	  patching and dynamic kernel tracing - and they might also protect
1267dca9aa92SLaura Abbott	  against certain classes of kernel exploits.
1268dca9aa92SLaura Abbott	  If in doubt, say "N".
1269dca9aa92SLaura Abbott
12701da177e4SLinus Torvaldsendmenu
1271