soc/intel/common/block/fast_spi: Add SPI Vendor Component Lock
Add fast_spi_set_vcl() to be called by the SOC lockdown function if SPI Vendor Specific Component Capabilities are desired. Change-Id: I6d9b58e90fa16c539b90c6b961862e97e1bf29a2 Signed-off-by: Marc Jones <marcjones@sysproconsulting.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72478 Reviewed-by: David Hendricks <david.hendricks@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
17d9d897f0
commit
b64fdcc0fa
|
@ -464,6 +464,17 @@ void fast_spi_set_bde(void)
|
|||
pci_or_config32(dev, SPI_BIOS_DECODE_EN, SPI_BIOS_DECODE_LOCK);
|
||||
}
|
||||
|
||||
/* Set FAST_SPIBAR + SPIBAR_SFDP0_VSCC0 (0xc4) Vendor Control Lock */
|
||||
void fast_spi_set_vcl(void)
|
||||
{
|
||||
void *spibar = fast_spi_get_bar();
|
||||
uint32_t vcss;
|
||||
|
||||
vcss = read32(spibar + SPIBAR_SFDP0_VSCC0);
|
||||
vcss |= SPIBAR_SFDP0_VSCC0_VCL;
|
||||
write32(spibar + SPIBAR_SFDP0_VSCC0, vcss);
|
||||
}
|
||||
|
||||
void fast_spi_clear_outstanding_status(void)
|
||||
{
|
||||
void *spibar = fast_spi_get_bar();
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#define SPIBAR_OPMENU_UPPER 0xac
|
||||
#define SPIBAR_FDOC 0xb4
|
||||
#define SPIBAR_FDOD 0xb8
|
||||
#define SPIBAR_SFDP0_VSCC0 0xc4
|
||||
#define SPIBAR_PTINX 0xcc
|
||||
#define SPIBAR_PTDATA 0xd0
|
||||
|
||||
|
@ -133,6 +134,12 @@
|
|||
(SPI_OPTYPE_1 << 2) | (SPI_OPTYPE_0))
|
||||
#define SPI_OPPREFIX ((0x50 << 8) | 0x06) /* EWSR and WREN */
|
||||
|
||||
/*
|
||||
* Spi Flash Vendor Specific Component Capabilities
|
||||
* for Component 0 (0xc4) register
|
||||
*/
|
||||
#define SPIBAR_SFDP0_VSCC0_VCL (1 << 30)
|
||||
|
||||
/*
|
||||
* Register Offset of BIOS Vendor Specific Component Capabilities (VSCC)
|
||||
* for Component 0 Register
|
||||
|
|
|
@ -107,5 +107,9 @@ void fast_spi_cache_ext_bios_postcar(struct postcar_frame *pcf);
|
|||
* Set FAST_SPIBAR BIOS Decode Lock bit
|
||||
*/
|
||||
void fast_spi_set_bde(void);
|
||||
/*
|
||||
* Set FAST_SPIBAR Vendor Component Lock bit.
|
||||
*/
|
||||
void fast_spi_set_vcl(void);
|
||||
|
||||
#endif /* SOC_INTEL_COMMON_BLOCK_FAST_SPI_H */
|
||||
|
|
Loading…
Reference in New Issue