sh: Cleanup board header directories.
[linux-2.6/linux-2.6-openrd.git] / arch / sh / boards / renesas / rts7751r2d / led.c
blob509f548bdce037e12eebdb4a5179515ade7dce0b
1 /*
2 * linux/arch/sh/boards/renesas/rts7751r2d/led.c
4 * Copyright (C) Atom Create Engineering Co., Ltd.
6 * May be copied or modified under the terms of GNU General Public
7 * License. See linux/COPYING for more information.
9 * This file contains Renesas Technology Sales RTS7751R2D specific LED code.
11 #include <linux/io.h>
12 #include <linux/sched.h>
13 #include <asm/rts7751r2d.h>
15 /* Cycle the LED's in the clasic Knightriger/Sun pattern */
16 void heartbeat_rts7751r2d(void)
18 static unsigned int cnt = 0, period = 0;
19 volatile unsigned short *p = (volatile unsigned short *)PA_OUTPORT;
20 static unsigned bit = 0, up = 1;
22 cnt += 1;
23 if (cnt < period)
24 return;
26 cnt = 0;
28 /* Go through the points (roughly!):
29 * f(0)=10, f(1)=16, f(2)=20, f(5)=35, f(int)->110
31 period = 110 - ((300 << FSHIFT)/((avenrun[0]/5) + (3<<FSHIFT)));
33 *p = 1 << bit;
34 if (up)
35 if (bit == 7) {
36 bit--;
37 up = 0;
38 } else
39 bit++;
40 else if (bit == 0)
41 up = 1;
42 else
43 bit--;