Commit 02d92918 authored by Stefan Roese's avatar Stefan Roese Committed by David Woodhouse

[MTD] [NAND] Change NDFC driver to support 405 platforms too

This patch adds 405 platform support to the 440 NDFC driver. The new
AMCC 405EZ PPC is equipped with the same NDFC core as the 440EP(x)
and other will follow soon.
Signed-off-by: default avatarStefan Roese <sr@denx.de>
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent 356d70f1
...@@ -134,10 +134,10 @@ config MTD_NAND_S3C2410_HWECC ...@@ -134,10 +134,10 @@ config MTD_NAND_S3C2410_HWECC
config MTD_NAND_NDFC config MTD_NAND_NDFC
tristate "NDFC NanD Flash Controller" tristate "NDFC NanD Flash Controller"
depends on 44x depends on 4xx
select MTD_NAND_ECC_SMC select MTD_NAND_ECC_SMC
help help
NDFC Nand Flash Controllers are integrated in EP44x SoCs NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
config MTD_NAND_S3C2410_CLKSTOP config MTD_NAND_S3C2410_CLKSTOP
bool "S3C2410 NAND IDLE clock stop" bool "S3C2410 NAND IDLE clock stop"
......
...@@ -24,7 +24,11 @@ ...@@ -24,7 +24,11 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <asm/io.h> #include <asm/io.h>
#ifdef CONFIG_40x
#include <asm/ibm405.h>
#else
#include <asm/ibm44x.h> #include <asm/ibm44x.h>
#endif
struct ndfc_nand_mtd { struct ndfc_nand_mtd {
struct mtd_info mtd; struct mtd_info mtd;
...@@ -230,7 +234,11 @@ static int ndfc_nand_probe(struct platform_device *pdev) ...@@ -230,7 +234,11 @@ static int ndfc_nand_probe(struct platform_device *pdev)
struct ndfc_controller *ndfc = &ndfc_ctrl; struct ndfc_controller *ndfc = &ndfc_ctrl;
unsigned long long phys = settings->ndfc_erpn | res->start; unsigned long long phys = settings->ndfc_erpn | res->start;
#ifndef CONFIG_PHYS_64BIT
ndfc->ndfcbase = ioremap((phys_addr_t)phys, res->end - res->start + 1);
#else
ndfc->ndfcbase = ioremap64(phys, res->end - res->start + 1); ndfc->ndfcbase = ioremap64(phys, res->end - res->start + 1);
#endif
if (!ndfc->ndfcbase) { if (!ndfc->ndfcbase) {
printk(KERN_ERR "NDFC: ioremap failed\n"); printk(KERN_ERR "NDFC: ioremap failed\n");
return -EIO; return -EIO;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment