summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tcc780x/ata-nand-tcc780x.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tcc780x/ata-nand-tcc780x.c')
-rw-r--r--firmware/target/arm/tcc780x/ata-nand-tcc780x.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/firmware/target/arm/tcc780x/ata-nand-tcc780x.c b/firmware/target/arm/tcc780x/ata-nand-tcc780x.c
index 3b049c27f1..9587f81eb4 100644
--- a/firmware/target/arm/tcc780x/ata-nand-tcc780x.c
+++ b/firmware/target/arm/tcc780x/ata-nand-tcc780x.c
@@ -465,12 +465,9 @@ static void nand_get_chip_info(void)
465 465
466 /* 466 /*
467 Sanity checks: 467 Sanity checks:
468
469 1. "BMP" tag at block 0, page 0, offset <page_size> [always present] 468 1. "BMP" tag at block 0, page 0, offset <page_size> [always present]
470 2. Byte at <page_size>+4 contains number of banks [or 0xff if 1 bank] 469 2. On most D2s, <page_size>+3 is 'M' and <page_size>+4 is no. of banks.
471 470 This is not present on some older players (formatted with early FW?)
472 If this is confirmed for all D2s we can simplify the above code and
473 also remove the icky nand_read_uid() function.
474 */ 471 */
475 472
476 nand_read_raw(0, /* bank */ 473 nand_read_raw(0, /* bank */
@@ -479,8 +476,8 @@ static void nand_get_chip_info(void)
479 8, id_buf); 476 8, id_buf);
480 477
481 if (strncmp(id_buf, "BMP", 3)) panicf("BMP tag not present"); 478 if (strncmp(id_buf, "BMP", 3)) panicf("BMP tag not present");
482 479
483 if (total_banks > 1) 480 if (id_buf[3] == 'M')
484 { 481 {
485 if (id_buf[4] != total_banks) panicf("BMPM total_banks mismatch"); 482 if (id_buf[4] != total_banks) panicf("BMPM total_banks mismatch");
486 } 483 }