[U-Boot] [U-BOOT] nand merge problem

xiangfu_gmail xiangfu.z at gmail.com
Wed May 27 02:41:33 CEST 2009


Hi Scott

thanks for the reply
Scott Wood wrote:
> On Tue, May 26, 2009 at 05:12:01PM +0800, xiangfu_gmail wrote:
>> xiangfu_gmail wrote:
>>> Hi
>>> I have try to merge Ingenic U-boot (1.1.6) with upstream.
>>> but I have some problem
>> Hi I rewrite the jz_hwcontrol to :
>> --
>> static void jz_hwcontrol(......)
>> {	......
>> }
>> and
>> " nand->cmd_ctrl =  jz_hwcontrol; " in board_nand_init
>>
>> but it's still not work:
>> the error message:
>> --
>> NAND:  nand_get_flash_type: second ID read did not match ff,ff against
>> 00,00
>> No NAND device found!!!
>>
>> 0 MiB
>> --
>>
>> what can cause this problem?
> 
> It would be helpful if you were to post the entire hwcontrol, so we can
> see what's hiding behind those "......"s.
here is the entire hwontrol
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);

	}
}

> 
> Posting the original legacy NAND defines for this board would be helpful
> as well.
I don't know which code should I post. so I post the git URL:
http://github.com/xiangfu/pi-u-boot/tree/xiangfu


> 
> -Scott

thanks
-- 

Best Regards
Xiangfu Liu

jabber : xiangfu.z at gmail.com
skype  : xiangfu.z


More information about the U-Boot mailing list