diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
index 4413d76..251f7a3 100644
--- a/drivers/mtd/nand/s3c2410.c
+++ b/drivers/mtd/nand/s3c2410.c
@@ -183,10 +183,20 @@ static int s3c2410_nand_inithw(struct s3c2410_nand_info *info,
 {
 	struct s3c2410_platform_nand *plat = to_nand_plat(pdev);
 	unsigned long clkrate = clk_get_rate(info->clk);
-	int tacls_max = (info->cpu_type == TYPE_S3C2412) ? 8 : 4;
+	int tacls_max;
 	int tacls, twrph0, twrph1;
 	unsigned long cfg = 0;
 
+	switch (info->cpu_type) {
+	case TYPE_S3C2410:
+	case TYPE_S3C2412:
+		tacls_max = 8;
+		break;
+	default:
+		tacls_max = 4;
+		break;
+	}
+
 	/* calculate the timing information for the controller */
 
 	clkrate /= 1000;	/* turn clock into kHz for ease of use */
