mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 10:29:37 +00:00
ARM: SAMSUNG: Rename s5p-time to samsung-time
Signed-off-by: Naour Romain <romain.naour@openwide.fr> Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
7488335dcf
commit
c1fcd403ce
16 changed files with 137 additions and 135 deletions
|
@ -276,8 +276,8 @@ config MACH_UNIVERSAL_C210
|
|||
select S5P_DEV_ONENAND
|
||||
select S5P_DEV_TV
|
||||
select S5P_GPIO_INT
|
||||
select S5P_HRT
|
||||
select S5P_SETUP_MIPIPHY
|
||||
select SAMSUNG_HRT
|
||||
help
|
||||
Machine support for Samsung Mobile Universal S5PC210 Reference
|
||||
Board.
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
#include <plat/mfc.h>
|
||||
#include <plat/sdhci.h>
|
||||
#include <plat/fimc-core.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
#include <plat/camport.h>
|
||||
|
||||
#include <mach/map.h>
|
||||
|
@ -1094,7 +1094,7 @@ static void __init universal_map_io(void)
|
|||
exynos_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(clk_xusbxti.rate);
|
||||
s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM2, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void s5p_tv_setup(void)
|
||||
|
@ -1152,7 +1152,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
|
|||
.map_io = universal_map_io,
|
||||
.init_machine = universal_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.reserve = &universal_reserve,
|
||||
.restart = exynos4_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -9,16 +9,16 @@ if ARCH_S5P64X0
|
|||
|
||||
config CPU_S5P6440
|
||||
bool
|
||||
select S5P_HRT
|
||||
select S5P_SLEEP if PM
|
||||
select SAMSUNG_DMADEV
|
||||
select SAMSUNG_HRT
|
||||
select SAMSUNG_WAKEMASK if PM
|
||||
help
|
||||
Enable S5P6440 CPU support
|
||||
|
||||
config CPU_S5P6450
|
||||
bool
|
||||
select S5P_HRT
|
||||
select SAMSUNG_HRT
|
||||
select S5P_SLEEP if PM
|
||||
select SAMSUNG_DMADEV
|
||||
select SAMSUNG_WAKEMASK if PM
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
#include <plat/pll.h>
|
||||
#include <plat/adc.h>
|
||||
#include <linux/platform_data/touchscreen-s3c2410.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
#include <plat/backlight.h>
|
||||
#include <plat/fb.h>
|
||||
#include <plat/sdhci.h>
|
||||
|
@ -229,7 +229,7 @@ static void __init smdk6440_map_io(void)
|
|||
s5p64x0_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(12000000);
|
||||
s3c24xx_init_uarts(smdk6440_uartcfgs, ARRAY_SIZE(smdk6440_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void s5p6440_set_lcd_interface(void)
|
||||
|
@ -273,6 +273,6 @@ MACHINE_START(SMDK6440, "SMDK6440")
|
|||
.init_irq = s5p6440_init_irq,
|
||||
.map_io = smdk6440_map_io,
|
||||
.init_machine = smdk6440_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.restart = s5p64x0_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
#include <plat/pll.h>
|
||||
#include <plat/adc.h>
|
||||
#include <linux/platform_data/touchscreen-s3c2410.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
#include <plat/backlight.h>
|
||||
#include <plat/fb.h>
|
||||
#include <plat/sdhci.h>
|
||||
|
@ -248,7 +248,7 @@ static void __init smdk6450_map_io(void)
|
|||
s5p64x0_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(19200000);
|
||||
s3c24xx_init_uarts(smdk6450_uartcfgs, ARRAY_SIZE(smdk6450_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void s5p6450_set_lcd_interface(void)
|
||||
|
@ -292,6 +292,6 @@ MACHINE_START(SMDK6450, "SMDK6450")
|
|||
.init_irq = s5p6450_init_irq,
|
||||
.map_io = smdk6450_map_io,
|
||||
.init_machine = smdk6450_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.restart = s5p64x0_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -12,10 +12,10 @@ if ARCH_S5PV210
|
|||
config CPU_S5PV210
|
||||
bool
|
||||
select S5P_EXT_INT
|
||||
select S5P_HRT
|
||||
select S5P_PM if PM
|
||||
select S5P_SLEEP if PM
|
||||
select SAMSUNG_DMADEV
|
||||
select SAMSUNG_HRT
|
||||
help
|
||||
Enable S5PV210 CPU support
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#include <plat/fb.h>
|
||||
#include <plat/fimc-core.h>
|
||||
#include <plat/sdhci.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
|
@ -651,7 +651,7 @@ static void __init aquila_map_io(void)
|
|||
s5pv210_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(24000000);
|
||||
s3c24xx_init_uarts(aquila_uartcfgs, ARRAY_SIZE(aquila_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void __init aquila_machine_init(void)
|
||||
|
@ -686,6 +686,6 @@ MACHINE_START(AQUILA, "Aquila")
|
|||
.init_irq = s5pv210_init_irq,
|
||||
.map_io = aquila_map_io,
|
||||
.init_machine = aquila_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.restart = s5pv210_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
#include <plat/keypad.h>
|
||||
#include <plat/sdhci.h>
|
||||
#include <plat/clock.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
#include <plat/mfc.h>
|
||||
#include <plat/camport.h>
|
||||
|
||||
|
@ -908,7 +908,7 @@ static void __init goni_map_io(void)
|
|||
s5pv210_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(clk_xusbxti.rate);
|
||||
s3c24xx_init_uarts(goni_uartcfgs, ARRAY_SIZE(goni_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void __init goni_reserve(void)
|
||||
|
@ -973,7 +973,7 @@ MACHINE_START(GONI, "GONI")
|
|||
.init_irq = s5pv210_init_irq,
|
||||
.map_io = goni_map_io,
|
||||
.init_machine = goni_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.reserve = &goni_reserve,
|
||||
.restart = s5pv210_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#include <linux/platform_data/ata-samsung_cf.h>
|
||||
#include <linux/platform_data/i2c-s3c2410.h>
|
||||
#include <plat/pm.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
#include <plat/mfc.h>
|
||||
|
||||
#include "common.h"
|
||||
|
@ -120,7 +120,7 @@ static void __init smdkc110_map_io(void)
|
|||
s5pv210_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(24000000);
|
||||
s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void __init smdkc110_reserve(void)
|
||||
|
@ -153,7 +153,7 @@ MACHINE_START(SMDKC110, "SMDKC110")
|
|||
.init_irq = s5pv210_init_irq,
|
||||
.map_io = smdkc110_map_io,
|
||||
.init_machine = smdkc110_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.restart = s5pv210_restart,
|
||||
.reserve = &smdkc110_reserve,
|
||||
MACHINE_END
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#include <plat/keypad.h>
|
||||
#include <plat/pm.h>
|
||||
#include <plat/fb.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
#include <plat/backlight.h>
|
||||
#include <plat/mfc.h>
|
||||
#include <plat/clock.h>
|
||||
|
@ -285,7 +285,7 @@ static void __init smdkv210_map_io(void)
|
|||
s5pv210_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(clk_xusbxti.rate);
|
||||
s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM2, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void __init smdkv210_reserve(void)
|
||||
|
@ -329,7 +329,7 @@ MACHINE_START(SMDKV210, "SMDKV210")
|
|||
.init_irq = s5pv210_init_irq,
|
||||
.map_io = smdkv210_map_io,
|
||||
.init_machine = smdkv210_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.restart = s5pv210_restart,
|
||||
.reserve = &smdkv210_reserve,
|
||||
MACHINE_END
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <plat/devs.h>
|
||||
#include <plat/cpu.h>
|
||||
#include <linux/platform_data/i2c-s3c2410.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
|
@ -106,7 +106,7 @@ static void __init torbreck_map_io(void)
|
|||
s5pv210_init_io(NULL, 0);
|
||||
s3c24xx_init_clocks(24000000);
|
||||
s3c24xx_init_uarts(torbreck_uartcfgs, ARRAY_SIZE(torbreck_uartcfgs));
|
||||
s5p_set_timer_source(S5P_PWM3, S5P_PWM4);
|
||||
samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4);
|
||||
}
|
||||
|
||||
static void __init torbreck_machine_init(void)
|
||||
|
@ -130,6 +130,6 @@ MACHINE_START(TORBRECK, "TORBRECK")
|
|||
.init_irq = s5pv210_init_irq,
|
||||
.map_io = torbreck_map_io,
|
||||
.init_machine = torbreck_machine_init,
|
||||
.init_time = s5p_timer_init,
|
||||
.init_time = samsung_timer_init,
|
||||
.restart = s5pv210_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -70,7 +70,7 @@ config S3C_LOWLEVEL_UART_PORT
|
|||
|
||||
# timer options
|
||||
|
||||
config S5P_HRT
|
||||
config SAMSUNG_HRT
|
||||
bool
|
||||
select SAMSUNG_DEV_PWM
|
||||
help
|
||||
|
|
|
@ -13,7 +13,7 @@ obj- :=
|
|||
|
||||
obj-y += init.o cpu.o
|
||||
obj-$(CONFIG_ARCH_USES_GETTIMEOFFSET) += time.o
|
||||
obj-$(CONFIG_S5P_HRT) += s5p-time.o
|
||||
obj-$(CONFIG_SAMSUNG_HRT) += samsung-time.o
|
||||
|
||||
obj-$(CONFIG_SAMSUNG_CLOCK) += clock.o
|
||||
obj-$(CONFIG_SAMSUNG_CLOCK) += pwm-clock.o
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
/* linux/arch/arm/plat-samsung/include/plat/s5p-time.h
|
||||
*
|
||||
* Copyright 2011 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com/
|
||||
*
|
||||
* Header file for s5p time support
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_PLAT_S5P_TIME_H
|
||||
#define __ASM_PLAT_S5P_TIME_H __FILE__
|
||||
|
||||
/* S5P HR-Timer Clock mode */
|
||||
enum s5p_timer_mode {
|
||||
S5P_PWM0,
|
||||
S5P_PWM1,
|
||||
S5P_PWM2,
|
||||
S5P_PWM3,
|
||||
S5P_PWM4,
|
||||
};
|
||||
|
||||
struct s5p_timer_source {
|
||||
unsigned int event_id;
|
||||
unsigned int source_id;
|
||||
};
|
||||
|
||||
/* Be able to sleep for atleast 4 seconds (usually more) */
|
||||
#define S5PTIMER_MIN_RANGE 4
|
||||
|
||||
#define TCNT_MAX 0xffffffff
|
||||
#define NON_PERIODIC 0
|
||||
#define PERIODIC 1
|
||||
|
||||
extern void __init s5p_set_timer_source(enum s5p_timer_mode event,
|
||||
enum s5p_timer_mode source);
|
||||
extern void s5p_timer_init(void);
|
||||
#endif /* __ASM_PLAT_S5P_TIME_H */
|
42
arch/arm/plat-samsung/include/plat/samsung-time.h
Normal file
42
arch/arm/plat-samsung/include/plat/samsung-time.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/* linux/arch/arm/plat-samsung/include/plat/samsung-time.h
|
||||
*
|
||||
* Copyright 2011 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com/
|
||||
*
|
||||
* Header file for samsung s3c and s5p time support
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_PLAT_SAMSUNG_TIME_H
|
||||
#define __ASM_PLAT_SAMSUNG_TIME_H __FILE__
|
||||
|
||||
/* SAMSUNG HR-Timer Clock mode */
|
||||
enum samsung_timer_mode {
|
||||
SAMSUNG_PWM0,
|
||||
SAMSUNG_PWM1,
|
||||
SAMSUNG_PWM2,
|
||||
SAMSUNG_PWM3,
|
||||
SAMSUNG_PWM4,
|
||||
};
|
||||
|
||||
struct samsung_timer_source {
|
||||
unsigned int event_id;
|
||||
unsigned int source_id;
|
||||
};
|
||||
|
||||
/* Be able to sleep for atleast 4 seconds (usually more) */
|
||||
#define SAMSUNG_TIMER_MIN_RANGE 4
|
||||
|
||||
#define TCNT_MAX 0xffffffff
|
||||
#define NON_PERIODIC 0
|
||||
#define PERIODIC 1
|
||||
|
||||
extern void __init samsung_set_timer_source(enum samsung_timer_mode event,
|
||||
enum samsung_timer_mode source);
|
||||
|
||||
extern void __init samsung_timer_init(void);
|
||||
|
||||
#endif /* __ASM_PLAT_SAMSUNG_TIME_H */
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (c) 2011 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com/
|
||||
*
|
||||
* S5P - Common hr-timer support
|
||||
* SAMSUNG - Common hr-timer support
|
||||
*
|
||||
* 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
|
||||
|
@ -25,41 +25,41 @@
|
|||
#include <mach/map.h>
|
||||
#include <plat/devs.h>
|
||||
#include <plat/regs-timer.h>
|
||||
#include <plat/s5p-time.h>
|
||||
#include <plat/samsung-time.h>
|
||||
|
||||
static struct clk *tin_event;
|
||||
static struct clk *tin_source;
|
||||
static struct clk *tdiv_event;
|
||||
static struct clk *tdiv_source;
|
||||
static struct clk *timerclk;
|
||||
static struct s5p_timer_source timer_source;
|
||||
static struct samsung_timer_source timer_source;
|
||||
static unsigned long clock_count_per_tick;
|
||||
static void s5p_timer_resume(void);
|
||||
static void samsung_timer_resume(void);
|
||||
|
||||
static void s5p_time_stop(enum s5p_timer_mode mode)
|
||||
static void samsung_time_stop(enum samsung_timer_mode mode)
|
||||
{
|
||||
unsigned long tcon;
|
||||
|
||||
tcon = __raw_readl(S3C2410_TCON);
|
||||
|
||||
switch (mode) {
|
||||
case S5P_PWM0:
|
||||
case SAMSUNG_PWM0:
|
||||
tcon &= ~S3C2410_TCON_T0START;
|
||||
break;
|
||||
|
||||
case S5P_PWM1:
|
||||
case SAMSUNG_PWM1:
|
||||
tcon &= ~S3C2410_TCON_T1START;
|
||||
break;
|
||||
|
||||
case S5P_PWM2:
|
||||
case SAMSUNG_PWM2:
|
||||
tcon &= ~S3C2410_TCON_T2START;
|
||||
break;
|
||||
|
||||
case S5P_PWM3:
|
||||
case SAMSUNG_PWM3:
|
||||
tcon &= ~S3C2410_TCON_T3START;
|
||||
break;
|
||||
|
||||
case S5P_PWM4:
|
||||
case SAMSUNG_PWM4:
|
||||
tcon &= ~S3C2410_TCON_T4START;
|
||||
break;
|
||||
|
||||
|
@ -70,7 +70,7 @@ static void s5p_time_stop(enum s5p_timer_mode mode)
|
|||
__raw_writel(tcon, S3C2410_TCON);
|
||||
}
|
||||
|
||||
static void s5p_time_setup(enum s5p_timer_mode mode, unsigned long tcnt)
|
||||
static void samsung_time_setup(enum samsung_timer_mode mode, unsigned long tcnt)
|
||||
{
|
||||
unsigned long tcon;
|
||||
|
||||
|
@ -79,27 +79,27 @@ static void s5p_time_setup(enum s5p_timer_mode mode, unsigned long tcnt)
|
|||
tcnt--;
|
||||
|
||||
switch (mode) {
|
||||
case S5P_PWM0:
|
||||
case SAMSUNG_PWM0:
|
||||
tcon &= ~(0x0f << 0);
|
||||
tcon |= S3C2410_TCON_T0MANUALUPD;
|
||||
break;
|
||||
|
||||
case S5P_PWM1:
|
||||
case SAMSUNG_PWM1:
|
||||
tcon &= ~(0x0f << 8);
|
||||
tcon |= S3C2410_TCON_T1MANUALUPD;
|
||||
break;
|
||||
|
||||
case S5P_PWM2:
|
||||
case SAMSUNG_PWM2:
|
||||
tcon &= ~(0x0f << 12);
|
||||
tcon |= S3C2410_TCON_T2MANUALUPD;
|
||||
break;
|
||||
|
||||
case S5P_PWM3:
|
||||
case SAMSUNG_PWM3:
|
||||
tcon &= ~(0x0f << 16);
|
||||
tcon |= S3C2410_TCON_T3MANUALUPD;
|
||||
break;
|
||||
|
||||
case S5P_PWM4:
|
||||
case SAMSUNG_PWM4:
|
||||
tcon &= ~(0x07 << 20);
|
||||
tcon |= S3C2410_TCON_T4MANUALUPD;
|
||||
break;
|
||||
|
@ -114,14 +114,14 @@ static void s5p_time_setup(enum s5p_timer_mode mode, unsigned long tcnt)
|
|||
__raw_writel(tcon, S3C2410_TCON);
|
||||
}
|
||||
|
||||
static void s5p_time_start(enum s5p_timer_mode mode, bool periodic)
|
||||
static void samsung_time_start(enum samsung_timer_mode mode, bool periodic)
|
||||
{
|
||||
unsigned long tcon;
|
||||
|
||||
tcon = __raw_readl(S3C2410_TCON);
|
||||
|
||||
switch (mode) {
|
||||
case S5P_PWM0:
|
||||
case SAMSUNG_PWM0:
|
||||
tcon |= S3C2410_TCON_T0START;
|
||||
tcon &= ~S3C2410_TCON_T0MANUALUPD;
|
||||
|
||||
|
@ -131,7 +131,7 @@ static void s5p_time_start(enum s5p_timer_mode mode, bool periodic)
|
|||
tcon &= ~S3C2410_TCON_T0RELOAD;
|
||||
break;
|
||||
|
||||
case S5P_PWM1:
|
||||
case SAMSUNG_PWM1:
|
||||
tcon |= S3C2410_TCON_T1START;
|
||||
tcon &= ~S3C2410_TCON_T1MANUALUPD;
|
||||
|
||||
|
@ -141,7 +141,7 @@ static void s5p_time_start(enum s5p_timer_mode mode, bool periodic)
|
|||
tcon &= ~S3C2410_TCON_T1RELOAD;
|
||||
break;
|
||||
|
||||
case S5P_PWM2:
|
||||
case SAMSUNG_PWM2:
|
||||
tcon |= S3C2410_TCON_T2START;
|
||||
tcon &= ~S3C2410_TCON_T2MANUALUPD;
|
||||
|
||||
|
@ -151,7 +151,7 @@ static void s5p_time_start(enum s5p_timer_mode mode, bool periodic)
|
|||
tcon &= ~S3C2410_TCON_T2RELOAD;
|
||||
break;
|
||||
|
||||
case S5P_PWM3:
|
||||
case SAMSUNG_PWM3:
|
||||
tcon |= S3C2410_TCON_T3START;
|
||||
tcon &= ~S3C2410_TCON_T3MANUALUPD;
|
||||
|
||||
|
@ -161,7 +161,7 @@ static void s5p_time_start(enum s5p_timer_mode mode, bool periodic)
|
|||
tcon &= ~S3C2410_TCON_T3RELOAD;
|
||||
break;
|
||||
|
||||
case S5P_PWM4:
|
||||
case SAMSUNG_PWM4:
|
||||
tcon |= S3C2410_TCON_T4START;
|
||||
tcon &= ~S3C2410_TCON_T4MANUALUPD;
|
||||
|
||||
|
@ -178,24 +178,24 @@ static void s5p_time_start(enum s5p_timer_mode mode, bool periodic)
|
|||
__raw_writel(tcon, S3C2410_TCON);
|
||||
}
|
||||
|
||||
static int s5p_set_next_event(unsigned long cycles,
|
||||
static int samsung_set_next_event(unsigned long cycles,
|
||||
struct clock_event_device *evt)
|
||||
{
|
||||
s5p_time_setup(timer_source.event_id, cycles);
|
||||
s5p_time_start(timer_source.event_id, NON_PERIODIC);
|
||||
samsung_time_setup(timer_source.event_id, cycles);
|
||||
samsung_time_start(timer_source.event_id, NON_PERIODIC);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void s5p_set_mode(enum clock_event_mode mode,
|
||||
static void samsung_set_mode(enum clock_event_mode mode,
|
||||
struct clock_event_device *evt)
|
||||
{
|
||||
s5p_time_stop(timer_source.event_id);
|
||||
samsung_time_stop(timer_source.event_id);
|
||||
|
||||
switch (mode) {
|
||||
case CLOCK_EVT_MODE_PERIODIC:
|
||||
s5p_time_setup(timer_source.event_id, clock_count_per_tick);
|
||||
s5p_time_start(timer_source.event_id, PERIODIC);
|
||||
samsung_time_setup(timer_source.event_id, clock_count_per_tick);
|
||||
samsung_time_start(timer_source.event_id, PERIODIC);
|
||||
break;
|
||||
|
||||
case CLOCK_EVT_MODE_ONESHOT:
|
||||
|
@ -206,24 +206,24 @@ static void s5p_set_mode(enum clock_event_mode mode,
|
|||
break;
|
||||
|
||||
case CLOCK_EVT_MODE_RESUME:
|
||||
s5p_timer_resume();
|
||||
samsung_timer_resume();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void s5p_timer_resume(void)
|
||||
static void samsung_timer_resume(void)
|
||||
{
|
||||
/* event timer restart */
|
||||
s5p_time_setup(timer_source.event_id, clock_count_per_tick);
|
||||
s5p_time_start(timer_source.event_id, PERIODIC);
|
||||
samsung_time_setup(timer_source.event_id, clock_count_per_tick);
|
||||
samsung_time_start(timer_source.event_id, PERIODIC);
|
||||
|
||||
/* source timer restart */
|
||||
s5p_time_setup(timer_source.source_id, TCNT_MAX);
|
||||
s5p_time_start(timer_source.source_id, PERIODIC);
|
||||
samsung_time_setup(timer_source.source_id, TCNT_MAX);
|
||||
samsung_time_start(timer_source.source_id, PERIODIC);
|
||||
}
|
||||
|
||||
void __init s5p_set_timer_source(enum s5p_timer_mode event,
|
||||
enum s5p_timer_mode source)
|
||||
void __init samsung_set_timer_source(enum samsung_timer_mode event,
|
||||
enum samsung_timer_mode source)
|
||||
{
|
||||
s3c_device_timer[event].dev.bus = &platform_bus_type;
|
||||
s3c_device_timer[source].dev.bus = &platform_bus_type;
|
||||
|
@ -233,14 +233,14 @@ void __init s5p_set_timer_source(enum s5p_timer_mode event,
|
|||
}
|
||||
|
||||
static struct clock_event_device time_event_device = {
|
||||
.name = "s5p_event_timer",
|
||||
.name = "samsung_event_timer",
|
||||
.features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
|
||||
.rating = 200,
|
||||
.set_next_event = s5p_set_next_event,
|
||||
.set_mode = s5p_set_mode,
|
||||
.set_next_event = samsung_set_next_event,
|
||||
.set_mode = samsung_set_mode,
|
||||
};
|
||||
|
||||
static irqreturn_t s5p_clock_event_isr(int irq, void *dev_id)
|
||||
static irqreturn_t samsung_clock_event_isr(int irq, void *dev_id)
|
||||
{
|
||||
struct clock_event_device *evt = dev_id;
|
||||
|
||||
|
@ -249,14 +249,14 @@ static irqreturn_t s5p_clock_event_isr(int irq, void *dev_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct irqaction s5p_clock_event_irq = {
|
||||
.name = "s5p_time_irq",
|
||||
static struct irqaction samsung_clock_event_irq = {
|
||||
.name = "samsung_time_irq",
|
||||
.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
|
||||
.handler = s5p_clock_event_isr,
|
||||
.handler = samsung_clock_event_isr,
|
||||
.dev_id = &time_event_device,
|
||||
};
|
||||
|
||||
static void __init s5p_clockevent_init(void)
|
||||
static void __init samsung_clockevent_init(void)
|
||||
{
|
||||
unsigned long pclk;
|
||||
unsigned long clock_rate;
|
||||
|
@ -278,22 +278,22 @@ static void __init s5p_clockevent_init(void)
|
|||
clockevents_config_and_register(&time_event_device, clock_rate, 1, -1);
|
||||
|
||||
irq_number = timer_source.event_id + IRQ_TIMER0;
|
||||
setup_irq(irq_number, &s5p_clock_event_irq);
|
||||
setup_irq(irq_number, &samsung_clock_event_irq);
|
||||
}
|
||||
|
||||
static void __iomem *s5p_timer_reg(void)
|
||||
static void __iomem *samsung_timer_reg(void)
|
||||
{
|
||||
unsigned long offset = 0;
|
||||
|
||||
switch (timer_source.source_id) {
|
||||
case S5P_PWM0:
|
||||
case S5P_PWM1:
|
||||
case S5P_PWM2:
|
||||
case S5P_PWM3:
|
||||
case SAMSUNG_PWM0:
|
||||
case SAMSUNG_PWM1:
|
||||
case SAMSUNG_PWM2:
|
||||
case SAMSUNG_PWM3:
|
||||
offset = (timer_source.source_id * 0x0c) + 0x14;
|
||||
break;
|
||||
|
||||
case S5P_PWM4:
|
||||
case SAMSUNG_PWM4:
|
||||
offset = 0x40;
|
||||
break;
|
||||
|
||||
|
@ -312,9 +312,9 @@ static void __iomem *s5p_timer_reg(void)
|
|||
* this wraps around for now, since it is just a relative time
|
||||
* stamp. (Inspired by U300 implementation.)
|
||||
*/
|
||||
static u32 notrace s5p_read_sched_clock(void)
|
||||
static u32 notrace samsung_read_sched_clock(void)
|
||||
{
|
||||
void __iomem *reg = s5p_timer_reg();
|
||||
void __iomem *reg = samsung_timer_reg();
|
||||
|
||||
if (!reg)
|
||||
return 0;
|
||||
|
@ -322,7 +322,7 @@ static u32 notrace s5p_read_sched_clock(void)
|
|||
return ~__raw_readl(reg);
|
||||
}
|
||||
|
||||
static void __init s5p_clocksource_init(void)
|
||||
static void __init samsung_clocksource_init(void)
|
||||
{
|
||||
unsigned long pclk;
|
||||
unsigned long clock_rate;
|
||||
|
@ -334,17 +334,17 @@ static void __init s5p_clocksource_init(void)
|
|||
|
||||
clock_rate = clk_get_rate(tin_source);
|
||||
|
||||
s5p_time_setup(timer_source.source_id, TCNT_MAX);
|
||||
s5p_time_start(timer_source.source_id, PERIODIC);
|
||||
samsung_time_setup(timer_source.source_id, TCNT_MAX);
|
||||
samsung_time_start(timer_source.source_id, PERIODIC);
|
||||
|
||||
setup_sched_clock(s5p_read_sched_clock, 32, clock_rate);
|
||||
setup_sched_clock(samsung_read_sched_clock, 32, clock_rate);
|
||||
|
||||
if (clocksource_mmio_init(s5p_timer_reg(), "s5p_clocksource_timer",
|
||||
if (clocksource_mmio_init(samsung_timer_reg(), "samsung_clocksource_timer",
|
||||
clock_rate, 250, 32, clocksource_mmio_readl_down))
|
||||
panic("s5p_clocksource_timer: can't register clocksource\n");
|
||||
panic("samsung_clocksource_timer: can't register clocksource\n");
|
||||
}
|
||||
|
||||
static void __init s5p_timer_resources(void)
|
||||
static void __init samsung_timer_resources(void)
|
||||
{
|
||||
|
||||
unsigned long event_id = timer_source.event_id;
|
||||
|
@ -386,9 +386,9 @@ static void __init s5p_timer_resources(void)
|
|||
clk_enable(tin_source);
|
||||
}
|
||||
|
||||
void __init s5p_timer_init(void)
|
||||
void __init samsung_timer_init(void)
|
||||
{
|
||||
s5p_timer_resources();
|
||||
s5p_clockevent_init();
|
||||
s5p_clocksource_init();
|
||||
samsung_timer_resources();
|
||||
samsung_clockevent_init();
|
||||
samsung_clocksource_init();
|
||||
}
|
Loading…
Reference in a new issue