/* * linux/arch/mips/jz4760/board-f4760.c * * JZ4760 F4760 board setup routines. * * Copyright (c) 2006-2008 Ingenic Semiconductor Inc. * Author: * * 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 #include #include #include #include #include #include #include #include #include #include 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 f4760_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/jz4760/setup.c. */ } static void __init board_gpio_setup(void) { /* * Initialize SDRAM pins */ } void __init jz_board_setup(void) { printk("JZ4760 F4760 board setup\n"); // jz_restart(NULL); board_cpm_setup(); board_gpio_setup(); jz_timer_callback = f4760_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 "f4760"; }