Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 8021
b: refs/heads/master
c: ee72112
h: refs/heads/master
i:
  8019: 7d0ab51
v: v3
  • Loading branch information
Greg Ungerer authored and Linus Torvalds committed Sep 9, 2005
1 parent a13cb9e commit b3e66ac
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 74 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8c2b58ce716112cbba167b0abcb9558c118b8c9a
refs/heads/master: ee721126cae77e66efb470d38cf971ed7b0c506b
94 changes: 21 additions & 73 deletions trunk/arch/m68knommu/platform/68328/config.c
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -11,6 +13,8 @@
* VZ Support/Fixes Evan Stawnyczy <e@lineo.ca>
*/

/***************************************************************************/

#include <asm/dbg.h>
#include <stdarg.h>
#include <linux/config.h>
Expand All @@ -29,76 +33,16 @@
#include <asm/machdep.h>
#include <asm/MC68328.h>

/***************************************************************************/

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"
Expand All @@ -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 <jeff@uclinux.org>\n");
printk(KERN_INFO "68328 support Kenneth Albanowski <kjahds@kjshds.com>\n");
printk(KERN_INFO "68328/Pilot support Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de>\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';
}

/***************************************************************************/

0 comments on commit b3e66ac

Please sign in to comment.