drivers/spi: Add controller protection type

Some SPI controllers support both READ and WRITE protection
add a variable to the protect API for the callers to specify
the kind of protection they want (Read/Write/Both).
Also, update the callers and protect API implementation.

BUG=None
BRANCH=None
TEST=test that the mrc cache is protected as expected on soraka.
Also tried if the read protection is applied correctly.

Change-Id: I093884c4768b08a378f21242ac82e430ac013d15
Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Reviewed-on: https://review.coreboot.org/c/30559
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
Rizwan Qureshi
2018-12-31 15:19:16 +05:30
committed by Patrick Georgi
parent afe15f0a34
commit f9f5093644
8 changed files with 82 additions and 14 deletions

View File

@ -97,6 +97,12 @@ struct spi_cfg {
struct spi_flash;
enum ctrlr_prot_type {
READ_PROTECT = 1,
WRITE_PROTECT = 2,
READ_WRITE_PROTECT = 3,
};
enum {
/* Deduct the command length from the spi_crop_chunk() calculation for
sizing a transaction. */
@ -144,7 +150,8 @@ struct spi_ctrlr {
int (*flash_probe)(const struct spi_slave *slave,
struct spi_flash *flash);
int (*flash_protect)(const struct spi_flash *flash,
const struct region *region);
const struct region *region,
const enum ctrlr_prot_type type);
};
/*-----------------------------------------------------------------------