--- a/arch/mips/lantiq/setup.c +++ b/arch/mips/lantiq/setup.c @@ -12,7 +12,10 @@ #include #include -#include + +#include + +static unsigned int *cp1_base; void __init plat_mem_setup(void) @@ -31,6 +34,7 @@ ioport_resource.end = IOPORT_RESOURCE_END; iomem_resource.start = IOMEM_RESOURCE_START; iomem_resource.end = IOMEM_RESOURCE_END; + set_io_port_base((unsigned long) KSEG1); while (*envp) { @@ -42,6 +46,37 @@ } envp++; } +// memsize -= 2; memsize *= 1024 * 1024; +// cp1_base = (unsigned int*)(KSEG1 | memsize); add_memory_region(0x00000000, memsize, BOOT_MEM_RAM); } + +unsigned int* +lq_get_cp1_base(void) +{ + return cp1_base; +} +EXPORT_SYMBOL(lq_get_cp1_base); + +static int __init +lq_machine_setup(void) +{ + mips_machine_setup(); + return 0; +} + +static void __init +mach_generic_init(void) +{ +} + +MIPS_MACHINE(LANTIQ_MACH_GENERIC, + "Generic", + "Generic", + mach_generic_init); + +arch_initcall(lq_machine_setup); + +/* for backward compatibility, define "board=" as alias for "machtype=" */ +__setup("board=", mips_machtype_setup); --- /dev/null +++ b/arch/mips/include/asm/mach-lantiq/machine.h @@ -0,0 +1,14 @@ +#include + +enum lantiq_mach_type { + LANTIQ_MACH_GENERIC, + + /* FALCON */ + LANTIQ_MACH_EASY98000, /* Falcon Eval Board, NOR Flash */ + LANTIQ_MACH_EASY98020, /* Falcon Reference Board */ + + /* XWAY */ + LANTIQ_MACH_EASY4010, /* Twinpass evalkit */ + LANTIQ_MACH_EASY50712, /* Danube evalkit */ + LANTIQ_MACH_EASY50812, /* AR9 eval board */ +};