#include <asm/time.h>
#include <asm/irq.h>
#include <asm/io.h>
+#include <asm/ifxmips/ifxmips.h>
#define MAX_IFXMIPS_DEVS 5
+#define BOARD_DANUBE "Danube"
+#define BOARD_DANUBE_CHIPID 0x10129083
+
+#define BOARD_TWINPASS "Twinpass"
+
+#define BOARD_DANUBE "Danube"
+
+static unsigned int chiprev;
+
static struct platform_device *ifxmips_devs[MAX_IFXMIPS_DEVS];
static struct platform_device ifxmips_led[] =
},
};
+const char*
+get_system_type (void)
+{
+ chiprev = readl(IFXMIPS_MPS_CHIPID);
+ switch(chiprev)
+ {
+ case BOARD_DANUBE_CHIPID:
+ return BOARD_DANUBE;
+ }
+
+ return BOARD_SYSTEM_TYPE;
+}
+
int __init ifxmips_init_devices(void)
{
/*
writel(0xffff, IFXMIPS_GPTU_GPT_CAPREL);
writel(0x80C0, IFXMIPS_GPTU_GPT_T6CON);
- retval = setup_irq(IFXMIPS_TIMER6_INT, &hrt_irqaction);
+ //retval = setup_irq(IFXMIPS_TIMER6_INT, &hrt_irqaction);
if (retval)
{
}
}
+extern const char* get_system_type (void);
+
void __init
plat_mem_setup (void)
{
u32 status;
- prom_printf("This %s has a cpu rev of 0x%X\n", BOARD_SYSTEM_TYPE, ifxmips_get_cpu_ver());
+ prom_printf("This %s has a cpu rev of 0x%X\n", get_system_type(), ifxmips_get_cpu_ver());
//TODO WHY ???
/* clear RE bit*/