diff options
author | Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | 2007-02-20 00:11:57 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-20 12:11:55 -0500 |
commit | c316eb1eee2c803c33b1f826fe744c922d2e354f (patch) | |
tree | fe20495759af06890169d2ea2612b19a42eb6086 /arch/mips | |
parent | 575d5e72aab57beb6d5fa2a7d66be9fc681a5e00 (diff) |
[MIPS] Add MTD device support for Cobalt
This patch has added MTD device support for Cobalt.
Moreover, removes old type FlashROM support.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/cobalt/Makefile | 1 | ||||
-rw-r--r-- | arch/mips/cobalt/mtd.c | 61 | ||||
-rw-r--r-- | arch/mips/configs/cobalt_defconfig | 86 |
3 files changed, 146 insertions, 2 deletions
diff --git a/arch/mips/cobalt/Makefile b/arch/mips/cobalt/Makefile index 225ac8f34ccd..12589a1ff048 100644 --- a/arch/mips/cobalt/Makefile +++ b/arch/mips/cobalt/Makefile | |||
@@ -5,5 +5,6 @@ | |||
5 | obj-y := irq.o reset.o setup.o | 5 | obj-y := irq.o reset.o setup.o |
6 | 6 | ||
7 | obj-$(CONFIG_EARLY_PRINTK) += console.o | 7 | obj-$(CONFIG_EARLY_PRINTK) += console.o |
8 | obj-$(CONFIG_MTD_PHYSMAP) += mtd.o | ||
8 | 9 | ||
9 | EXTRA_AFLAGS := $(CFLAGS) | 10 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/cobalt/mtd.c b/arch/mips/cobalt/mtd.c new file mode 100644 index 000000000000..01d8ec77fe9c --- /dev/null +++ b/arch/mips/cobalt/mtd.c | |||
@@ -0,0 +1,61 @@ | |||
1 | /* | ||
2 | * Registration of Cobalt MTD device. | ||
3 | * | ||
4 | * Copyright (C) 2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | #include <linux/mtd/partitions.h> | ||
23 | #include <linux/mtd/physmap.h> | ||
24 | |||
25 | static struct mtd_partition cobalt_mtd_partitions[] = { | ||
26 | { | ||
27 | .name = "Colo", | ||
28 | .offset = 0x0, | ||
29 | .size = 0x80000, | ||
30 | }, | ||
31 | }; | ||
32 | |||
33 | static struct physmap_flash_data cobalt_flash_data = { | ||
34 | .width = 1, | ||
35 | .nr_parts = 1, | ||
36 | .parts = cobalt_mtd_partitions, | ||
37 | }; | ||
38 | |||
39 | static struct resource cobalt_mtd_resource = { | ||
40 | .start = 0x1fc00000, | ||
41 | .end = 0x1fc7ffff, | ||
42 | .flags = IORESOURCE_MEM, | ||
43 | }; | ||
44 | |||
45 | static struct platform_device cobalt_mtd = { | ||
46 | .name = "physmap-flash", | ||
47 | .dev = { | ||
48 | .platform_data = &cobalt_flash_data, | ||
49 | }, | ||
50 | .num_resources = 1, | ||
51 | .resource = &cobalt_mtd_resource, | ||
52 | }; | ||
53 | |||
54 | static int __init cobalt_mtd_init(void) | ||
55 | { | ||
56 | platform_device_register(&cobalt_mtd); | ||
57 | |||
58 | return 0; | ||
59 | } | ||
60 | |||
61 | module_init(cobalt_mtd_init); | ||
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 1a3d776ad1e4..f88c40fc9948 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.20 | 3 | # Linux kernel version: 2.6.20 |
4 | # Sun Feb 18 21:27:37 2007 | 4 | # Mon Feb 19 14:51:58 2007 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -373,7 +373,88 @@ CONFIG_PROC_EVENTS=y | |||
373 | # | 373 | # |
374 | # Memory Technology Devices (MTD) | 374 | # Memory Technology Devices (MTD) |
375 | # | 375 | # |
376 | # CONFIG_MTD is not set | 376 | CONFIG_MTD=y |
377 | # CONFIG_MTD_DEBUG is not set | ||
378 | # CONFIG_MTD_CONCAT is not set | ||
379 | CONFIG_MTD_PARTITIONS=y | ||
380 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
381 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
382 | |||
383 | # | ||
384 | # User Modules And Translation Layers | ||
385 | # | ||
386 | CONFIG_MTD_CHAR=y | ||
387 | CONFIG_MTD_BLKDEVS=y | ||
388 | # CONFIG_MTD_BLOCK is not set | ||
389 | # CONFIG_MTD_BLOCK_RO is not set | ||
390 | # CONFIG_FTL is not set | ||
391 | # CONFIG_NFTL is not set | ||
392 | # CONFIG_INFTL is not set | ||
393 | # CONFIG_RFD_FTL is not set | ||
394 | # CONFIG_SSFDC is not set | ||
395 | |||
396 | # | ||
397 | # RAM/ROM/Flash chip drivers | ||
398 | # | ||
399 | # CONFIG_MTD_CFI is not set | ||
400 | CONFIG_MTD_JEDECPROBE=y | ||
401 | CONFIG_MTD_GEN_PROBE=y | ||
402 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
403 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
404 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
405 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
406 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
407 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
408 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
409 | CONFIG_MTD_CFI_I1=y | ||
410 | CONFIG_MTD_CFI_I2=y | ||
411 | # CONFIG_MTD_CFI_I4 is not set | ||
412 | # CONFIG_MTD_CFI_I8 is not set | ||
413 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
414 | CONFIG_MTD_CFI_AMDSTD=y | ||
415 | # CONFIG_MTD_CFI_STAA is not set | ||
416 | CONFIG_MTD_CFI_UTIL=y | ||
417 | # CONFIG_MTD_RAM is not set | ||
418 | # CONFIG_MTD_ROM is not set | ||
419 | # CONFIG_MTD_ABSENT is not set | ||
420 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
421 | |||
422 | # | ||
423 | # Mapping drivers for chip access | ||
424 | # | ||
425 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
426 | CONFIG_MTD_PHYSMAP=y | ||
427 | CONFIG_MTD_PHYSMAP_START=0x0 | ||
428 | CONFIG_MTD_PHYSMAP_LEN=0 | ||
429 | CONFIG_MTD_PHYSMAP_BANKWIDTH=0 | ||
430 | # CONFIG_MTD_PLATRAM is not set | ||
431 | |||
432 | # | ||
433 | # Self-contained MTD device drivers | ||
434 | # | ||
435 | # CONFIG_MTD_PMC551 is not set | ||
436 | # CONFIG_MTD_SLRAM is not set | ||
437 | # CONFIG_MTD_PHRAM is not set | ||
438 | # CONFIG_MTD_MTDRAM is not set | ||
439 | # CONFIG_MTD_BLOCK2MTD is not set | ||
440 | |||
441 | # | ||
442 | # Disk-On-Chip Device Drivers | ||
443 | # | ||
444 | # CONFIG_MTD_DOC2000 is not set | ||
445 | # CONFIG_MTD_DOC2001 is not set | ||
446 | # CONFIG_MTD_DOC2001PLUS is not set | ||
447 | |||
448 | # | ||
449 | # NAND Flash Device Drivers | ||
450 | # | ||
451 | # CONFIG_MTD_NAND is not set | ||
452 | # CONFIG_MTD_NAND_CAFE is not set | ||
453 | |||
454 | # | ||
455 | # OneNAND Flash Device Drivers | ||
456 | # | ||
457 | # CONFIG_MTD_ONENAND is not set | ||
377 | 458 | ||
378 | # | 459 | # |
379 | # Parallel port support | 460 | # Parallel port support |
@@ -901,6 +982,7 @@ CONFIG_CONFIGFS_FS=y | |||
901 | # CONFIG_BEFS_FS is not set | 982 | # CONFIG_BEFS_FS is not set |
902 | # CONFIG_BFS_FS is not set | 983 | # CONFIG_BFS_FS is not set |
903 | # CONFIG_EFS_FS is not set | 984 | # CONFIG_EFS_FS is not set |
985 | # CONFIG_JFFS2_FS is not set | ||
904 | # CONFIG_CRAMFS is not set | 986 | # CONFIG_CRAMFS is not set |
905 | # CONFIG_VXFS_FS is not set | 987 | # CONFIG_VXFS_FS is not set |
906 | # CONFIG_HPFS_FS is not set | 988 | # CONFIG_HPFS_FS is not set |