aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2017-03-24 17:32:34 -0400
committerDaniel Lezcano <daniel.lezcano@linaro.org>2017-04-07 10:23:08 -0400
commitf5bf0ee4ebf779e256bb710f638b4452d94e97fb (patch)
treef70d8f1cc97b7746ad94660a159155c1bb2edf04
parentbb0c6bb3b71cec4b00c3fb1c055f92ad05b905db (diff)
clocksource/drivers/gemini: Rename Gemini timer to Faraday
After some research it turns out that the "Gemini" timer is actually a generic IP block from Faraday Technology named FTTMR010, so as to not make things too confusing we need to rename the driver and its symbols to make sense. The implementation remains the same in this patch but we fix the copy-paste error in the timer name "nomadik_mtu" as we're at it. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
-rw-r--r--drivers/clocksource/Kconfig7
-rw-r--r--drivers/clocksource/Makefile2
-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
70config GEMINI_TIMER 70config 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
80config ROCKCHIP_TIMER 81config 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
17obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o 17obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o
18obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o 18obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o
19obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o 19obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o
20obj-$(CONFIG_GEMINI_TIMER) += timer-gemini.o 20obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.o
21obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o 21obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o
22obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o 22obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
23obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o 23obj-$(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 @@
77static unsigned int tick_rate; 77static unsigned int tick_rate;
78static void __iomem *base; 78static void __iomem *base;
79 79
80static u64 notrace gemini_read_sched_clock(void) 80static 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
85static int gemini_timer_set_next_event(unsigned long cycles, 85static 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
99static int gemini_timer_shutdown(struct clock_event_device *evt) 99static 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
130static int gemini_timer_set_periodic(struct clock_event_device *evt) 130static 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 */
161static struct clock_event_device gemini_clockevent = { 161static 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 */
178static irqreturn_t gemini_timer_interrupt(int irq, void *dev_id) 178static 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
186static struct irqaction gemini_timer_irq = { 186static 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
192static int __init gemini_timer_of_init(struct device_node *np) 192static 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}
276CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "cortina,gemini-timer", 276CLOCKSOURCE_OF_DECLARE(gemini, "cortina,gemini-timer", gemini_timer_of_init);
277 gemini_timer_of_init);