Commit cdff6e6f authored by Changhwan Youn's avatar Changhwan Youn Committed by Kukjin Kim
Browse files

ARM: S5PV310: Add support RTC



This patch adds support RTC for S5PV310 and S5PC210.
Signed-off-by: default avatarChanghwan Youn <chaos.youn@samsung.com>
Signed-off-by: default avatarJemings Ko <jemings@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 1d826d14
...@@ -733,6 +733,7 @@ config ARCH_S5PV310 ...@@ -733,6 +733,7 @@ config ARCH_S5PV310
select GENERIC_GPIO select GENERIC_GPIO
select HAVE_CLK select HAVE_CLK
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_S3C_RTC
help help
Samsung S5PV310 series based systems Samsung S5PV310 series based systems
......
...@@ -33,6 +33,7 @@ config MACH_SMDKC210 ...@@ -33,6 +33,7 @@ config MACH_SMDKC210
bool "SMDKC210" bool "SMDKC210"
select CPU_S5PV310 select CPU_S5PV310
select ARCH_SPARSEMEM_ENABLE select ARCH_SPARSEMEM_ENABLE
select S3C_DEV_RTC
help help
Machine support for Samsung SMDKC210 Machine support for Samsung SMDKC210
S5PC210(MCP) is one of package option of S5PV310 S5PC210(MCP) is one of package option of S5PV310
...@@ -53,6 +54,7 @@ config MACH_SMDKV310 ...@@ -53,6 +54,7 @@ config MACH_SMDKV310
bool "SMDKV310" bool "SMDKV310"
select CPU_S5PV310 select CPU_S5PV310
select ARCH_SPARSEMEM_ENABLE select ARCH_SPARSEMEM_ENABLE
select S3C_DEV_RTC
help help
Machine support for Samsung SMDKV310 Machine support for Samsung SMDKV310
......
...@@ -471,6 +471,11 @@ static struct clk init_clocks_disable[] = { ...@@ -471,6 +471,11 @@ static struct clk init_clocks_disable[] = {
.id = -1, .id = -1,
.enable = s5pv310_clk_ip_peril_ctrl, .enable = s5pv310_clk_ip_peril_ctrl,
.ctrlbit = (1 << 15), .ctrlbit = (1 << 15),
}, {
.name = "rtc",
.id = -1,
.enable = s5pv310_clk_ip_perir_ctrl,
.ctrlbit = (1 << 15),
}, { }, {
.name = "watchdog", .name = "watchdog",
.id = -1, .id = -1,
......
...@@ -60,6 +60,9 @@ ...@@ -60,6 +60,9 @@
#define IRQ_TIMER3_VIC COMBINER_IRQ(22, 3) #define IRQ_TIMER3_VIC COMBINER_IRQ(22, 3)
#define IRQ_TIMER4_VIC COMBINER_IRQ(22, 4) #define IRQ_TIMER4_VIC COMBINER_IRQ(22, 4)
#define IRQ_RTC_ALARM COMBINER_IRQ(23, 0)
#define IRQ_RTC_TIC COMBINER_IRQ(23, 1)
#define IRQ_UART0 COMBINER_IRQ(26, 0) #define IRQ_UART0 COMBINER_IRQ(26, 0)
#define IRQ_UART1 COMBINER_IRQ(26, 1) #define IRQ_UART1 COMBINER_IRQ(26, 1)
#define IRQ_UART2 COMBINER_IRQ(26, 2) #define IRQ_UART2 COMBINER_IRQ(26, 2)
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#define S5PV310_PA_CMU (0x10030000) #define S5PV310_PA_CMU (0x10030000)
#define S5PV310_PA_WATCHDOG (0x10060000) #define S5PV310_PA_WATCHDOG (0x10060000)
#define S5PV310_PA_RTC (0x10070000)
#define S5PV310_PA_COMBINER (0x10448000) #define S5PV310_PA_COMBINER (0x10448000)
...@@ -81,6 +82,7 @@ ...@@ -81,6 +82,7 @@
#define S3C_PA_HSMMC2 S5PV310_PA_HSMMC(2) #define S3C_PA_HSMMC2 S5PV310_PA_HSMMC(2)
#define S3C_PA_HSMMC3 S5PV310_PA_HSMMC(3) #define S3C_PA_HSMMC3 S5PV310_PA_HSMMC(3)
#define S3C_PA_IIC S5PV310_PA_IIC0 #define S3C_PA_IIC S5PV310_PA_IIC0
#define S3C_PA_RTC S5PV310_PA_RTC
#define S3C_PA_WDT S5PV310_PA_WATCHDOG #define S3C_PA_WDT S5PV310_PA_WATCHDOG
#endif /* __ASM_ARCH_MAP_H */ #endif /* __ASM_ARCH_MAP_H */
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <plat/s5pv310.h> #include <plat/s5pv310.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/devs.h>
#include <mach/map.h> #include <mach/map.h>
...@@ -65,6 +66,10 @@ static struct s3c2410_uartcfg smdkc210_uartcfgs[] __initdata = { ...@@ -65,6 +66,10 @@ static struct s3c2410_uartcfg smdkc210_uartcfgs[] __initdata = {
}, },
}; };
static struct platform_device *smdkc210_devices[] __initdata = {
&s3c_device_rtc,
};
static void __init smdkc210_map_io(void) static void __init smdkc210_map_io(void)
{ {
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
...@@ -77,6 +82,8 @@ static void __init smdkc210_machine_init(void) ...@@ -77,6 +82,8 @@ static void __init smdkc210_machine_init(void)
#ifdef CONFIG_CACHE_L2X0 #ifdef CONFIG_CACHE_L2X0
l2x0_init(S5P_VA_L2CC, 1 << 28, 0xffffffff); l2x0_init(S5P_VA_L2CC, 1 << 28, 0xffffffff);
#endif #endif
platform_add_devices(smdkc210_devices, ARRAY_SIZE(smdkc210_devices));
} }
MACHINE_START(SMDKC210, "SMDKC210") MACHINE_START(SMDKC210, "SMDKC210")
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <plat/s5pv310.h> #include <plat/s5pv310.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/devs.h>
#include <mach/map.h> #include <mach/map.h>
...@@ -65,6 +66,10 @@ static struct s3c2410_uartcfg smdkv310_uartcfgs[] __initdata = { ...@@ -65,6 +66,10 @@ static struct s3c2410_uartcfg smdkv310_uartcfgs[] __initdata = {
}, },
}; };
static struct platform_device *smdkv310_devices[] __initdata = {
&s3c_device_rtc,
};
static void __init smdkv310_map_io(void) static void __init smdkv310_map_io(void)
{ {
s5p_init_io(NULL, 0, S5P_VA_CHIPID); s5p_init_io(NULL, 0, S5P_VA_CHIPID);
...@@ -77,6 +82,8 @@ static void __init smdkv310_machine_init(void) ...@@ -77,6 +82,8 @@ static void __init smdkv310_machine_init(void)
#ifdef CONFIG_CACHE_L2X0 #ifdef CONFIG_CACHE_L2X0
l2x0_init(S5P_VA_L2CC, 1 << 28, 0xffffffff); l2x0_init(S5P_VA_L2CC, 1 << 28, 0xffffffff);
#endif #endif
platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices));
} }
MACHINE_START(SMDKV310, "SMDKV310") MACHINE_START(SMDKV310, "SMDKV310")
......
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