LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
@ 2014-10-24 10:54 Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 02/15] arm: iop32x: Enable DEBUG_LL_UART_8250 Daniel Thompson
                   ` (14 more replies)
  0 siblings, 15 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This patchset removes some single-platform compatibility tricks related
to DEBUG_LL and, as a result, allows multi_v7_defconfig derived builds
to enable DEBUG_LL. Currently the user selected kbuild setting is
ignored and the PL01X's DEBUG_LL stub is silently selected instead. This
is a pain if your hardware doesn't have this cell, not least because it
takes a little time to figure out that kbuild built the wrong code.

Warning:

    silentoldconfig on PL011 single platforms will result in DEBUG_LL
    being directed at ICEDCC rather than PL011. This should only
    affect silentoldconfig since oldconfig prompts and the defconfigs have
    been updated to avoid this problem.

Changes since v11:
- Fixed sort order of Kconfig symbols (review of Russell King)
- Reviewed all defconfigs for the selection of DEBUG_UART_NONE.  All
  identified have 8250-based UARTs and are switched to DEBUG_LL_UART_8250
  (review of Arnd Bergmann).
- Fixed regression in the netx macros (bad setting of \rp and \rv.
- Rebased on latest mainline (v3.18-rc1). Note that two patches from v11
  were merged upstream and are no longer included here.
- Added a trivial fix to the defaults list for DEBUG_UART_PHYS which came
  to my attention as a merge conflict.

Changes since v10:
- Fixed typos in the omap1 config help texts (review of Aaro Koskinen).

Changes since v9:
- Removed a spuriously introduced (and unused) config variable from
  the netx patch (review of Paul Bolle).
- Fix netx macro to ensure \rv is correctly initialized.
- Rebased on v3.17rc4.

Changes since v8:
- Regenerated patch series with --find-renames to properly track code
  movement.

Changes since v7:
- Killed DEBUG_LL_UART_NONE completely and migrated over the four remaining
  platforms that relied on this (Arnd Bergmann, Russell King). This
  fixes some problems with oldconfig builds.
- Rebased on latest mainline (v3.17rc1).

Changes since v6:
- Removed a patch to limit DEBUG_LL_UART_NONE to platforms that support
  it because it almost time to drop DEBUG_LL_UART_NONE anyway (only
  four platforms still use it).
- Rebased on latest mainline (v3.16rc3).

Changes since v5:

- Shortened the list of platforms that can select DEBUG_LL_UART_NONE
  (changes Arnd Bergmann)
- Rebased on latest mainline (v3.15rc7).

Changes since v4:

- Rebased to latest mainline (and tested again). No functional changes.

Changes since v3:

- Converted from a single patch to a series.
- Tested defconfig builds of all impacted platforms.

Changes since v2:

- Switch from def_bool to bool (thanks Russell King)

Changes since v1:

- Remove pointless single platform support (thanks Arnd Bergmann)

Daniel Thompson (15):
  arm: cnx3xxxx: Remove spurious default for DEBUG_CNS3XXX
  arm: iop32x: Enable DEBUG_LL_UART_8250
  arm: iop33x: Enable DEBUG_LL_UART_8250
  arm: ixp4xx: Enable DEBUG_LL_UART_8250
  arm: lpc32xx: Enable DEBUG_LL_UART_8250
  arm: mv78xx0: Enable DEBUG_LL_UART_8250
  arm: orion5x: Enable DEBUG_LL_UART_8250
  arm: rpc: Enable DEBUG_LL_UART_8250
  arm: Remove DEBUG_LL_UART_NONE
  arm: ks8695: Migrate debug_ll macros to shared directory
  arm: omap1: Migrate debug_ll macros to use 8250.S
  arm: netx: Migrate DEBUG_LL macros to shared directory
  arm: sa1100: Migrate DEBUG_LL macros to shared directory
  arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX
  arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)

 arch/arm/Kconfig.debug                             | 141 +++++++++++++++++----
 arch/arm/configs/iop32x_defconfig                  |   1 +
 arch/arm/configs/iop33x_defconfig                  |   1 +
 arch/arm/configs/ixp4xx_defconfig                  |   1 +
 arch/arm/configs/lpc32xx_defconfig                 |   1 +
 arch/arm/configs/mv78xx0_defconfig                 |   1 +
 arch/arm/configs/orion5x_defconfig                 |   1 +
 arch/arm/configs/rpc_defconfig                     |   1 +
 .../mach/debug-macro.S => include/debug/ks8695.S}  |  10 +-
 .../mach/debug-macro.S => include/debug/netx.S}    |  22 ++--
 arch/arm/include/debug/sa1100.S                    |  37 ++++++
 arch/arm/mach-omap1/include/mach/debug-macro.S     | 101 ---------------
 arch/arm/mach-sa1100/include/mach/debug-macro.S    |  62 ---------
 13 files changed, 181 insertions(+), 199 deletions(-)
 rename arch/arm/{mach-ks8695/include/mach/debug-macro.S => include/debug/ks8695.S} (80%)
 rename arch/arm/{mach-netx/include/mach/debug-macro.S => include/debug/netx.S} (62%)
 create mode 100644 arch/arm/include/debug/sa1100.S
 delete mode 100644 arch/arm/mach-omap1/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-sa1100/include/mach/debug-macro.S

--
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 02/15] arm: iop32x: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 03/15] arm: iop33x: " Daniel Thompson
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/iop32x_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/iop32x_defconfig b/arch/arm/configs/iop32x_defconfig
index 4f2ec3a..c3058da 100644
--- a/arch/arm/configs/iop32x_defconfig
+++ b/arch/arm/configs/iop32x_defconfig
@@ -106,6 +106,7 @@ CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_USER=y
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
 CONFIG_KEYS=y
 CONFIG_KEYS_DEBUG_PROC_KEYS=y
 CONFIG_CRYPTO_NULL=y
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 03/15] arm: iop33x: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 02/15] arm: iop32x: Enable DEBUG_LL_UART_8250 Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 04/15] arm: ixp4xx: " Daniel Thompson
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/iop33x_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/iop33x_defconfig b/arch/arm/configs/iop33x_defconfig
index aa36128..713faee 100644
--- a/arch/arm/configs/iop33x_defconfig
+++ b/arch/arm/configs/iop33x_defconfig
@@ -87,5 +87,6 @@ CONFIG_DEBUG_KERNEL=y
 # CONFIG_RCU_CPU_STALL_DETECTOR is not set
 CONFIG_DEBUG_USER=y
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
 # CONFIG_CRYPTO_ANSI_CPRNG is not set
 # CONFIG_CRC32 is not set
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 04/15] arm: ixp4xx: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 02/15] arm: iop32x: Enable DEBUG_LL_UART_8250 Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 03/15] arm: iop33x: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 05/15] arm: lpc32xx: " Daniel Thompson
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/ixp4xx_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/ixp4xx_defconfig b/arch/arm/configs/ixp4xx_defconfig
index 1af665e..24636cf 100644
--- a/arch/arm/configs/ixp4xx_defconfig
+++ b/arch/arm/configs/ixp4xx_defconfig
@@ -202,3 +202,4 @@ CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_ERRORS=y
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 05/15] arm: lpc32xx: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (2 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 04/15] arm: ixp4xx: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 06/15] arm: mv78xx0: " Daniel Thompson
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/lpc32xx_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/lpc32xx_defconfig b/arch/arm/configs/lpc32xx_defconfig
index 9f56ca3..c100b7d 100644
--- a/arch/arm/configs/lpc32xx_defconfig
+++ b/arch/arm/configs/lpc32xx_defconfig
@@ -204,6 +204,7 @@ CONFIG_DEBUG_INFO=y
 # CONFIG_FTRACE is not set
 # CONFIG_ARM_UNWIND is not set
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_CRYPTO_ANSI_CPRNG=y
 # CONFIG_CRYPTO_HW is not set
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 06/15] arm: mv78xx0: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (3 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 05/15] arm: lpc32xx: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 07/15] arm: orion5x: " Daniel Thompson
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/mv78xx0_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/mv78xx0_defconfig b/arch/arm/configs/mv78xx0_defconfig
index 0dae1c1..85d10d2 100644
--- a/arch/arm/configs/mv78xx0_defconfig
+++ b/arch/arm/configs/mv78xx0_defconfig
@@ -132,6 +132,7 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y
 CONFIG_DEBUG_USER=y
 CONFIG_DEBUG_ERRORS=y
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
 CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_ECB=m
 CONFIG_CRYPTO_PCBC=m
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 07/15] arm: orion5x: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (4 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 06/15] arm: mv78xx0: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 08/15] arm: rpc: " Daniel Thompson
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/orion5x_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig
index 952430d..855143f 100644
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -156,6 +156,7 @@ CONFIG_LATENCYTOP=y
 # CONFIG_FTRACE is not set
 CONFIG_DEBUG_USER=y
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
 CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_ECB=m
 CONFIG_CRYPTO_PCBC=m
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 08/15] arm: rpc: Enable DEBUG_LL_UART_8250
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (5 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 07/15] arm: orion5x: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 09/15] arm: Remove DEBUG_LL_UART_NONE Daniel Thompson
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE
will be selected (but due to some back compatibility magic we eventually
need to remove it is not actually honoured). DEBUG_LL_UART_8250 is a much
saner default.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 arch/arm/configs/rpc_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/rpc_defconfig b/arch/arm/configs/rpc_defconfig
index 00515ef..8963179 100644
--- a/arch/arm/configs/rpc_defconfig
+++ b/arch/arm/configs/rpc_defconfig
@@ -131,3 +131,4 @@ CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_USER=y
 CONFIG_DEBUG_ERRORS=y
 CONFIG_DEBUG_LL=y
+CONFIG_DEBUG_LL_UART_8250=y
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 09/15] arm: Remove DEBUG_LL_UART_NONE
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (6 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 08/15] arm: rpc: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 10/15] arm: ks8695: Migrate debug_ll macros to shared directory Daniel Thompson
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

Only a very small handful of platforms support DEBUG_LL_UART_NONE but it
lurks in the menus of every single platform config ready to break the
build. This is an especial problem for defconfig/oldconfig since it is
often selected by default.

This patch solves the problem by removing this option. Any platforms
still depending upon this option must be migrated.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
---
 arch/arm/Kconfig.debug | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 295428d..5881c94 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -909,15 +909,6 @@ choice
 		  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
-		help
-		  Say Y here if your platform doesn't provide a UART option
-		  above. This relies on your platform choosing the right UART
-		  definition internally in order for low-level debugging to
-		  work.
-
 	config DEBUG_ICEDCC
 		bool "Kernel low-level debugging via EmbeddedICE DCC channel"
 		help
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 10/15] arm: ks8695: Migrate debug_ll macros to shared directory
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (7 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 09/15] arm: Remove DEBUG_LL_UART_NONE Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S Daniel Thompson
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel, Greg Ungerer, Arnd Bergmann

As part of the migration a couple of uart definitions have been copied
from of the platform specific header files.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Greg Ungerer <gerg@uclinux.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
---
 arch/arm/Kconfig.debug                                         |  8 ++++++++
 .../include/mach/debug-macro.S => include/debug/ks8695.S}      | 10 +++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)
 rename arch/arm/{mach-ks8695/include/mach/debug-macro.S => include/debug/ks8695.S} (80%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 5881c94..c8f623c 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -365,6 +365,13 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to UART1 serial port on KEYSTONE2 devices.
 
+	config DEBUG_KS8695_UART
+		bool "KS8695 Debug UART"
+		depends on ARCH_KS8695
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on KS8695.
+
 	config DEBUG_MESON_UARTAO
 		bool "Kernel low-level debugging via Meson6 UARTAO"
 		depends on ARCH_MESON
@@ -1050,6 +1057,7 @@ config DEBUG_LL_INCLUDE
 				 DEBUG_IMX6Q_UART || \
 				 DEBUG_IMX6SL_UART || \
 				 DEBUG_IMX6SX_UART
+	default "debug/ks8695.S" if DEBUG_KS8695_UART
 	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
 	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
 	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
diff --git a/arch/arm/mach-ks8695/include/mach/debug-macro.S b/arch/arm/include/debug/ks8695.S
similarity index 80%
rename from arch/arm/mach-ks8695/include/mach/debug-macro.S
rename to arch/arm/include/debug/ks8695.S
index a79e489..961da1f 100644
--- a/arch/arm/mach-ks8695/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/ks8695.S
@@ -1,5 +1,5 @@
 /*
- * arch/arm/mach-ks8695/include/mach/debug-macro.S
+ * arch/arm/include/debug/ks8695.S
  *
  * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk>
  * Copyright (C) 2006 Simtec Electronics
@@ -11,8 +11,12 @@
  * published by the Free Software Foundation.
  */
 
-#include <mach/hardware.h>
-#include <mach/regs-uart.h>
+#define KS8695_UART_PA	0x03ffe000
+#define KS8695_UART_VA	0xf00fe000
+#define KS8695_URTH	(0x04)
+#define KS8695_URLS	(0x14)
+#define URLS_URTE	(1 << 6)
+#define URLS_URTHRE	(1 << 5)
 
 	.macro	addruart, rp, rv, tmp
 		ldr	\rp, =KS8695_UART_PA		@ physical base address
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (8 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 10/15] arm: ks8695: Migrate debug_ll macros to shared directory Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-11-16  0:29   ` Aaro Koskinen
  2014-10-24 10:54 ` [PATCH v12 12/15] arm: netx: Migrate DEBUG_LL macros to shared directory Daniel Thompson
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel, Tony Lindgren, Arnd Bergmann, linux-omap

The omap1's debug-macro.S is similar to the generic 8250 code. Compared to
the 8520 code the omap1 macro automatically determines what UART to use
based on breadcrumbs left by the bootloader and automatically copes with
the eccentric register layout on OMAP7XX.

This patch drops both these features and relies instead on the generic
8250 macros:

1. Dropping support for the bootloader breadcrumbs is identical to the
   way the migration was handled for OMAP2 (see 808b7e07464d...).

2. Support for OMAP7XX still exists but it must be configured by hand
   (DEBUG_OMAP7XXUART1/2/3) rather than handled at runtime.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Tony Lindgren <tony@atomide.com>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: linux-omap@vger.kernel.org
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
 arch/arm/Kconfig.debug                         |  57 +++++++++++++-
 arch/arm/mach-omap1/include/mach/debug-macro.S | 101 -------------------------
 2 files changed, 56 insertions(+), 102 deletions(-)
 delete mode 100644 arch/arm/mach-omap1/include/mach/debug-macro.S

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index c8f623c..889ba7a 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -495,6 +495,30 @@ choice
 		  Say Y here if you want kernel low-level debugging support
 		  on TI-NSPIRE CX models.
 
+	config DEBUG_OMAP1UART1
+		bool "Kernel low-level debugging via OMAP1 UART1"
+		depends on ARCH_OMAP1
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on OMAP1 based platforms (expect OMAP730) on the UART1.
+
+	config DEBUG_OMAP1UART2
+		bool "Kernel low-level debugging via OMAP1 UART2"
+		depends on ARCH_OMAP1
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on OMAP1 based platforms (expect OMAP730) on the UART2.
+
+	config DEBUG_OMAP1UART3
+		bool "Kernel low-level debugging via OMAP1 UART3"
+		depends on ARCH_OMAP1
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on OMAP1 based platforms (expect OMAP730) on the UART3.
+
 	config DEBUG_OMAP2UART1
 		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
 		depends on ARCH_OMAP2PLUS
@@ -537,6 +561,30 @@ choice
 		depends on ARCH_OMAP2PLUS
 		select DEBUG_OMAP2PLUS_UART
 
+	config DEBUG_OMAP7XXUART1
+		bool "Kernel low-level debugging via OMAP730 UART1"
+		depends on ARCH_OMAP730
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on OMAP730 based platforms on the UART1.
+
+	config DEBUG_OMAP7XXUART2
+		bool "Kernel low-level debugging via OMAP730 UART2"
+		depends on ARCH_OMAP730
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on OMAP730 based platforms on the UART2.
+
+	config DEBUG_OMAP7XXUART3
+		bool "Kernel low-level debugging via OMAP730 UART3"
+		depends on ARCH_OMAP730
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on OMAP730 based platforms on the UART3.
+
 	config DEBUG_TI81XXUART1
 		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
 		depends on ARCH_OMAP2PLUS
@@ -1163,6 +1211,9 @@ config DEBUG_UART_PHYS
 	default 0xffc02000 if DEBUG_SOCFPGA_UART
 	default 0xffd82340 if ARCH_IOP13XX
 	default 0xfff36000 if DEBUG_HIGHBANK_UART
+	default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
+	default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
+	default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
 	default 0xfffe8600 if DEBUG_UART_BCM63XX
 	default 0xfffff700 if ARCH_IOP33X
 	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
@@ -1236,6 +1287,9 @@ config DEBUG_UART_VIRT
 	default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
 	default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
 	default 0xfef36000 if DEBUG_HIGHBANK_UART
+	default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
+	default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
+	default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
 	default 0xfefff700 if ARCH_IOP33X
 	default 0xff003000 if DEBUG_U300_UART
 	default DEBUG_UART_PHYS if !MMU
@@ -1247,7 +1301,8 @@ config DEBUG_UART_VIRT
 config DEBUG_UART_8250_SHIFT
 	int "Register offset shift for the 8250 debug UART"
 	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
-	default 0 if FOOTBRIDGE || ARCH_IOP32X
+	default 0 if FOOTBRIDGE || ARCH_IOP32X || \
+		DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
 	default 2
 
 config DEBUG_UART_8250_WORD
diff --git a/arch/arm/mach-omap1/include/mach/debug-macro.S b/arch/arm/mach-omap1/include/mach/debug-macro.S
deleted file mode 100644
index 5c1a26c..0000000
--- a/arch/arm/mach-omap1/include/mach/debug-macro.S
+++ /dev/null
@@ -1,101 +0,0 @@
-/* arch/arm/mach-omap1/include/mach/debug-macro.S
- *
- * Debugging macro include header
- *
- *  Copyright (C) 1994-1999 Russell King
- *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
-*/
-
-#include <linux/serial_reg.h>
-
-#include "serial.h"
-
-		.pushsection .data
-omap_uart_phys:	.word	0x0
-omap_uart_virt:	.word	0x0
-		.popsection
-
-		/*
-		 * Note that this code won't work if the bootloader passes
-		 * a wrong machine ID number in r1. To debug, just hardcode
-		 * the desired UART phys and virt addresses temporarily into
-		 * the omap_uart_phys and omap_uart_virt above.
-		 */
-		.macro	addruart, rp, rv, tmp
-
-		/* Use omap_uart_phys/virt if already configured */
-9:		adr	\rp, 99f		@ get effective addr of 99f
-		ldr	\rv, [\rp]		@ get absolute addr of 99f
-		sub	\rv, \rv, \rp		@ offset between the two
-		ldr	\rp, [\rp, #4]		@ abs addr of omap_uart_phys
-		sub	\tmp, \rp, \rv		@ make it effective
-		ldr	\rp, [\tmp, #0]		@ omap_uart_phys
-		ldr	\rv, [\tmp, #4]		@ omap_uart_virt
-		cmp	\rp, #0			@ is port configured?
-		cmpne	\rv, #0
-		bne	100f			@ already configured
-
-		/* Check the debug UART configuration set in uncompress.h */
-		and	\rp, pc, #0xff000000
-		ldr	\rv, =OMAP_UART_INFO_OFS
-		ldr	\rp, [\rp, \rv]
-
-		/* Select the UART to use based on the UART1 scratchpad value */
-10:		cmp	\rp, #0			@ no port configured?
-		beq	11f			@ if none, try to use UART1
-		cmp	\rp, #OMAP1UART1
-		beq	11f			@ configure OMAP1UART1
-		cmp	\rp, #OMAP1UART2
-		beq	12f			@ configure OMAP1UART2
-		cmp	\rp, #OMAP1UART3
-		beq	13f			@ configure OMAP2UART3
-
-		/* Configure the UART offset from the phys/virt base */
-11:		mov	\rp, #0x00fb0000	@ OMAP1UART1
-		b	98f
-12:		mov	\rp, #0x00fb0000	@ OMAP1UART1
-		orr	\rp, \rp, #0x00000800	@ OMAP1UART2
-		b	98f
-13:		mov	\rp, #0x00fb0000	@ OMAP1UART1
-		orr	\rp, \rp, #0x00000800	@ OMAP1UART2
-		orr	\rp, \rp, #0x00009000	@ OMAP1UART3
-
-		/* Store both phys and virt address for the uart */
-98:		add	\rp, \rp, #0xff000000	@ phys base
-		str	\rp, [\tmp, #0]		@ omap_uart_phys
-		sub	\rp, \rp, #0xff000000	@ phys base
-		add	\rp, \rp, #0xfe000000	@ virt base
-		str	\rp, [\tmp, #4]		@ omap_uart_virt
-		b	9b
-
-		.align
-99:		.word	.
-		.word	omap_uart_phys
-		.ltorg
-
-100:
-		.endm
-
-		.macro	senduart,rd,rx
-		strb	\rd, [\rx]
-		.endm
-
-		.macro	busyuart,rd,rx
-1001:		ldrb	\rd, [\rx, #(UART_LSR << OMAP_PORT_SHIFT)]
-		and	\rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
-		teq	\rd, #(UART_LSR_TEMT | UART_LSR_THRE)
-		beq	1002f
-		ldrb	\rd, [\rx, #(UART_LSR << OMAP7XX_PORT_SHIFT)]
-		and	\rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
-		teq	\rd, #(UART_LSR_TEMT | UART_LSR_THRE)
-		bne	1001b
-1002:
-		.endm
-
-		.macro	waituart,rd,rx
-		.endm
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 12/15] arm: netx: Migrate DEBUG_LL macros to shared directory
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (9 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 13/15] arm: sa1100: " Daniel Thompson
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

As part of the migration we introduce DEBUG_UART_PHYS/DEBUG_UART_VIRT
which default to UART1 but allow a user to configure UART2 or UART3.
We also introduce symbolic names for the registers and flags.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
---
 arch/arm/Kconfig.debug                             | 17 +++++++++++++++--
 .../mach/debug-macro.S => include/debug/netx.S}    | 22 +++++++++++-----------
 2 files changed, 26 insertions(+), 13 deletions(-)
 rename arch/arm/{mach-netx/include/mach/debug-macro.S => include/debug/netx.S} (62%)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 889ba7a..5bff47b 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -471,6 +471,14 @@ choice
 		  Say Y here if you want kernel low-level debugging support
 		  on Vybrid based platforms.
 
+	config DEBUG_NETX_UART
+		bool "Kernel low-level debugging messages via NetX UART"
+		depends on ARCH_NETX
+		select DEBUG_UART_NETX
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Hilscher NetX based platforms.
+
 	config DEBUG_NOMADIK_UART
 		bool "Kernel low-level debugging messages via NOMADIK UART"
 		depends on ARCH_NOMADIK
@@ -1107,6 +1115,7 @@ config DEBUG_LL_INCLUDE
 				 DEBUG_IMX6SX_UART
 	default "debug/ks8695.S" if DEBUG_KS8695_UART
 	default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
+	default "debug/netx.S" if DEBUG_NETX_UART
 	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
 	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
 	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
@@ -1144,6 +1153,7 @@ config DEBUG_UART_BCM63XX
 
 config DEBUG_UART_PHYS
 	hex "Physical base address of debug UART"
+	default 0x00100a00 if DEBUG_NETX_UART
 	default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
 	default 0x01c28000 if DEBUG_SUNXI_UART0
 	default 0x01c28400 if DEBUG_SUNXI_UART1
@@ -1219,11 +1229,13 @@ config DEBUG_UART_PHYS
 	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
 		DEBUG_LL_UART_EFM32 || \
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
-		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
+		DEBUG_MSM_UART || DEBUG_NETX_UART || \
+		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
 		DEBUG_UART_BCM63XX
 
 config DEBUG_UART_VIRT
 	hex "Virtual base address of debug UART"
+	default 0xe0000a00 if DEBUG_NETX_UART
 	default 0xe0010fe0 if ARCH_RPC
 	default 0xe1000000 if DEBUG_MSM_UART
 	default 0xf0000be0 if ARCH_EBSA110
@@ -1295,7 +1307,8 @@ config DEBUG_UART_VIRT
 	default DEBUG_UART_PHYS if !MMU
 	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
-		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
+		DEBUG_MSM_UART || DEBUG_NETX_UART || \
+		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
 		DEBUG_UART_BCM63XX
 
 config DEBUG_UART_8250_SHIFT
diff --git a/arch/arm/mach-netx/include/mach/debug-macro.S b/arch/arm/include/debug/netx.S
similarity index 62%
rename from arch/arm/mach-netx/include/mach/debug-macro.S
rename to arch/arm/include/debug/netx.S
index 247781e..81e1b2a 100644
--- a/arch/arm/mach-netx/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/netx.S
@@ -1,5 +1,4 @@
-/* arch/arm/mach-netx/include/mach/debug-macro.S
- *
+/*
  * Debugging macro include header
  *
  *  Copyright (C) 1994-1999 Russell King
@@ -11,26 +10,27 @@
  *
 */
 
-#include "hardware.h"
+#define UART_DATA 0
+#define UART_FLAG 0x18
+#define UART_FLAG_BUSY (1 << 3)
 
 		.macro	addruart, rp, rv, tmp
-		mov	\rp, #0x00000a00
-		orr	\rv, \rp, #io_p2v(0x00100000)	@ virtual
-		orr	\rp, \rp, #0x00100000		@ physical
+		ldr	\rp, =CONFIG_DEBUG_UART_PHYS
+		ldr	\rv, =CONFIG_DEBUG_UART_VIRT
 		.endm
 
 		.macro	senduart,rd,rx
-		str	\rd, [\rx, #0]
+		str	\rd, [\rx, #UART_DATA]
 		.endm
 
 		.macro	busyuart,rd,rx
-1002:		ldr	\rd, [\rx, #0x18]
-		tst	\rd, #(1 << 3)
+1002:		ldr	\rd, [\rx, #UART_FLAG]
+		tst	\rd, #UART_FLAG_BUSY
 		bne	1002b
 		.endm
 
 		.macro	waituart,rd,rx
-1001:		ldr	\rd, [\rx, #0x18]
-		tst	\rd, #(1 << 3)
+1001:		ldr	\rd, [\rx, #UART_FLAG]
+		tst	\rd, #UART_FLAG_BUSY
 		bne	1001b
 		.endm
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 13/15] arm: sa1100: Migrate DEBUG_LL macros to shared directory
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (10 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 12/15] arm: netx: Migrate DEBUG_LL macros to shared directory Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 14/15] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

As part of the migration we copy a few definitions from the mach-sa1100
headers and replace the automatic serial port detectiion with explicit
configuration based on DEBUG_UART_PHYS/DEBUG_UART_VIRT.

The removal of the automatic configuration is similar to the way migration
was handled for OMAP2 (see 808b7e07464d...).

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
---
 arch/arm/Kconfig.debug                          | 39 +++++++++++++++-
 arch/arm/include/debug/sa1100.S                 | 37 +++++++++++++++
 arch/arm/mach-sa1100/include/mach/debug-macro.S | 62 -------------------------
 3 files changed, 74 insertions(+), 64 deletions(-)
 create mode 100644 arch/arm/include/debug/sa1100.S
 delete mode 100644 arch/arm/mach-sa1100/include/mach/debug-macro.S

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 5bff47b..4a04c93 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -786,6 +786,30 @@ choice
 		  their output to UART 2. The port must have been initialised
 		  by the boot-loader before use.
 
+	config DEBUG_SA1100_UART1
+		depends on ARCH_SA1100
+		select DEBUG_SA1100_UART
+		bool "Kernel low-level debugging messages via SA1100 Ser1"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on SA1100 based platforms.
+
+	config DEBUG_SA1100_UART2
+		depends on ARCH_SA1100
+		select DEBUG_SA1100_UART
+		bool "Kernel low-level debugging messages via SA1100 Ser2"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on SA1100 based platforms.
+
+	config DEBUG_SA1100_UART3
+		depends on ARCH_SA1100
+		select DEBUG_SA1100_UART
+		bool "Kernel low-level debugging messages via SA1100 Ser3"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on SA1100 based platforms.
+
 	config DEBUG_SOCFPGA_UART
 		depends on ARCH_SOCFPGA
 		bool "Use SOCFPGA UART for low-level debug"
@@ -1089,6 +1113,10 @@ config DEBUG_TEGRA_UART
 	bool
 	depends on ARCH_TEGRA
 
+config DEBUG_SA1100_UART
+	bool
+	depends on ARCH_SA1100
+
 config DEBUG_STI_UART
 	bool
 	depends on ARCH_STI
@@ -1119,6 +1147,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
 	default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
 	default "debug/s5pv210.S" if DEBUG_S5PV210_UART
+	default "debug/sa1100.S" if DEBUG_SA1100_UART
 	default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
 	default "debug/sti.S" if DEBUG_STI_UART
 	default "debug/tegra.S" if DEBUG_TEGRA_UART
@@ -1191,6 +1220,9 @@ config DEBUG_UART_PHYS
 				DEBUG_S3C2410_UART2)
 	default 0x78000000 if DEBUG_CNS3XXX
 	default 0x7c0003f8 if FOOTBRIDGE
+	default 0x80010000 if DEBUG_SA1100_UART1
+	default 0x80030000 if DEBUG_SA1100_UART2
+	default 0x80050000 if DEBUG_SA1100_UART3
 	default 0x80070000 if DEBUG_IMX23_UART
 	default 0x80074000 if DEBUG_IMX28_UART
 	default 0x80230000 if DEBUG_PICOXCELL_UART
@@ -1231,7 +1263,7 @@ config DEBUG_UART_PHYS
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
 		DEBUG_MSM_UART || DEBUG_NETX_UART || \
 		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
-		DEBUG_UART_BCM63XX
+		DEBUG_SA1100_UART || DEBUG_UART_BCM63XX
 
 config DEBUG_UART_VIRT
 	hex "Virtual base address of debug UART"
@@ -1260,6 +1292,9 @@ config DEBUG_UART_VIRT
 	default 0xf7fc9000 if DEBUG_BERLIN_UART
 	default 0xf8007000 if DEBUG_HIP04_UART
 	default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
+	default 0xf8010000 if DEBUG_SA1100_UART1
+	default 0xf8030000 if DEBUG_SA1100_UART2
+	default 0xf8050000 if DEBUG_SA1100_UART3
 	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
 	default 0xfa71e000 if DEBUG_QCOM_UARTDM
 	default 0xfb002000 if DEBUG_CNS3XXX
@@ -1309,7 +1344,7 @@ config DEBUG_UART_VIRT
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
 		DEBUG_MSM_UART || DEBUG_NETX_UART || \
 		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
-		DEBUG_UART_BCM63XX
+		DEBUG_SA1100_UART || DEBUG_UART_BCM63XX
 
 config DEBUG_UART_8250_SHIFT
 	int "Register offset shift for the 8250 debug UART"
diff --git a/arch/arm/include/debug/sa1100.S b/arch/arm/include/debug/sa1100.S
new file mode 100644
index 0000000..6b5e1ce
--- /dev/null
+++ b/arch/arm/include/debug/sa1100.S
@@ -0,0 +1,37 @@
+/*
+ * Debugging macro include header
+ *
+ *  Copyright (C) 1994-1999 Russell King
+ *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+*/
+
+#define UTDR            0x14
+#define UTSR1           0x20
+#define UTSR1_TBY       0x00000001      /* Transmitter BusY (read)         */
+#define UTSR1_TNF       0x00000004      /* Transmit FIFO Not Full (read)   */
+
+		.macro	addruart, rp, rv, tmp
+		ldr	\rp, =CONFIG_DEBUG_UART_PHYS
+		ldr	\rv, =CONFIG_DEBUG_UART_VIRT
+		.endm
+
+		.macro	senduart,rd,rx
+		str	\rd, [\rx, #UTDR]
+		.endm
+
+		.macro	waituart,rd,rx
+1001:		ldr	\rd, [\rx, #UTSR1]
+		tst	\rd, #UTSR1_TNF
+		beq	1001b
+		.endm
+
+		.macro	busyuart,rd,rx
+1001:		ldr	\rd, [\rx, #UTSR1]
+		tst	\rd, #UTSR1_TBY
+		bne	1001b
+		.endm
diff --git a/arch/arm/mach-sa1100/include/mach/debug-macro.S b/arch/arm/mach-sa1100/include/mach/debug-macro.S
deleted file mode 100644
index 530772d..0000000
--- a/arch/arm/mach-sa1100/include/mach/debug-macro.S
+++ /dev/null
@@ -1,62 +0,0 @@
-/* arch/arm/mach-sa1100/include/mach/debug-macro.S
- *
- * Debugging macro include header
- *
- *  Copyright (C) 1994-1999 Russell King
- *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
-*/
-#include <mach/hardware.h>
-
-		.macro	addruart, rp, rv, tmp
-		mrc	p15, 0, \rp, c1, c0
-		tst	\rp, #1			@ MMU enabled?
-		moveq	\rp, #0x80000000	@ physical base address
-		movne	\rp, #0xf8000000	@ virtual address
-
-		@ We probe for the active serial port here, coherently with
-		@ the comment in arch/arm/mach-sa1100/include/mach/uncompress.h.
-		@ We assume r1 can be clobbered.
-
-		@ see if Ser3 is active
-		add	\rp, \rp, #0x00050000
-		ldr	\rv, [\rp, #UTCR3]
-		tst	\rv, #UTCR3_TXE
-
-		@ if Ser3 is inactive, then try Ser1
-		addeq	\rp, \rp, #(0x00010000 - 0x00050000)
-		ldreq	\rv, [\rp, #UTCR3]
-		tsteq	\rv, #UTCR3_TXE
-
-		@ if Ser1 is inactive, then try Ser2
-		addeq	\rp, \rp, #(0x00030000 - 0x00010000)
-		ldreq	\rv, [\rp, #UTCR3]
-		tsteq	\rv, #UTCR3_TXE
-
-		@ clear top bits, and generate both phys and virt addresses
-		lsl	\rp, \rp, #8
-		lsr	\rp, \rp, #8
-		orr	\rv, \rp, #0xf8000000	@ virtual
-		orr	\rp, \rp, #0x80000000	@ physical
-
-		.endm
-
-		.macro	senduart,rd,rx
-		str	\rd, [\rx, #UTDR]
-		.endm
-
-		.macro	waituart,rd,rx
-1001:		ldr	\rd, [\rx, #UTSR1]
-		tst	\rd, #UTSR1_TNF
-		beq	1001b
-		.endm
-
-		.macro	busyuart,rd,rx
-1001:		ldr	\rd, [\rx, #UTSR1]
-		tst	\rd, #UTSR1_TBY
-		bne	1001b
-		.endm
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 14/15] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (11 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 13/15] arm: sa1100: " Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 10:54 ` [PATCH v12 15/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
  2014-10-24 15:46 ` [PATCH v12 00/15] " Arnd Bergmann
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

On EP93XX uncompress.h uses CONFIG_DEBUG_UART_PHYS instead of a hard
coded serial port. This means the build breaks when DEBUG_LL
(and DEBUG_LL_UART_PL01X) is not enabled.

This is fixed by adding a new dependency.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/Kconfig.debug | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 4a04c93..3f7ebc8 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -1258,7 +1258,8 @@ config DEBUG_UART_PHYS
 	default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
 	default 0xfffe8600 if DEBUG_UART_BCM63XX
 	default 0xfffff700 if ARCH_IOP33X
-	depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
+	depends on ARCH_EP93XX || \
+	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
 		DEBUG_LL_UART_EFM32 || \
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
 		DEBUG_MSM_UART || DEBUG_NETX_UART || \
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v12 15/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (12 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 14/15] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
@ 2014-10-24 10:54 ` Daniel Thompson
  2014-10-24 15:46 ` [PATCH v12 00/15] " Arnd Bergmann
  14 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-10-24 10:54 UTC (permalink / raw)
  To: Russell King
  Cc: Daniel Thompson, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel

When building a multi_v7_defconfig kernel it is not possible to configure
DEBUG_LL to use any serial device except a ARM Primecell PL01X, or more
accurately and worse, it is possible to configure a different serial
device but KConfig does not honour this request. In fact this also
overrides the user selection for some of the single platform kernels, for
example I don't think DEBUG_LL can be targeted at ICE or semihosted
supervisor for ARCH_VERSATILE.

This happens because DEBUG_UART_PL01X is automatically enabled by
some architectures and this means user decisions made regarding
the DEBUG_LL backend will be overridden. Problem is fixed by removing the
automatic enabling of this option.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/Kconfig.debug | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 3f7ebc8..fc7f8a70 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -1161,12 +1161,7 @@ config DEBUG_LL_INCLUDE
 
 # Compatibility options for PL01x
 config DEBUG_UART_PL01X
-	def_bool ARCH_EP93XX || \
-		ARCH_INTEGRATOR || \
-		ARCH_SPEAR3XX || \
-		ARCH_SPEAR6XX || \
-		ARCH_SPEAR13XX || \
-		ARCH_VERSATILE
+	bool
 
 # Compatibility options for 8250
 config DEBUG_UART_8250
-- 
1.9.3


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
                   ` (13 preceding siblings ...)
  2014-10-24 10:54 ` [PATCH v12 15/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
@ 2014-10-24 15:46 ` Arnd Bergmann
  2014-11-12 14:48   ` Daniel Thompson
  2015-01-23 13:05   ` Geert Uytterhoeven
  14 siblings, 2 replies; 25+ messages in thread
From: Arnd Bergmann @ 2014-10-24 15:46 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Daniel Thompson, Russell King, Paul Bolle, linaro-kernel,
	patches, spear-devel, linux-kernel, Srinivas Kandagatla

On Friday 24 October 2014 11:54:21 Daniel Thompson wrote:
> This patchset removes some single-platform compatibility tricks related
> to DEBUG_LL and, as a result, allows multi_v7_defconfig derived builds
> to enable DEBUG_LL. Currently the user selected kbuild setting is
> ignored and the PL01X's DEBUG_LL stub is silently selected instead. This
> is a pain if your hardware doesn't have this cell, not least because it
> takes a little time to figure out that kbuild built the wrong code.
> 

Hi Daniel,

All the patches in your series look good to me this time. If Russell
has no further comments, I'd like to put them into a branch in arm-soc.
It has turned out that a lot of changes in Kconfig.debug are for adding
new platforms, so we have fewer conflicts if we take it this way.

I would actually have put the defconfig changes into a combined patch,
I don't see a reason to split those up by platform, but I don't mind
merging them the way you have them either.

There is still a related bug that we should also fix, but I'd say let's
take your current patches first and then add whatever is missing
on top. Specifically, a snippet like this

        default 0xd4017000 if DEBUG_MMP_UART2
        default 0xd4018000 if DEBUG_MMP_UART3
        default 0xe0000000 if ARCH_SPEAR13XX
        default 0xe4007000 if DEBUG_HIP04_UART
        default 0xf0000be0 if ARCH_EBSA110

still means you get the wrong default when you build a multiplatform
kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
but you happen to also have ARCH_SPEAR13XX enabled.

I have a patch that I use locally for randconfig builds that tries
to fix this. It has some overlaps with your work but most parts are
distinct. See below.

	Arnd

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 64d0e21cf7e7..bb27d0b19197 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -211,6 +211,14 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to the serial port in the DC21285 (Footbridge).
 
+	config DEBUG_EP93XX
+		bool "Kernel low-level debugging messages via ep93xx UART"
+		depends on ARCH_EP93XX
+		select DEBUG_UART_PL01X
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Cirrus Logic EP93xx based platforms.
+
 	config DEBUG_FOOTBRIDGE_COM1
 		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
 		depends on FOOTBRIDGE
@@ -218,6 +226,14 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to the 8250 at PCI COM1.
 
+	config DEBUG_GEMINI
+		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
+		depends on ARCH_GEMINI
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Cirrus Logic EP93xx based platforms.
+
 	config DEBUG_HI3620_UART
 		bool "Hisilicon HI3620 Debug UART"
 		depends on ARCH_HI3xxx
@@ -351,6 +367,14 @@ choice
 		  Say Y here if you want kernel low-level debugging support
 		  on i.MX6SX.
 
+	config DEBUG_INTEGRATOR
+		bool "Kernel low-level debugging messages via ARM Integrator UART"
+		depends on ARCH_INTEGRATOR
+		select DEBUG_UART_PL01X
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Cirrus Logic EP93xx based platforms.
+
 	config DEBUG_KEYSTONE_UART0
 		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
 		depends on ARCH_KEYSTONE
@@ -367,6 +391,14 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to UART1 serial port on KEYSTONE2 devices.
 
+	config DEBUG_LPC32XX
+		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
+		depends on ARCH_LPC32XX
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Cirrus Logic EP93xx based platforms.
+
 	config DEBUG_MESON_UARTAO
 		bool "Kernel low-level debugging via Meson6 UARTAO"
 		depends on ARCH_MESON
@@ -427,7 +459,7 @@ choice
 
 	config DEBUG_MVEBU_UART
 		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
-		depends on ARCH_MVEBU
+		depends on ARCH_MVEBU && CPU_V7
 		select DEBUG_UART_8250
 		help
 		  Say Y here if you want kernel low-level debugging support
@@ -440,25 +472,40 @@ choice
 		  Plathome OpenBlocks AX3, when using the original
 		  bootloader.
 
+		  This option will not work on older Marvell platforms
+		  (Kirkwood, Dove, MV78xx0, Orion5x), which should  piock
+		  the "new bootloader" variant.
+
 		  If the wrong DEBUG_MVEBU_UART* option is selected,
 		  when u-boot hands over to the kernel, the system
 		  silently crashes, with no serial output at all.
 
 	config DEBUG_MVEBU_UART_ALTERNATE
 		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
-		depends on ARCH_MVEBU
+		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || ARCH_ORION5X
 		select DEBUG_UART_8250
 		help
 		  Say Y here if you want kernel low-level debugging support
-		  on MVEBU based platforms.
+		  on MVEBU based platforms (Armada XP, Armada 3xx, Kirkwood,
+		  Dove, MV78xx0, Orion5x).
 
 		  This option should be used with the new bootloaders
 		  that remap the internal registers at 0xf1000000.
+		  All of the older (pre Armada XP/370) platforms also use
+		  this address, regardless of the boot loader version.
 
 		  If the wrong DEBUG_MVEBU_UART* option is selected,
 		  when u-boot hands over to the kernel, the system
 		  silently crashes, with no serial output at all.
 
+	config DEBUG_MT6589_UART0
+		bool "Mediatek mt6589 UART0"
+		depends on ARCH_MEDIATEK
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  for Mediatek mt6589 based platforms on UART0.
+
 	config DEBUG_VF_UART
 		bool "Vybrid UART"
 		depends on SOC_VF610
@@ -823,6 +870,22 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to the uart1 port on SiRFmarco devices.
 
+	config DEBUG_SPEAR3XX
+		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
+		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
+		select DEBUG_UART_PL01X
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Cirrus Logic EP93xx based platforms.
+
+	config DEBUG_SPEAR13XX
+		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
+		depends on ARCH_SPEAR13XX
+		select DEBUG_UART_PL01X
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on Cirrus Logic EP93xx based platforms.
+
 	config STIH41X_DEBUG_ASC2
 		bool "Use StiH415/416 ASC2 UART for low-level debug"
 		depends on ARCH_STI
@@ -860,13 +923,13 @@ choice
 		  Say Y here if you want kernel low-level debugging support
 		  on Ux500 based platforms.
 
-	config DEBUG_MT6589_UART0
-		bool "Mediatek mt6589 UART0"
-		depends on ARCH_MEDIATEK
-		select DEBUG_UART_8250
+	config DEBUG_VERSATILE
+		bool "Kernel low-level debugging messages via ARM Versatile UART"
+		depends on ARCH_VERSATILE
+		select DEBUG_UART_PL01X
 		help
 		  Say Y here if you want kernel low-level debugging support
-		  for Mediatek mt6589 based platforms on UART0.
+		  on Cirrus Logic EP93xx based platforms.
 
 	config DEBUG_VEXPRESS_UART0_DETECT
 		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
@@ -1078,20 +1141,13 @@ config DEBUG_LL_INCLUDE
 
 # Compatibility options for PL01x
 config DEBUG_UART_PL01X
-	def_bool ARCH_EP93XX || \
-		ARCH_INTEGRATOR || \
-		ARCH_SPEAR3XX || \
-		ARCH_SPEAR6XX || \
-		ARCH_SPEAR13XX || \
-		ARCH_VERSATILE
+	bool
 
 # Compatibility options for 8250
 config DEBUG_UART_8250
-	def_bool ARCH_DOVE || ARCH_EBSA110 || \
-		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
-		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
-		ARCH_IOP33X || ARCH_IXP4XX || \
-		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
+	def_bool ARCH_EBSA110 || (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
+		ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \
+		ARCH_RPC
 
 # Compatibility options for BCM63xx
 config DEBUG_UART_BCM63XX
@@ -1113,10 +1169,10 @@ config DEBUG_UART_PHYS
 	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
 	default 0x10124000 if DEBUG_RK3X_UART0
 	default 0x10126000 if DEBUG_RK3X_UART1
-	default 0x101f1000 if ARCH_VERSATILE
+	default 0x101f1000 if DEBUG_VERSATILE
 	default 0x101fb000 if DEBUG_NOMADIK_UART
 	default 0x11006000 if DEBUG_MT6589_UART0
-	default 0x16000000 if ARCH_INTEGRATOR
+	default 0x16000000 if DEBUG_INTEGRATOR
 	default 0x18000300 if DEBUG_BCM_5301X
 	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
 	default 0x20060000 if DEBUG_RK29_UART0
@@ -1125,9 +1181,9 @@ config DEBUG_UART_PHYS
 	default 0x20201000 if DEBUG_BCM2835
 	default 0x3e000000 if DEBUG_BCM_KONA_UART
 	default 0x4000e400 if DEBUG_LL_UART_EFM32
-	default 0x40090000 if ARCH_LPC32XX
+	default 0x40090000 if DEBUG_LPC32XX
 	default 0x40100000 if DEBUG_PXA_UART1
-	default 0x42000000 if ARCH_GEMINI
+	default 0x42000000 if DEBUG_GEMINI
 	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
 				DEBUG_S3C2410_UART0)
 	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
@@ -1140,24 +1196,22 @@ config DEBUG_UART_PHYS
 	default 0x80070000 if DEBUG_IMX23_UART
 	default 0x80074000 if DEBUG_IMX28_UART
 	default 0x80230000 if DEBUG_PICOXCELL_UART
-	default 0x808c0000 if ARCH_EP93XX
+	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
 	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
 	default 0xa9a00000 if DEBUG_MSM_UART
 	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
 	default 0xc0013000 if DEBUG_U300_UART
 	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
 	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
-	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
+	default 0xd0000000 if DEBUG_SPEAR3XX
 	default 0xd0012000 if DEBUG_MVEBU_UART
 	default 0xc81004c0 if DEBUG_MESON_UARTAO
 	default 0xd4017000 if DEBUG_MMP_UART2
 	default 0xd4018000 if DEBUG_MMP_UART3
-	default 0xe0000000 if ARCH_SPEAR13XX
 	default 0xe4007000 if DEBUG_HIP04_UART
+	default 0xe0000000 if DEBUG_SPEAR13XX
 	default 0xf0000be0 if ARCH_EBSA110
 	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
-	default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
-				ARCH_ORION5X
 	default 0xf7fc9000 if DEBUG_BERLIN_UART
 	default 0xf8b00000 if DEBUG_HIX5HD2_UART
 	default 0xf991e000 if DEBUG_QCOM_UARTDM
@@ -1174,7 +1228,7 @@ config DEBUG_UART_PHYS
 		DEBUG_LL_UART_EFM32 || \
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
 		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
-		DEBUG_UART_BCM63XX
+		DEBUG_UART_BCM63XX || ARCH_EP93XX
 
 config DEBUG_UART_VIRT
 	hex "Virtual base address of debug UART"
@@ -1185,14 +1239,15 @@ config DEBUG_UART_VIRT
 	default 0xf0201000 if DEBUG_BCM2835
 	default 0xf1000300 if DEBUG_BCM_5301X
 	default 0xf1006000 if DEBUG_MT6589_UART0
-	default 0xf11f1000 if ARCH_VERSATILE
-	default 0xf1600000 if ARCH_INTEGRATOR
+	default 0xf11f1000 if DEBUG_VERSATILE
+	default 0xf1600000 if DEBUG_INTEGRATOR
 	default 0xf1c28000 if DEBUG_SUNXI_UART0
 	default 0xf1c28400 if DEBUG_SUNXI_UART1
 	default 0xf1f02800 if DEBUG_SUNXI_R_UART
 	default 0xf2100000 if DEBUG_PXA_UART1
-	default 0xf4090000 if ARCH_LPC32XX
-	default 0xf4200000 if ARCH_GEMINI
+	default 0xf31004c0 if DEBUG_MESON_UARTAO
+	default 0xf4090000 if DEBUG_LPC32XX
+	default 0xf4200000 if DEBUG_GEMINI
 	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
 				DEBUG_S3C2410_UART0)
 	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
