[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