From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Wed, 27 May 2009 09:34:26 -0500 Subject: [U-Boot] [U-BOOT] nand merge problem In-Reply-To: <4A1C8C3D.6000108@gmail.com> References: <4A1B9E53.20406@gmail.com> <4A1BB261.7080808@gmail.com> <20090526211706.GB4669@b07421-ec1.am.freescale.net> <4A1C8C3D.6000108@gmail.com> Message-ID: <4A1D4F72.3010304@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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