ARM: S5P: Update machine of S5P64X0 and S5PV210 for HRT

This patch adds support HRT for machines of S5P64X0 and S5PV210.
Basically, PWM Timer3 is used for clockevent and PWM Timer4 is
used for clocksource. Since PWM Timer3 is used for other purpose,
PWM Timer2 is used on SMDKV210.

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
Sangbeom Kim 2011-03-12 08:02:12 +09:00 committed by Kukjin Kim
parent f8bfff8e4c
commit 20780fcc40
7 changed files with 21 additions and 7 deletions

View File

@ -45,6 +45,7 @@
#include <plat/pll.h> #include <plat/pll.h>
#include <plat/adc.h> #include <plat/adc.h>
#include <plat/ts.h> #include <plat/ts.h>
#include <plat/s5p-time.h>
#define SMDK6440_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define SMDK6440_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
S3C2410_UCON_RXILEVEL | \ S3C2410_UCON_RXILEVEL | \
@ -179,6 +180,7 @@ static void __init smdk6440_map_io(void)
s5p_init_io(NULL, 0, S5P64X0_SYS_ID); s5p_init_io(NULL, 0, S5P64X0_SYS_ID);
s3c24xx_init_clocks(12000000); s3c24xx_init_clocks(12000000);
s3c24xx_init_uarts(smdk6440_uartcfgs, ARRAY_SIZE(smdk6440_uartcfgs)); s3c24xx_init_uarts(smdk6440_uartcfgs, ARRAY_SIZE(smdk6440_uartcfgs));
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
} }
static void __init smdk6440_machine_init(void) static void __init smdk6440_machine_init(void)
@ -202,5 +204,5 @@ MACHINE_START(SMDK6440, "SMDK6440")
.init_irq = s5p6440_init_irq, .init_irq = s5p6440_init_irq,
.map_io = smdk6440_map_io, .map_io = smdk6440_map_io,
.init_machine = smdk6440_machine_init, .init_machine = smdk6440_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END

View File

@ -45,6 +45,7 @@
#include <plat/pll.h> #include <plat/pll.h>
#include <plat/adc.h> #include <plat/adc.h>
#include <plat/ts.h> #include <plat/ts.h>
#include <plat/s5p-time.h>
#define SMDK6450_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define SMDK6450_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
S3C2410_UCON_RXILEVEL | \ S3C2410_UCON_RXILEVEL | \
@ -198,6 +199,7 @@ static void __init smdk6450_map_io(void)
s5p_init_io(NULL, 0, S5P64X0_SYS_ID); s5p_init_io(NULL, 0, S5P64X0_SYS_ID);
s3c24xx_init_clocks(19200000); s3c24xx_init_clocks(19200000);
s3c24xx_init_uarts(smdk6450_uartcfgs, ARRAY_SIZE(smdk6450_uartcfgs)); s3c24xx_init_uarts(smdk6450_uartcfgs, ARRAY_SIZE(smdk6450_uartcfgs));
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
} }
static void __init smdk6450_machine_init(void) static void __init smdk6450_machine_init(void)
@ -221,5 +223,5 @@ MACHINE_START(SMDK6450, "SMDK6450")
.init_irq = s5p6450_init_irq, .init_irq = s5p6450_init_irq,
.map_io = smdk6450_map_io, .map_io = smdk6450_map_io,
.init_machine = smdk6450_machine_init, .init_machine = smdk6450_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END

View File

@ -39,6 +39,7 @@
#include <plat/fb.h> #include <plat/fb.h>
#include <plat/fimc-core.h> #include <plat/fimc-core.h>
#include <plat/sdhci.h> #include <plat/sdhci.h>
#include <plat/s5p-time.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */ /* Following are default values for UCON, ULCON and UFCON UART registers */
#define AQUILA_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define AQUILA_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@ -646,6 +647,7 @@ static void __init aquila_map_io(void)
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
s3c24xx_init_clocks(24000000); s3c24xx_init_clocks(24000000);
s3c24xx_init_uarts(aquila_uartcfgs, ARRAY_SIZE(aquila_uartcfgs)); s3c24xx_init_uarts(aquila_uartcfgs, ARRAY_SIZE(aquila_uartcfgs));
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
} }
static void __init aquila_machine_init(void) static void __init aquila_machine_init(void)
@ -680,5 +682,5 @@ MACHINE_START(AQUILA, "Aquila")
.init_irq = s5pv210_init_irq, .init_irq = s5pv210_init_irq,
.map_io = aquila_map_io, .map_io = aquila_map_io,
.init_machine = aquila_machine_init, .init_machine = aquila_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END

