Viewing file: arch.c (4.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * linux/arch/arm/mach-footbridge/arch.c * * Architecture specific fixups. This is where any * parameters in the params struct are fixed up, or * any additional architecture specific information * is pulled from the params struct. */ #include <linux/config.h> #include <linux/module.h> #include <linux/tty.h> #include <linux/delay.h> #include <linux/pm.h> #include <linux/init.h>
#include <asm/hardware/dec21285.h> #include <asm/elf.h> #include <asm/setup.h> #include <asm/mach-types.h>
#include <asm/mach/arch.h>
extern void footbridge_map_io(void); extern void footbridge_init_irq(void);
unsigned int mem_fclk_21285 = 50000000;
EXPORT_SYMBOL(mem_fclk_21285);
static int __init parse_tag_memclk(const struct tag *tag) { mem_fclk_21285 = tag->u.memclk.fmemclk; return 0; }
__tagtable(ATAG_MEMCLK, parse_tag_memclk);
#ifdef CONFIG_ARCH_EBSA285
static void __init fixup_ebsa285(struct machine_desc *desc, struct param_struct *params, char **cmdline, struct meminfo *mi) { ORIG_X = params->u1.s.video_x; ORIG_Y = params->u1.s.video_y; ORIG_VIDEO_COLS = params->u1.s.video_num_cols; ORIG_VIDEO_LINES = params->u1.s.video_num_rows; }
MACHINE_START(EBSA285, "EBSA285") MAINTAINER("Russell King") BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000) BOOT_PARAMS(0x00000100) VIDEO(0x000a0000, 0x000bffff) FIXUP(fixup_ebsa285) MAPIO(footbridge_map_io) INITIRQ(footbridge_init_irq) MACHINE_END #endif
#ifdef CONFIG_ARCH_NETWINDER /* * Older NeTTroms either do not provide a parameters * page, or they don't supply correct information in * the parameter page. */ static void __init fixup_netwinder(struct machine_desc *desc, struct param_struct *params, char **cmdline, struct meminfo *mi) { #ifdef CONFIG_ISAPNP extern int isapnp_disable;
/* * We must not use the kernels ISAPnP code * on the NetWinder - it will reset the settings * for the WaveArtist chip and render it inoperable. */ isapnp_disable = 1; #endif
if (params->u1.s.nr_pages != 0x02000 && params->u1.s.nr_pages != 0x04000 && params->u1.s.nr_pages != 0x08000 && params->u1.s.nr_pages != 0x10000) { printk(KERN_WARNING "Warning: bad NeTTrom parameters " "detected, using defaults\n");
params->u1.s.nr_pages = 0x1000; /* 16MB */ params->u1.s.ramdisk_size = 0; params->u1.s.flags = FLAG_READONLY; params->u1.s.initrd_start = 0; params->u1.s.initrd_size = 0; params->u1.s.rd_start = 0; } }
MACHINE_START(NETWINDER, "Rebel-NetWinder") MAINTAINER("Russell King/Rebel.com") BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000) BOOT_PARAMS(0x00000100) VIDEO(0x000a0000, 0x000bffff) DISABLE_PARPORT(0) DISABLE_PARPORT(2) FIXUP(fixup_netwinder) MAPIO(footbridge_map_io) INITIRQ(footbridge_init_irq) MACHINE_END #endif
#ifdef CONFIG_ARCH_CATS /* * CATS uses soft-reboot by default, since * hard reboots fail on early boards. */ static void __init fixup_cats(struct machine_desc *desc, struct param_struct *unused, char **cmdline, struct meminfo *mi) { ORIG_VIDEO_LINES = 25; ORIG_VIDEO_POINTS = 16; ORIG_Y = 24; }
MACHINE_START(CATS, "Chalice-CATS") MAINTAINER("Philip Blundell") BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000) BOOT_PARAMS(0x00000100) SOFT_REBOOT FIXUP(fixup_cats) MAPIO(footbridge_map_io) INITIRQ(footbridge_init_irq) MACHINE_END #endif
#ifdef CONFIG_ARCH_CO285
static void __init fixup_coebsa285(struct machine_desc *desc, struct param_struct *unused, char **cmdline, struct meminfo *mi) { extern unsigned long boot_memory_end; extern char boot_command_line[];
mi->nr_banks = 1; mi->bank[0].start = PHYS_OFFSET; mi->bank[0].size = boot_memory_end; mi->bank[0].node = 0;
*cmdline = boot_command_line; }
MACHINE_START(CO285, "co-EBSA285") MAINTAINER("Mark van Doesburg") BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0x7cf00000) FIXUP(fixup_coebsa285) MAPIO(footbridge_map_io) INITIRQ(footbridge_init_irq) MACHINE_END #endif
#ifdef CONFIG_ARCH_PERSONAL_SERVER MACHINE_START(PERSONAL_SERVER, "Compaq-PersonalServer") MAINTAINER("Jamey Hicks / George France") BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000) BOOT_PARAMS(0x00000100) MAPIO(footbridge_map_io) INITIRQ(footbridge_init_irq) MACHINE_END #endif
|