diff options
-rw-r--r-- | drivers/clocksource/Kconfig | 7 | ||||
-rw-r--r-- | drivers/clocksource/Makefile | 2 | ||||
-rw-r--r-- | drivers/clocksource/timer-fttmr010.c (renamed from drivers/clocksource/timer-gemini.c) | 45 |
3 files changed, 27 insertions, 27 deletions
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index 483f3b1af4fd..7ca2c2461c9c 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig | |||
@@ -67,15 +67,16 @@ config DW_APB_TIMER_OF | |||
67 | select DW_APB_TIMER | 67 | select DW_APB_TIMER |
68 | select CLKSRC_OF | 68 | select CLKSRC_OF |
69 | 69 | ||
70 | config GEMINI_TIMER | 70 | config FTTMR010_TIMER |
71 | bool "Cortina Gemini timer driver" if COMPILE_TEST | 71 | bool "Faraday Technology timer driver" if COMPILE_TEST |
72 | depends on GENERIC_CLOCKEVENTS | 72 | depends on GENERIC_CLOCKEVENTS |
73 | depends on HAS_IOMEM | 73 | depends on HAS_IOMEM |
74 | select CLKSRC_MMIO | 74 | select CLKSRC_MMIO |
75 | select CLKSRC_OF | 75 | select CLKSRC_OF |
76 | select MFD_SYSCON | 76 | select MFD_SYSCON |
77 | help | 77 | help |
78 | Enables support for the Gemini timer | 78 | Enables support for the Faraday Technology timer block |
79 | FTTMR010. | ||
79 | 80 | ||
80 | config ROCKCHIP_TIMER | 81 | config ROCKCHIP_TIMER |
81 | bool "Rockchip timer driver" if COMPILE_TEST | 82 | bool "Rockchip timer driver" if COMPILE_TEST |
diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile index d227d1314f14..2b5b56a6f00f 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile | |||
@@ -17,7 +17,7 @@ obj-$(CONFIG_CLKSRC_MMIO) += mmio.o | |||
17 | obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o | 17 | obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o |
18 | obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o | 18 | obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o |
19 | obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o | 19 | obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o |
20 | obj-$(CONFIG_GEMINI_TIMER) += timer-gemini.o | 20 | obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.o |
21 | obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o | 21 | obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o |
22 | obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o | 22 | obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o |
23 | obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o | 23 | obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o |
diff --git a/drivers/clocksource/timer-gemini.c b/drivers/clocksource/timer-fttmr010.c index dda27b7bf1a1..e37ec3d69a7e 100644 --- a/drivers/clocksource/timer-gemini.c +++ b/drivers/clocksource/timer-fttmr010.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Gemini timer driver | 2 | * Faraday Technology FTTMR010 timer driver |
3 | * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org> | 3 | * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org> |
4 | * | 4 | * |
5 | * Based on a rewrite of arch/arm/mach-gemini/timer.c: | 5 | * Based on a rewrite of arch/arm/mach-gemini/timer.c: |
@@ -77,12 +77,12 @@ | |||
77 | static unsigned int tick_rate; | 77 | static unsigned int tick_rate; |
78 | static void __iomem *base; | 78 | static void __iomem *base; |
79 | 79 | ||
80 | static u64 notrace gemini_read_sched_clock(void) | 80 | static u64 notrace fttmr010_read_sched_clock(void) |
81 | { | 81 | { |
82 | return readl(base + TIMER3_COUNT); | 82 | return readl(base + TIMER3_COUNT); |
83 | } | 83 | } |
84 | 84 | ||
85 | static int gemini_timer_set_next_event(unsigned long cycles, | 85 | static int fttmr010_timer_set_next_event(unsigned long cycles, |
86 | struct clock_event_device *evt) | 86 | struct clock_event_device *evt) |
87 | { | 87 | { |
88 | u32 cr; | 88 | u32 cr; |
@@ -96,7 +96,7 @@ static int gemini_timer_set_next_event(unsigned long cycles, | |||
96 | return 0; | 96 | return 0; |
97 | } | 97 | } |
98 | 98 | ||
99 | static int gemini_timer_shutdown(struct clock_event_device *evt) | 99 | static int fttmr010_timer_shutdown(struct clock_event_device *evt) |
100 | { | 100 | { |
101 | u32 cr; | 101 | u32 cr; |
102 | 102 | ||
@@ -127,7 +127,7 @@ static int gemini_timer_shutdown(struct clock_event_device *evt) | |||
127 | return 0; | 127 | return 0; |
128 | } | 128 | } |
129 | 129 | ||
130 | static int gemini_timer_set_periodic(struct clock_event_device *evt) | 130 | static int fttmr010_timer_set_periodic(struct clock_event_device *evt) |
131 | { | 131 | { |
132 | u32 period = DIV_ROUND_CLOSEST(tick_rate, HZ); | 132 | u32 period = DIV_ROUND_CLOSEST(tick_rate, HZ); |
133 | u32 cr; | 133 | u32 cr; |
@@ -158,35 +158,35 @@ static int gemini_timer_set_periodic(struct clock_event_device *evt) | |||
158 | } | 158 | } |
159 | 159 | ||
160 | /* Use TIMER1 as clock event */ | 160 | /* Use TIMER1 as clock event */ |
161 | static struct clock_event_device gemini_clockevent = { | 161 | static struct clock_event_device fttmr010_clockevent = { |
162 | .name = "TIMER1", | 162 | .name = "TIMER1", |
163 | /* Reasonably fast and accurate clock event */ | 163 | /* Reasonably fast and accurate clock event */ |
164 | .rating = 300, | 164 | .rating = 300, |
165 | .shift = 32, | 165 | .shift = 32, |
166 | .features = CLOCK_EVT_FEAT_PERIODIC | | 166 | .features = CLOCK_EVT_FEAT_PERIODIC | |
167 | CLOCK_EVT_FEAT_ONESHOT, | 167 | CLOCK_EVT_FEAT_ONESHOT, |
168 | .set_next_event = gemini_timer_set_next_event, | 168 | .set_next_event = fttmr010_timer_set_next_event, |
169 | .set_state_shutdown = gemini_timer_shutdown, | 169 | .set_state_shutdown = fttmr010_timer_shutdown, |
170 | .set_state_periodic = gemini_timer_set_periodic, | 170 | .set_state_periodic = fttmr010_timer_set_periodic, |
171 | .set_state_oneshot = gemini_timer_shutdown, | 171 | .set_state_oneshot = fttmr010_timer_shutdown, |
172 | .tick_resume = gemini_timer_shutdown, | 172 | .tick_resume = fttmr010_timer_shutdown, |
173 | }; | 173 | }; |
174 | 174 | ||
175 | /* | 175 | /* |
176 | * IRQ handler for the timer | 176 | * IRQ handler for the timer |
177 | */ | 177 | */ |
178 | static irqreturn_t gemini_timer_interrupt(int irq, void *dev_id) | 178 | static irqreturn_t fttmr010_timer_interrupt(int irq, void *dev_id) |
179 | { | 179 | { |
180 | struct clock_event_device *evt = &gemini_clockevent; | 180 | struct clock_event_device *evt = &fttmr010_clockevent; |
181 | 181 | ||
182 | evt->event_handler(evt); | 182 | evt->event_handler(evt); |
183 | return IRQ_HANDLED; | 183 | return IRQ_HANDLED; |
184 | } | 184 | } |
185 | 185 | ||
186 | static struct irqaction gemini_timer_irq = { | 186 | static struct irqaction fttmr010_timer_irq = { |
187 | .name = "Gemini Timer Tick", | 187 | .name = "Faraday FTTMR010 Timer Tick", |
188 | .flags = IRQF_TIMER, | 188 | .flags = IRQF_TIMER, |
189 | .handler = gemini_timer_interrupt, | 189 | .handler = fttmr010_timer_interrupt, |
190 | }; | 190 | }; |
191 | 191 | ||
192 | static int __init gemini_timer_of_init(struct device_node *np) | 192 | static int __init gemini_timer_of_init(struct device_node *np) |
@@ -255,9 +255,9 @@ static int __init gemini_timer_of_init(struct device_node *np) | |||
255 | writel(0, base + TIMER3_MATCH1); | 255 | writel(0, base + TIMER3_MATCH1); |
256 | writel(0, base + TIMER3_MATCH2); | 256 | writel(0, base + TIMER3_MATCH2); |
257 | clocksource_mmio_init(base + TIMER3_COUNT, | 257 | clocksource_mmio_init(base + TIMER3_COUNT, |
258 | "gemini_clocksource", tick_rate, | 258 | "fttmr010_clocksource", tick_rate, |
259 | 300, 32, clocksource_mmio_readl_up); | 259 | 300, 32, clocksource_mmio_readl_up); |
260 | sched_clock_register(gemini_read_sched_clock, 32, tick_rate); | 260 | sched_clock_register(fttmr010_read_sched_clock, 32, tick_rate); |
261 | 261 | ||
262 | /* | 262 | /* |
263 | * Setup clockevent timer (interrupt-driven.) | 263 | * Setup clockevent timer (interrupt-driven.) |
@@ -266,12 +266,11 @@ static int __init gemini_timer_of_init(struct device_node *np) | |||
266 | writel(0, base + TIMER1_LOAD); | 266 | writel(0, base + TIMER1_LOAD); |
267 | writel(0, base + TIMER1_MATCH1); | 267 | writel(0, base + TIMER1_MATCH1); |
268 | writel(0, base + TIMER1_MATCH2); | 268 | writel(0, base + TIMER1_MATCH2); |
269 | setup_irq(irq, &gemini_timer_irq); | 269 | setup_irq(irq, &fttmr010_timer_irq); |
270 | gemini_clockevent.cpumask = cpumask_of(0); | 270 | fttmr010_clockevent.cpumask = cpumask_of(0); |
271 | clockevents_config_and_register(&gemini_clockevent, tick_rate, | 271 | clockevents_config_and_register(&fttmr010_clockevent, tick_rate, |
272 | 1, 0xffffffff); | 272 | 1, 0xffffffff); |
273 | 273 | ||
274 | return 0; | 274 | return 0; |
275 | } | 275 | } |
276 | CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "cortina,gemini-timer", | 276 | CLOCKSOURCE_OF_DECLARE(gemini, "cortina,gemini-timer", gemini_timer_of_init); |
277 | gemini_timer_of_init); | ||