Clean up debugging support
Subsystems (16)
cover Clean up debugging support
This patch series cleans up some aspects of the LL debug support by:
- Removing the multi-level choice madness
- Consolidating the 8250 debug UART support
- Consolidating the PL01x debug UART support
The differences between the various 8250 debug UART implementations are:
- Physical/Virtual addresses
- Register offset shift
- Access size
- Flow control
These are now parameterised in the Kconfig. I've left OMAP because that's a complex case, but it looks like it can be adapted to it if some of the unnecessary complexity is eliminated.
Similar is done with the PL01x implementation, except a few complex cases are left - automatic detection on Versatile Express, and the Ux500 support which looks like it'll take some picking through header files to work out what the base addresses are.
The approach I've taken is to consolidate without losing any information
- what that means it that the Kconfig parameters have rather a lot of dependencies/defaults associated with them, and the main choice statement keeps all its options.
In the longer run, I want to consolidate that down to just a pair of "Kernel low-level debugging messages via 8250 UART" and "Kernel low-level debugging messages via PL01x UART" options, possibly with the base addresses/shifts/access width/flow control supplied by the user.
I've not really been able to test these because of the current breakage on ARM devel platforms caused by the "get_signal" saga, so these are RFC only at the moment.
Nevertheless, even avoiding the loss of information, I think the diffstat is quite impressive:
arch/arm/Kconfig.debug | 488 +++++++++++++------- arch/arm/include/asm/hardware/debug-8250.S | 29 -- arch/arm/include/asm/hardware/debug-pl01x.S | 29 -- arch/arm/include/debug/8250.S | 54 +++ arch/arm/include/debug/8250_32.S | 27 -- arch/arm/include/debug/bcm2835.S | 22 - arch/arm/include/debug/cns3xxx.S | 19 - arch/arm/include/debug/highbank.S | 17 - arch/arm/include/debug/mvebu.S | 30 -- arch/arm/include/debug/mxs.S | 27 -- arch/arm/include/debug/nomadik.S | 20 - arch/arm/include/debug/nspire.S | 28 -- arch/arm/include/debug/picoxcell.S | 19 - arch/arm/include/debug/pl01x.S | 36 ++ arch/arm/include/debug/pxa.S | 33 -- arch/arm/include/debug/rockchip.S | 42 -- arch/arm/include/debug/socfpga.S | 21 - arch/arm/include/debug/sunxi.S | 27 -- arch/arm/include/debug/u300.S | 18 - arch/arm/include/debug/ux500.S | 2 +- arch/arm/include/debug/vexpress.S | 48 +-- arch/arm/mach-dove/include/mach/debug-macro.S | 19 - arch/arm/mach-ebsa110/include/mach/debug-macro.S | 22 - arch/arm/mach-ep93xx/include/mach/debug-macro.S | 21 - .../arm/mach-footbridge/include/mach/debug-macro.S | 15 - arch/arm/mach-gemini/include/mach/debug-macro.S | 21 - .../arm/mach-integrator/include/mach/debug-macro.S | 20 - arch/arm/mach-iop13xx/include/mach/debug-macro.S | 24 - arch/arm/mach-iop32x/include/mach/debug-macro.S | 21 - arch/arm/mach-iop33x/include/mach/debug-macro.S | 22 - arch/arm/mach-ixp4xx/include/mach/debug-macro.S | 26 - arch/arm/mach-kirkwood/include/mach/debug-macro.S | 19 - arch/arm/mach-lpc32xx/include/mach/debug-macro.S | 29 -- arch/arm/mach-mv78xx0/include/mach/debug-macro.S | 19 - arch/arm/mach-orion5x/include/mach/debug-macro.S | 21 - arch/arm/mach-realview/include/mach/debug-macro.S | 29 -- arch/arm/mach-rpc/include/mach/debug-macro.S | 23 - arch/arm/mach-versatile/include/mach/debug-macro.S | 21 - 38 files changed, 423 insertions(+), 985 deletions(-)
RFC PATCH 1/9 ARM: debug: fix wording error in DEBUG_LL_UART_NONE option help
The DEBUG_LL_UART_NONE option was moved from the top of the list to the bottom - unfortunately, it still referred to the options "below" rather than "above".
--- arch/arm/Kconfig.debug | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/Kconfig.debug +1 -1
@@ -579,7 +579,7 @@ choice depends on !ARCH_MULTIPLATFORM help Say Y here if your platform doesn't provide a UART option - below. This relies on your platform choosing the right UART + above. This relies on your platform choosing the right UART definition internally in order for low-level debugging to work.
Signature · 1 line
1.7.4.4
RFC PATCH 2/9 ARM: debug: clean up low level kernel debugging selection
In reply to Russell King - ARM LinuxIt is silly to bury UART selection under multiple levels of choice statements, where the top level choice statement will only list about four entries when a single SoC is selected. Move the UART selection up into the top level choice statement as it was always intended to be.
--- arch/arm/Kconfig.debug | 328 ++++++++++++++++++++++++++++-------------------- 1 files changed, 191 insertions(+), 137 deletions(-)
arch/arm/Kconfig.debug +191 -137
@@ -376,12 +376,72 @@ choice Say Y here if you want kernel low-level debugging support on TI-NSPIRE CX models. - config DEBUG_OMAP2PLUS_UART - bool "Kernel low-level debugging messages via OMAP2PLUS UART" + config DEBUG_OMAP2UART1 + bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)" depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART help - Say Y here if you want kernel low-level debugging support - on OMAP2PLUS based platforms. + This covers at least h4, 2430sdp, 3430sdp, 3630sdp, + omap3 torpedo and 3530 lv som. + + config DEBUG_OMAP2UART2 + bool "Kernel low-level debugging messages via OMAP2/3/4 UART2" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_OMAP2UART3 + bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_OMAP3UART3 + bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + help + This covers at least cm_t3x, beagle, crane, devkit8000, + igep00x0, ldp, n900, n9(50), pandora, overo, touchbook, + and 3517evm. + + config DEBUG_OMAP4UART3 + bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_OMAP3UART4 + bool "Kernel low-level debugging messages via OMAP36XX UART4" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_OMAP4UART4 + bool "Kernel low-level debugging messages via OMAP4/5 UART4" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_TI81XXUART1 + bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_TI81XXUART2 + bool "Kernel low-level debugging messages via TI81XX UART2" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_TI81XXUART3 + bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_AM33XXUART1 + bool "Kernel low-level debugging messages via AM33XX UART1" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART + + config DEBUG_ZOOM_UART + bool "Kernel low-level debugging messages via Zoom2/3 UART" + depends on ARCH_OMAP2PLUS + select DEBUG_OMAP2PLUS_UART config DEBUG_PICOXCELL_UART depends on ARCH_PICOXCELL
@@ -413,9 +473,58 @@ choice their output to the standard serial port on the RealView PB1176 platform. - config DEBUG_ROCKCHIP_UART - bool "Kernel low-level debugging messages via Rockchip UART" + config DEBUG_RK29_UART0 + bool "Kernel low-level debugging messages via Rockchip RK29 UART0" + depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART + help + Say Y here if you want kernel low-level debugging support + on Rockchip based platforms. + + config DEBUG_RK29_UART1 + bool "Kernel low-level debugging messages via Rockchip RK29 UART1" + depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART + help + Say Y here if you want kernel low-level debugging support + on Rockchip based platforms. + + config DEBUG_RK29_UART2 + bool "Kernel low-level debugging messages via Rockchip RK29 UART2" + depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART + help + Say Y here if you want kernel low-level debugging support + on Rockchip based platforms. + + config DEBUG_RK3X_UART0 + bool "Kernel low-level debugging messages via Rockchip RK3X UART0" + depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART + help + Say Y here if you want kernel low-level debugging support + on Rockchip based platforms. + + config DEBUG_RK3X_UART1 + bool "Kernel low-level debugging messages via Rockchip RK3X UART1" depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART + help + Say Y here if you want kernel low-level debugging support + on Rockchip based platforms. + + config DEBUG_RK3X_UART2 + bool "Kernel low-level debugging messages via Rockchip RK3X UART2" + depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART + help + Say Y here if you want kernel low-level debugging support + on Rockchip based platforms. + + config DEBUG_RK3X_UART3 + bool "Kernel low-level debugging messages via Rockchip RK3X UART3" + depends on ARCH_ROCKCHIP + select DEBUG_ROCKCHIP_UART help Say Y here if you want kernel low-level debugging support on Rockchip based platforms.
@@ -489,9 +598,54 @@ choice Say Y here if you want kernel low-level debugging support on Allwinner A1X based platforms on the UART1. - config DEBUG_TEGRA_UART + config TEGRA_DEBUG_UART_AUTO_ODMDATA + bool "Kernel low-level debugging messages via Tegra UART via ODMDATA" depends on ARCH_TEGRA - bool "Use Tegra UART for low-level debug" + select DEBUG_TEGRA_UART + help + Automatically determines which UART to use for low-level + debug based on the ODMDATA value. This value is part of + the BCT, and is written to the boot memory device using + nvflash, or other flashing tool. When bits 19:18 are 3, + then bits 17:15 indicate which UART to use; 0/1/2/3/4 + are UART A/B/C/D/E. + + config TEGRA_DEBUG_UARTA + bool "Kernel low-level debugging messages via Tegra UART A" + depends on ARCH_TEGRA + select DEBUG_TEGRA_UART + help + Say Y here if you want kernel low-level debugging support + on Tegra based platforms. + + config TEGRA_DEBUG_UARTB + bool "Kernel low-level debugging messages via Tegra UART B" + depends on ARCH_TEGRA + select DEBUG_TEGRA_UART + help + Say Y here if you want kernel low-level debugging support + on Tegra based platforms. + + config TEGRA_DEBUG_UARTC + bool "Kernel low-level debugging messages via Tegra UART C" + depends on ARCH_TEGRA + select DEBUG_TEGRA_UART + help + Say Y here if you want kernel low-level debugging support + on Tegra based platforms. + + config TEGRA_DEBUG_UARTD + bool "Kernel low-level debugging messages via Tegra UART D" + depends on ARCH_TEGRA + select DEBUG_TEGRA_UART + help + Say Y here if you want kernel low-level debugging support + on Tegra based platforms. + + config TEGRA_DEBUG_UARTE + bool "Kernel low-level debugging messages via Tegra UART E" + depends on ARCH_TEGRA + select DEBUG_TEGRA_UART help Say Y here if you want kernel low-level debugging support on Tegra based platforms.
@@ -564,13 +718,25 @@ choice This option selects UART0 on VIA/Wondermedia System-on-a-chip devices, including VT8500, WM8505, WM8650 and WM8850. - config DEBUG_STI_UART + config STIH41X_DEBUG_ASC2 + bool "Use StiH415/416 ASC2 UART for low-level debug" + depends on ARCH_STI + select DEBUG_STI_UART + help + Say Y here if you want kernel low-level debugging support + on STiH415/416 based platforms like b2000, which has + default UART wired up to ASC2. + + If unsure, say N. + + config STIH41X_DEBUG_SBC_ASC1 + bool "Use StiH415/416 SBC ASC1 UART for low-level debug" depends on ARCH_STI - bool "Use StiH415/416 ASC for low-level debug" + select DEBUG_STI_UART help Say Y here if you want kernel low-level debugging support - on StiH415/416 based platforms like B2000, B2020. - It support UART2 and SBC_UART1. + on STiH415/416 based platforms like b2020. which has + default UART wired up to SBC ASC1. If unsure, say N.
@@ -615,6 +781,10 @@ endchoice config DEBUG_EXYNOS_UART bool +config DEBUG_OMAP2PLUS_UART + bool + depends on ARCH_OMAP2PLUS + config DEBUG_IMX_UART_PORT int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \ DEBUG_IMX25_UART || \
@@ -631,133 +801,17 @@ config DEBUG_IMX_UART_PORT Choose UART port on which kernel low-level debug messages should be output. -choice - prompt "Low-level debug console UART" - depends on DEBUG_OMAP2PLUS_UART - - config DEBUG_OMAP2UART1 - bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)" - help - This covers at least h4, 2430sdp, 3430sdp, 3630sdp, - omap3 torpedo and 3530 lv som. - - config DEBUG_OMAP2UART2 - bool "OMAP2/3/4 UART2" - - config DEBUG_OMAP2UART3 - bool "OMAP2 UART3 (n8x0)" - - config DEBUG_OMAP3UART3 - bool "OMAP3 UART3 (most omap3 boards)" - help - This covers at least cm_t3x, beagle, crane, devkit8000, - igep00x0, ldp, n900, n9(50), pandora, overo, touchbook, - and 3517evm. - - config DEBUG_OMAP4UART3 - bool "OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)" - - config DEBUG_OMAP3UART4 - bool "OMAP36XX UART4" - - config DEBUG_OMAP4UART4 - bool "OMAP4/5 UART4" - - config DEBUG_TI81XXUART1 - bool "TI81XX UART1 (ti8148evm)" - - config DEBUG_TI81XXUART2 - bool "TI81XX UART2" - - config DEBUG_TI81XXUART3 - bool "TI81XX UART3 (ti8168evm)" - - config DEBUG_AM33XXUART1 - bool "AM33XX UART1" - - config DEBUG_ZOOM_UART - bool "Zoom2/3 UART" -endchoice - -choice - prompt "Low-level debug console UART" - depends on DEBUG_ROCKCHIP_UART - - config DEBUG_RK29_UART0 - bool "RK29 UART0" - - config DEBUG_RK29_UART1 - bool "RK29 UART1" - - config DEBUG_RK29_UART2 - bool "RK29 UART2" - - config DEBUG_RK3X_UART0 - bool "RK3X UART0" - - config DEBUG_RK3X_UART1 - bool "RK3X UART1" - - config DEBUG_RK3X_UART2 - bool "RK3X UART2" - - config DEBUG_RK3X_UART3 - bool "RK3X UART3" -endchoice - -choice - prompt "Low-level debug console UART" - depends on DEBUG_LL && DEBUG_TEGRA_UART - - config TEGRA_DEBUG_UART_AUTO_ODMDATA - bool "Via ODMDATA" - help - Automatically determines which UART to use for low-level debug based - on the ODMDATA value. This value is part of the BCT, and is written - to the boot memory device using nvflash, or other flashing tool. - When bits 19:18 are 3, then bits 17:15 indicate which UART to use; - 0/1/2/3/4 are UART A/B/C/D/E. - - config TEGRA_DEBUG_UARTA - bool "UART A" - - config TEGRA_DEBUG_UARTB - bool "UART B" - - config TEGRA_DEBUG_UARTC - bool "UART C" - - config TEGRA_DEBUG_UARTD - bool "UART D" - - config TEGRA_DEBUG_UARTE - bool "UART E" - -endchoice - -choice - prompt "Low-level debug console UART" - depends on DEBUG_LL && DEBUG_STI_UART - - config STIH41X_DEBUG_ASC2 - bool "ASC2 UART" - help - Say Y here if you want kernel low-level debugging support - on STiH415/416 based platforms like b2000, which has - default UART wired up to ASC2. - - If unsure, say N. - - config STIH41X_DEBUG_SBC_ASC1 - bool "SBC ASC1 UART" - help - Say Y here if you want kernel low-level debugging support - on STiH415/416 based platforms like b2020. which has - default UART wired up to SBC ASC1. +config DEBUG_ROCKCHIP_UART + bool + depends on ARCH_ROCKCHIP - If unsure, say N. +config DEBUG_TEGRA_UART + bool + depends on ARCH_TEGRA -endchoice +config DEBUG_STI_UART + bool + depends on ARCH_STI config DEBUG_LL_INCLUDE string
Signature · 1 line
1.7.4.4
RFC PATCH 2/9 ARM: debug: clean up low level kernel debugging selection
Quoted 7 lines · Russell King
It is silly to bury UART selection under multiple levels of choice statements, where the top level choice statement will only list about four entries when a single SoC is selected. Move the UART selection up into the top level choice statement as it was always intended to be.
Signed-off-by Russell King <[email protected]>
Nice, works for me:
RFC PATCH 3/9 ARM: debug: provide 8250 debug uart flow control configuration option
In reply to Russell King - ARM LinuxMove the definition out of the machine class debug-macro.S header into the Kconfig files.
--- arch/arm/Kconfig.debug | 9 +++++++++ arch/arm/include/asm/hardware/debug-8250.S | 2 +- arch/arm/mach-ebsa110/include/mach/debug-macro.S | 1 - .../arm/mach-footbridge/include/mach/debug-macro.S | 1 - arch/arm/mach-gemini/include/mach/debug-macro.S | 1 - arch/arm/mach-rpc/include/mach/debug-macro.S | 1 - 6 files changed, 10 insertions(+), 5 deletions(-)
arch/arm/Kconfig.debug +9 -0
@@ -856,6 +856,15 @@ config DEBUG_LL_INCLUDE default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 default "mach/debug-macro.S" +config DEBUG_UART_8250 + def_bool y + depends on ARCH_EBSA110 || (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \ + ARCH_GEMINI || ARCH_RPC + +config DEBUG_UART_8250_FLOW_CONTROL + def_bool y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC + depends on DEBUG_UART_8250 + config DEBUG_UNCOMPRESS bool default y if ARCH_MULTIPLATFORM && DEBUG_LL && \
arch/arm/include/asm/hardware/debug-8250.S +1 -1
@@ -21,7 +21,7 @@ .endm .macro waituart,rd,rx -#ifdef FLOW_CONTROL +#ifdef CONFIG_DEBUG_UART_8250_FLOW_CONTROL 1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT] tst \rd, #UART_MSR_CTS beq 1001b
arch/arm/mach-ebsa110/include/mach/debug-macro.S +0 -1
@@ -18,5 +18,4 @@ .endm #define UART_SHIFT 2 -#define FLOW_CONTROL #include <asm/hardware/debug-8250.S>
arch/arm/mach-footbridge/include/mach/debug-macro.S +0 -1
@@ -23,7 +23,6 @@ .endm #define UART_SHIFT 0 -#define FLOW_CONTROL #include <asm/hardware/debug-8250.S> #else
arch/arm/mach-gemini/include/mach/debug-macro.S +0 -1
@@ -17,5 +17,4 @@ .endm #define UART_SHIFT 2 -#define FLOW_CONTROL #include <asm/hardware/debug-8250.S>
arch/arm/mach-rpc/include/mach/debug-macro.S +0 -1
@@ -19,5 +19,4 @@ .endm #define UART_SHIFT 2 -#define FLOW_CONTROL #include <asm/hardware/debug-8250.S>
Signature · 1 line
1.7.4.4
RFC PATCH 4/9 ARM: debug: provide 8250 debug uart register shift configuration option
In reply to Russell King - ARM LinuxMove the definition of the UART register shift out of the platform specific header file into the Kconfig files.
--- arch/arm/Kconfig.debug | 18 ++++++++++++++++-- arch/arm/include/asm/hardware/debug-8250.S | 4 ++++ arch/arm/include/debug/mvebu.S | 1 - arch/arm/include/debug/nspire.S | 1 - arch/arm/include/debug/pxa.S | 1 - arch/arm/include/debug/rockchip.S | 1 - arch/arm/include/debug/sunxi.S | 1 - arch/arm/mach-dove/include/mach/debug-macro.S | 1 - arch/arm/mach-ebsa110/include/mach/debug-macro.S | 1 - .../arm/mach-footbridge/include/mach/debug-macro.S | 1 - arch/arm/mach-gemini/include/mach/debug-macro.S | 1 - arch/arm/mach-iop13xx/include/mach/debug-macro.S | 1 - arch/arm/mach-iop32x/include/mach/debug-macro.S | 1 - arch/arm/mach-iop33x/include/mach/debug-macro.S | 1 - arch/arm/mach-ixp4xx/include/mach/debug-macro.S | 1 - arch/arm/mach-kirkwood/include/mach/debug-macro.S | 1 - arch/arm/mach-lpc32xx/include/mach/debug-macro.S | 1 - arch/arm/mach-mv78xx0/include/mach/debug-macro.S | 1 - arch/arm/mach-orion5x/include/mach/debug-macro.S | 1 - arch/arm/mach-rpc/include/mach/debug-macro.S | 1 - 20 files changed, 20 insertions(+), 20 deletions(-)
arch/arm/Kconfig.debug +16 -2
@@ -858,8 +858,22 @@ config DEBUG_LL_INCLUDE config DEBUG_UART_8250 def_bool y - depends on ARCH_EBSA110 || (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \ - ARCH_GEMINI || ARCH_RPC + depends on DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE || \ + DEBUG_NSPIRE_CLASSIC_UART || \ + DEBUG_PXA_UART1 || DEBUG_MMP_UART2 || DEBUG_MMP_UART3 || \ + DEBUG_ROCKCHIP_UART || \ + DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 || \ + ARCH_DOVE || ARCH_EBSA110 || \ + (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \ + ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \ + ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \ + ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC + +config DEBUG_UART_8250_SHIFT + int "Register offset shift for the 8250 debug UART" + depends on DEBUG_UART_8250 + default 0 if FOOTBRIDGE || ARCH_IOP32X + default 2 config DEBUG_UART_8250_FLOW_CONTROL def_bool y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
arch/arm/include/asm/hardware/debug-8250.S +4 -0
@@ -9,6 +9,10 @@ */ #include <linux/serial_reg.h> +#ifndef UART_SHIFT +#define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT +#endif + .macro senduart,rd,rx strb \rd, [\rx, #UART_TX << UART_SHIFT] .endm
arch/arm/include/debug/mvebu.S +0 -1
@@ -26,5 +26,4 @@ orr \rv, \rv, #0x00012000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/include/debug/nspire.S +0 -1
@@ -23,6 +23,5 @@ #endif #ifdef CONFIG_DEBUG_NSPIRE_CLASSIC_UART -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S> #endif
arch/arm/include/debug/pxa.S +0 -1
@@ -29,5 +29,4 @@ ldr \rv, =PXA_UART_REG_VIRT_BASE .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/include/debug/rockchip.S +0 -1
@@ -38,5 +38,4 @@ ldr \rv, =ROCKCHIP_UART_DEBUG_VIRT_BASE .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/include/debug/sunxi.S +0 -1
@@ -23,5 +23,4 @@ ldr \rv, =SUNXI_UART_DEBUG_VIRT_BASE .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-dove/include/mach/debug-macro.S +0 -1
@@ -15,5 +15,4 @@ orr \rv, \rv, #0x00012000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-ebsa110/include/mach/debug-macro.S +0 -1
@@ -17,5 +17,4 @@ mov \rp, \rv .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-footbridge/include/mach/debug-macro.S +0 -1
@@ -22,7 +22,6 @@ orr \rp, \rp, #0x7c000000 @ physical .endm -#define UART_SHIFT 0 #include <asm/hardware/debug-8250.S> #else
arch/arm/mach-gemini/include/mach/debug-macro.S +0 -1
@@ -16,5 +16,4 @@ ldr \rv, =IO_ADDRESS(GEMINI_UART_BASE) @ virtual .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-iop13xx/include/mach/debug-macro.S +0 -1
@@ -20,5 +20,4 @@ orr \rp, \rp, #0x00d80000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-iop32x/include/mach/debug-macro.S +0 -1
@@ -17,5 +17,4 @@ mov \rv, \rp .endm -#define UART_SHIFT 0 #include <asm/hardware/debug-8250.S>
arch/arm/mach-iop33x/include/mach/debug-macro.S +0 -1
@@ -18,5 +18,4 @@ orr \rp, #0xff000000 @ physical .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-ixp4xx/include/mach/debug-macro.S +0 -1
@@ -22,5 +22,4 @@ orr \rp, \rp, #0xc8000000 @ physical .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-kirkwood/include/mach/debug-macro.S +0 -1
@@ -15,5 +15,4 @@ orr \rv, \rv, #0x00012000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-lpc32xx/include/mach/debug-macro.S +0 -1
@@ -25,5 +25,4 @@ ldrne \rv, =0xF4090000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-mv78xx0/include/mach/debug-macro.S +0 -1
@@ -15,5 +15,4 @@ orr \rv, \rv, #0x00012000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-orion5x/include/mach/debug-macro.S +0 -1
@@ -17,5 +17,4 @@ orr \rv, \rv, #0x00012000 .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
arch/arm/mach-rpc/include/mach/debug-macro.S +0 -1
@@ -18,5 +18,4 @@ orr \rp, \rp, #0x03000000 @ physical .endm -#define UART_SHIFT 2 #include <asm/hardware/debug-8250.S>
Signature · 1 line
1.7.4.4
RFC PATCH 5/9 ARM: debug: provide 8250 debug uart phys/virt address configuration options
In reply to Russell King - ARM LinuxMove the definition of the UART register addresses out of the platform specific header file into the Kconfig files.
--- arch/arm/Kconfig.debug | 59 ++++++++++++++++++++ arch/arm/include/asm/hardware/debug-8250.S | 7 ++ arch/arm/include/debug/mvebu.S | 16 ----- arch/arm/include/debug/nspire.S | 4 +- arch/arm/include/debug/pxa.S | 19 ------ arch/arm/include/debug/rockchip.S | 29 ---------- arch/arm/include/debug/sunxi.S | 14 ----- arch/arm/mach-dove/include/mach/debug-macro.S | 10 --- arch/arm/mach-ebsa110/include/mach/debug-macro.S | 7 -- .../arm/mach-footbridge/include/mach/debug-macro.S | 9 --- arch/arm/mach-gemini/include/mach/debug-macro.S | 7 -- arch/arm/mach-iop13xx/include/mach/debug-macro.S | 10 --- arch/arm/mach-iop32x/include/mach/debug-macro.S | 7 -- arch/arm/mach-iop33x/include/mach/debug-macro.S | 8 --- arch/arm/mach-ixp4xx/include/mach/debug-macro.S | 13 ---- arch/arm/mach-kirkwood/include/mach/debug-macro.S | 10 --- arch/arm/mach-lpc32xx/include/mach/debug-macro.S | 10 --- arch/arm/mach-mv78xx0/include/mach/debug-macro.S | 10 --- arch/arm/mach-orion5x/include/mach/debug-macro.S | 10 --- arch/arm/mach-rpc/include/mach/debug-macro.S | 8 --- 20 files changed, 67 insertions(+), 200 deletions(-)
arch/arm/Kconfig.debug +59 -0
@@ -869,6 +869,65 @@ config DEBUG_UART_8250 ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \ ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC +config DEBUG_UART_PHYS + hex "Physical base address of debug UART" + default 0x01c28000 if DEBUG_SUNXI_UART0 + default 0x01c28400 if DEBUG_SUNXI_UART1 + default 0x03010fe0 if ARCH_RPC + default 0x10124000 if DEBUG_RK3X_UART0 + default 0x10126000 if DEBUG_RK3X_UART1 + default 0x20060000 if DEBUG_RK29_UART0 + default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 + default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 + default 0x40090000 if ARCH_LPC32XX + default 0x40100000 if DEBUG_PXA_UART1 + default 0x42000000 if ARCH_GEMINI + default 0x7c0003f8 if FOOTBRIDGE + default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART + default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN + default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN + default 0xd0012000 if DEBUG_MVEBU_UART + default 0xd4017000 if DEBUG_MMP_UART2 + default 0xd4018000 if DEBUG_MMP_UART3 + default 0xf0000be0 if ARCH_EBSA110 + default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE + default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \ + ARCH_ORION5X + default 0xfe800000 if ARCH_IOP32X + default 0xffd82340 if ARCH_IOP13XX + default 0xfffff700 if ARCH_IOP33X + depends on DEBUG_UART_8250 + +config DEBUG_UART_VIRT + hex "Virtual base address of debug UART" + default 0xe0010fe0 if ARCH_RPC + default 0xf0000be0 if ARCH_EBSA110 + default 0xf1c28000 if DEBUG_SUNXI_UART0 + default 0xf1c28400 if DEBUG_SUNXI_UART1 + default 0xf2100000 if DEBUG_PXA_UART1 + default 0xf4090000 if ARCH_LPC32XX + default 0xf4200000 if ARCH_GEMINI + default 0xfd012000 if ARCH_MV78XX0 + default 0xfde12000 if ARCH_DOVE + default 0xfe012000 if ARCH_ORION5X + default 0xfe017000 if DEBUG_MMP_UART2 + default 0xfe018000 if DEBUG_MMP_UART3 + default 0xfe800000 if ARCH_IOP32X + default 0xfeb24000 if DEBUG_RK3X_UART0 + default 0xfeb26000 if DEBUG_RK3X_UART1 + default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE + 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 0xfed12000 if ARCH_KIRKWOOD + default 0xfee003f8 if FOOTBRIDGE + default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART + default 0xfee82340 if ARCH_IOP13XX + default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN + default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN + default 0xfefff700 if ARCH_IOP33X + depends on DEBUG_UART_8250 + config DEBUG_UART_8250_SHIFT int "Register offset shift for the 8250 debug UART" depends on DEBUG_UART_8250
arch/arm/include/asm/hardware/debug-8250.S +7 -0
@@ -9,6 +9,13 @@ */ #include <linux/serial_reg.h> +#ifdef CONFIG_DEBUG_UART_PHYS + .macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEBUG_UART_PHYS + ldr \rv, =CONFIG_DEBUG_UART_VIRT + .endm +#endif + #ifndef UART_SHIFT #define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT #endif
arch/arm/include/debug/mvebu.S +0 -16
@@ -10,20 +10,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#ifdef CONFIG_DEBUG_MVEBU_UART_ALTERNATE -#define ARMADA_370_XP_REGS_PHYS_BASE 0xf1000000 -#else -#define ARMADA_370_XP_REGS_PHYS_BASE 0xd0000000 -#endif - -#define ARMADA_370_XP_REGS_VIRT_BASE 0xfec00000 - - .macro addruart, rp, rv, tmp - ldr \rp, =ARMADA_370_XP_REGS_PHYS_BASE - ldr \rv, =ARMADA_370_XP_REGS_VIRT_BASE - orr \rp, \rp, #0x00012000 - orr \rv, \rv, #0x00012000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/include/debug/nspire.S +1 -3
@@ -8,7 +8,7 @@ * published by the Free Software Foundation. * */ - +#ifdef CONFIG_DEBUG_NSPIRE_CX_UART #define NSPIRE_EARLY_UART_PHYS_BASE 0x90020000 #define NSPIRE_EARLY_UART_VIRT_BASE 0xfee20000
@@ -17,8 +17,6 @@ ldr \rv, =(NSPIRE_EARLY_UART_VIRT_BASE) @ virtual base address .endm - -#ifdef CONFIG_DEBUG_NSPIRE_CX_UART #include <asm/hardware/debug-pl01x.S> #endif
arch/arm/include/debug/pxa.S +0 -19
@@ -10,23 +10,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#if defined(CONFIG_DEBUG_PXA_UART1) -#define PXA_UART_REG_PHYS_BASE 0x40100000 -#define PXA_UART_REG_VIRT_BASE 0xf2100000 -#elif defined(CONFIG_DEBUG_MMP_UART2) -#define PXA_UART_REG_PHYS_BASE 0xd4017000 -#define PXA_UART_REG_VIRT_BASE 0xfe017000 -#elif defined(CONFIG_DEBUG_MMP_UART3) -#define PXA_UART_REG_PHYS_BASE 0xd4018000 -#define PXA_UART_REG_VIRT_BASE 0xfe018000 -#else -#error "Select uart for DEBUG_LL" -#endif - - .macro addruart, rp, rv, tmp - ldr \rp, =PXA_UART_REG_PHYS_BASE - ldr \rv, =PXA_UART_REG_VIRT_BASE - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/include/debug/rockchip.S +0 -29
@@ -9,33 +9,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#if defined(CONFIG_DEBUG_RK29_UART0) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x20060000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfed60000 -#elif defined(CONFIG_DEBUG_RK29_UART1) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x20064000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfed64000 -#elif defined(CONFIG_DEBUG_RK29_UART2) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x20068000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfed68000 -#elif defined(CONFIG_DEBUG_RK3X_UART0) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x10124000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfeb24000 -#elif defined(CONFIG_DEBUG_RK3X_UART1) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x10126000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfeb26000 -#elif defined(CONFIG_DEBUG_RK3X_UART2) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x20064000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfed64000 -#elif defined(CONFIG_DEBUG_RK3X_UART3) -#define ROCKCHIP_UART_DEBUG_PHYS_BASE 0x20068000 -#define ROCKCHIP_UART_DEBUG_VIRT_BASE 0xfed68000 -#endif - - .macro addruart, rp, rv, tmp - ldr \rp, =ROCKCHIP_UART_DEBUG_PHYS_BASE - ldr \rv, =ROCKCHIP_UART_DEBUG_VIRT_BASE - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/include/debug/sunxi.S +0 -14
@@ -9,18 +9,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#if defined(CONFIG_DEBUG_SUNXI_UART0) -#define SUNXI_UART_DEBUG_PHYS_BASE 0x01c28000 -#define SUNXI_UART_DEBUG_VIRT_BASE 0xf1c28000 -#elif defined(CONFIG_DEBUG_SUNXI_UART1) -#define SUNXI_UART_DEBUG_PHYS_BASE 0x01c28400 -#define SUNXI_UART_DEBUG_VIRT_BASE 0xf1c28400 -#endif - - .macro addruart, rp, rv, tmp - ldr \rp, =SUNXI_UART_DEBUG_PHYS_BASE - ldr \rv, =SUNXI_UART_DEBUG_VIRT_BASE - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-dove/include/mach/debug-macro.S +0 -10
@@ -5,14 +5,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#include <mach/bridge-regs.h> - - .macro addruart, rp, rv, tmp - ldr \rp, =DOVE_SB_REGS_PHYS_BASE - ldr \rv, =DOVE_SB_REGS_VIRT_BASE - orr \rp, \rp, #0x00012000 - orr \rv, \rv, #0x00012000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-ebsa110/include/mach/debug-macro.S +0 -7
@@ -10,11 +10,4 @@ * published by the Free Software Foundation. * **/ - - .macro addruart, rp, rv, tmp - mov \rp, #0xf0000000 - orr \rp, \rp, #0x00000be0 - mov \rp, \rv - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-footbridge/include/mach/debug-macro.S +0 -9
@@ -14,16 +14,7 @@ #include <asm/hardware/dec21285.h> #ifndef CONFIG_DEBUG_DC21285_PORT - /* For NetWinder debugging */ - .macro addruart, rp, rv, tmp - mov \rp, #0x000003f8 - orr \rv, \rp, #0xfe000000 @ virtual - orr \rv, \rv, #0x00e00000 @ virtual - orr \rp, \rp, #0x7c000000 @ physical - .endm - #include <asm/hardware/debug-8250.S> - #else #include <mach/hardware.h> /* For EBSA285 debugging */
arch/arm/mach-gemini/include/mach/debug-macro.S +0 -7
@@ -9,11 +9,4 @@ * 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 - ldr \rp, =GEMINI_UART_BASE @ physical - ldr \rv, =IO_ADDRESS(GEMINI_UART_BASE) @ virtual - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-iop13xx/include/mach/debug-macro.S +0 -10
@@ -10,14 +10,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - - .macro addruart, rp, rv, tmp - mov \rp, #0x00002300 - orr \rp, \rp, #0x00000040 - orr \rv, \rp, #0xfe000000 @ virtual - orr \rv, \rv, #0x00e80000 - orr \rp, \rp, #0xff000000 @ physical - orr \rp, \rp, #0x00d80000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-iop32x/include/mach/debug-macro.S +0 -7
@@ -10,11 +10,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - - .macro addruart, rp, rv, tmp - mov \rp, #0xfe000000 @ physical as well as virtual - orr \rp, \rp, #0x00800000 @ location of the UART - mov \rv, \rp - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-iop33x/include/mach/debug-macro.S +0 -8
@@ -10,12 +10,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - - .macro addruart, rp, rv, tmp - mov \rp, #0x00ff0000 - orr \rp, \rp, #0x0000f700 - orr \rv, #0xfe000000 @ virtual - orr \rp, #0xff000000 @ physical - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-ixp4xx/include/mach/debug-macro.S +0 -13
@@ -9,17 +9,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - - .macro addruart, rp, rv, tmp -#ifdef __ARMEB__ - mov \rp, #3 @ Uart regs are at off set of 3 if - @ byte writes used - Big Endian. -#else - mov \rp, #0 -#endif - orr \rv, \rp, #0xfe000000 @ virtual - orr \rv, \rv, #0x00f00000 - orr \rp, \rp, #0xc8000000 @ physical - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-kirkwood/include/mach/debug-macro.S +0 -10
@@ -5,14 +5,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#include <mach/bridge-regs.h> - - .macro addruart, rp, rv, tmp - ldr \rp, =KIRKWOOD_REGS_PHYS_BASE - ldr \rv, =KIRKWOOD_REGS_VIRT_BASE - orr \rp, \rp, #0x00012000 - orr \rv, \rv, #0x00012000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-lpc32xx/include/mach/debug-macro.S +0 -10
@@ -15,14 +15,4 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ - -/* - * Debug output is hardcoded to standard UART 5 -*/ - - .macro addruart, rp, rv, tmp - ldreq \rp, =0x40090000 - ldrne \rv, =0xF4090000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-mv78xx0/include/mach/debug-macro.S +0 -10
@@ -5,14 +5,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#include <mach/mv78xx0.h> - - .macro addruart, rp, rv, tmp - ldr \rp, =MV78XX0_REGS_PHYS_BASE - ldr \rv, =MV78XX0_REGS_VIRT_BASE - orr \rp, \rp, #0x00012000 - orr \rv, \rv, #0x00012000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-orion5x/include/mach/debug-macro.S +0 -10
@@ -7,14 +7,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#include <mach/orion5x.h> - - .macro addruart, rp, rv, tmp - ldr \rp, =ORION5X_REGS_PHYS_BASE - ldr \rv, =ORION5X_REGS_VIRT_BASE - orr \rp, \rp, #0x00012000 - orr \rv, \rv, #0x00012000 - .endm - #include <asm/hardware/debug-8250.S>
arch/arm/mach-rpc/include/mach/debug-macro.S +0 -8
@@ -10,12 +10,4 @@ * published by the Free Software Foundation. * */ - - .macro addruart, rp, rv, tmp - mov \rp, #0x00010000 - orr \rp, \rp, #0x00000fe0 - orr \rv, \rp, #0xe0000000 @ virtual - orr \rp, \rp, #0x03000000 @ physical - .endm - #include <asm/hardware/debug-8250.S>
Signature · 1 line
1.7.4.4
RFC PATCH 6/9 ARM: debug: move 8250 debug include into arch/arm/include/debug/
In reply to Russell King - ARM LinuxNow that the 8250 debug include can stand alone without requiring platforms to provide any macros, move it into the debug directory so it can be directly included. This allows us to get rid of a lot of debug-macros include files.
--- arch/arm/Kconfig.debug | 10 +---- arch/arm/include/asm/hardware/debug-8250.S | 40 -------------------- arch/arm/include/debug/8250.S | 36 ++++++++++++++++++ arch/arm/include/debug/mvebu.S | 13 ------ arch/arm/include/debug/nspire.S | 4 -- arch/arm/include/debug/pxa.S | 13 ------ arch/arm/include/debug/rockchip.S | 12 ------ arch/arm/include/debug/sunxi.S | 12 ------ arch/arm/mach-dove/include/mach/debug-macro.S | 8 ---- arch/arm/mach-ebsa110/include/mach/debug-macro.S | 13 ------ .../arm/mach-footbridge/include/mach/debug-macro.S | 4 -- arch/arm/mach-gemini/include/mach/debug-macro.S | 12 ------ arch/arm/mach-iop13xx/include/mach/debug-macro.S | 13 ------ arch/arm/mach-iop32x/include/mach/debug-macro.S | 13 ------ arch/arm/mach-iop33x/include/mach/debug-macro.S | 13 ------ arch/arm/mach-ixp4xx/include/mach/debug-macro.S | 12 ------ arch/arm/mach-kirkwood/include/mach/debug-macro.S | 8 ---- arch/arm/mach-lpc32xx/include/mach/debug-macro.S | 18 --------- arch/arm/mach-mv78xx0/include/mach/debug-macro.S | 8 ---- arch/arm/mach-orion5x/include/mach/debug-macro.S | 10 ----- arch/arm/mach-rpc/include/mach/debug-macro.S | 13 ------ 21 files changed, 38 insertions(+), 247 deletions(-) delete mode 100644 arch/arm/include/asm/hardware/debug-8250.S create mode 100644 arch/arm/include/debug/8250.S delete mode 100644 arch/arm/include/debug/mvebu.S delete mode 100644 arch/arm/include/debug/pxa.S delete mode 100644 arch/arm/include/debug/rockchip.S delete mode 100644 arch/arm/include/debug/sunxi.S delete mode 100644 arch/arm/mach-dove/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-ebsa110/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-gemini/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-iop13xx/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-iop32x/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-iop33x/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-ixp4xx/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-kirkwood/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-lpc32xx/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-mv78xx0/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-orion5x/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-rpc/include/mach/debug-macro.S
arch/arm/Kconfig.debug +2 -8
@@ -815,6 +815,7 @@ config DEBUG_STI_UART config DEBUG_LL_INCLUDE string + default "debug/8250.S" if DEBUG_UART_8250 default "debug/bcm2835.S" if DEBUG_BCM2835 default "debug/cns3xxx.S" if DEBUG_CNS3XXX default "debug/exynos.S" if DEBUG_EXYNOS_UART
@@ -831,21 +832,14 @@ config DEBUG_LL_INCLUDE DEBUG_IMX6SL_UART default "debug/keystone.S" if DEBUG_KEYSTONE_UART0 || \ DEBUG_KEYSTONE_UART1 - default "debug/mvebu.S" if DEBUG_MVEBU_UART || \ - DEBUG_MVEBU_UART_ALTERNATE default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART default "debug/nomadik.S" if DEBUG_NOMADIK_UART - default "debug/nspire.S" if DEBUG_NSPIRE_CX_UART || \ - DEBUG_NSPIRE_CLASSIC_UART + default "debug/nspire.S" if DEBUG_NSPIRE_CX_UART default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART - default "debug/pxa.S" if DEBUG_PXA_UART1 || DEBUG_MMP_UART2 || \ - DEBUG_MMP_UART3 - default "debug/rockchip.S" if DEBUG_ROCKCHIP_UART default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1 default "debug/socfpga.S" if DEBUG_SOCFPGA_UART default "debug/sti.S" if DEBUG_STI_UART - default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 default "debug/tegra.S" if DEBUG_TEGRA_UART default "debug/u300.S" if DEBUG_U300_UART default "debug/ux500.S" if DEBUG_UX500_UART
arch/arm/include/asm/hardware/debug-8250.S deleted +0 -40
@@ -1,40 +0,0 @@ -/* - * arch/arm/include/asm/hardware/debug-8250.S - * - * Copyright (C) 1994-1999 Russell King - * - * 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> - -#ifdef CONFIG_DEBUG_UART_PHYS - .macro addruart, rp, rv, tmp - ldr \rp, =CONFIG_DEBUG_UART_PHYS - ldr \rv, =CONFIG_DEBUG_UART_VIRT - .endm -#endif - -#ifndef UART_SHIFT -#define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT -#endif - - .macro senduart,rd,rx - strb \rd, [\rx, #UART_TX << UART_SHIFT] - .endm - - .macro busyuart,rd,rx -1002: ldrb \rd, [\rx, #UART_LSR << UART_SHIFT] - and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE - teq \rd, #UART_LSR_TEMT | UART_LSR_THRE - bne 1002b - .endm - - .macro waituart,rd,rx -#ifdef CONFIG_DEBUG_UART_8250_FLOW_CONTROL -1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT] - tst \rd, #UART_MSR_CTS - beq 1001b -#endif - .endm
arch/arm/include/debug/8250.S new file +36 -0
@@ -0,0 +1,36 @@ +/* + * arch/arm/include/debug/8250.S + * + * Copyright (C) 1994-1999 Russell King + * + * 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> + + .macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEBUG_UART_PHYS + ldr \rv, =CONFIG_DEBUG_UART_VIRT + .endm + +#define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT + + .macro senduart,rd,rx + strb \rd, [\rx, #UART_TX << UART_SHIFT] + .endm + + .macro busyuart,rd,rx +1002: ldrb \rd, [\rx, #UART_LSR << UART_SHIFT] + and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE + teq \rd, #UART_LSR_TEMT | UART_LSR_THRE + bne 1002b + .endm + + .macro waituart,rd,rx +#ifdef CONFIG_DEBUG_UART_8250_FLOW_CONTROL +1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT] + tst \rd, #UART_MSR_CTS + beq 1001b +#endif + .endm
arch/arm/include/debug/mvebu.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* - * Early serial output macro for Marvell SoC - * - * Copyright (C) 2012 Marvell - * - * Lior Amsalem <[email protected]> - * Gregory Clement <[email protected]> - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/include/debug/nspire.S +0 -4
@@ -19,7 +19,3 @@ #include <asm/hardware/debug-pl01x.S> #endif - -#ifdef CONFIG_DEBUG_NSPIRE_CLASSIC_UART -#include <asm/hardware/debug-8250.S> -#endif
arch/arm/include/debug/pxa.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* - * Early serial output macro for Marvell PXA/MMP SoC - * - * Copyright (C) 1994-1999 Russell King - * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks - * - * Copyright (C) 2013 Haojian Zhuang - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/include/debug/rockchip.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* - * Early serial output macro for Rockchip SoCs - * - * Copyright (C) 2012 Maxime Ripard - * - * Maxime Ripard <[email protected]> - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/include/debug/sunxi.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* - * Early serial output macro for Allwinner A1X SoCs - * - * Copyright (C) 2012 Maxime Ripard - * - * Maxime Ripard <[email protected]> - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/mach-dove/include/mach/debug-macro.S deleted +0 -8
@@ -1,8 +0,0 @@ -/* - * arch/arm/mach-dove/include/mach/debug-macro.S - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/mach-ebsa110/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* arch/arm/mach-ebsa110/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 <asm/hardware/debug-8250.S>
arch/arm/mach-footbridge/include/mach/debug-macro.S +0 -4
@@ -13,9 +13,6 @@ #include <asm/hardware/dec21285.h> -#ifndef CONFIG_DEBUG_DC21285_PORT -#include <asm/hardware/debug-8250.S> -#else #include <mach/hardware.h> /* For EBSA285 debugging */ .equ dc21285_high, ARMCSR_BASE & 0xff000000
@@ -43,4 +40,3 @@ .macro waituart,rd,rx .endm -#endif
arch/arm/mach-gemini/include/mach/debug-macro.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* - * Debugging macro include header - * - * Copyright (C) 1994-1999 Russell King - * Copyright (C) 2001-2006 Storlink, Corp. - * Copyright (C) 2008-2009 Paulius Zaleckas <[email protected]> - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/mach-iop13xx/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* - * arch/arm/mach-iop13xx/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 <asm/hardware/debug-8250.S>
arch/arm/mach-iop32x/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* - * arch/arm/mach-iop32x/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 <asm/hardware/debug-8250.S>
arch/arm/mach-iop33x/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* - * arch/arm/mach-iop33x/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 <asm/hardware/debug-8250.S>
arch/arm/mach-ixp4xx/include/mach/debug-macro.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* arch/arm/mach-ixp4xx/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 <asm/hardware/debug-8250.S>
arch/arm/mach-kirkwood/include/mach/debug-macro.S deleted +0 -8
@@ -1,8 +0,0 @@ -/* - * arch/arm/mach-kirkwood/include/mach/debug-macro.S - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/mach-lpc32xx/include/mach/debug-macro.S deleted +0 -18
@@ -1,18 +0,0 @@ -/* - * arch/arm/mach-lpc32xx/include/mach/debug-macro.S - * - * Author: Kevin Wells <[email protected]> - * - * Copyright (C) 2010 NXP Semiconductors - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ -#include <asm/hardware/debug-8250.S>
arch/arm/mach-mv78xx0/include/mach/debug-macro.S deleted +0 -8
@@ -1,8 +0,0 @@ -/* - * arch/arm/mach-mv78xx0/include/mach/debug-macro.S - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/mach-orion5x/include/mach/debug-macro.S deleted +0 -10
@@ -1,10 +0,0 @@ -/* - * arch/arm/mach-orion5x/include/mach/debug-macro.S - * - * Debugging macro include header - * - * 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 <asm/hardware/debug-8250.S>
arch/arm/mach-rpc/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* arch/arm/mach-rpc/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 <asm/hardware/debug-8250.S>
Signature · 1 line
1.7.4.4
RFC PATCH 7/9 ARM: debug: add support for word accesses to debug/8250.S
In reply to Russell King - ARM LinuxAdd 32-bit word access support to debug/8250.S and convert Picoxcell and SoCFPGA to this.
--- arch/arm/Kconfig.debug | 13 ++++++++++--- arch/arm/include/debug/8250.S | 24 +++++++++++++++++++++--- arch/arm/include/debug/8250_32.S | 27 --------------------------- arch/arm/include/debug/picoxcell.S | 19 ------------------- arch/arm/include/debug/socfpga.S | 21 --------------------- 5 files changed, 31 insertions(+), 73 deletions(-) delete mode 100644 arch/arm/include/debug/8250_32.S delete mode 100644 arch/arm/include/debug/picoxcell.S delete mode 100644 arch/arm/include/debug/socfpga.S
arch/arm/Kconfig.debug +10 -3
@@ -836,9 +836,7 @@ config DEBUG_LL_INCLUDE default "debug/nomadik.S" if DEBUG_NOMADIK_UART default "debug/nspire.S" if DEBUG_NSPIRE_CX_UART default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART - default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1 - default "debug/socfpga.S" if DEBUG_SOCFPGA_UART default "debug/sti.S" if DEBUG_STI_UART default "debug/tegra.S" if DEBUG_TEGRA_UART default "debug/u300.S" if DEBUG_U300_UART
@@ -855,7 +853,8 @@ config DEBUG_UART_8250 depends on DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE || \ DEBUG_NSPIRE_CLASSIC_UART || \ DEBUG_PXA_UART1 || DEBUG_MMP_UART2 || DEBUG_MMP_UART3 || \ - DEBUG_ROCKCHIP_UART || \ + DEBUG_ROCKCHIP_UART || DEBUG_PICOXCELL_UART || \ + DEBUG_SOCFPGA_UART || \ DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 || \ ARCH_DOVE || ARCH_EBSA110 || \ (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
@@ -877,6 +876,7 @@ config DEBUG_UART_PHYS default 0x40100000 if DEBUG_PXA_UART1 default 0x42000000 if ARCH_GEMINI default 0x7c0003f8 if FOOTBRIDGE + default 0x80230000 if DEBUG_PICOXCELL_UART default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
@@ -888,6 +888,7 @@ config DEBUG_UART_PHYS default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \ ARCH_ORION5X default 0xfe800000 if ARCH_IOP32X + default 0xffc02000 if DEBUG_SOCFPGA_UART default 0xffd82340 if ARCH_IOP13XX default 0xfffff700 if ARCH_IOP33X depends on DEBUG_UART_8250
@@ -906,6 +907,7 @@ config DEBUG_UART_VIRT default 0xfe012000 if ARCH_ORION5X default 0xfe017000 if DEBUG_MMP_UART2 default 0xfe018000 if DEBUG_MMP_UART3 + default 0xfe230000 if DEBUG_PICOXCELL_UART default 0xfe800000 if ARCH_IOP32X default 0xfeb24000 if DEBUG_RK3X_UART0 default 0xfeb26000 if DEBUG_RK3X_UART1
@@ -913,6 +915,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 0xfec02000 if DEBUG_SOCFPGA_UART default 0xfed12000 if ARCH_KIRKWOOD default 0xfee003f8 if FOOTBRIDGE default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART
@@ -922,6 +925,10 @@ config DEBUG_UART_VIRT default 0xfefff700 if ARCH_IOP33X depends on DEBUG_UART_8250 +config DEBUG_UART_8250_WORD + def_bool y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART + depends on DEBUG_UART_8250 + config DEBUG_UART_8250_SHIFT int "Register offset shift for the 8250 debug UART" depends on DEBUG_UART_8250
arch/arm/include/debug/8250.S +21 -3
@@ -14,14 +14,32 @@ ldr \rv, =CONFIG_DEBUG_UART_VIRT .endm +#ifdef CONFIG_DEBUG_UART_8250_WORD + .macro store, rd, rx:vararg + str \rd, \rx + .endm + + .macro load, rd, rx:vararg + ldr \rd, \rx + .endm +#else + .macro store, rd, rx:vararg + strb \rd, \rx + .endm + + .macro load, rd, rx:vararg + ldrb \rd, \rx + .endm +#endif + #define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT .macro senduart,rd,rx - strb \rd, [\rx, #UART_TX << UART_SHIFT] + store \rd, [\rx, #UART_TX << UART_SHIFT] .endm .macro busyuart,rd,rx -1002: ldrb \rd, [\rx, #UART_LSR << UART_SHIFT] +1002: load \rd, [\rx, #UART_LSR << UART_SHIFT] and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE teq \rd, #UART_LSR_TEMT | UART_LSR_THRE bne 1002b
@@ -29,7 +47,7 @@ .macro waituart,rd,rx #ifdef CONFIG_DEBUG_UART_8250_FLOW_CONTROL -1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT] +1001: load \rd, [\rx, #UART_MSR << UART_SHIFT] tst \rd, #UART_MSR_CTS beq 1001b #endif
arch/arm/include/debug/8250_32.S deleted +0 -27
@@ -1,27 +0,0 @@ -/* - * Copyright (c) 2011 Picochip Ltd., Jamie Iles - * - * 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. - * - * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit - * accesses to the 8250. - */ - -#include <linux/serial_reg.h> - - .macro senduart,rd,rx - str \rd, [\rx, #UART_TX << UART_SHIFT] - .endm - - .macro busyuart,rd,rx -1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT] - and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE - teq \rd, #UART_LSR_TEMT | UART_LSR_THRE - bne 1002b - .endm - - /* The UART's don't have any flow control IO's wired up. */ - .macro waituart,rd,rx - .endm
arch/arm/include/debug/picoxcell.S deleted +0 -19
@@ -1,19 +0,0 @@ -/* - * Copyright (c) 2011 Picochip Ltd., Jamie Iles - * - * 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 UART_SHIFT 2 -#define PICOXCELL_UART1_BASE 0x80230000 -#define PHYS_TO_IO(x) (((x) & 0x00ffffff) | 0xfe000000) - - .macro addruart, rp, rv, tmp - ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE) - ldr \rp, =PICOXCELL_UART1_BASE - .endm - -#include "8250_32.S"
arch/arm/include/debug/socfpga.S deleted +0 -21
@@ -1,21 +0,0 @@ -/* - * 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 UART_SHIFT 2 -#define DEBUG_LL_UART_OFFSET 0x00002000 - - .macro addruart, rp, rv, tmp - mov \rp, #DEBUG_LL_UART_OFFSET - orr \rp, \rp, #0x00c00000 - orr \rv, \rp, #0xfe000000 @ virtual base - orr \rp, \rp, #0xff000000 @ physical base - .endm - -#include "8250_32.S" -
Signature · 1 line
1.7.4.4
RFC PATCH 8/9 ARM: debug: provide PL01x debug uart phys/virt address configuration options
In reply to Russell King - ARM LinuxMove the definition of the UART register addresses out of the platform specific header files into the Kconfig files.
--- arch/arm/Kconfig.debug | 53 ++++++++++++++++++-- arch/arm/include/asm/hardware/debug-pl01x.S | 7 +++ arch/arm/include/debug/bcm2835.S | 9 --- arch/arm/include/debug/cns3xxx.S | 7 --- arch/arm/include/debug/highbank.S | 6 -- arch/arm/include/debug/mxs.S | 14 ----- arch/arm/include/debug/nomadik.S | 8 --- arch/arm/include/debug/nspire.S | 10 ---- arch/arm/include/debug/u300.S | 11 ---- arch/arm/include/debug/vexpress.S | 46 ----------------- arch/arm/mach-ep93xx/include/mach/debug-macro.S | 9 --- .../arm/mach-integrator/include/mach/debug-macro.S | 7 --- arch/arm/mach-realview/include/mach/debug-macro.S | 17 ------ arch/arm/mach-versatile/include/mach/debug-macro.S | 8 --- 14 files changed, 56 insertions(+), 156 deletions(-)
arch/arm/Kconfig.debug +49 -4
@@ -848,6 +848,23 @@ config DEBUG_LL_INCLUDE default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 default "mach/debug-macro.S" +config DEBUG_UART_PL01X + def_bool y + depends on \ + DEBUG_BCM2835 || \ + DEBUG_CNS3XXX || \ + DEBUG_HIGHBANK_UART || \ + DEBUG_IMX23_UART || DEBUG_IMX28_UART || \ + DEBUG_NOMADIK_UART || \ + DEBUG_NSPIRE_CX_UART || \ + DEBUG_REALVIEW_STD_PORT || DEBUG_REALVIEW_PB1176_PORT || \ + DEBUG_U300_UART || \ + DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 || \ + DEBUG_VEXPRESS_UART0_CRX || \ + ARCH_EP93XX || \ + ARCH_INTEGRATOR || \ + ARCH_VERSATILE + config DEBUG_UART_8250 def_bool y depends on DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE || \
@@ -867,17 +884,30 @@ config DEBUG_UART_PHYS default 0x01c28000 if DEBUG_SUNXI_UART0 default 0x01c28400 if DEBUG_SUNXI_UART1 default 0x03010fe0 if ARCH_RPC + default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \ + DEBUG_VEXPRESS_UART0_CA9 + 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 0x101fb000 if DEBUG_NOMADIK_UART + default 0x16000000 if ARCH_INTEGRATOR + default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1 default 0x20060000 if DEBUG_RK29_UART0 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 + default 0x20201000 if DEBUG_BCM2835 default 0x40090000 if ARCH_LPC32XX default 0x40100000 if DEBUG_PXA_UART1 default 0x42000000 if ARCH_GEMINI default 0x7c0003f8 if FOOTBRIDGE default 0x80230000 if DEBUG_PICOXCELL_UART - default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART + default 0x80070000 if DEBUG_IMX23_UART + default 0x80074000 if DEBUG_IMX28_UART + default 0x808c0000 if ARCH_EP93XX + default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_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 0xd0012000 if DEBUG_MVEBU_UART
@@ -890,23 +920,34 @@ config DEBUG_UART_PHYS default 0xfe800000 if ARCH_IOP32X default 0xffc02000 if DEBUG_SOCFPGA_UART default 0xffd82340 if ARCH_IOP13XX + default 0xfff36000 if DEBUG_HIGHBANK_UART default 0xfffff700 if ARCH_IOP33X - depends on DEBUG_UART_8250 + depends on DEBUG_UART_8250 || DEBUG_UART_PL01X config DEBUG_UART_VIRT hex "Virtual base address of debug UART" default 0xe0010fe0 if ARCH_RPC default 0xf0000be0 if ARCH_EBSA110 + default 0xf0009000 if DEBUG_CNS3XXX + default 0xf01fb000 if DEBUG_NOMADIK_UART + default 0xf0201000 if DEBUG_BCM2835 + default 0xf11f1000 if ARCH_VERSATILE + default 0xf1600000 if ARCH_INTEGRATOR default 0xf1c28000 if DEBUG_SUNXI_UART0 default 0xf1c28400 if DEBUG_SUNXI_UART1 default 0xf2100000 if DEBUG_PXA_UART1 default 0xf4090000 if ARCH_LPC32XX default 0xf4200000 if ARCH_GEMINI + default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9 + default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1 + default 0xfb009000 if DEBUG_REALVIEW_STD_PORT + default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT default 0xfd012000 if ARCH_MV78XX0 default 0xfde12000 if ARCH_DOVE default 0xfe012000 if ARCH_ORION5X default 0xfe017000 if DEBUG_MMP_UART2 default 0xfe018000 if DEBUG_MMP_UART3 + default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART default 0xfe230000 if DEBUG_PICOXCELL_UART default 0xfe800000 if ARCH_IOP32X default 0xfeb24000 if DEBUG_RK3X_UART0
@@ -917,13 +958,17 @@ config DEBUG_UART_VIRT default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 default 0xfec02000 if DEBUG_SOCFPGA_UART default 0xfed12000 if ARCH_KIRKWOOD + default 0xfedc0000 if ARCH_EP93XX default 0xfee003f8 if FOOTBRIDGE - default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART + default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART + default 0xfee36000 if DEBUG_HIGHBANK_UART default 0xfee82340 if ARCH_IOP13XX default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN default 0xfefff700 if ARCH_IOP33X - depends on DEBUG_UART_8250 + default 0xff003000 if DEBUG_U300_UART + default DEBUG_UART_PHYS if !MMU + depends on DEBUG_UART_8250 || DEBUG_UART_PL01X config DEBUG_UART_8250_WORD def_bool y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART
arch/arm/include/asm/hardware/debug-pl01x.S +7 -0
@@ -12,6 +12,13 @@ */ #include <linux/amba/serial.h> +#ifdef CONFIG_DEBUG_UART_PHYS + .macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEBUG_UART_PHYS + ldr \rv, =CONFIG_DEBUG_UART_VIRT + .endm +#endif + .macro senduart,rd,rx strb \rd, [\rx, #UART01x_DR] .endm
arch/arm/include/debug/bcm2835.S +0 -9
@@ -10,13 +10,4 @@ * published by the Free Software Foundation. * */ - -#define BCM2835_DEBUG_PHYS 0x20201000 -#define BCM2835_DEBUG_VIRT 0xf0201000 - - .macro addruart, rp, rv, tmp - ldr \rp, =BCM2835_DEBUG_PHYS - ldr \rv, =BCM2835_DEBUG_VIRT - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/cns3xxx.S +0 -7
@@ -9,11 +9,4 @@ * it under the terms of the GNU General Public License, Version 2, as * published by the Free Software Foundation. */ - - .macro addruart,rp,rv,tmp - mov \rp, #0x00009000 - orr \rv, \rp, #0xf0000000 @ virtual base - orr \rp, \rp, #0x10000000 - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/highbank.S +0 -6
@@ -8,10 +8,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - - .macro addruart,rp,rv,tmp - ldr \rv, =0xfee36000 - ldr \rp, =0xfff36000 - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/mxs.S +0 -14
@@ -10,18 +10,4 @@ * published by the Free Software Foundation. * */ - -#ifdef CONFIG_DEBUG_IMX23_UART -#define UART_PADDR 0x80070000 -#elif defined (CONFIG_DEBUG_IMX28_UART) -#define UART_PADDR 0x80074000 -#endif - -#define UART_VADDR 0xfe100000 - - .macro addruart, rp, rv, tmp - ldr \rp, =UART_PADDR @ physical - ldr \rv, =UART_VADDR @ virtual - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/nomadik.S +0 -8
@@ -9,12 +9,4 @@ * published by the Free Software Foundation. * */ - - .macro addruart, rp, rv, tmp - mov \rp, #0x00100000 - add \rp, \rp, #0x000fb000 - add \rv, \rp, #0xf0000000 @ virtual base - add \rp, \rp, #0x10000000 @ physical base address - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/nspire.S +0 -10
@@ -8,14 +8,4 @@ * published by the Free Software Foundation. * */ -#ifdef CONFIG_DEBUG_NSPIRE_CX_UART -#define NSPIRE_EARLY_UART_PHYS_BASE 0x90020000 -#define NSPIRE_EARLY_UART_VIRT_BASE 0xfee20000 - -.macro addruart, rp, rv, tmp - ldr \rp, =(NSPIRE_EARLY_UART_PHYS_BASE) @ physical base address - ldr \rv, =(NSPIRE_EARLY_UART_VIRT_BASE) @ virtual base address -.endm - #include <asm/hardware/debug-pl01x.S> -#endif
arch/arm/include/debug/u300.S +0 -11
@@ -4,15 +4,4 @@ * Debugging macro include header. * Author: Linus Walleij <[email protected]> */ -#define U300_SLOW_PER_PHYS_BASE 0xc0010000 -#define U300_SLOW_PER_VIRT_BASE 0xff000000 - - .macro addruart, rp, rv, tmp - /* If we move the address using MMU, use this. */ - ldr \rp, = U300_SLOW_PER_PHYS_BASE @ MMU off, physical address - ldr \rv, = U300_SLOW_PER_VIRT_BASE @ MMU on, virtual address - orr \rp, \rp, #0x00003000 - orr \rv, \rv, #0x00003000 - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/vexpress.S +0 -46
50 lines not on this page · raw message
arch/arm/mach-ep93xx/include/mach/debug-macro.S +0 -9
@@ -9,13 +9,4 @@ * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. */ -#include <mach/ep93xx-regs.h> - - .macro addruart, rp, rv, tmp - ldr \rp, =EP93XX_APB_PHYS_BASE @ Physical base - ldr \rv, =EP93XX_APB_VIRT_BASE @ virtual base - orr \rp, \rp, #0x000c0000 - orr \rv, \rv, #0x000c0000 - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-integrator/include/mach/debug-macro.S +0 -7
@@ -10,11 +10,4 @@ * published by the Free Software Foundation. * */ - - .macro addruart, rp, rv, tmp - mov \rp, #0x16000000 @ physical base address - mov \rv, #0xf0000000 @ virtual base - add \rv, \rv, #0x16000000 >> 4 - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-realview/include/mach/debug-macro.S +0 -17
@@ -9,21 +9,4 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#ifdef CONFIG_DEBUG_REALVIEW_STD_PORT -#define DEBUG_LL_UART_OFFSET 0x00009000 -#elif defined(CONFIG_DEBUG_REALVIEW_PB1176_PORT) -#define DEBUG_LL_UART_OFFSET 0x0010c000 -#endif - -#ifndef DEBUG_LL_UART_OFFSET -#error "Unknown RealView platform" -#endif - - .macro addruart, rp, rv, tmp - mov \rp, #DEBUG_LL_UART_OFFSET - orr \rv, \rp, #0xfb000000 @ virtual base - orr \rp, \rp, #0x10000000 @ physical base - .endm - #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-versatile/include/mach/debug-macro.S +0 -8
@@ -10,12 +10,4 @@ * published by the Free Software Foundation. * */ - - .macro addruart, rp, rv, tmp - mov \rp, #0x001F0000 - orr \rp, \rp, #0x00001000 - orr \rv, \rp, #0xf1000000 @ virtual base - orr \rp, \rp, #0x10000000 @ physical base - .endm - #include <asm/hardware/debug-pl01x.S>
Signature · 1 line
1.7.4.4
RFC PATCH 9/9 ARM: debug: move PL01X debug include into arch/arm/include/debug/
In reply to Russell King - ARM LinuxNow that the PL01X debug include can mostly stand alone without requiring platforms to provide any macros, move it into the debug directory so it can be directly included. This allows us to get rid of a lot of debug-macros include files.
The autodetect case for Versatile Express and the ux500 are left alone; these are more complicated implementations.
--- arch/arm/Kconfig.debug | 12 +----- arch/arm/include/asm/hardware/debug-pl01x.S | 36 -------------------- arch/arm/include/debug/bcm2835.S | 13 ------- arch/arm/include/debug/cns3xxx.S | 12 ------ arch/arm/include/debug/highbank.S | 11 ------ arch/arm/include/debug/mxs.S | 13 ------- arch/arm/include/debug/nomadik.S | 12 ------ arch/arm/include/debug/nspire.S | 11 ------ arch/arm/include/debug/pl01x.S | 36 ++++++++++++++++++++ arch/arm/include/debug/u300.S | 7 ---- arch/arm/include/debug/ux500.S | 2 +- arch/arm/include/debug/vexpress.S | 2 +- arch/arm/mach-ep93xx/include/mach/debug-macro.S | 12 ------ .../arm/mach-integrator/include/mach/debug-macro.S | 13 ------- arch/arm/mach-realview/include/mach/debug-macro.S | 12 ------ arch/arm/mach-versatile/include/mach/debug-macro.S | 13 ------- 16 files changed, 40 insertions(+), 177 deletions(-) delete mode 100644 arch/arm/include/asm/hardware/debug-pl01x.S delete mode 100644 arch/arm/include/debug/bcm2835.S delete mode 100644 arch/arm/include/debug/cns3xxx.S delete mode 100644 arch/arm/include/debug/highbank.S delete mode 100644 arch/arm/include/debug/mxs.S delete mode 100644 arch/arm/include/debug/nomadik.S delete mode 100644 arch/arm/include/debug/nspire.S create mode 100644 arch/arm/include/debug/pl01x.S delete mode 100644 arch/arm/include/debug/u300.S delete mode 100644 arch/arm/mach-ep93xx/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-integrator/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-realview/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-versatile/include/mach/debug-macro.S
arch/arm/Kconfig.debug +2 -10
@@ -816,10 +816,8 @@ config DEBUG_STI_UART config DEBUG_LL_INCLUDE string default "debug/8250.S" if DEBUG_UART_8250 - default "debug/bcm2835.S" if DEBUG_BCM2835 - default "debug/cns3xxx.S" if DEBUG_CNS3XXX + default "debug/pl01x.S" if DEBUG_UART_PL01X default "debug/exynos.S" if DEBUG_EXYNOS_UART - default "debug/highbank.S" if DEBUG_HIGHBANK_UART default "debug/icedcc.S" if DEBUG_ICEDCC default "debug/imx.S" if DEBUG_IMX1_UART || \ DEBUG_IMX25_UART || \
@@ -832,18 +830,12 @@ config DEBUG_LL_INCLUDE DEBUG_IMX6SL_UART default "debug/keystone.S" if DEBUG_KEYSTONE_UART0 || \ DEBUG_KEYSTONE_UART1 - default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART - default "debug/nomadik.S" if DEBUG_NOMADIK_UART - default "debug/nspire.S" if DEBUG_NSPIRE_CX_UART default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_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 - default "debug/u300.S" if DEBUG_U300_UART default "debug/ux500.S" if DEBUG_UX500_UART - default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ - DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 || \ - DEBUG_VEXPRESS_UART0_CRX + default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT default "debug/vt8500.S" if DEBUG_VT8500_UART0 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 default "mach/debug-macro.S"
arch/arm/include/asm/hardware/debug-pl01x.S deleted +0 -36
@@ -1,36 +0,0 @@ -/* arch/arm/include/asm/hardware/debug-pl01x.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/amba/serial.h> - -#ifdef CONFIG_DEBUG_UART_PHYS - .macro addruart, rp, rv, tmp - ldr \rp, =CONFIG_DEBUG_UART_PHYS - ldr \rv, =CONFIG_DEBUG_UART_VIRT - .endm -#endif - - .macro senduart,rd,rx - strb \rd, [\rx, #UART01x_DR] - .endm - - .macro waituart,rd,rx -1001: ldr \rd, [\rx, #UART01x_FR] - tst \rd, #UART01x_FR_TXFF - bne 1001b - .endm - - .macro busyuart,rd,rx -1001: ldr \rd, [\rx, #UART01x_FR] - tst \rd, #UART01x_FR_BUSY - bne 1001b - .endm
arch/arm/include/debug/bcm2835.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* - * Debugging macro include header - * - * Copyright (C) 2010 Broadcom - * 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 <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/cns3xxx.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* - * Debugging macro include header - * - * Copyright 1994-1999 Russell King - * Copyright 2008 Cavium Networks - * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks - * - * This file 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 <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/highbank.S deleted +0 -11
@@ -1,11 +0,0 @@ -/* - * 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 <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/mxs.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* arch/arm/mach-mxs/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 <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/nomadik.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* - * 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 <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/nspire.S deleted +0 -11
@@ -1,11 +0,0 @@ -/* - * linux/arch/arm/include/debug/nspire.S - * - * Copyright (C) 2013 Daniel Tang <[email protected]> - * - * 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 <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/pl01x.S new file +36 -0
@@ -0,0 +1,36 @@ +/* arch/arm/include/debug/pl01x.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/amba/serial.h> + +#ifdef CONFIG_DEBUG_UART_PHYS + .macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEBUG_UART_PHYS + ldr \rv, =CONFIG_DEBUG_UART_VIRT + .endm +#endif + + .macro senduart,rd,rx + strb \rd, [\rx, #UART01x_DR] + .endm + + .macro waituart,rd,rx +1001: ldr \rd, [\rx, #UART01x_FR] + tst \rd, #UART01x_FR_TXFF + bne 1001b + .endm + + .macro busyuart,rd,rx +1001: ldr \rd, [\rx, #UART01x_FR] + tst \rd, #UART01x_FR_BUSY + bne 1001b + .endm
arch/arm/include/debug/u300.S deleted +0 -7
@@ -1,7 +0,0 @@ -/* - * Copyright (C) 2006-2013 ST-Ericsson AB - * License terms: GNU General Public License (GPL) version 2 - * Debugging macro include header. - * Author: Linus Walleij <[email protected]> - */ -#include <asm/hardware/debug-pl01x.S>
arch/arm/include/debug/ux500.S +1 -1
@@ -45,4 +45,4 @@ ldr \rv, =UART_VIRT_BASE @ yes, virtual address .endm -#include <asm/hardware/debug-pl01x.S> +#include <debug/pl01x.S>
arch/arm/include/debug/vexpress.S +1 -1
@@ -47,5 +47,5 @@ .endm -#include <asm/hardware/debug-pl01x.S> +#include <debug/pl01x.S> #endif
arch/arm/mach-ep93xx/include/mach/debug-macro.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* - * arch/arm/mach-ep93xx/include/mach/debug-macro.S - * Debugging macro include header - * - * Copyright (C) 2006 Lennert Buytenhek <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or (at - * your option) any later version. - */ -#include <asm/hardware/debug-pl01x.S>
arch/arm/mach-integrator/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* arch/arm/mach-integrator/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 <asm/hardware/debug-pl01x.S>
arch/arm/mach-realview/include/mach/debug-macro.S deleted +0 -12
@@ -1,12 +0,0 @@ -/* arch/arm/mach-realview/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 <asm/hardware/debug-pl01x.S>
arch/arm/mach-versatile/include/mach/debug-macro.S deleted +0 -13
@@ -1,13 +0,0 @@ -/* arch/arm/mach-versatile/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 <asm/hardware/debug-pl01x.S>
Signature · 1 line
1.7.4.4
RFC PATCH 9/9 ARM: debug: move PL01X debug include into arch/arm/include/debug/
Quoted 9 lines · Russell King
Now that the PL01X debug include can mostly stand alone without requiring platforms to provide any macros, move it into the debug directory so it can be directly included. This allows us to get rid of a lot of debug-macros include files.
The autodetect case for Versatile Express and the ux500 are left alone; these are more complicated implementations.
Signed-off-by Russell King <[email protected]>
Certainly a move in the right direction. For highbank:
cover Clean up debugging support
In reply to Russell King - ARM LinuxQuoted 6 lines · Russell King - ARM Linux
This patch series cleans up some aspects of the LL debug support by:
- Removing the multi-level choice madness
- Consolidating the 8250 debug UART support
- Consolidating the PL01x debug UART support
Quoted 8 lines
The differences between the various 8250 debug UART implementations are:
- Physical/Virtual addresses
- Register offset shift
- Access size
- Flow controlarch/arm/mach-ep93xx/include/mach/debug-macro.S | 21 -
For ep93xx bits: