This option enables support for MIPS Technologies MIPSsim software
          emulator.
 
-config MACH_EMMA
-       bool "NEC EMMA series based machines"
+config NEC_MARKEINS
+       bool "NEC EMMA2RH Mark-eins board"
+       select SOC_EMMA2RH
+       select HW_HAS_PCI
+       help
+         This enables support for the NEC Electronics Mark-eins boards.
 
 config MACH_VR41XX
        bool "NEC VR4100 series based machines"
 
 source "arch/mips/alchemy/Kconfig"
 source "arch/mips/basler/excite/Kconfig"
-source "arch/mips/emma/Kconfig"
 source "arch/mips/jazz/Kconfig"
 source "arch/mips/lasat/Kconfig"
 source "arch/mips/pmc-sierra/Kconfig"
        bool
        select SERIAL_RM9000
 
+config SOC_EMMA2RH
+       bool
+       select CEVT_R4K
+       select CSRC_R4K
+       select DMA_NONCOHERENT
+       select IRQ_CPU
+       select SWAP_IO_SPACE
+       select SYS_HAS_CPU_R5500
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select SYS_SUPPORTS_BIG_ENDIAN
+
 config SOC_PNX833X
        bool
        select CEVT_R4K
 config SWAP_IO_SPACE
        bool
 
-config EMMA2RH
-       bool
-       depends on MARKEINS
-       default y
-
 config SERIAL_RM9000
        bool
 
 
 #
 # Common NEC EMMAXXX
 #
-core-$(CONFIG_SOC_EMMA)                += arch/mips/emma/common/
+core-$(CONFIG_SOC_EMMA2RH)     += arch/mips/emma/common/
 cflags-$(CONFIG_SOC_EMMA2RH)   += -I$(srctree)/arch/mips/include/asm/mach-emma2rh
 
 #
 
 # CONFIG_PNX8550_STB810 is not set
 # CONFIG_MACH_VR41XX is not set
 # CONFIG_PMC_YOSEMITE is not set
-CONFIG_MARKEINS=y
+CONFIG_NEC_MARKEINS=y
 # CONFIG_SGI_IP22 is not set
 # CONFIG_SGI_IP27 is not set
 # CONFIG_SGI_IP32 is not set
 CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
 CONFIG_IRQ_CPU=y
 CONFIG_SWAP_IO_SPACE=y
-CONFIG_EMMA2RH=y
+CONFIG_SOC_EMMA2RH=y
 CONFIG_MIPS_L1_CACHE_SHIFT=5
 
 #
 #
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
 CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_START=0x1e000000
-CONFIG_MTD_PHYSMAP_LEN=0x02000000
-CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=0
 # CONFIG_MTD_PLATRAM is not set
 
 #
 
+++ /dev/null
-choice
-       prompt "Machine type"
-       depends on MACH_EMMA
-       default NEC_MARKEINS
-
-config NEC_MARKEINS
-       bool "NEC EMMA2RH Mark-eins board"
-       select SOC_EMMA2RH
-       select HW_HAS_PCI
-       help
-         This enables support for the NEC Electronics Mark-eins boards.
-
-endchoice
-
-config SOC_EMMA2RH
-       bool
-       select SOC_EMMA
-       select SYS_HAS_CPU_R5500
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL
-
-config SOC_EMMA
-       bool
-       select CEVT_R4K
-       select CSRC_R4K
-       select DMA_NONCOHERENT
-       select IRQ_CPU
-       select SWAP_IO_SPACE
-       select SYS_SUPPORTS_BIG_ENDIAN
 
        },
 };
 
-static struct platform_device *devices[] = {
-       &i2c_emma_devices[0],
-       &i2c_emma_devices[1],
-       &i2c_emma_devices[2],
-       &serial_emma,
-};
-
 static struct mtd_partition markeins_parts[] = {
        [0] = {
                .name = "RootFS",
        },
 };
 
+static struct physmap_flash_data markeins_flash_data = {
+       .width          = 2,
+       .nr_parts       = ARRAY_SIZE(markeins_parts),
+       .parts          = markeins_parts
+};
+
+static struct resource markeins_flash_resource = {
+       .start          = 0x1e000000,
+       .end            = 0x02000000,
+       .flags          = IORESOURCE_MEM
+};
+
+static struct platform_device markeins_flash_device = {
+       .name           = "physmap-flash",
+       .id             = 0,
+       .dev            = {
+               .platform_data  = &markeins_flash_data,
+       },
+       .num_resources  = 1,
+       .resource       = &markeins_flash_resource,
+};
+
+static struct platform_device *devices[] = {
+       i2c_emma_devices,
+       i2c_emma_devices + 1,
+       i2c_emma_devices + 2,
+       &serial_emma,
+       &markeins_flash_device,
+};
+
 static int __init platform_devices_setup(void)
 {
-       physmap_set_partitions(markeins_parts, ARRAY_SIZE(markeins_parts));
        return platform_add_devices(devices, ARRAY_SIZE(devices));
 }
 
 arch_initcall(platform_devices_setup);
-