ARM: S3C24XX: trim down debug uart handling
Using the lowlevel debug uart is a corner case - even more so in a multiplatform environment. So it seems reasonable to simply let the developer set the appropriate uart type for the debugged SoC. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
46f34abc75
commit
daf67dfc59
|
@ -670,6 +670,33 @@ choice
|
|||
The uncompressor code port configuration is now handled
|
||||
by CONFIG_S3C_LOWLEVEL_UART_PORT.
|
||||
|
||||
config DEBUG_S3C2410_UART0
|
||||
depends on ARCH_S3C24XX
|
||||
select DEBUG_S3C2410_UART
|
||||
bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART 0. The port must have been initialised
|
||||
by the boot-loader before use.
|
||||
|
||||
config DEBUG_S3C2410_UART1
|
||||
depends on ARCH_S3C24XX
|
||||
select DEBUG_S3C2410_UART
|
||||
bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART 1. The port must have been initialised
|
||||
by the boot-loader before use.
|
||||
|
||||
config DEBUG_S3C2410_UART2
|
||||
depends on ARCH_S3C24XX
|
||||
select DEBUG_S3C2410_UART
|
||||
bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART 2. The port must have been initialised
|
||||
by the boot-loader before use.
|
||||
|
||||
config DEBUG_SOCFPGA_UART
|
||||
depends on ARCH_SOCFPGA
|
||||
bool "Use SOCFPGA UART for low-level debug"
|
||||
|
@ -921,6 +948,9 @@ endchoice
|
|||
config DEBUG_EXYNOS_UART
|
||||
bool
|
||||
|
||||
config DEBUG_S3C2410_UART
|
||||
bool
|
||||
|
||||
config DEBUG_OMAP2PLUS_UART
|
||||
bool
|
||||
depends on ARCH_OMAP2PLUS
|
||||
|
|
|
@ -39,7 +39,6 @@ config CPU_S3C2410
|
|||
default y
|
||||
select COMMON_CLK
|
||||
select CPU_ARM920T
|
||||
select CPU_LLSERIAL_S3C2410
|
||||
select S3C2410_COMMON_CLK
|
||||
select S3C2410_DMA if S3C24XX_DMA
|
||||
select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
|
||||
|
@ -53,7 +52,6 @@ config CPU_S3C2412
|
|||
bool "SAMSUNG S3C2412"
|
||||
select COMMON_CLK
|
||||
select CPU_ARM926T
|
||||
select CPU_LLSERIAL_S3C2440
|
||||
select S3C2412_COMMON_CLK
|
||||
select S3C2412_DMA if S3C24XX_DMA
|
||||
select S3C2412_PM if PM
|
||||
|
@ -64,7 +62,6 @@ config CPU_S3C2416
|
|||
bool "SAMSUNG S3C2416/S3C2450"
|
||||
select COMMON_CLK
|
||||
select CPU_ARM926T
|
||||
select CPU_LLSERIAL_S3C2440
|
||||
select S3C2416_PM if PM
|
||||
select S3C2443_COMMON_CLK
|
||||
select S3C2443_DMA if S3C24XX_DMA
|
||||
|
@ -75,7 +72,6 @@ config CPU_S3C2440
|
|||
bool "SAMSUNG S3C2440"
|
||||
select COMMON_CLK
|
||||
select CPU_ARM920T
|
||||
select CPU_LLSERIAL_S3C2440
|
||||
select S3C2410_COMMON_CLK
|
||||
select S3C2410_PM if PM
|
||||
select S3C2440_DMA if S3C24XX_DMA
|
||||
|
@ -86,7 +82,6 @@ config CPU_S3C2442
|
|||
bool "SAMSUNG S3C2442"
|
||||
select COMMON_CLK
|
||||
select CPU_ARM920T
|
||||
select CPU_LLSERIAL_S3C2440
|
||||
select S3C2410_COMMON_CLK
|
||||
select S3C2410_DMA if S3C24XX_DMA
|
||||
select S3C2410_PM if PM
|
||||
|
@ -102,7 +97,6 @@ config CPU_S3C2443
|
|||
bool "SAMSUNG S3C2443"
|
||||
select COMMON_CLK
|
||||
select CPU_ARM920T
|
||||
select CPU_LLSERIAL_S3C2440
|
||||
select S3C2443_COMMON_CLK
|
||||
select S3C2443_DMA if S3C24XX_DMA
|
||||
help
|
||||
|
@ -164,28 +158,6 @@ config S3C2410_PM
|
|||
help
|
||||
Power Management code common to S3C2410 and better
|
||||
|
||||
# low-level serial option nodes
|
||||
|
||||
config CPU_LLSERIAL_S3C2410_ONLY
|
||||
bool
|
||||
default y if CPU_LLSERIAL_S3C2410 && !CPU_LLSERIAL_S3C2440
|
||||
|
||||
config CPU_LLSERIAL_S3C2440_ONLY
|
||||
bool
|
||||
default y if CPU_LLSERIAL_S3C2440 && !CPU_LLSERIAL_S3C2410
|
||||
|
||||
config CPU_LLSERIAL_S3C2410
|
||||
bool
|
||||
help
|
||||
Selected if there is an S3C2410 (or register compatible) serial
|
||||
low-level implementation needed
|
||||
|
||||
config CPU_LLSERIAL_S3C2440
|
||||
bool
|
||||
help
|
||||
Selected if there is an S3C2440 (or register compatible) serial
|
||||
low-level implementation needed
|
||||
|
||||
config S3C24XX_PLL
|
||||
bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
|
||||
depends on ARM_S3C24XX_CPUFREQ
|
||||
|
|
|
@ -13,11 +13,9 @@
|
|||
*/
|
||||
|
||||
#include <mach/map.h>
|
||||
#include <mach/regs-gpio.h>
|
||||
#include <linux/serial_s3c.h>
|
||||
|
||||
#define S3C2410_UART1_OFF (0x4000)
|
||||
#define SHIFT_2440TXF (14-9)
|
||||
|
||||
.macro addruart, rp, rv, tmp
|
||||
ldr \rp, = S3C24XX_PA_UART
|
||||
|
@ -28,56 +26,11 @@
|
|||
#endif
|
||||
.endm
|
||||
|
||||
.macro fifo_full_s3c24xx rd, rx
|
||||
@ check for arm920 vs arm926. currently assume all arm926
|
||||
@ devices have an 64 byte FIFO identical to the s3c2440
|
||||
mrc p15, 0, \rd, c0, c0
|
||||
and \rd, \rd, #0xff0
|
||||
teq \rd, #0x260
|
||||
beq 1004f
|
||||
mrc p15, 0, \rd, c1, c0
|
||||
tst \rd, #1
|
||||
addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART)
|
||||
addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART)
|
||||
bic \rd, \rd, #0xff000
|
||||
ldr \rd, [\rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0)]
|
||||
and \rd, \rd, #0x00ff0000
|
||||
teq \rd, #0x00440000 @ is it 2440?
|
||||
1004:
|
||||
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
||||
moveq \rd, \rd, lsr #SHIFT_2440TXF
|
||||
tst \rd, #S3C2410_UFSTAT_TXFULL
|
||||
.endm
|
||||
|
||||
.macro fifo_full_s3c2410 rd, rx
|
||||
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
||||
tst \rd, #S3C2410_UFSTAT_TXFULL
|
||||
.endm
|
||||
|
||||
/* fifo level reading */
|
||||
|
||||
.macro fifo_level_s3c24xx rd, rx
|
||||
@ check for arm920 vs arm926. currently assume all arm926
|
||||
@ devices have an 64 byte FIFO identical to the s3c2440
|
||||
mrc p15, 0, \rd, c0, c0
|
||||
and \rd, \rd, #0xff0
|
||||
teq \rd, #0x260
|
||||
beq 10000f
|
||||
mrc p15, 0, \rd, c1, c0
|
||||
tst \rd, #1
|
||||
addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART)
|
||||
addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART)
|
||||
bic \rd, \rd, #0xff000
|
||||
ldr \rd, [\rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0)]
|
||||
and \rd, \rd, #0x00ff0000
|
||||
teq \rd, #0x00440000 @ is it 2440?
|
||||
|
||||
10000:
|
||||
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
||||
andne \rd, \rd, #S3C2410_UFSTAT_TXMASK
|
||||
andeq \rd, \rd, #S3C2440_UFSTAT_TXMASK
|
||||
.endm
|
||||
|
||||
.macro fifo_level_s3c2410 rd, rx
|
||||
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
||||
and \rd, \rd, #S3C2410_UFSTAT_TXMASK
|
||||
|
@ -88,12 +41,9 @@
|
|||
* used variants of these
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_CPU_LLSERIAL_S3C2410_ONLY)
|
||||
#if defined(CONFIG_DEBUG_S3C2410_UART)
|
||||
#define fifo_full fifo_full_s3c2410
|
||||
#define fifo_level fifo_level_s3c2410
|
||||
#elif !defined(CONFIG_CPU_LLSERIAL_S3C2440_ONLY)
|
||||
#define fifo_full fifo_full_s3c24xx
|
||||
#define fifo_level fifo_level_s3c24xx
|
||||
#endif
|
||||
|
||||
/* include the reset of the code which will do the work */
|
||||
|
|
Loading…
Reference in New Issue