ARM: Tegra: Rearrange Boards and add P2560
[linux-3.10.git] / arch / arm / Kconfig.debug
index 5bbfcf0..21cc8a7 100644 (file)
@@ -32,7 +32,7 @@ config FRAME_POINTER
 
 config ARM_UNWIND
        bool "Enable stack unwinding support (EXPERIMENTAL)"
-       depends on AEABI && EXPERIMENTAL
+       depends on AEABI
        default y
        help
          This option enables stack unwinding support in the kernel
@@ -63,6 +63,27 @@ config DEBUG_USER
              8 - SIGSEGV faults
             16 - SIGBUS faults
 
+config DEBUG_RODATA
+       bool "Write protect kernel text section"
+       default n
+       depends on DEBUG_KERNEL && MMU
+       ---help---
+         Mark the kernel text section as write-protected in the pagetables,
+         in order to catch accidental (and incorrect) writes to such const
+         data. This will cause the size of the kernel, plus up to 4MB, to
+         be mapped as pages instead of sections, which will increase TLB
+         pressure.
+         If in doubt, say "N".
+
+config DEBUG_RODATA_TEST
+       bool "Testcase for the DEBUG_RODATA feature"
+       depends on DEBUG_RODATA
+       default n
+       ---help---
+         This option enables a testcase for the DEBUG_RODATA
+         feature.
+         If in doubt, say "N"
+
 # These options are only for real kernel hackers who want to get their hands dirty.
 config DEBUG_LL
        bool "Kernel low-level debugging functions (read help!)"
@@ -89,6 +110,10 @@ choice
                bool "Kernel low-level debugging on 9263 and 9g45"
                depends on HAVE_AT91_DBGU1
 
+       config DEBUG_BCM2835
+               bool "Kernel low-level debugging on BCM2835 PL011 UART"
+               depends on ARCH_BCM2835
+
        config DEBUG_CLPS711X_UART1
                bool "Kernel low-level debugging messages via UART1"
                depends on ARCH_CLPS711X
@@ -103,6 +128,13 @@ choice
                  Say Y here if you want the debug print routines to direct
                  their output to the second serial port on these devices.
 
+       config DEBUG_CNS3XXX
+               bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
+               depends on ARCH_CNS3XXX
+               help
+                 Say Y here if you want the debug print routines to direct
+                  their output to the CNS3xxx UART0.
+
        config DEBUG_DAVINCI_DA8XX_UART1
                bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
                depends on ARCH_DAVINCI_DA8XX
@@ -205,12 +237,19 @@ choice
                  Say Y here if you want kernel low-level debugging support
                  on i.MX28.
 
-       config DEBUG_IMX31_IMX35_UART
-               bool "i.MX31 and i.MX35 Debug UART"
-               depends on SOC_IMX31 || SOC_IMX35
+       config DEBUG_IMX31_UART
+               bool "i.MX31 Debug UART"
+               depends on SOC_IMX31
                help
                  Say Y here if you want kernel low-level debugging support
-                 on i.MX31 or i.MX35.
+                 on i.MX31.
+
+       config DEBUG_IMX35_UART
+               bool "i.MX35 Debug UART"
+               depends on SOC_IMX35
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on i.MX35.
 
        config DEBUG_IMX51_UART
                bool "i.MX51 Debug UART"
@@ -219,27 +258,19 @@ choice
                  Say Y here if you want kernel low-level debugging support
                  on i.MX51.
 
-       config DEBUG_IMX50_IMX53_UART
-               bool "i.MX50 and i.MX53 Debug UART"
-               depends on SOC_IMX50 || SOC_IMX53
-               help
-                 Say Y here if you want kernel low-level debugging support
-                 on i.MX50 or i.MX53.
-
-       config DEBUG_IMX6Q_UART2
-               bool "i.MX6Q Debug UART2"
-               depends on SOC_IMX6Q
+       config DEBUG_IMX53_UART
+               bool "i.MX53 Debug UART"
+               depends on SOC_IMX53
                help
                  Say Y here if you want kernel low-level debugging support
-                 on i.MX6Q UART2. This is correct for e.g. the SabreLite
-                  board.
+                 on i.MX53.
 
-       config DEBUG_IMX6Q_UART4
-               bool "i.MX6Q Debug UART4"
+       config DEBUG_IMX6Q_UART
+               bool "i.MX6Q/DL Debug UART"
                depends on SOC_IMX6Q
                help
                  Say Y here if you want kernel low-level debugging support
-                 on i.MX6Q UART4.
+                 on i.MX6Q/DL.
 
        config DEBUG_MMP_UART2
                bool "Kernel low-level debugging message via MMP UART2"
@@ -299,6 +330,20 @@ choice
                  Say Y here if you want kernel low-level debugging support
                  on MVEBU based platforms.
 
+       config DEBUG_NOMADIK_UART
+               bool "Kernel low-level debugging messages via NOMADIK UART"
+               depends on ARCH_NOMADIK
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on NOMADIK based platforms.
+
+       config DEBUG_OMAP2PLUS_UART
+               bool "Kernel low-level debugging messages via OMAP2PLUS UART"
+               depends on ARCH_OMAP2PLUS
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on OMAP2PLUS based platforms.
+
        config DEBUG_PICOXCELL_UART
                depends on ARCH_PICOXCELL
                bool "Use PicoXcell UART for low-level debug"
@@ -306,6 +351,13 @@ choice
                  Say Y here if you want kernel low-level debugging support
                  on PicoXcell based platforms.
 
+       config DEBUG_PXA_UART1
+               depends on ARCH_PXA
+               bool "Use PXA UART1 for low-level debug"
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on PXA UART1.
+
        config DEBUG_REALVIEW_STD_PORT
                bool "RealView Default UART"
                depends on ARCH_REALVIEW
@@ -324,6 +376,7 @@ choice
 
        config DEBUG_S3C_UART0
                depends on PLAT_SAMSUNG
+               select DEBUG_EXYNOS_UART if ARCH_EXYNOS
                bool "Use S3C UART 0 for low-level debug"
                help
                  Say Y here if you want the debug print routines to direct
@@ -335,6 +388,7 @@ choice
 
        config DEBUG_S3C_UART1
                depends on PLAT_SAMSUNG
+               select DEBUG_EXYNOS_UART if ARCH_EXYNOS
                bool "Use S3C UART 1 for low-level debug"
                help
                  Say Y here if you want the debug print routines to direct
@@ -346,6 +400,7 @@ choice
 
        config DEBUG_S3C_UART2
                depends on PLAT_SAMSUNG
+               select DEBUG_EXYNOS_UART if ARCH_EXYNOS
                bool "Use S3C UART 2 for low-level debug"
                help
                  Say Y here if you want the debug print routines to direct
@@ -355,6 +410,18 @@ choice
                  The uncompressor code port configuration is now handled
                  by CONFIG_S3C_LOWLEVEL_UART_PORT.
 
+       config DEBUG_S3C_UART3
+               depends on PLAT_SAMSUNG && ARCH_EXYNOS
+               select DEBUG_EXYNOS_UART
+               bool "Use S3C UART 3 for low-level debug"
+               help
+                 Say Y here if you want the debug print routines to direct
+                 their output to UART 3. The port must have been initialised
+                 by the boot-loader before use.
+
+                 The uncompressor code port configuration is now handled
+                 by CONFIG_S3C_LOWLEVEL_UART_PORT.
+
        config DEBUG_SOCFPGA_UART
                depends on ARCH_SOCFPGA
                bool "Use SOCFPGA UART for low-level debug"
@@ -362,6 +429,48 @@ choice
                  Say Y here if you want kernel low-level debugging support
                  on SOCFPGA based platforms.
 
+       config DEBUG_SUNXI_UART0
+               bool "Kernel low-level debugging messages via sunXi UART0"
+               depends on ARCH_SUNXI
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Allwinner A1X based platforms on the UART0.
+
+       config DEBUG_SUNXI_UART1
+               bool "Kernel low-level debugging messages via sunXi UART1"
+               depends on ARCH_SUNXI
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Allwinner A1X based platforms on the UART1.
+
+       config DEBUG_TEGRA_UART
+               depends on ARCH_TEGRA
+               bool "Use Tegra UART for low-level debug"
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Tegra based platforms.
+
+       config DEBUG_SIRFPRIMA2_UART1
+               bool "Kernel low-level debugging messages via SiRFprimaII UART1"
+               depends on ARCH_PRIMA2
+               help
+                 Say Y here if you want the debug print routines to direct
+                 their output to the uart1 port on SiRFprimaII devices.
+
+       config DEBUG_SIRFMARCO_UART1
+               bool "Kernel low-level debugging messages via SiRFmarco UART1"
+               depends on ARCH_MARCO
+               help
+                 Say Y here if you want the debug print routines to direct
+                 their output to the uart1 port on SiRFmarco devices.
+
+       config DEBUG_UX500_UART
+               depends on ARCH_U8500
+               bool "Use Ux500 UART for low-level debug"
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Ux500 based platforms.
+
        config DEBUG_VEXPRESS_UART0_DETECT
                bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
                depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -388,6 +497,13 @@ choice
                  of the tiles using the RS1 memory map, including all new A-class
                  core tiles, FPGA-based SMMs and software models.
 
+       config DEBUG_VT8500_UART0
+               bool "Use UART0 on VIA/Wondermedia SoCs"
+               depends on ARCH_VT8500
+               help
+                 This option selects UART0 on VIA/Wondermedia System-on-a-chip
+                 devices, including VT8500, WM8505, WM8650 and WM8850.
+
        config DEBUG_LL_UART_NONE
                bool "No low-level debugging UART"
                depends on !ARCH_MULTIPLATFORM
@@ -426,25 +542,146 @@ choice
 
 endchoice
 