@@ -1208,12 +1263,10 @@ config DEBUG_UART_VIRT
 	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
 	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
 	default 0xfcfe8600 if DEBUG_UART_BCM63XX
-	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
-	default 0xfd000000 if ARCH_SPEAR13XX
-	default 0xfd012000 if ARCH_MV78XX0
-	default 0xfde12000 if ARCH_DOVE
-	default 0xfe012000 if ARCH_ORION5X
-	default 0xf31004c0 if DEBUG_MESON_UARTAO
+	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
+	default 0xfd012000 if DEBUG_MVEBU_UART_ALTERNATE && ARCH_MV78XX0
+	default 0xfde12000 if DEBUG_MVEBU_UART_ALTERNATE && ARCH_DOVE
+	default 0xfe012000 if DEBUG_MVEBU_UART_ALTERNATE && ARCH_ORION5X
 	default 0xfe017000 if DEBUG_MMP_UART2
 	default 0xfe018000 if DEBUG_MMP_UART3
 	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
@@ -1234,7 +1287,7 @@ config DEBUG_UART_VIRT
 	default 0xfed60000 if DEBUG_RK29_UART0
 	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
 	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
-	default 0xfedc0000 if ARCH_EP93XX
+	default 0xfedc0000 if DEBUG_EP93XX
 	default 0xfee003f8 if FOOTBRIDGE
 	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
 	default 0xfee82340 if ARCH_IOP13XX
