Attention is currently required from: Intel coreboot Reviewers, Jayvik Desai, Kapil Porwal, Pranava Y N, Subrata Banik.
Ronak Kanabar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/86301?usp=email )
Change subject: soc/intel/pantherlake: Add support for VMD device ......................................................................
soc/intel/pantherlake: Add support for VMD device
This commit adds support for the VMD in the Pantherlake SoC.
Changes include: - Add VMD to the `min_pci_sleep_states` array in `acpi.c` - Update `chipset.cb` to include the VMD device' - Introduce a new function `fill_fsps_vmd_params` - Define the VMD device and function numbers in `pci_devs.h`.
Change-Id: Ie391196e7b4537d1146ac30177a0ba472a1bfb43 Signed-off-by: Ronak Kanabar ronak.kanabar@intel.com --- M src/soc/intel/pantherlake/acpi.c M src/soc/intel/pantherlake/chipset.cb M src/soc/intel/pantherlake/fsp_params.c M src/soc/intel/pantherlake/include/soc/pci_devs.h 4 files changed, 14 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/01/86301/1
diff --git a/src/soc/intel/pantherlake/acpi.c b/src/soc/intel/pantherlake/acpi.c index 5df3ef9..1c965f4 100644 --- a/src/soc/intel/pantherlake/acpi.c +++ b/src/soc/intel/pantherlake/acpi.c @@ -193,6 +193,7 @@ { PCI_DEVFN_TCSS_XDCI, ACPI_DEVICE_SLEEP_D3 }, { SA_DEVFN_TCSS_DMA0, ACPI_DEVICE_SLEEP_D3 }, { SA_DEVFN_TCSS_DMA1, ACPI_DEVICE_SLEEP_D3 }, + { PCI_DEVFN_VMD, ACPI_DEVICE_SLEEP_D3 }, { PCI_DEVFN_THC0, ACPI_DEVICE_SLEEP_D3 }, { PCI_DEVFN_THC1, ACPI_DEVICE_SLEEP_D3 }, { PCH_DEVFN_XHCI, ACPI_DEVICE_SLEEP_D3 }, diff --git a/src/soc/intel/pantherlake/chipset.cb b/src/soc/intel/pantherlake/chipset.cb index 0f7967b..0c57a7d 100644 --- a/src/soc/intel/pantherlake/chipset.cb +++ b/src/soc/intel/pantherlake/chipset.cb @@ -86,6 +86,7 @@ device pci 0d.1 alias tcss_xdci off end device pci 0d.2 alias tcss_dma0 off end device pci 0d.3 alias tcss_dma1 off end + device pci 0e.0 alias vmd off end device pci 10.0 alias thc0 off end device pci 10.1 alias thc1 off end device pci 12.0 alias ish off end diff --git a/src/soc/intel/pantherlake/fsp_params.c b/src/soc/intel/pantherlake/fsp_params.c index a78059d..169d8c5 100644 --- a/src/soc/intel/pantherlake/fsp_params.c +++ b/src/soc/intel/pantherlake/fsp_params.c @@ -560,6 +560,13 @@ s_cfg->CnviBtInterface = is_devfn_enabled(PCI_DEVFN_CNVI_BT) ? 2 : 1; }
+static void fill_fsps_vmd_params(FSP_S_CONFIG *s_cfg, + const struct soc_intel_pantherlake_config *config) +{ + /* VMD */ + s_cfg->VmdEnable = is_devfn_enabled(PCI_DEVFN_VMD); +} + static void fill_fsps_pmcpd_params(FSP_S_CONFIG *s_cfg, const struct soc_intel_pantherlake_config *config) { @@ -710,6 +717,7 @@ fill_fsps_pci_ssid_params, fill_fsps_lan_params, fill_fsps_cnvi_params, + fill_fsps_vmd_params, fill_fsps_pmcpd_params, fill_fsps_thc_params, fill_fsps_8254_params, diff --git a/src/soc/intel/pantherlake/include/soc/pci_devs.h b/src/soc/intel/pantherlake/include/soc/pci_devs.h index 5c74b6d..a69f482 100644 --- a/src/soc/intel/pantherlake/include/soc/pci_devs.h +++ b/src/soc/intel/pantherlake/include/soc/pci_devs.h @@ -79,6 +79,10 @@ #define PCI_DEV_TCSS_DMA0 _PCI_DEV(TCSS, 2) #define PCI_DEV_TCSS_DMA1 _PCI_DEV(TCSS, 3)
+#define PCI_DEV_SLOT_VMD 0x0e +#define PCI_DEVFN_VMD _PCI_DEVFN(VMD, 0) +#define PCI_DEV_VMD _PCI_DEV(VMD, 0) + #define PCI_DEV_SLOT_THC 0x10 #define PCI_DEVFN_THC0 _PCI_DEVFN(THC, 0) #define PCI_DEVFN_THC1 _PCI_DEVFN(THC, 1)