soc/intel/tigerlake: Use common SPI device function driver
Switch to the common SPI device function driver implementation. This eliminates platform-specific SPI code by leveraging the common driver with platform-specific Kconfig and macros. This commit: - Selects SOC_INTEL_COMMON_FEATURE_SPI_DEVFN and SOC_INTEL_COMMON_FEATURE_SPI_DEVFN_PSF in Kconfig - Adds CONFIG_SOC_INTEL_SPI_DEV_MAX=3 - Adds CONFIG_SOC_INTEL_SPI_PSF_DESTINATION_ID (0x23b0 for PCH-H, 0x23a8 default) - Removes src/soc/intel/tigerlake/spi.c - Updates Makefile.mk to remove spi.c compilation The common code uses SOC_GSPI_DEVFN(n) macro directly. Change-Id: Ib195ffcc0d46f7e95eba2d0a2c66fbcdcca615a2 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/91325 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
parent
47f3e7e3cc
commit
0aea05411d
3 changed files with 11 additions and 36 deletions
|
|
@ -74,6 +74,8 @@ config SOC_INTEL_TIGERLAKE
|
|||
select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
|
||||
select SOC_INTEL_COMMON_FEATURE
|
||||
select SOC_INTEL_COMMON_FEATURE_GSPI_DEVFN
|
||||
select SOC_INTEL_COMMON_FEATURE_SPI_DEVFN
|
||||
select SOC_INTEL_COMMON_FEATURE_SPI_DEVFN_PSF
|
||||
select SOC_INTEL_COMMON_FEATURE_I2C_DEVFN
|
||||
select SOC_INTEL_COMMON_FEATURE_UART_DEVICES
|
||||
select SOC_INTEL_COMMON_FSP_RESET
|
||||
|
|
@ -304,4 +306,13 @@ config INTEL_GMA_BCLM_OFFSET
|
|||
config INTEL_GMA_BCLM_WIDTH
|
||||
default 32
|
||||
|
||||
config SOC_INTEL_SPI_DEV_MAX
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_INTEL_SPI_PSF_DESTINATION_ID
|
||||
hex
|
||||
default 0x23b0 if SOC_INTEL_TIGERLAKE_PCH_H
|
||||
default 0x23a8
|
||||
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ subdirs-y += ../../../cpu/intel/turbo
|
|||
|
||||
# all (bootblock, verstage, romstage, postcar, ramstage)
|
||||
all-y += pmutil.c
|
||||
all-y += spi.c
|
||||
|
||||
bootblock-y += bootblock/bootblock.c
|
||||
bootblock-y += bootblock/pch.c
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
/*
|
||||
* This file is created based on Intel Tiger Lake Processor PCH Datasheet
|
||||
* Document number: 575857
|
||||
* Chapter number: 7
|
||||
*/
|
||||
|
||||
#include <intelblocks/fast_spi.h>
|
||||
#include <intelblocks/spi.h>
|
||||
#include <soc/pci_devs.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define PSF_SPI_DESTINATION_ID_H 0x23b0
|
||||
#define PSF_SPI_DESTINATION_ID 0x23a8
|
||||
|
||||
int spi_soc_devfn_to_bus(unsigned int devfn)
|
||||
{
|
||||
switch (devfn) {
|
||||
case PCH_DEVFN_GSPI0:
|
||||
return 1;
|
||||
case PCH_DEVFN_GSPI1:
|
||||
return 2;
|
||||
case PCH_DEVFN_GSPI2:
|
||||
return 3;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint32_t soc_get_spi_psf_destination_id(void)
|
||||
{
|
||||
if (CONFIG(SOC_INTEL_TIGERLAKE_PCH_H))
|
||||
return PSF_SPI_DESTINATION_ID_H;
|
||||
return PSF_SPI_DESTINATION_ID;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue