drivers/spi/winbond: Fix TB bit
The TB has to be inverted to actually protected the correct region. Tested on elgon using I67eb4ee8e0ad297a8d1984d55102146688c291fc. Change-Id: I715791b8ae5d1db1ef587321ae5c9daa10eb7dbc Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/30014 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Reviewed-by: David Hendricks <david.hendricks@gmail.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
cebf9e6f38
commit
e736015fff
|
@ -303,7 +303,7 @@ static void winbond_bpbits_to_region(const size_t granularity,
|
|||
tb = !tb;
|
||||
}
|
||||
|
||||
out->offset = tb ? flash_size - protected_size : 0;
|
||||
out->offset = tb ? 0 : flash_size - protected_size;
|
||||
out->size = protected_size;
|
||||
}
|
||||
|
||||
|
@ -519,9 +519,9 @@ winbond_set_write_protection(const struct spi_flash *flash,
|
|||
wp_region = *region;
|
||||
|
||||
if (region_offset(&wp_region) == 0)
|
||||
tb = 0;
|
||||
else
|
||||
tb = 1;
|
||||
else
|
||||
tb = 0;
|
||||
|
||||
if (region_sz(&wp_region) > flash->size / 2) {
|
||||
cmp = 1;
|
||||
|
|
Loading…
Reference in New Issue