[MIPS] Malta: Resurrect MTD support for onboard flash.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
2efac77e82
commit
b228f4c54d
3 changed files with 80 additions and 41 deletions
arch/mips
|
@ -644,7 +644,85 @@ CONFIG_CONNECTOR=m
|
||||||
#
|
#
|
||||||
# Memory Technology Devices (MTD)
|
# Memory Technology Devices (MTD)
|
||||||
#
|
#
|
||||||
# CONFIG_MTD is not set
|
CONFIG_MTD=y
|
||||||
|
# CONFIG_MTD_DEBUG is not set
|
||||||
|
# CONFIG_MTD_CONCAT is not set
|
||||||
|
CONFIG_MTD_PARTITIONS=y
|
||||||
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
|
# CONFIG_MTD_CMDLINE_PARTS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# User Modules And Translation Layers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CHAR=y
|
||||||
|
CONFIG_MTD_BLOCK=y
|
||||||
|
# CONFIG_FTL is not set
|
||||||
|
# CONFIG_NFTL is not set
|
||||||
|
# CONFIG_INFTL is not set
|
||||||
|
# CONFIG_RFD_FTL is not set
|
||||||
|
# CONFIG_SSFDC is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RAM/ROM/Flash chip drivers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CFI=y
|
||||||
|
# CONFIG_MTD_JEDECPROBE is not set
|
||||||
|
CONFIG_MTD_GEN_PROBE=y
|
||||||
|
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||||
|
CONFIG_MTD_CFI_I1=y
|
||||||
|
CONFIG_MTD_CFI_I2=y
|
||||||
|
# CONFIG_MTD_CFI_I4 is not set
|
||||||
|
# CONFIG_MTD_CFI_I8 is not set
|
||||||
|
CONFIG_MTD_CFI_INTELEXT=y
|
||||||
|
CONFIG_MTD_CFI_AMDSTD=y
|
||||||
|
CONFIG_MTD_CFI_STAA=y
|
||||||
|
CONFIG_MTD_CFI_UTIL=y
|
||||||
|
# CONFIG_MTD_RAM is not set
|
||||||
|
# CONFIG_MTD_ROM is not set
|
||||||
|
# CONFIG_MTD_ABSENT is not set
|
||||||
|
# CONFIG_MTD_OBSOLETE_CHIPS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Mapping drivers for chip access
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||||
|
CONFIG_MTD_PHYSMAP=y
|
||||||
|
CONFIG_MTD_PHYSMAP_START=0x0
|
||||||
|
CONFIG_MTD_PHYSMAP_LEN=0x0
|
||||||
|
CONFIG_MTD_PHYSMAP_BANKWIDTH=0
|
||||||
|
# CONFIG_MTD_PLATRAM is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Self-contained MTD device drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_PMC551 is not set
|
||||||
|
# CONFIG_MTD_SLRAM is not set
|
||||||
|
# CONFIG_MTD_PHRAM is not set
|
||||||
|
# CONFIG_MTD_MTDRAM is not set
|
||||||
|
# CONFIG_MTD_BLOCK2MTD is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Disk-On-Chip Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_DOC2000 is not set
|
||||||
|
# CONFIG_MTD_DOC2001 is not set
|
||||||
|
# CONFIG_MTD_DOC2001PLUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# NAND Flash Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_NAND is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# OneNAND Flash Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_ONENAND is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Parallel port support
|
# Parallel port support
|
||||||
|
|
|
@ -19,5 +19,5 @@
|
||||||
# under Linux.
|
# under Linux.
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y := malta_int.o malta_setup.o
|
obj-y := malta_int.o malta_mtd.o malta_setup.o
|
||||||
obj-$(CONFIG_SMP) += malta_smp.o
|
obj-$(CONFIG_SMP) += malta_smp.o
|
||||||
|
|
|
@ -21,13 +21,6 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/screen_info.h>
|
#include <linux/screen_info.h>
|
||||||
|
|
||||||
#ifdef CONFIG_MTD
|
|
||||||
#include <linux/mtd/partitions.h>
|
|
||||||
#include <linux/mtd/physmap.h>
|
|
||||||
#include <linux/mtd/mtd.h>
|
|
||||||
#include <linux/mtd/map.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <asm/cpu.h>
|
#include <asm/cpu.h>
|
||||||
#include <asm/bootinfo.h>
|
#include <asm/bootinfo.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
@ -58,30 +51,6 @@ struct resource standard_io_resources[] = {
|
||||||
{ .name = "dma2", .start = 0xc0, .end = 0xdf, .flags = IORESOURCE_BUSY },
|
{ .name = "dma2", .start = 0xc0, .end = 0xdf, .flags = IORESOURCE_BUSY },
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_MTD
|
|
||||||
static struct mtd_partition malta_mtd_partitions[] = {
|
|
||||||
{
|
|
||||||
.name = "YAMON",
|
|
||||||
.offset = 0x0,
|
|
||||||
.size = 0x100000,
|
|
||||||
.mask_flags = MTD_WRITEABLE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "User FS",
|
|
||||||
.offset = 0x100000,
|
|
||||||
.size = 0x2e0000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "Board Config",
|
|
||||||
.offset = 0x3e0000,
|
|
||||||
.size = 0x020000,
|
|
||||||
.mask_flags = MTD_WRITEABLE
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#define number_partitions (sizeof(malta_mtd_partitions)/sizeof(struct mtd_partition))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *get_system_type(void)
|
const char *get_system_type(void)
|
||||||
{
|
{
|
||||||
return "MIPS Malta";
|
return "MIPS Malta";
|
||||||
|
@ -211,14 +180,6 @@ void __init plat_mem_setup(void)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_MTD
|
|
||||||
/*
|
|
||||||
* Support for MTD on Malta. Use the generic physmap driver
|
|
||||||
*/
|
|
||||||
physmap_configure(0x1e000000, 0x400000, 4, NULL);
|
|
||||||
physmap_set_partitions(malta_mtd_partitions, number_partitions);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mips_reboot_setup();
|
mips_reboot_setup();
|
||||||
|
|
||||||
board_time_init = mips_time_init;
|
board_time_init = mips_time_init;
|
||||||
|
|
Loading…
Add table
Reference in a new issue