enable start-stop-daemon by default, i want to use this to clean up a few init script...
[openwrt/staging/wigyori.git] / target / linux / adm5120-2.6 / files / arch / mips / adm5120 / setup.c
index aa30dc5c835f01afb9e02692c3dd4da0ef84765b..ed7966b41ad8ed3bc66895e6453c44489cfa9378 100644 (file)
@@ -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 at openwrt.org>
+ *  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>
 
 #include <asm/mach-adm5120/adm5120_info.h>
 #include <asm/mach-adm5120/adm5120_defs.h>
-#include <asm/mach-adm5120/adm5120_irq.h>
-
-extern void adm5120_time_init(void) __init;
-
-#define ADM5120_SOFTRESET      0x12000004
-
-void adm5120_restart(char *command)
-{
-       *(u32*)KSEG1ADDR(ADM5120_SOFTRESET)=1;
-}
-
-
-void adm5120_halt(void)
-{
-        printk(KERN_NOTICE "\n** You can safely turn off the power\n");
-        while (1);
-}
-
+#include <asm/mach-adm5120/adm5120_switch.h>
+#include <asm/mach-adm5120/adm5120_board.h>
+
+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"
+};
 
-void adm5120_power_off(void)
+static void __init adm5120_report(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);