@@ -1269,7 +1322,7 @@ config DEBUG_UART_8250_WORD
 config DEBUG_UART_8250_FLOW_CONTROL
 	bool "Enable flow control for 8250 UART"
 	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
-	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
+	default y if ARCH_EBSA110 || FOOTBRIDGE || DEBUG_GEMINI || ARCH_RPC
 
 config DEBUG_UNCOMPRESS
 	bool


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2014-10-24 15:46 ` [PATCH v12 00/15] " Arnd Bergmann
@ 2014-11-12 14:48   ` Daniel Thompson
  2015-01-23 13:05   ` Geert Uytterhoeven
  1 sibling, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-11-12 14:48 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel
  Cc: Russell King, Paul Bolle, linaro-kernel, patches, spear-devel,
	linux-kernel, Srinivas Kandagatla

On 24/10/14 16:46, Arnd Bergmann wrote:
> On Friday 24 October 2014 11:54:21 Daniel Thompson wrote:
>> This patchset removes some single-platform compatibility tricks related
>> to DEBUG_LL and, as a result, allows multi_v7_defconfig derived builds
>> to enable DEBUG_LL. Currently the user selected kbuild setting is
>> ignored and the PL01X's DEBUG_LL stub is silently selected instead. This
>> is a pain if your hardware doesn't have this cell, not least because it
>> takes a little time to figure out that kbuild built the wrong code.
>>
> 
> Hi Daniel,
> 
> All the patches in your series look good to me this time. If Russell
> has no further comments, I'd like to put them into a branch in arm-soc.
> It has turned out that a lot of changes in Kconfig.debug are for adding
> new platforms, so we have fewer conflicts if we take it this way.

Does this remain the plan?

At present I did not punt these to Russell's patch tracker...


> I would actually have put the defconfig changes into a combined patch,
> I don't see a reason to split those up by platform, but I don't mind
> merging them the way you have them either.

[I really thought I had already replied to this bit but can't find it in
my mailer].

I'll remember this in future. If you do decide it should be squashed
together then let me know (I nearly squashed them together but in the
end I couldn't think of a concise subject title saying what the had in
common).


> There is still a related bug that we should also fix, but I'd say let's
> take your current patches first and then add whatever is missing
> on top. Specifically, a snippet like this
> 
>         default 0xd4017000 if DEBUG_MMP_UART2
>         default 0xd4018000 if DEBUG_MMP_UART3
>         default 0xe0000000 if ARCH_SPEAR13XX
>         default 0xe4007000 if DEBUG_HIP04_UART
>         default 0xf0000be0 if ARCH_EBSA110
> 
> still means you get the wrong default when you build a multiplatform
> kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
> but you happen to also have ARCH_SPEAR13XX enabled.

Good spot.


> I have a patch that I use locally for randconfig builds that tries
> to fix this. It has some overlaps with your work but most parts are
> distinct. See below.
> 
> 	Arnd
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 64d0e21cf7e7..bb27d0b19197 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -211,6 +211,14 @@ choice
>  		  Say Y here if you want the debug print routines to direct
>  		  their output to the serial port in the DC21285 (Footbridge).
>  
> +	config DEBUG_EP93XX
> +		bool "Kernel low-level debugging messages via ep93xx UART"
> +		depends on ARCH_EP93XX
> +		select DEBUG_UART_PL01X
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on Cirrus Logic EP93xx based platforms.
> +
>  	config DEBUG_FOOTBRIDGE_COM1
>  		bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
>  		depends on FOOTBRIDGE
> @@ -218,6 +226,14 @@ choice
>  		  Say Y here if you want the debug print routines to direct
>  		  their output to the 8250 at PCI COM1.
>  
> +	config DEBUG_GEMINI
> +		bool "Kernel low-level debugging messages via Cortina Systems Gemini UART"
> +		depends on ARCH_GEMINI
> +		select DEBUG_UART_8250
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on Cirrus Logic EP93xx based platforms.
> +
>  	config DEBUG_HI3620_UART
>  		bool "Hisilicon HI3620 Debug UART"
>  		depends on ARCH_HI3xxx
> @@ -351,6 +367,14 @@ choice
>  		  Say Y here if you want kernel low-level debugging support
>  		  on i.MX6SX.
>  
> +	config DEBUG_INTEGRATOR
> +		bool "Kernel low-level debugging messages via ARM Integrator UART"
> +		depends on ARCH_INTEGRATOR
> +		select DEBUG_UART_PL01X
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on Cirrus Logic EP93xx based platforms.
> +
>  	config DEBUG_KEYSTONE_UART0
>  		bool "Kernel low-level debugging on KEYSTONE2 using UART0"
>  		depends on ARCH_KEYSTONE
> @@ -367,6 +391,14 @@ choice
>  		  Say Y here if you want the debug print routines to direct
>  		  their output to UART1 serial port on KEYSTONE2 devices.
>  
> +	config DEBUG_LPC32XX
> +		bool "Kernel low-level debugging messages via NXP LPC32xx UART"
> +		depends on ARCH_LPC32XX
> +		select DEBUG_UART_8250
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on Cirrus Logic EP93xx based platforms.
> +
>  	config DEBUG_MESON_UARTAO
>  		bool "Kernel low-level debugging via Meson6 UARTAO"
>  		depends on ARCH_MESON
> @@ -427,7 +459,7 @@ choice
>  
>  	config DEBUG_MVEBU_UART
>  		bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
> -		depends on ARCH_MVEBU
> +		depends on ARCH_MVEBU && CPU_V7
>  		select DEBUG_UART_8250
>  		help
>  		  Say Y here if you want kernel low-level debugging support
> @@ -440,25 +472,40 @@ choice
>  		  Plathome OpenBlocks AX3, when using the original
>  		  bootloader.
>  
> +		  This option will not work on older Marvell platforms
> +		  (Kirkwood, Dove, MV78xx0, Orion5x), which should  piock
                                                                  ^^^^^^

piock?


> +		  the "new bootloader" variant.
> +
>  		  If the wrong DEBUG_MVEBU_UART* option is selected,
>  		  when u-boot hands over to the kernel, the system
>  		  silently crashes, with no serial output at all.
>  
>  	config DEBUG_MVEBU_UART_ALTERNATE
>  		bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
> -		depends on ARCH_MVEBU
> +		depends on ARCH_MVEBU || ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || ARCH_ORION5X
>  		select DEBUG_UART_8250
>  		help
>  		  Say Y here if you want kernel low-level debugging support
> -		  on MVEBU based platforms.
> +		  on MVEBU based platforms (Armada XP, Armada 3xx, Kirkwood,
> +		  Dove, MV78xx0, Orion5x).
>  
>  		  This option should be used with the new bootloaders
>  		  that remap the internal registers at 0xf1000000.
> +		  All of the older (pre Armada XP/370) platforms also use
> +		  this address, regardless of the boot loader version.
>  
>  		  If the wrong DEBUG_MVEBU_UART* option is selected,
>  		  when u-boot hands over to the kernel, the system
>  		  silently crashes, with no serial output at all.
>  
> +	config DEBUG_MT6589_UART0
> +		bool "Mediatek mt6589 UART0"
> +		depends on ARCH_MEDIATEK
> +		select DEBUG_UART_8250
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  for Mediatek mt6589 based platforms on UART0.
> +
>  	config DEBUG_VF_UART
>  		bool "Vybrid UART"
>  		depends on SOC_VF610
> @@ -823,6 +870,22 @@ choice
>  		  Say Y here if you want the debug print routines to direct
>  		  their output to the uart1 port on SiRFmarco devices.
>  
> +	config DEBUG_SPEAR3XX
> +		bool "Kernel low-level debugging messages via ST SPEAr 3xx/6xx UART"
> +		depends on ARCH_SPEAR3XX || ARCH_SPEAR6XX
> +		select DEBUG_UART_PL01X
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on Cirrus Logic EP93xx based platforms.
> +
> +	config DEBUG_SPEAR13XX
> +		bool "Kernel low-level debugging messages via ST SPEAr 13xx UART"
> +		depends on ARCH_SPEAR13XX
> +		select DEBUG_UART_PL01X
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on Cirrus Logic EP93xx based platforms.
> +
>  	config STIH41X_DEBUG_ASC2
>  		bool "Use StiH415/416 ASC2 UART for low-level debug"
>  		depends on ARCH_STI
> @@ -860,13 +923,13 @@ choice
>  		  Say Y here if you want kernel low-level debugging support
>  		  on Ux500 based platforms.
>  
> -	config DEBUG_MT6589_UART0
> -		bool "Mediatek mt6589 UART0"
> -		depends on ARCH_MEDIATEK
> -		select DEBUG_UART_8250
> +	config DEBUG_VERSATILE
> +		bool "Kernel low-level debugging messages via ARM Versatile UART"
> +		depends on ARCH_VERSATILE
> +		select DEBUG_UART_PL01X
>  		help
>  		  Say Y here if you want kernel low-level debugging support
> -		  for Mediatek mt6589 based platforms on UART0.
> +		  on Cirrus Logic EP93xx based platforms.
>  
>  	config DEBUG_VEXPRESS_UART0_DETECT
>  		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
> @@ -1078,20 +1141,13 @@ config DEBUG_LL_INCLUDE
>  
>  # Compatibility options for PL01x
>  config DEBUG_UART_PL01X
> -	def_bool ARCH_EP93XX || \
> -		ARCH_INTEGRATOR || \
> -		ARCH_SPEAR3XX || \
> -		ARCH_SPEAR6XX || \
> -		ARCH_SPEAR13XX || \
> -		ARCH_VERSATILE
> +	bool
>  
>  # Compatibility options for 8250
>  config DEBUG_UART_8250
> -	def_bool ARCH_DOVE || ARCH_EBSA110 || \
> -		(FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
> -		ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
> -		ARCH_IOP33X || ARCH_IXP4XX || \
> -		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
> +	def_bool ARCH_EBSA110 || (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
> +		ARCH_IOP13XX || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || \
> +		ARCH_RPC
>  
>  # Compatibility options for BCM63xx
>  config DEBUG_UART_BCM63XX
> @@ -1113,10 +1169,10 @@ config DEBUG_UART_PHYS
>  	default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
>  	default 0x10124000 if DEBUG_RK3X_UART0
>  	default 0x10126000 if DEBUG_RK3X_UART1
> -	default 0x101f1000 if ARCH_VERSATILE
> +	default 0x101f1000 if DEBUG_VERSATILE
>  	default 0x101fb000 if DEBUG_NOMADIK_UART
>  	default 0x11006000 if DEBUG_MT6589_UART0
> -	default 0x16000000 if ARCH_INTEGRATOR
> +	default 0x16000000 if DEBUG_INTEGRATOR
>  	default 0x18000300 if DEBUG_BCM_5301X
>  	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
>  	default 0x20060000 if DEBUG_RK29_UART0
> @@ -1125,9 +1181,9 @@ config DEBUG_UART_PHYS
>  	default 0x20201000 if DEBUG_BCM2835
>  	default 0x3e000000 if DEBUG_BCM_KONA_UART
>  	default 0x4000e400 if DEBUG_LL_UART_EFM32
> -	default 0x40090000 if ARCH_LPC32XX
> +	default 0x40090000 if DEBUG_LPC32XX
>  	default 0x40100000 if DEBUG_PXA_UART1
> -	default 0x42000000 if ARCH_GEMINI
> +	default 0x42000000 if DEBUG_GEMINI
>  	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
>  				DEBUG_S3C2410_UART0)
>  	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
> @@ -1140,24 +1196,22 @@ config DEBUG_UART_PHYS
>  	default 0x80070000 if DEBUG_IMX23_UART
>  	default 0x80074000 if DEBUG_IMX28_UART
>  	default 0x80230000 if DEBUG_PICOXCELL_UART
> -	default 0x808c0000 if ARCH_EP93XX
> +	default 0x808c0000 if DEBUG_EP93XX || ARCH_EP93XX
>  	default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
>  	default 0xa9a00000 if DEBUG_MSM_UART
>  	default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
>  	default 0xc0013000 if DEBUG_U300_UART
>  	default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
>  	default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
> -	default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
> +	default 0xd0000000 if DEBUG_SPEAR3XX
>  	default 0xd0012000 if DEBUG_MVEBU_UART
>  	default 0xc81004c0 if DEBUG_MESON_UARTAO
>  	default 0xd4017000 if DEBUG_MMP_UART2
>  	default 0xd4018000 if DEBUG_MMP_UART3
> -	default 0xe0000000 if ARCH_SPEAR13XX
>  	default 0xe4007000 if DEBUG_HIP04_UART
> +	default 0xe0000000 if DEBUG_SPEAR13XX

You'll probabably spot this in a final sweep through but this moves the
SPEAR13XX out of numeric order...


Daniel.

>  	default 0xf0000be0 if ARCH_EBSA110
>  	default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
> -	default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
> -				ARCH_ORION5X
>  	default 0xf7fc9000 if DEBUG_BERLIN_UART
>  	default 0xf8b00000 if DEBUG_HIX5HD2_UART
>  	default 0xf991e000 if DEBUG_QCOM_UARTDM
> @@ -1174,7 +1228,7 @@ config DEBUG_UART_PHYS
>  		DEBUG_LL_UART_EFM32 || \
>  		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
>  		DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
> -		DEBUG_UART_BCM63XX
> +		DEBUG_UART_BCM63XX || ARCH_EP93XX
>  
>  config DEBUG_UART_VIRT
>  	hex "Virtual base address of debug UART"
> @@ -1185,14 +1239,15 @@ config DEBUG_UART_VIRT
>  	default 0xf0201000 if DEBUG_BCM2835
>  	default 0xf1000300 if DEBUG_BCM_5301X
>  	default 0xf1006000 if DEBUG_MT6589_UART0
> -	default 0xf11f1000 if ARCH_VERSATILE
> -	default 0xf1600000 if ARCH_INTEGRATOR
> +	default 0xf11f1000 if DEBUG_VERSATILE
> +	default 0xf1600000 if DEBUG_INTEGRATOR
>  	default 0xf1c28000 if DEBUG_SUNXI_UART0
>  	default 0xf1c28400 if DEBUG_SUNXI_UART1
>  	default 0xf1f02800 if DEBUG_SUNXI_R_UART
>  	default 0xf2100000 if DEBUG_PXA_UART1
> -	default 0xf4090000 if ARCH_LPC32XX
> -	default 0xf4200000 if ARCH_GEMINI
> +	default 0xf31004c0 if DEBUG_MESON_UARTAO
> +	default 0xf4090000 if DEBUG_LPC32XX
> +	default 0xf4200000 if DEBUG_GEMINI
>  	default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
>  				DEBUG_S3C2410_UART0)
>  	default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
> @@ -1208,12 +1263,10 @@ config DEBUG_UART_VIRT
>  	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
>  	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
>  	default 0xfcfe8600 if DEBUG_UART_BCM63XX
> -	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
> -	default 0xfd000000 if ARCH_SPEAR13XX
> -	default 0xfd012000 if ARCH_MV78XX0
> -	default 0xfde12000 if ARCH_DOVE
> -	default 0xfe012000 if ARCH_ORION5X
> -	default 0xf31004c0 if DEBUG_MESON_UARTAO
> +	default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
> +	default 0xfd012000 if DEBUG_MVEBU_UART_ALTERNATE && ARCH_MV78XX0
> +	default 0xfde12000 if DEBUG_MVEBU_UART_ALTERNATE && ARCH_DOVE
> +	default 0xfe012000 if DEBUG_MVEBU_UART_ALTERNATE && ARCH_ORION5X
>  	default 0xfe017000 if DEBUG_MMP_UART2
>  	default 0xfe018000 if DEBUG_MMP_UART3
>  	default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
> @@ -1234,7 +1287,7 @@ config DEBUG_UART_VIRT
>  	default 0xfed60000 if DEBUG_RK29_UART0
>  	default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
>  	default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
> -	default 0xfedc0000 if ARCH_EP93XX
> +	default 0xfedc0000 if DEBUG_EP93XX
>  	default 0xfee003f8 if FOOTBRIDGE
>  	default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
>  	default 0xfee82340 if ARCH_IOP13XX
> @@ -1269,7 +1322,7 @@ config DEBUG_UART_8250_WORD
>  config DEBUG_UART_8250_FLOW_CONTROL
>  	bool "Enable flow control for 8250 UART"
>  	depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
> -	default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
> +	default y if ARCH_EBSA110 || FOOTBRIDGE || DEBUG_GEMINI || ARCH_RPC
>  
>  config DEBUG_UNCOMPRESS
>  	bool
> 


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S
  2014-10-24 10:54 ` [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S Daniel Thompson
@ 2014-11-16  0:29   ` Aaro Koskinen
  2014-11-17  9:07     ` Daniel Thompson
  0 siblings, 1 reply; 25+ messages in thread
From: Aaro Koskinen @ 2014-11-16  0:29 UTC (permalink / raw)
  To: Daniel Thompson
  Cc: Russell King, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel, Tony Lindgren, Arnd Bergmann, linux-omap

Hi,

On Fri, Oct 24, 2014 at 11:54:32AM +0100, Daniel Thompson wrote:
> +	config DEBUG_OMAP1UART1
> +		bool "Kernel low-level debugging via OMAP1 UART1"
> +		depends on ARCH_OMAP1
> +		select DEBUG_UART_8250
> +		help
> +		  Say Y here if you want kernel low-level debugging support
> +		  on OMAP1 based platforms (expect OMAP730) on the UART1.
[...]
> +		  on OMAP1 based platforms (expect OMAP730) on the UART2.
[...]
> +		  on OMAP1 based platforms (expect OMAP730) on the UART3.
                                            ^^^^^^

Spelling again wrong. I think it was already corrected in v11?

A.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S
  2014-11-16  0:29   ` Aaro Koskinen
@ 2014-11-17  9:07     ` Daniel Thompson
  2014-11-17 14:24       ` Daniel Thompson
  0 siblings, 1 reply; 25+ messages in thread
From: Daniel Thompson @ 2014-11-17  9:07 UTC (permalink / raw)
  To: Aaro Koskinen
  Cc: Russell King, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel, Tony Lindgren, Arnd Bergmann, linux-omap

On 16/11/14 00:29, Aaro Koskinen wrote:
> Hi,
> 
> On Fri, Oct 24, 2014 at 11:54:32AM +0100, Daniel Thompson wrote:
>> +	config DEBUG_OMAP1UART1
>> +		bool "Kernel low-level debugging via OMAP1 UART1"
>> +		depends on ARCH_OMAP1
>> +		select DEBUG_UART_8250
>> +		help
>> +		  Say Y here if you want kernel low-level debugging support
>> +		  on OMAP1 based platforms (expect OMAP730) on the UART1.
> [...]
>> +		  on OMAP1 based platforms (expect OMAP730) on the UART2.
> [...]
>> +		  on OMAP1 based platforms (expect OMAP730) on the UART3.
>                                             ^^^^^^
> 
> Spelling again wrong. I think it was already corrected in v11?

Sorry and, yes, you're right this was corrected in v11.

I was travelling when I posted v11 so I guess I must have forgot to pull
the right branches to my main machine. I will dig it and diff shortly to
make sure I didn't miss anything else.


Daniel.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S
  2014-11-17  9:07     ` Daniel Thompson
@ 2014-11-17 14:24       ` Daniel Thompson
  0 siblings, 0 replies; 25+ messages in thread
From: Daniel Thompson @ 2014-11-17 14:24 UTC (permalink / raw)
  To: Aaro Koskinen
  Cc: Russell King, linux-arm-kernel, linux-kernel, spear-devel,
	Arnd Bergmann, Paul Bolle, Srinivas Kandagatla, patches,
	linaro-kernel, Tony Lindgren, Arnd Bergmann, linux-omap

On 17/11/14 09:07, Daniel Thompson wrote:
> On 16/11/14 00:29, Aaro Koskinen wrote:
>> Hi,
>>
>> On Fri, Oct 24, 2014 at 11:54:32AM +0100, Daniel Thompson wrote:
>>> +	config DEBUG_OMAP1UART1
>>> +		bool "Kernel low-level debugging via OMAP1 UART1"
>>> +		depends on ARCH_OMAP1
>>> +		select DEBUG_UART_8250
>>> +		help
>>> +		  Say Y here if you want kernel low-level debugging support
>>> +		  on OMAP1 based platforms (expect OMAP730) on the UART1.
>> [...]
>>> +		  on OMAP1 based platforms (expect OMAP730) on the UART2.
>> [...]
>>> +		  on OMAP1 based platforms (expect OMAP730) on the UART3.
>>                                             ^^^^^^
>>
>> Spelling again wrong. I think it was already corrected in v11?
> 
> Sorry and, yes, you're right this was corrected in v11.
> 
> I was travelling when I posted v11 so I guess I must have forgot to pull
> the right branches to my main machine. I will dig it and diff shortly to
> make sure I didn't miss anything else.

Just as well I did the diff. v12 was derived from v9 rather than v11 as
it should have been, so apologies to Aaro and Paul Bolle for dropping
changes they asked for.

I will try to change how I keep track of things when I go travelling in
future...


Daniel.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2014-10-24 15:46 ` [PATCH v12 00/15] " Arnd Bergmann
  2014-11-12 14:48   ` Daniel Thompson
@ 2015-01-23 13:05   ` Geert Uytterhoeven
  2015-01-23 13:08     ` Russell King - ARM Linux
  1 sibling, 1 reply; 25+ messages in thread
From: Geert Uytterhoeven @ 2015-01-23 13:05 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Daniel Thompson, Russell King, Paul Bolle,
	linaro-kernel, patches, spear-devel, linux-kernel,
	Srinivas Kandagatla

Hi Arnd,

On Fri, Oct 24, 2014 at 5:46 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> There is still a related bug that we should also fix, but I'd say let's
> take your current patches first and then add whatever is missing
> on top. Specifically, a snippet like this
>
>         default 0xd4017000 if DEBUG_MMP_UART2
>         default 0xd4018000 if DEBUG_MMP_UART3
>         default 0xe0000000 if ARCH_SPEAR13XX
>         default 0xe4007000 if DEBUG_HIP04_UART
>         default 0xf0000be0 if ARCH_EBSA110
>
> still means you get the wrong default when you build a multiplatform
> kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
> but you happen to also have ARCH_SPEAR13XX enabled.
>
> I have a patch that I use locally for randconfig builds that tries
> to fix this. It has some overlaps with your work but most parts are
> distinct. See below.

This is still desperately needed for anyone who wants to enable DEBUG_LL
on other platforms using multi_v7_defconfig.

Can you please upstream it?

Thanks!


Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2015-01-23 13:05   ` Geert Uytterhoeven
@ 2015-01-23 13:08     ` Russell King - ARM Linux
  2015-01-23 13:28       ` Arnd Bergmann
  2015-01-23 13:31       ` Geert Uytterhoeven
  0 siblings, 2 replies; 25+ messages in thread
From: Russell King - ARM Linux @ 2015-01-23 13:08 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Arnd Bergmann, linux-arm-kernel, Daniel Thompson, Paul Bolle,
	linaro-kernel, patches, spear-devel, linux-kernel,
	Srinivas Kandagatla

On Fri, Jan 23, 2015 at 02:05:22PM +0100, Geert Uytterhoeven wrote:
> Hi Arnd,
> 
> On Fri, Oct 24, 2014 at 5:46 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > There is still a related bug that we should also fix, but I'd say let's
> > take your current patches first and then add whatever is missing
> > on top. Specifically, a snippet like this
> >
> >         default 0xd4017000 if DEBUG_MMP_UART2
> >         default 0xd4018000 if DEBUG_MMP_UART3
> >         default 0xe0000000 if ARCH_SPEAR13XX
> >         default 0xe4007000 if DEBUG_HIP04_UART
> >         default 0xf0000be0 if ARCH_EBSA110
> >
> > still means you get the wrong default when you build a multiplatform
> > kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
> > but you happen to also have ARCH_SPEAR13XX enabled.
> >
> > I have a patch that I use locally for randconfig builds that tries
> > to fix this. It has some overlaps with your work but most parts are
> > distinct. See below.
> 
> This is still desperately needed for anyone who wants to enable DEBUG_LL
> on other platforms using multi_v7_defconfig.

I'd actually prefer to kill all these defaults and let people enter the
value they want - for exactly this reason.

However, I realise that would not be popular, because removing them
means that people have to refer to some kind of documentation to find
the correct value, and that's hassle.

So, the existing defaulting behaviour is my compromise, but as I say,
I'd much prefer the unpopular move of killing the entire set of defaults.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2015-01-23 13:08     ` Russell King - ARM Linux
@ 2015-01-23 13:28       ` Arnd Bergmann
  2015-01-23 17:14         ` Tony Lindgren
  2015-01-23 13:31       ` Geert Uytterhoeven
  1 sibling, 1 reply; 25+ messages in thread
From: Arnd Bergmann @ 2015-01-23 13:28 UTC (permalink / raw)
  To: linaro-kernel
  Cc: Russell King - ARM Linux, Geert Uytterhoeven, Daniel Thompson,
	patches, spear-devel, Paul Bolle, linux-kernel,
	Srinivas Kandagatla, linux-arm-kernel

On Friday 23 January 2015 13:08:37 Russell King - ARM Linux wrote:
> > Hi Arnd,
> > 
> > On Fri, Oct 24, 2014 at 5:46 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > > There is still a related bug that we should also fix, but I'd say let's
> > > take your current patches first and then add whatever is missing
> > > on top. Specifically, a snippet like this
> > >
> > >         default 0xd4017000 if DEBUG_MMP_UART2
> > >         default 0xd4018000 if DEBUG_MMP_UART3
> > >         default 0xe0000000 if ARCH_SPEAR13XX
> > >         default 0xe4007000 if DEBUG_HIP04_UART
> > >         default 0xf0000be0 if ARCH_EBSA110
> > >
> > > still means you get the wrong default when you build a multiplatform
> > > kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
> > > but you happen to also have ARCH_SPEAR13XX enabled.
> > >
> > > I have a patch that I use locally for randconfig builds that tries
> > > to fix this. It has some overlaps with your work but most parts are
> > > distinct. See below.
> > 
> > This is still desperately needed for anyone who wants to enable DEBUG_LL
> > on other platforms using multi_v7_defconfig.
> 
> I'd actually prefer to kill all these defaults and let people enter the
> value they want - for exactly this reason.

I think it almost works right and seems fixable, but I agree with your
long-term direction.

> However, I realise that would not be popular, because removing them
> means that people have to refer to some kind of documentation to find
> the correct value, and that's hassle.
> 
> So, the existing defaulting behaviour is my compromise, but as I say,
> I'd much prefer the unpopular move of killing the entire set of defaults.

We can probably remove the defaults after we have had working earlycon
support for at least one kernel release. My feeling is that a lot of
people just enable debug_ll for normal kernels (and pass earlyprintk
in the DTB-provided command line!) because the normal console support
is just too late to spot when things go wrong, and debug_ll is
convenient enough despite the downsides.

earlycon avoids the need for hard configuration and mostly solves the
problem of the normal console being initialized too late, so I think
we should migrate platforms to use that over time. It's not a
problem for backwards compatibility because old dtbs will still work,
just without working earlycon when there is no "stdout-path" property.

With that in place, we can put debug_ll back into its destined place,
which is to debug the extremely early boot stages before earlycon,
and anyone who needs to do that can pick the correct physical addresses
themselves. Picking the right virtual address seems to be harder
for a lot of people, and everyone gets stuck on this when they first
try it. Maybe we can avoid this problem by finding a page into which
to put the mapping by default. The fixmap support we need for earlycon
should make this easier too.

	Arnd

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2015-01-23 13:08     ` Russell King - ARM Linux
  2015-01-23 13:28       ` Arnd Bergmann
@ 2015-01-23 13:31       ` Geert Uytterhoeven
  1 sibling, 0 replies; 25+ messages in thread
From: Geert Uytterhoeven @ 2015-01-23 13:31 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Arnd Bergmann, linux-arm-kernel, Daniel Thompson, Paul Bolle,
	linaro-kernel, patches, spear-devel, linux-kernel,
	Srinivas Kandagatla

Hi Russell,

On Fri, Jan 23, 2015 at 2:08 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> On Fri, Jan 23, 2015 at 02:05:22PM +0100, Geert Uytterhoeven wrote:
>> On Fri, Oct 24, 2014 at 5:46 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> > There is still a related bug that we should also fix, but I'd say let's
>> > take your current patches first and then add whatever is missing
>> > on top. Specifically, a snippet like this
>> >
>> >         default 0xd4017000 if DEBUG_MMP_UART2
>> >         default 0xd4018000 if DEBUG_MMP_UART3
>> >         default 0xe0000000 if ARCH_SPEAR13XX
>> >         default 0xe4007000 if DEBUG_HIP04_UART
>> >         default 0xf0000be0 if ARCH_EBSA110
>> >
>> > still means you get the wrong default when you build a multiplatform
>> > kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
>> > but you happen to also have ARCH_SPEAR13XX enabled.
>> >
>> > I have a patch that I use locally for randconfig builds that tries
>> > to fix this. It has some overlaps with your work but most parts are
>> > distinct. See below.
>>
>> This is still desperately needed for anyone who wants to enable DEBUG_LL
>> on other platforms using multi_v7_defconfig.
>
> I'd actually prefer to kill all these defaults and let people enter the
> value they want - for exactly this reason.
>
> However, I realise that would not be popular, because removing them
> means that people have to refer to some kind of documentation to find
> the correct value, and that's hassle.
>
> So, the existing defaulting behaviour is my compromise, but as I say,
> I'd much prefer the unpopular move of killing the entire set of defaults.

I have no problems with the default addresses.

I do have a problem with default addresses that depend on a non-debug
symbol that is set is multi_v7_defconfig (e.g. CONFIG_ARCH_SPEAR13XX),
as there's no way to disable that without editing arch/arm/Kconfig.debug.
I do want to find out why multi_v7_defconfig doesn't work on a board
without disabling e.g. CONFIG_ARCH_SPEAR13XX.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X)
  2015-01-23 13:28       ` Arnd Bergmann
@ 2015-01-23 17:14         ` Tony Lindgren
  0 siblings, 0 replies; 25+ messages in thread
From: Tony Lindgren @ 2015-01-23 17:14 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linaro-kernel, Russell King - ARM Linux, Geert Uytterhoeven,
	Daniel Thompson, patches, spear-devel, Paul Bolle, linux-kernel,
	Srinivas Kandagatla, linux-arm-kernel

* Arnd Bergmann <arnd@arndb.de> [150123 05:32]:
> On Friday 23 January 2015 13:08:37 Russell King - ARM Linux wrote:
> > > Hi Arnd,
> > > 
> > > On Fri, Oct 24, 2014 at 5:46 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > > > There is still a related bug that we should also fix, but I'd say let's
> > > > take your current patches first and then add whatever is missing
> > > > on top. Specifically, a snippet like this
> > > >
> > > >         default 0xd4017000 if DEBUG_MMP_UART2
> > > >         default 0xd4018000 if DEBUG_MMP_UART3
> > > >         default 0xe0000000 if ARCH_SPEAR13XX
> > > >         default 0xe4007000 if DEBUG_HIP04_UART
> > > >         default 0xf0000be0 if ARCH_EBSA110
> > > >
> > > > still means you get the wrong default when you build a multiplatform
> > > > kernel that you want to boot on HIP04 and you set DEBUG_HIP04_UART
> > > > but you happen to also have ARCH_SPEAR13XX enabled.
> > > >
> > > > I have a patch that I use locally for randconfig builds that tries
> > > > to fix this. It has some overlaps with your work but most parts are
> > > > distinct. See below.
> > > 
> > > This is still desperately needed for anyone who wants to enable DEBUG_LL
> > > on other platforms using multi_v7_defconfig.
> > 
> > I'd actually prefer to kill all these defaults and let people enter the
> > value they want - for exactly this reason.
> 
> I think it almost works right and seems fixable, but I agree with your
> long-term direction.
> 
> > However, I realise that would not be popular, because removing them
> > means that people have to refer to some kind of documentation to find
> > the correct value, and that's hassle.
> > 
> > So, the existing defaulting behaviour is my compromise, but as I say,
> > I'd much prefer the unpopular move of killing the entire set of defaults.
> 
> We can probably remove the defaults after we have had working earlycon
> support for at least one kernel release. My feeling is that a lot of
> people just enable debug_ll for normal kernels (and pass earlyprintk
> in the DTB-provided command line!) because the normal console support
> is just too late to spot when things go wrong, and debug_ll is
> convenient enough despite the downsides.
> 
> earlycon avoids the need for hard configuration and mostly solves the
> problem of the normal console being initialized too late, so I think
> we should migrate platforms to use that over time. It's not a
> problem for backwards compatibility because old dtbs will still work,
> just without working earlycon when there is no "stdout-path" property.
> 
> With that in place, we can put debug_ll back into its destined place,
> which is to debug the extremely early boot stages before earlycon,
> and anyone who needs to do that can pick the correct physical addresses
> themselves. Picking the right virtual address seems to be harder
> for a lot of people, and everyone gets stuck on this when they first
> try it. Maybe we can avoid this problem by finding a page into which
> to put the mapping by default. The fixmap support we need for earlycon
> should make this easier too.

Totally agree, let's make debug_ll use super limited.

The reasons for why people need debug_ll are currently because of all
the custom initcall levels. So far for all the cases I've seen, there
should not be any need for custom initcall levels any longer with the
deferred probe. The existing cases are all for legacy reasons and
should not be needed at all on anything done over past five years
or so.

The solution to removing the dependency to debug_ll is SoC specific
earlyprintk support. And to initialize everything else later, not
earlier.

Cheers,

Tony

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2015-01-23 17:42 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-24 10:54 [PATCH v12 00/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 02/15] arm: iop32x: Enable DEBUG_LL_UART_8250 Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 03/15] arm: iop33x: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 04/15] arm: ixp4xx: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 05/15] arm: lpc32xx: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 06/15] arm: mv78xx0: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 07/15] arm: orion5x: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 08/15] arm: rpc: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 09/15] arm: Remove DEBUG_LL_UART_NONE Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 10/15] arm: ks8695: Migrate debug_ll macros to shared directory Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 11/15] arm: omap1: Migrate debug_ll macros to use 8250.S Daniel Thompson
2014-11-16  0:29   ` Aaro Koskinen
2014-11-17  9:07     ` Daniel Thompson
2014-11-17 14:24       ` Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 12/15] arm: netx: Migrate DEBUG_LL macros to shared directory Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 13/15] arm: sa1100: " Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 14/15] arm: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX Daniel Thompson
2014-10-24 10:54 ` [PATCH v12 15/15] arm: Fix DEBUG_LL for multi-platform kernels (without PL01X) Daniel Thompson
2014-10-24 15:46 ` [PATCH v12 00/15] " Arnd Bergmann
2014-11-12 14:48   ` Daniel Thompson
2015-01-23 13:05   ` Geert Uytterhoeven
2015-01-23 13:08     ` Russell King - ARM Linux
2015-01-23 13:28       ` Arnd Bergmann
2015-01-23 17:14         ` Tony Lindgren
2015-01-23 13:31       ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).