X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fm68knommu%2Fplatform%2F68328%2Fconfig.c;h=bcfa5d7fe1e25d147c0f910846dff8a419a32974;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=fd7c93f86481aa4345f5a91d817c4d933d88b36b;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/arch/m68knommu/platform/68328/config.c b/arch/m68knommu/platform/68328/config.c index fd7c93f86..bcfa5d7fe 100644 --- a/arch/m68knommu/platform/68328/config.c +++ b/arch/m68knommu/platform/68328/config.c @@ -1,5 +1,7 @@ +/***************************************************************************/ + /* - * linux/arch/$(ARCH)/platform/$(PLATFORM)/config.c + * linux/arch/m68knommu/platform/68328/config.c * * Copyright (C) 1993 Hamish Macdonald * Copyright (C) 1999 D. Jeff Dionne @@ -11,6 +13,8 @@ * VZ Support/Fixes Evan Stawnyczy */ +/***************************************************************************/ + #include #include #include @@ -29,76 +33,16 @@ #include #include +/***************************************************************************/ -void BSP_sched_init(irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) -{ - -#ifdef CONFIG_XCOPILOT_BUGS - /* - * The only thing I know is that CLK32 is not available on Xcopilot - * I have little idea about what frequency SYSCLK has on Xcopilot. - * The values for prescaler and compare registers were simply - * taken from the original source - */ - - /* Restart mode, Enable int, SYSCLK, Enable timer */ - TCTL2 = TCTL_OM | TCTL_IRQEN | TCTL_CLKSOURCE_SYSCLK | TCTL_TEN; - /* Set prescaler */ - TPRER2 = 2; - /* Set compare register */ - TCMP2 = 0xd7e4; -#else - /* Restart mode, Enable int, 32KHz, Enable timer */ - TCTL2 = TCTL_OM | TCTL_IRQEN | TCTL_CLKSOURCE_32KHZ | TCTL_TEN; - /* Set prescaler (Divide 32KHz by 32)*/ - TPRER2 = 31; - /* Set compare register 32Khz / 32 / 10 = 100 */ - TCMP2 = 10; -#endif - - request_irq(TMR2_IRQ_NUM, timer_routine, IRQ_FLG_LOCK, "timer", NULL); -} - -void BSP_tick(void) -{ - /* Reset Timer2 */ - TSTAT2 &= 0; -} +void m68328_timer_init(irqreturn_t (*timer_routine) (int, void *, struct pt_regs *)); +void m68328_timer_tick(void); +unsigned long m68328_timer_gettimeoffset(void); +void m68328_timer_gettod(int *year, int *mon, int *day, int *hour, int *min, int *sec); -unsigned long BSP_gettimeoffset (void) -{ - return 0; -} +/***************************************************************************/ -void BSP_gettod (int *yearp, int *monp, int *dayp, - int *hourp, int *minp, int *secp) -{ -} - -int BSP_hwclk(int op, struct hwclk_time *t) -{ - if (!op) { - /* read */ - } else { - /* write */ - } - return 0; -} - -int BSP_set_clock_mmss (unsigned long nowtime) -{ -#if 0 - short real_seconds = nowtime % 60, real_minutes = (nowtime / 60) % 60; - - tod->second1 = real_seconds / 10; - tod->second2 = real_seconds % 10; - tod->minute1 = real_minutes / 10; - tod->minute2 = real_minutes % 10; -#endif - return 0; -} - -void BSP_reset (void) +void m68328_reset (void) { local_irq_disable(); asm volatile ("moveal #0x10c00000, %a0;\n\t" @@ -108,18 +52,22 @@ void BSP_reset (void) "jmp (%a0);"); } +/***************************************************************************/ + void config_BSP(char *command, int len) { printk(KERN_INFO "\n68328 support D. Jeff Dionne \n"); printk(KERN_INFO "68328 support Kenneth Albanowski \n"); printk(KERN_INFO "68328/Pilot support Bernhard Kuhn \n"); - mach_sched_init = BSP_sched_init; - mach_tick = BSP_tick; - mach_gettimeoffset = BSP_gettimeoffset; - mach_gettod = BSP_gettod; + mach_sched_init = m68328_timer_init; + mach_tick = m68328_timer_tick; + mach_gettimeoffset = m68328_timer_gettimeoffset; + mach_gettod = m68328_timer_gettod; mach_hwclk = NULL; mach_set_clock_mmss = NULL; - mach_reset = BSP_reset; + mach_reset = m68328_reset; *command = '\0'; } + +/***************************************************************************/