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:
Patrick Rudolph 2018-12-03 09:41:06 +01:00 committed by Philipp Deppenwiese
parent cebf9e6f38
commit e736015fff
1 changed files with 3 additions and 3 deletions

View File

@ -303,7 +303,7 @@ static void winbond_bpbits_to_region(const size_t granularity,
tb = !tb; tb = !tb;
} }
out->offset = tb ? flash_size - protected_size : 0; out->offset = tb ? 0 : flash_size - protected_size;
out->size = protected_size; out->size = protected_size;
} }
@ -519,9 +519,9 @@ winbond_set_write_protection(const struct spi_flash *flash,
wp_region = *region; wp_region = *region;
if (region_offset(&wp_region) == 0) if (region_offset(&wp_region) == 0)
tb = 0;
else
tb = 1; tb = 1;
else
tb = 0;
if (region_sz(&wp_region) > flash->size / 2) { if (region_sz(&wp_region) > flash->size / 2) {
cmp = 1; cmp = 1;