aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorYoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>2007-02-20 00:11:57 -0500
committerRalf Baechle <ralf@linux-mips.org>2007-02-20 12:11:55 -0500
commitc316eb1eee2c803c33b1f826fe744c922d2e354f (patch)
treefe20495759af06890169d2ea2612b19a42eb6086 /arch
parent575d5e72aab57beb6d5fa2a7d66be9fc681a5e00 (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')
-rw-r--r--arch/mips/cobalt/Makefile1
-rw-r--r--arch/mips/cobalt/mtd.c61
-rw-r--r--arch/mips/configs/cobalt_defconfig86
3 files changed, 146 insertions, 2 deletions
diff --git a/arch/mips/cobalt/Makefile b/arch/mips/cobalt/Makefile
index 225ac8f34cc..12589a1ff04 100644
--- a/arch/mips/cobalt/Makefile
+++ b/arch/mips/cobalt/Makefile
@@ -5,5 +5,6 @@
5obj-y := irq.o reset.o setup.o 5obj-y := irq.o reset.o setup.o
6 6
7obj-$(CONFIG_EARLY_PRINTK) += console.o 7obj-$(CONFIG_EARLY_PRINTK) += console.o
8obj-$(CONFIG_MTD_PHYSMAP) += mtd.o
8 9
9EXTRA_AFLAGS := $(CFLAGS) 10EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/cobalt/mtd.c b/arch/mips/cobalt/mtd.c
new file mode 100644
index 00000000000..01d8ec77fe9
--- /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
25static struct mtd_partition cobalt_mtd_partitions[] = {
26 {
27 .name = "Colo",
28 .offset = 0x0,
29 .size = 0x80000,
30 },
31};
32
33static struct physmap_flash_data cobalt_flash_data = {
34 .width = 1,
35 .nr_parts = 1,
36 .parts = cobalt_mtd_partitions,
37};
38
39static struct resource cobalt_mtd_resource = {
40 .start = 0x1fc00000,
41 .end = 0x1fc7ffff,
42 .flags = IORESOURCE_MEM,
43};
44
45static 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
54static int __init cobalt_mtd_init(void)
55{
56 platform_device_register(&cobalt_mtd);
57
58 return 0;
59}
60
61module_init(cobalt_mtd_init);
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig
index 1a3d776ad1e..f88c40fc994 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#
6CONFIG_MIPS=y 6CONFIG_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 376CONFIG_MTD=y
377# CONFIG_MTD_DEBUG is not set
378# CONFIG_MTD_CONCAT is not set
379CONFIG_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#
386CONFIG_MTD_CHAR=y
387CONFIG_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
400CONFIG_MTD_JEDECPROBE=y
401CONFIG_MTD_GEN_PROBE=y
402# CONFIG_MTD_CFI_ADV_OPTIONS is not set
403CONFIG_MTD_MAP_BANK_WIDTH_1=y
404CONFIG_MTD_MAP_BANK_WIDTH_2=y
405CONFIG_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
409CONFIG_MTD_CFI_I1=y
410CONFIG_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
414CONFIG_MTD_CFI_AMDSTD=y
415# CONFIG_MTD_CFI_STAA is not set
416CONFIG_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
426CONFIG_MTD_PHYSMAP=y
427CONFIG_MTD_PHYSMAP_START=0x0
428CONFIG_MTD_PHYSMAP_LEN=0
429CONFIG_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