| /* |
| * linux/arch/arm/mach-omap1/board-nand.c |
| * |
| * Common OMAP1 board NAND code |
| * |
| * Copyright (C) 2004, 2012 Texas Instruments, Inc. |
| * Copyright (C) 2002 MontaVista Software, Inc. |
| * Copyright (C) 2001 RidgeRun, Inc. |
| * Author: RidgeRun, Inc. |
| * Greg Lonnon (glonnon@ridgerun.com) or info@ridgerun.com |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| */ |
| #include <linux/kernel.h> |
| #include <linux/io.h> |
| #include <linux/mtd/mtd.h> |
| #include <linux/mtd/nand.h> |
| |
| #include "common.h" |
| |
| void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) |
| { |
| struct nand_chip *this = mtd_to_nand(mtd); |
| unsigned long mask; |
| |
| if (cmd == NAND_CMD_NONE) |
| return; |
| |
| mask = (ctrl & NAND_CLE) ? 0x02 : 0; |
| if (ctrl & NAND_ALE) |
| mask |= 0x04; |
| |
| writeb(cmd, this->IO_ADDR_W + mask); |
| } |
| |