1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-11 14:18:25 +02:00
openwrt-xburst/target/linux/xburst/files-2.6.27/arch/mips/jz4750d/board-fuwa1.c

82 lines
1.7 KiB
C
Raw Normal View History

/*
* linux/arch/mips/jz4750d/board-fuwa1.c
*
* JZ4750D FUWA1 board setup routines.
*
* Copyright (c) 2006-2008 Ingenic Semiconductor Inc.
* Author: <jlwei@ingenic.cn>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/console.h>
#include <linux/delay.h>
#include <asm/cpu.h>
#include <asm/bootinfo.h>
#include <asm/mipsregs.h>
#include <asm/reboot.h>
#include <asm/jzsoc.h>
extern void (*jz_timer_callback)(void);
static void dancing(void)
{
static unsigned char slash[] = "\\|/-";
// static volatile unsigned char *p = (unsigned char *)0xb6000058;
static volatile unsigned char *p = (unsigned char *)0xb6000016;
static unsigned int count = 0;
*p = slash[count++];
count &= 3;
}
static void fuwa1_timer_callback(void)
{
static unsigned long count = 0;
if ((++count) % 50 == 0) {
dancing();
count = 0;
}
}
static void __init board_cpm_setup(void)
{
/* Stop unused module clocks here.
* We have started all module clocks at arch/mips/jz4750d/setup.c.
*/
}
static void __init board_gpio_setup(void)
{
/*
* Initialize SDRAM pins
*/
}
void __init jz_board_setup(void)
{
printk("JZ4750D FUWA1 board setup\n");
board_cpm_setup();
board_gpio_setup();
jz_timer_callback = fuwa1_timer_callback;
}
/**
* Called by arch/mips/kernel/proc.c when 'cat /proc/cpuinfo'.
* Android requires the 'Hardware:' field in cpuinfo to setup the init.%hardware%.rc.
*/
const char *get_board_type(void)
{
return "fuwa1";
}