View File

@ -45,6 +45,7 @@
#include <plat/keypad.h> #include <plat/keypad.h>
#include <plat/sdhci.h> #include <plat/sdhci.h>
#include <plat/clock.h> #include <plat/clock.h>
#include <plat/s5p-time.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */ /* Following are default values for UCON, ULCON and UFCON UART registers */
#define GONI_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define GONI_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@ -835,6 +836,7 @@ static void __init goni_map_io(void)
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
s3c24xx_init_clocks(24000000); s3c24xx_init_clocks(24000000);
s3c24xx_init_uarts(goni_uartcfgs, ARRAY_SIZE(goni_uartcfgs)); s3c24xx_init_uarts(goni_uartcfgs, ARRAY_SIZE(goni_uartcfgs));
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
} }
static void __init goni_machine_init(void) static void __init goni_machine_init(void)
@ -888,5 +890,5 @@ MACHINE_START(GONI, "GONI")
.init_irq = s5pv210_init_irq, .init_irq = s5pv210_init_irq,
.map_io = goni_map_io, .map_io = goni_map_io,
.init_machine = goni_machine_init, .init_machine = goni_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END

View File

@ -30,6 +30,7 @@
#include <plat/ata.h> #include <plat/ata.h>
#include <plat/iic.h> #include <plat/iic.h>
#include <plat/pm.h> #include <plat/pm.h>
#include <plat/s5p-time.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */ /* Following are default values for UCON, ULCON and UFCON UART registers */
#define SMDKC110_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define SMDKC110_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@ -111,6 +112,7 @@ static void __init smdkc110_map_io(void)
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
s3c24xx_init_clocks(24000000); s3c24xx_init_clocks(24000000);
s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs)); s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs));
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
} }
static void __init smdkc110_machine_init(void) static void __init smdkc110_machine_init(void)
@ -138,5 +140,5 @@ MACHINE_START(SMDKC110, "SMDKC110")
.init_irq = s5pv210_init_irq, .init_irq = s5pv210_init_irq,
.map_io = smdkc110_map_io, .map_io = smdkc110_map_io,
.init_machine = smdkc110_machine_init, .init_machine = smdkc110_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END

View File

@ -45,6 +45,7 @@
#include <plat/pm.h> #include <plat/pm.h>
#include <plat/fb.h> #include <plat/fb.h>
#include <plat/gpio-cfg.h> #include <plat/gpio-cfg.h>
#include <plat/s5p-time.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */ /* Following are default values for UCON, ULCON and UFCON UART registers */
#define SMDKV210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define SMDKV210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@ -315,6 +316,7 @@ static void __init smdkv210_map_io(void)
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
s3c24xx_init_clocks(24000000); s3c24xx_init_clocks(24000000);
s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs)); s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs));
s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
} }
static void __init smdkv210_machine_init(void) static void __init smdkv210_machine_init(void)
@ -349,5 +351,5 @@ MACHINE_START(SMDKV210, "SMDKV210")
.init_irq = s5pv210_init_irq, .init_irq = s5pv210_init_irq,
.map_io = smdkv210_map_io, .map_io = smdkv210_map_io,
.init_machine = smdkv210_machine_init, .init_machine = smdkv210_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END

View File

@ -27,6 +27,7 @@
#include <plat/devs.h> #include <plat/devs.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/iic.h> #include <plat/iic.h>
#include <plat/s5p-time.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */ /* Following are default values for UCON, ULCON and UFCON UART registers */
#define TORBRECK_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ #define TORBRECK_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
@ -104,6 +105,7 @@ static void __init torbreck_map_io(void)
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
s3c24xx_init_clocks(24000000); s3c24xx_init_clocks(24000000);
s3c24xx_init_uarts(torbreck_uartcfgs, ARRAY_SIZE(torbreck_uartcfgs)); s3c24xx_init_uarts(torbreck_uartcfgs, ARRAY_SIZE(torbreck_uartcfgs));
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
} }
static void __init torbreck_machine_init(void) static void __init torbreck_machine_init(void)
@ -127,5 +129,5 @@ MACHINE_START(TORBRECK, "TORBRECK")
.init_irq = s5pv210_init_irq, .init_irq = s5pv210_init_irq,
.map_io = torbreck_map_io, .map_io = torbreck_map_io,
.init_machine = torbreck_machine_init, .init_machine = torbreck_machine_init,
.timer = &s3c24xx_timer, .timer = &s5p_timer,
MACHINE_END MACHINE_END