1/* 2 * arch/mips/vr41xx/nec-cmbvr4133/setup.c 3 * 4 * Setup for the NEC CMB-VR4133. 5 * 6 * Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and 7 * Alex Sapkov <asapkov@ru.mvista.com> 8 * 9 * 2001-2004 (c) MontaVista, Software, Inc. This file is licensed under 10 * the terms of the GNU General Public License version 2. This program 11 * is licensed "as is" without any warranty of any kind, whether express 12 * or implied. 13 * 14 * Support for CMBVR4133 board in 2.6 15 * Author: Manish Lachwani (mlachwani@mvista.com) 16 */ 17#include <linux/init.h> 18#include <linux/ide.h> 19#include <linux/ioport.h> 20 21#include <asm/reboot.h> 22#include <asm/time.h> 23#include <asm/vr41xx/cmbvr4133.h> 24#include <asm/bootinfo.h> 25 26#ifdef CONFIG_MTD 27#include <linux/mtd/physmap.h> 28#include <linux/mtd/partitions.h> 29#include <linux/mtd/mtd.h> 30#include <linux/mtd/map.h> 31 32static struct mtd_partition cmbvr4133_mtd_parts[] = { 33 { 34 .name = "User FS", 35 .size = 0x1be0000, 36 .offset = 0, 37 .mask_flags = 0, 38 }, 39 { 40 .name = "PMON", 41 .size = 0x140000, 42 .offset = MTDPART_OFS_APPEND, 43 .mask_flags = MTD_WRITEABLE, /* force read-only */ 44 }, 45 { 46 .name = "User FS2", 47 .size = MTDPART_SIZ_FULL, 48 .offset = MTDPART_OFS_APPEND, 49 .mask_flags = 0, 50 } 51}; 52 53#define number_partitions (sizeof(cmbvr4133_mtd_parts)/sizeof(struct mtd_partition)) 54#endif 55 56extern void i8259_init(void); 57 58static void __init nec_cmbvr4133_setup(void) 59{ 60#ifdef CONFIG_ROCKHOPPER 61 extern void disable_pcnet(void); 62 63 disable_pcnet(); 64#endif 65 set_io_port_base(KSEG1ADDR(0x16000000)); 66 67 mips_machgroup = MACH_GROUP_NEC_VR41XX; 68 mips_machtype = MACH_NEC_CMBVR4133; 69 70#ifdef CONFIG_PCI 71#ifdef CONFIG_ROCKHOPPER 72 ali_m5229_preinit(); 73#endif 74#endif 75 76#ifdef CONFIG_ROCKHOPPER 77 rockhopper_init_irq(); 78#endif 79 80#ifdef CONFIG_MTD 81 /* we use generic physmap mapping driver and we use partitions */ 82 physmap_configure(0x1C000000, 0x02000000, 4, NULL); 83 physmap_set_partitions(cmbvr4133_mtd_parts, number_partitions); 84#endif 85 86 /* 128 MB memory support */ 87 add_memory_region(0, 0x08000000, BOOT_MEM_RAM); 88 89#ifdef CONFIG_ROCKHOPPER 90 i8259_init(); 91#endif 92} 93