Commit daf67dfc authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Kukjin Kim

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: default avatarHeiko Stuebner <heiko@sntech.de>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 46f34abc
...@@ -670,6 +670,33 @@ choice ...@@ -670,6 +670,33 @@ choice
The uncompressor code port configuration is now handled The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT. 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 config DEBUG_SOCFPGA_UART
depends on ARCH_SOCFPGA depends on ARCH_SOCFPGA
bool "Use SOCFPGA UART for low-level debug" bool "Use SOCFPGA UART for low-level debug"
...@@ -921,6 +948,9 @@ endchoice ...@@ -921,6 +948,9 @@ endchoice
config DEBUG_EXYNOS_UART config DEBUG_EXYNOS_UART
bool bool
config DEBUG_S3C2410_UART
bool
config DEBUG_OMAP2PLUS_UART config DEBUG_OMAP2PLUS_UART
bool bool
depends on ARCH_OMAP2PLUS depends on ARCH_OMAP2PLUS
......
...@@ -39,7 +39,6 @@ config CPU_S3C2410 ...@@ -39,7 +39,6 @@ config CPU_S3C2410
default y default y
select COMMON_CLK select COMMON_CLK
select CPU_ARM920T select CPU_ARM920T
select CPU_LLSERIAL_S3C2410
select S3C2410_COMMON_CLK select S3C2410_COMMON_CLK
select S3C2410_DMA if S3C24XX_DMA select S3C2410_DMA if S3C24XX_DMA
select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
...@@ -53,7 +52,6 @@ config CPU_S3C2412 ...@@ -53,7 +52,6 @@ config CPU_S3C2412
bool "SAMSUNG S3C2412" bool "SAMSUNG S3C2412"
select COMMON_CLK select COMMON_CLK
select CPU_ARM926T select CPU_ARM926T
select CPU_LLSERIAL_S3C2440
select S3C2412_COMMON_CLK select S3C2412_COMMON_CLK
select S3C2412_DMA if S3C24XX_DMA select S3C2412_DMA if S3C24XX_DMA
select S3C2412_PM if PM select S3C2412_PM if PM
...@@ -64,7 +62,6 @@ config CPU_S3C2416 ...@@ -64,7 +62,6 @@ config CPU_S3C2416
bool "SAMSUNG S3C2416/S3C2450" bool "SAMSUNG S3C2416/S3C2450"
select COMMON_CLK select COMMON_CLK
select CPU_ARM926T select CPU_ARM926T
select CPU_LLSERIAL_S3C2440
select S3C2416_PM if PM select S3C2416_PM if PM
select S3C2443_COMMON_CLK select S3C2443_COMMON_CLK
select S3C2443_DMA if S3C24XX_DMA select S3C2443_DMA if S3C24XX_DMA
...@@ -75,7 +72,6 @@ config CPU_S3C2440 ...@@ -75,7 +72,6 @@ config CPU_S3C2440
bool "SAMSUNG S3C2440" bool "SAMSUNG S3C2440"
select COMMON_CLK select COMMON_CLK
select CPU_ARM920T select CPU_ARM920T
select CPU_LLSERIAL_S3C2440
select S3C2410_COMMON_CLK select S3C2410_COMMON_CLK
select S3C2410_PM if PM select S3C2410_PM if PM
select S3C2440_DMA if S3C24XX_DMA select S3C2440_DMA if S3C24XX_DMA
...@@ -86,7 +82,6 @@ config CPU_S3C2442 ...@@ -86,7 +82,6 @@ config CPU_S3C2442
bool "SAMSUNG S3C2442" bool "SAMSUNG S3C2442"
select COMMON_CLK select COMMON_CLK
select CPU_ARM920T select CPU_ARM920T
select CPU_LLSERIAL_S3C2440
select S3C2410_COMMON_CLK select S3C2410_COMMON_CLK
select S3C2410_DMA if S3C24XX_DMA select S3C2410_DMA if S3C24XX_DMA
select S3C2410_PM if PM select S3C2410_PM if PM
...@@ -102,7 +97,6 @@ config CPU_S3C2443 ...@@ -102,7 +97,6 @@ config CPU_S3C2443
bool "SAMSUNG S3C2443" bool "SAMSUNG S3C2443"
select COMMON_CLK select COMMON_CLK
select CPU_ARM920T select CPU_ARM920T
select CPU_LLSERIAL_S3C2440
select S3C2443_COMMON_CLK select S3C2443_COMMON_CLK
select S3C2443_DMA if S3C24XX_DMA select S3C2443_DMA if S3C24XX_DMA
help help
...@@ -164,28 +158,6 @@ config S3C2410_PM ...@@ -164,28 +158,6 @@ config S3C2410_PM
help help
Power Management code common to S3C2410 and better 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 config S3C24XX_PLL
bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)" bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
depends on ARM_S3C24XX_CPUFREQ depends on ARM_S3C24XX_CPUFREQ
......
...@@ -13,11 +13,9 @@ ...@@ -13,11 +13,9 @@
*/ */
#include <mach/map.h> #include <mach/map.h>
#include <mach/regs-gpio.h>
#include <linux/serial_s3c.h> #include <linux/serial_s3c.h>
#define S3C2410_UART1_OFF (0x4000) #define S3C2410_UART1_OFF (0x4000)
#define SHIFT_2440TXF (14-9)
.macro addruart, rp, rv, tmp .macro addruart, rp, rv, tmp
ldr \rp, = S3C24XX_PA_UART ldr \rp, = S3C24XX_PA_UART
...@@ -28,56 +26,11 @@ ...@@ -28,56 +26,11 @@
#endif #endif
.endm .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 .macro fifo_full_s3c2410 rd, rx
ldr \rd, [\rx, # S3C2410_UFSTAT] ldr \rd, [\rx, # S3C2410_UFSTAT]
tst \rd, #S3C2410_UFSTAT_TXFULL tst \rd, #S3C2410_UFSTAT_TXFULL
.endm .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 .macro fifo_level_s3c2410 rd, rx
ldr \rd, [\rx, # S3C2410_UFSTAT] ldr \rd, [\rx, # S3C2410_UFSTAT]
and \rd, \rd, #S3C2410_UFSTAT_TXMASK and \rd, \rd, #S3C2410_UFSTAT_TXMASK
...@@ -88,12 +41,9 @@ ...@@ -88,12 +41,9 @@
* used variants of these * 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_full fifo_full_s3c2410
#define fifo_level fifo_level_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 #endif
/* include the reset of the code which will do the work */ /* include the reset of the code which will do the work */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment