Commit 89588a4b16d3b4fc80542d254b5bd96ed1ff1b3a
1 parent
c904ef0e
Add OneNAND Unlock All command (Kyungmin Park).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4930 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
15 additions
and
0 deletions
hw/onenand.c
| ... | ... | @@ -355,6 +355,21 @@ static void onenand_command(struct onenand_s *s, int cmd) |
| 355 | 355 | s->wpstatus = s->blockwp[b] = ONEN_LOCK_UNLOCKED; |
| 356 | 356 | } |
| 357 | 357 | break; |
| 358 | + case 0x27: /* Unlock All NAND array blocks */ | |
| 359 | + s->intstatus |= ONEN_INT; | |
| 360 | + | |
| 361 | + for (b = 0; b < s->blocks; b ++) { | |
| 362 | + if (b >= s->blocks) { | |
| 363 | + s->status |= ONEN_ERR_CMD; | |
| 364 | + break; | |
| 365 | + } | |
| 366 | + if (s->blockwp[b] == ONEN_LOCK_LOCKTIGHTEN) | |
| 367 | + break; | |
| 368 | + | |
| 369 | + s->wpstatus = s->blockwp[b] = ONEN_LOCK_UNLOCKED; | |
| 370 | + } | |
| 371 | + break; | |
| 372 | + | |
| 358 | 373 | case 0x2a: /* Lock NAND array block(s) */ |
| 359 | 374 | s->intstatus |= ONEN_INT; |
| 360 | 375 | ... | ... |