diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c index d4839893d3..6b2020a980 100644 --- a/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c +++ b/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c | |||
@@ -339,7 +339,7 @@ void nand_power_up(void) | |||
339 | if(nand_type[i] != 0xFFFFFFFF) | 339 | if(nand_type[i] != 0xFFFFFFFF) |
340 | { | 340 | { |
341 | if(nand_reset(i)) | 341 | if(nand_reset(i)) |
342 | if(nand_reset(i)) panicf("nand_power_up: nand_reset(bank=%d) failed.",(unsigned int)i); | 342 | panicf("nand_power_up: nand_reset(bank=%d) failed.",(unsigned int)i); |
343 | } | 343 | } |
344 | } | 344 | } |
345 | nand_powered = 1; | 345 | nand_powered = 1; |
@@ -511,7 +511,14 @@ uint32_t nand_device_init(void) | |||
511 | 511 | ||
512 | uint32_t type; | 512 | uint32_t type; |
513 | uint32_t i, j; | 513 | uint32_t i, j; |
514 | |||
515 | /* Assume there are 0 banks, to prevent | ||
516 | nand_power_up from talking with them yet. */ | ||
517 | for(i = 0; i < 4; i++) nand_type[i] = 0xFFFFFFFF; | ||
514 | nand_power_up(); | 518 | nand_power_up(); |
519 | |||
520 | /* Now that the flash is powered on, detect how | ||
521 | many banks we really have and initialize them. */ | ||
515 | for (i = 0; i < 4; i++) | 522 | for (i = 0; i < 4; i++) |
516 | { | 523 | { |
517 | nand_tunk1[i] = 7; | 524 | nand_tunk1[i] = 7; |
@@ -519,7 +526,6 @@ uint32_t nand_device_init(void) | |||
519 | nand_tunk2[i] = 7; | 526 | nand_tunk2[i] = 7; |
520 | nand_tunk3[i] = 7; | 527 | nand_tunk3[i] = 7; |
521 | type = nand_get_chip_type(i); | 528 | type = nand_get_chip_type(i); |
522 | nand_type[i] = 0xFFFFFFFF; | ||
523 | if (type == 0xFFFFFFFF) continue; | 529 | if (type == 0xFFFFFFFF) continue; |
524 | for (j = 0; ; j++) | 530 | for (j = 0; ; j++) |
525 | { | 531 | { |