aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/txx9/jmr3927/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/txx9/jmr3927/setup.c')
-rw-r--r--arch/mips/txx9/jmr3927/setup.c54
1 files changed, 21 insertions, 33 deletions
diff --git a/arch/mips/txx9/jmr3927/setup.c b/arch/mips/txx9/jmr3927/setup.c
index baa8c8db9a94..128a4ae3e72e 100644
--- a/arch/mips/txx9/jmr3927/setup.c
+++ b/arch/mips/txx9/jmr3927/setup.c
@@ -34,15 +34,16 @@
34#include <linux/delay.h> 34#include <linux/delay.h>
35#include <linux/pm.h> 35#include <linux/pm.h>
36#include <linux/platform_device.h> 36#include <linux/platform_device.h>
37#include <linux/clk.h>
38#include <linux/gpio.h> 37#include <linux/gpio.h>
39#ifdef CONFIG_SERIAL_TXX9 38#ifdef CONFIG_SERIAL_TXX9
40#include <linux/serial_core.h> 39#include <linux/serial_core.h>
41#endif 40#endif
42 41
42#include <asm/bootinfo.h>
43#include <asm/txx9tmr.h> 43#include <asm/txx9tmr.h>
44#include <asm/txx9pio.h> 44#include <asm/txx9pio.h>
45#include <asm/reboot.h> 45#include <asm/reboot.h>
46#include <asm/txx9/generic.h>
46#include <asm/txx9/pci.h> 47#include <asm/txx9/pci.h>
47#include <asm/txx9/jmr3927.h> 48#include <asm/txx9/jmr3927.h>
48#include <asm/mipsregs.h> 49#include <asm/mipsregs.h>
@@ -83,7 +84,7 @@ static void jmr3927_machine_power_off(void)
83 while (1); 84 while (1);
84} 85}
85 86
86void __init plat_time_init(void) 87static void __init jmr3927_time_init(void)
87{ 88{
88 txx9_clockevent_init(TX3927_TMR_REG(0), 89 txx9_clockevent_init(TX3927_TMR_REG(0),
89 TXX9_IRQ_BASE + JMR3927_IRQ_IRC_TMR(0), 90 TXX9_IRQ_BASE + JMR3927_IRQ_IRC_TMR(0),
@@ -97,7 +98,7 @@ void __init plat_time_init(void)
97extern char * __init prom_getcmdline(void); 98extern char * __init prom_getcmdline(void);
98static void jmr3927_board_init(void); 99static void jmr3927_board_init(void);
99 100
100void __init plat_mem_setup(void) 101static void __init jmr3927_mem_setup(void)
101{ 102{
102 char *argptr; 103 char *argptr;
103 104
@@ -233,6 +234,8 @@ static void __init tx3927_setup(void)
233{ 234{
234 int i; 235 int i;
235 236
237 txx9_cpu_clock = JMR3927_CORECLK;
238 txx9_gbus_clock = JMR3927_GBUSCLK;
236 /* SDRAMC are configured by PROM */ 239 /* SDRAMC are configured by PROM */
237 240
238 /* ROMC */ 241 /* ROMC */
@@ -336,7 +339,6 @@ static int __init jmr3927_rtc_init(void)
336 dev = platform_device_register_simple("rtc-ds1742", -1, &res, 1); 339 dev = platform_device_register_simple("rtc-ds1742", -1, &res, 1);
337 return IS_ERR(dev) ? PTR_ERR(dev) : 0; 340 return IS_ERR(dev) ? PTR_ERR(dev) : 0;
338} 341}
339device_initcall(jmr3927_rtc_init);
340 342
341/* Watchdog support */ 343/* Watchdog support */
342 344
@@ -356,36 +358,22 @@ static int __init jmr3927_wdt_init(void)
356{ 358{
357 return txx9_wdt_init(TX3927_TMR_REG(2)); 359 return txx9_wdt_init(TX3927_TMR_REG(2));
358} 360}
359device_initcall(jmr3927_wdt_init);
360 361
361/* Minimum CLK support */ 362static void __init jmr3927_device_init(void)
362
363struct clk *clk_get(struct device *dev, const char *id)
364{
365 if (!strcmp(id, "imbus_clk"))
366 return (struct clk *)JMR3927_IMCLK;
367 return ERR_PTR(-ENOENT);
368}
369EXPORT_SYMBOL(clk_get);
370
371int clk_enable(struct clk *clk)
372{
373 return 0;
374}
375EXPORT_SYMBOL(clk_enable);
376
377void clk_disable(struct clk *clk)
378{ 363{
364 jmr3927_rtc_init();
365 jmr3927_wdt_init();
379} 366}
380EXPORT_SYMBOL(clk_disable);
381 367
382unsigned long clk_get_rate(struct clk *clk) 368struct txx9_board_vec jmr3927_vec __initdata = {
383{ 369 .type = MACH_TOSHIBA_JMR3927,
384 return (unsigned long)clk; 370 .system = "Toshiba JMR_TX3927",
385} 371 .prom_init = jmr3927_prom_init,
386EXPORT_SYMBOL(clk_get_rate); 372 .mem_setup = jmr3927_mem_setup,
387 373 .irq_setup = jmr3927_irq_setup,
388void clk_put(struct clk *clk) 374 .time_init = jmr3927_time_init,
389{ 375 .device_init = jmr3927_device_init,
390} 376#ifdef CONFIG_PCI
391EXPORT_SYMBOL(clk_put); 377 .pci_map_irq = jmr3927_pci_map_irq,
378#endif
379};