1
0
Fork 0
forked from len0rd/rockbox

D2: Make the nand driver's sanity checks a little more... sane. This should allow booting on a few older D2's.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17805 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rob Purchase 2008-06-27 12:35:50 +00:00
parent 0494157cf4
commit 38b02f3d7a

View file

@ -465,12 +465,9 @@ static void nand_get_chip_info(void)
/* /*
Sanity checks: Sanity checks:
1. "BMP" tag at block 0, page 0, offset <page_size> [always present] 1. "BMP" tag at block 0, page 0, offset <page_size> [always present]
2. Byte at <page_size>+4 contains number of banks [or 0xff if 1 bank] 2. On most D2s, <page_size>+3 is 'M' and <page_size>+4 is no. of banks.
This is not present on some older players (formatted with early FW?)
If this is confirmed for all D2s we can simplify the above code and
also remove the icky nand_read_uid() function.
*/ */
nand_read_raw(0, /* bank */ nand_read_raw(0, /* bank */
@ -479,8 +476,8 @@ static void nand_get_chip_info(void)
8, id_buf); 8, id_buf);
if (strncmp(id_buf, "BMP", 3)) panicf("BMP tag not present"); if (strncmp(id_buf, "BMP", 3)) panicf("BMP tag not present");
if (total_banks > 1) if (id_buf[3] == 'M')
{ {
if (id_buf[4] != total_banks) panicf("BMPM total_banks mismatch"); if (id_buf[4] != total_banks) panicf("BMPM total_banks mismatch");
} }