]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/mtd/nand/s3c2410_nand.c
Add generic support for samsung s3c2440
[karo-tx-uboot.git] / drivers / mtd / nand / s3c2410_nand.c
index a27d47e5f1f7c4c7c58f17d11b2bb6812a25b0d5..f70daefbfe126c5910dffd444697e79b00312773 100644 (file)
@@ -69,11 +69,11 @@ static void s3c2410_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
                chip->IO_ADDR_W = (void *)IO_ADDR_W;
 
                if (ctrl & NAND_NCE)
-                       writel(readl(&nand->NFCONF) & ~S3C2410_NFCONF_nFCE,
-                              &nand->NFCONF);
+                       writel(readl(&nand->nfconf) & ~S3C2410_NFCONF_nFCE,
+                              &nand->nfconf);
                else
-                       writel(readl(&nand->NFCONF) | S3C2410_NFCONF_nFCE,
-                              &nand->NFCONF);
+                       writel(readl(&nand->nfconf) | S3C2410_NFCONF_nFCE,
+                              &nand->nfconf);
        }
 
        if (cmd != NAND_CMD_NONE)
@@ -84,7 +84,7 @@ static int s3c2410_dev_ready(struct mtd_info *mtd)
 {
        struct s3c2410_nand *nand = s3c2410_get_base_nand();
        debugX(1, "dev_ready\n");
-       return readl(&nand->NFSTAT) & 0x01;
+       return readl(&nand->nfstat) & 0x01;
 }
 
 #ifdef CONFIG_S3C2410_NAND_HWECC
@@ -92,16 +92,16 @@ void s3c2410_nand_enable_hwecc(struct mtd_info *mtd, int mode)
 {
        struct s3c2410_nand *nand = s3c2410_get_base_nand();
        debugX(1, "s3c2410_nand_enable_hwecc(%p, %d)\n", mtd, mode);
-       writel(readl(&nand->NFCONF) | S3C2410_NFCONF_INITECC, &nand->NFCONF);
+       writel(readl(&nand->nfconf) | S3C2410_NFCONF_INITECC, &nand->nfconf);
 }
 
 static int s3c2410_nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat,
                                      u_char *ecc_code)
 {
        struct s3c2410_nand *nand = s3c2410_get_base_nand();
-       ecc_code[0] = readb(&nand->NFECC);
-       ecc_code[1] = readb(&nand->NFECC + 1);
-       ecc_code[2] = readb(&nand->NFECC + 2);
+       ecc_code[0] = readb(&nand->nfecc);
+       ecc_code[1] = readb(&nand->nfecc + 1);
+       ecc_code[2] = readb(&nand->nfecc + 2);
        debugX(1, "s3c2410_nand_calculate_hwecc(%p,): 0x%02x 0x%02x 0x%02x\n",
               mtd , ecc_code[0], ecc_code[1], ecc_code[2]);
 
@@ -130,7 +130,7 @@ int board_nand_init(struct nand_chip *nand)
 
        debugX(1, "board_nand_init()\n");
 
-       writel(readl(&clk_power->CLKCON) | (1 << 4), &clk_power->CLKCON);
+       writel(readl(&clk_power->clkcon) | (1 << 4), &clk_power->clkcon);
 
        /* initialize hardware */
        twrph0 = 3;
@@ -141,10 +141,11 @@ int board_nand_init(struct nand_chip *nand)
        cfg |= S3C2410_NFCONF_TACLS(tacls - 1);
        cfg |= S3C2410_NFCONF_TWRPH0(twrph0 - 1);
        cfg |= S3C2410_NFCONF_TWRPH1(twrph1 - 1);
-       writel(cfg, &nand_reg->NFCONF);
+       writel(cfg, &nand_reg->nfconf);
 
        /* initialize nand_chip data structure */
-       nand->IO_ADDR_R = nand->IO_ADDR_W = (void *)&nand_reg->NFDATA;
+       nand->IO_ADDR_R = (void *)&nand_reg->nfdata;
+       nand->IO_ADDR_W = (void *)&nand_reg->nfdata;
 
        nand->select_chip = NULL;