
27 May
2009
27 May
'09
4:34 p.m.
xiangfu_gmail wrote:
static void jz_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl) { struct nand_chip *this = (struct nand_chip *)(mtd->priv);
if (ctrl & NAND_CTRL_CHANGE) { if (ctrl & NAND_NCE) REG_EMC_NFCSR |= EMC_NFCSR_NFCE1; else REG_EMC_NFCSR &= ~EMC_NFCSR_NFCE1;
if (ctrl & NAND_CLE) this->IO_ADDR_W = (void __iomem *) ((unsigned long)(this->IO_ADDR_W) | 0x00008000); else this->IO_ADDR_W = (void __iomem *) ((unsigned long)(this->IO_ADDR_W) & ~0x00008000); if (ctrl & NAND_ALE) this->IO_ADDR_W = (void __iomem *) ((unsigned long)(this->IO_ADDR_W) | 0x00010000); else this->IO_ADDR_W = (void __iomem *) ((unsigned long)(this->IO_ADDR_W) & ~0x00010000);
} }
Nowhere in this function do you issue the command... See cpu/ppc4xx/ndfc.c for a simple hwcontrol function.
-Scott