| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
|  | 32 | static 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 |  | 
| Alejandro Martinez Ruiz | 2b22c03 | 2007-10-22 21:36:44 +0200 | [diff] [blame] | 53 | #define number_partitions ARRAY_SIZE(cmbvr4133_mtd_parts) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 54 | #endif | 
|  | 55 |  | 
|  | 56 | extern void i8259_init(void); | 
|  | 57 |  | 
| Ralf Baechle | c83cfc9 | 2005-06-21 13:56:30 +0000 | [diff] [blame] | 58 | static void __init nec_cmbvr4133_setup(void) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 67 | #ifdef CONFIG_PCI | 
|  | 68 | #ifdef CONFIG_ROCKHOPPER | 
|  | 69 | ali_m5229_preinit(); | 
|  | 70 | #endif | 
|  | 71 | #endif | 
|  | 72 |  | 
|  | 73 | #ifdef CONFIG_ROCKHOPPER | 
|  | 74 | rockhopper_init_irq(); | 
|  | 75 | #endif | 
|  | 76 |  | 
|  | 77 | #ifdef CONFIG_MTD | 
|  | 78 | /* we use generic physmap mapping driver and we use partitions */ | 
|  | 79 | physmap_configure(0x1C000000, 0x02000000, 4, NULL); | 
|  | 80 | physmap_set_partitions(cmbvr4133_mtd_parts, number_partitions); | 
|  | 81 | #endif | 
|  | 82 |  | 
|  | 83 | /* 128 MB memory support */ | 
|  | 84 | add_memory_region(0, 0x08000000, BOOT_MEM_RAM); | 
|  | 85 |  | 
|  | 86 | #ifdef CONFIG_ROCKHOPPER | 
|  | 87 | i8259_init(); | 
|  | 88 | #endif | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 89 | } |