mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[adm5120] refactor kernel code (part 1), mark it as broken now
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7916 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -1,15 +1,32 @@
|
||||
/*
|
||||
* Copyright (C) ADMtek Incorporated.
|
||||
* Creator : daniell@admtek.com.tw
|
||||
* Copyright 1999, 2000 MIPS Technologies, Inc.
|
||||
* Copyright Jeroen Vreeken (pe1rxq@amsat.org), 2005
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
* $Id$
|
||||
*
|
||||
* ADM5120 specific setup
|
||||
*
|
||||
* Copyright (C) ADMtek Incorporated.
|
||||
* Copyright (C) 2005 Jeroen Vreeken (pe1rxq@amsat.org)
|
||||
* Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
|
||||
* Copyright (C) 2007 OpenWrt.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/autoconf.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/kernel.h>
|
||||
|
||||
#include <asm/reboot.h>
|
||||
#include <asm/io.h>
|
||||
@@ -17,33 +34,34 @@
|
||||
|
||||
#include <asm/mach-adm5120/adm5120_info.h>
|
||||
#include <asm/mach-adm5120/adm5120_defs.h>
|
||||
#include <asm/mach-adm5120/adm5120_irq.h>
|
||||
#include <asm/mach-adm5120/adm5120_switch.h>
|
||||
#include <asm/mach-adm5120/adm5120_board.h>
|
||||
|
||||
extern void adm5120_time_init(void) __init;
|
||||
static char *prom_names[ADM5120_PROM_LAST+1] __initdata = {
|
||||
[ADM5120_PROM_GENERIC] = "Generic",
|
||||
[ADM5120_PROM_CFE] = "CFE",
|
||||
[ADM5120_PROM_UBOOT] = "U-Boot",
|
||||
[ADM5120_PROM_MYLOADER] = "MyLoader",
|
||||
[ADM5120_PROM_ROUTERBOOT] = "RouterBOOT",
|
||||
[ADM5120_PROM_BOOTBASE] = "Bootbase"
|
||||
};
|
||||
|
||||
#define ADM5120_SOFTRESET 0x12000004
|
||||
|
||||
void adm5120_restart(char *command)
|
||||
static void __init adm5120_report(void)
|
||||
{
|
||||
*(u32*)KSEG1ADDR(ADM5120_SOFTRESET)=1;
|
||||
}
|
||||
|
||||
|
||||
void adm5120_halt(void)
|
||||
{
|
||||
printk(KERN_NOTICE "\n** You can safely turn off the power\n");
|
||||
while (1);
|
||||
}
|
||||
|
||||
|
||||
void adm5120_power_off(void)
|
||||
{
|
||||
adm5120_halt();
|
||||
printk(KERN_INFO "SoC : ADM%04X%s revision %d, running at %ldMHz\n",
|
||||
adm5120_product_code,
|
||||
(adm5120_package == ADM5120_PACKAGE_BGA) ? "" : "P",
|
||||
adm5120_revision, (adm5120_speed / 1000000)
|
||||
);
|
||||
printk(KERN_INFO "Bootdev : %s flash\n", adm5120_nand_boot ? "NAND":"NOR");
|
||||
printk(KERN_INFO "Prom : %s\n", prom_names[adm5120_prom_type]);
|
||||
}
|
||||
|
||||
void __init plat_mem_setup(void)
|
||||
{
|
||||
printk(KERN_INFO "ADM5120 board setup\n");
|
||||
adm5120_soc_init();
|
||||
adm5120_mem_init();
|
||||
adm5120_report();
|
||||
|
||||
board_time_init = adm5120_time_init;
|
||||
|
||||
@@ -53,39 +71,3 @@ void __init plat_mem_setup(void)
|
||||
|
||||
set_io_port_base(KSEG1);
|
||||
}
|
||||
|
||||
const char *get_system_type(void)
|
||||
{
|
||||
return adm5120_board_name();
|
||||
}
|
||||
|
||||
static struct resource adm5120_hcd_resources[] = {
|
||||
[0] = {
|
||||
.start = ADM5120_USBC_BASE,
|
||||
.end = ADM5120_USBC_BASE+ADM5120_USBC_SIZE-1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = ADM5120_IRQ_USBC,
|
||||
.end = ADM5120_IRQ_USBC,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device adm5120hcd_device = {
|
||||
.name = "adm5120-hcd",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(adm5120_hcd_resources),
|
||||
.resource = adm5120_hcd_resources,
|
||||
};
|
||||
|
||||
static struct platform_device *devices[] __initdata = {
|
||||
&adm5120hcd_device,
|
||||
};
|
||||
|
||||
static int __init adm5120_init(void)
|
||||
{
|
||||
return platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||
}
|
||||
|
||||
subsys_initcall(adm5120_init);
|
||||
|
||||
Reference in New Issue
Block a user