+config DEBUG_EXYNOS_UART
+       bool
+
+config DEBUG_IMX_UART_PORT
+       int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
+                                               DEBUG_IMX25_UART || \
+                                               DEBUG_IMX21_IMX27_UART || \
+                                               DEBUG_IMX31_UART || \
+                                               DEBUG_IMX35_UART || \
+                                               DEBUG_IMX51_UART || \
+                                               DEBUG_IMX53_UART || \
+                                               DEBUG_IMX6Q_UART
+       default 1
+       depends on ARCH_MXC
+       help
+         Choose UART port on which kernel low-level debug messages
+         should be output.
+
+choice
+       prompt "Low-level debug console UART"
+       depends on DEBUG_OMAP2PLUS_UART
+
+       config DEBUG_OMAP2UART1
+               bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
+               help
+                 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
+                 omap3 torpedo and 3530 lv som.
+
+       config DEBUG_OMAP2UART2
+               bool "OMAP2/3/4 UART2"
+
+       config DEBUG_OMAP2UART3
+               bool "OMAP2 UART3 (n8x0)"
+
+       config DEBUG_OMAP3UART3
+               bool "OMAP3 UART3 (most omap3 boards)"
+               help
+                 This covers at least cm_t3x, beagle, crane, devkit8000,
+                 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
+                 and 3517evm.
+
+       config DEBUG_OMAP4UART3
+               bool "OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
+
+       config DEBUG_OMAP3UART4
+               bool "OMAP36XX UART4"
+
+       config DEBUG_OMAP4UART4
+               bool "OMAP4/5 UART4"
+
+       config DEBUG_TI81XXUART1
+               bool "TI81XX UART1 (ti8148evm)"
+
+       config DEBUG_TI81XXUART2
+               bool "TI81XX UART2"
+
+       config DEBUG_TI81XXUART3
+               bool "TI81XX UART3 (ti8168evm)"
+
+       config DEBUG_AM33XXUART1
+               bool "AM33XX UART1"
+
+       config DEBUG_ZOOM_UART
+               bool "Zoom2/3 UART"
+endchoice
+
+choice
+       prompt "Low-level debug console UART"
+       depends on DEBUG_LL && DEBUG_TEGRA_UART
+
+       config TEGRA_DEBUG_UART_AUTO_ODMDATA
+       bool "Via ODMDATA"
+       help
+         Automatically determines which UART to use for low-level debug based
+         on the ODMDATA value. This value is part of the BCT, and is written
+         to the boot memory device using nvflash, or other flashing tool.
+         When bits 19:18 are 3, then bits 17:15 indicate which UART to use;
+         0/1/2/3/4 are UART A/B/C/D/E.
+
+       config TEGRA_DEBUG_UARTA
+               bool "UART A"
+
+       config TEGRA_DEBUG_UARTB
+               bool "UART B"
+
+       config TEGRA_DEBUG_UARTC
+               bool "UART C"
+
+       config TEGRA_DEBUG_UARTD
+               bool "UART D"
+
+       config TEGRA_DEBUG_UARTE
+               bool "UART E"
+
+endchoice
+
 config DEBUG_LL_INCLUDE
        string
+       default "debug/bcm2835.S" if DEBUG_BCM2835
+       default "debug/cns3xxx.S" if DEBUG_CNS3XXX
+       default "debug/exynos.S" if DEBUG_EXYNOS_UART
+       default "debug/highbank.S" if DEBUG_HIGHBANK_UART
        default "debug/icedcc.S" if DEBUG_ICEDCC
        default "debug/imx.S" if DEBUG_IMX1_UART || \
                                 DEBUG_IMX25_UART || \
                                 DEBUG_IMX21_IMX27_UART || \
-                                DEBUG_IMX31_IMX35_UART || \
+                                DEBUG_IMX31_UART || \
+                                DEBUG_IMX35_UART || \
                                 DEBUG_IMX51_UART || \
-                                DEBUG_IMX50_IMX53_UART ||\
-                                DEBUG_IMX6Q_UART2 || \
-                                DEBUG_IMX6Q_UART4
-       default "debug/highbank.S" if DEBUG_HIGHBANK_UART
+                                DEBUG_IMX53_UART ||\
+                                DEBUG_IMX6Q_UART
        default "debug/mvebu.S" if DEBUG_MVEBU_UART
+       default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART
+       default "debug/nomadik.S" if DEBUG_NOMADIK_UART
+       default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
        default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
+       default "debug/pxa.S" if DEBUG_PXA_UART1 || DEBUG_MMP_UART2 || \
+                                DEBUG_MMP_UART3
+       default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
        default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
+       default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1
+       default "debug/tegra.S" if DEBUG_TEGRA_UART
+       default "debug/ux500.S" if DEBUG_UX500_UART
        default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
                DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
+       default "debug/vt8500.S" if DEBUG_VT8500_UART0
+       default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
        default "mach/debug-macro.S"
 
+config DEBUG_UNCOMPRESS
+       bool
+       default y if ARCH_MULTIPLATFORM && DEBUG_LL && \
+                    !DEBUG_OMAP2PLUS_UART && \
+                    !DEBUG_TEGRA_UART
+
+config UNCOMPRESS_INCLUDE
+       string
+       default "debug/uncompress.h" if ARCH_MULTIPLATFORM
+       default "mach/uncompress.h"
+
 config EARLY_PRINTK
        bool "Early printk"
        depends on DEBUG_LL