ARM: pxa: Add Balloon3 NAND ready check
authorMarek Vasut <marek.vasut@gmail.com>
Tue, 19 Oct 2010 15:06:49 +0000 (17:06 +0200)
committerEric Miao <eric.y.miao@gmail.com>
Mon, 20 Dec 2010 15:14:09 +0000 (23:14 +0800)
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
arch/arm/mach-pxa/balloon3.c
arch/arm/mach-pxa/include/mach/balloon3.h

index d4649c0..ccb2d0c 100644 (file)
@@ -612,9 +612,13 @@ static void balloon3_nand_select_chip(struct mtd_info *mtd, int chip)
                BALLOON3_NAND_CONTROL_REG);
 }
 
+static int balloon3_nand_dev_ready(struct mtd_info *mtd)
+{
+       return __raw_readl(BALLOON3_NAND_STAT_REG) & BALLOON3_NAND_STAT_RNB;
+}
+
 static int balloon3_nand_probe(struct platform_device *pdev)
 {
-       void __iomem *temp_map;
        uint16_t ver;
        int ret;
 
@@ -684,7 +688,7 @@ struct platform_nand_data balloon3_nand_pdata = {
        },
        .ctrl = {
                .hwcontrol      = 0,
-               .dev_ready      = 0,
+               .dev_ready      = balloon3_nand_dev_ready,
                .select_chip    = balloon3_nand_select_chip,
                .cmd_ctrl       = balloon3_nand_cmd_ctl,
                .probe          = balloon3_nand_probe,
index f6c81ea..7074e76 100644 (file)
@@ -37,7 +37,7 @@ enum balloon3_features {
 #define        BALLOON3_NAND_BASE              (PXA_CS4_PHYS + 0x00e00000)
 #define        BALLOON3_NAND_IO_REG            (BALLOON3_FPGA_VIRT + 0x00e00000)
 #define        BALLOON3_NAND_CONTROL2_REG      (BALLOON3_FPGA_VIRT + 0x00e00010)
-#define        BALLOON3_NAND_STAT_REG          (BALLOON3_FPGA_VIRT + 0x00e00010)
+#define        BALLOON3_NAND_STAT_REG          (BALLOON3_FPGA_VIRT + 0x00e00014)
 #define        BALLOON3_NAND_CONTROL_REG       (BALLOON3_FPGA_VIRT + 0x00e00014)
 
 /* fpga/cpld interrupt control register */