summaryrefslogtreecommitdiffstats
path: root/src/soc/intel
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel')
-rw-r--r--src/soc/intel/apollolake/acpi/northbridge.asl7
-rw-r--r--src/soc/intel/cannonlake/chip.h2
-rw-r--r--src/soc/intel/cannonlake/fsp_params.c2
-rw-r--r--src/soc/intel/common/block/dtt/Kconfig9
-rw-r--r--src/soc/intel/common/block/dtt/dtt.c4
-rw-r--r--src/soc/intel/pantherlake/Kconfig2
-rw-r--r--src/soc/intel/pantherlake/acpi/gpio.asl69
-rw-r--r--src/soc/intel/pantherlake/include/soc/gpio.h9
-rw-r--r--src/soc/intel/pantherlake/include/soc/gpio_soc_defs.h19
9 files changed, 105 insertions, 18 deletions
diff --git a/src/soc/intel/apollolake/acpi/northbridge.asl b/src/soc/intel/apollolake/acpi/northbridge.asl
index a304331f1d3f..fcbd1d0494b2 100644
--- a/src/soc/intel/apollolake/acpi/northbridge.asl
+++ b/src/soc/intel/apollolake/acpi/northbridge.asl
@@ -124,5 +124,12 @@ Device (PDRC) /* PCI Device Resource Consumption */
}
}
+/* Get PCIe BAR */
+Method (GPCB, 0, Serialized)
+{
+ Local0 = \_SB.PCI0.MCHC.PXBR << 28
+ Return (Local0)
+}
+
/* GFX 00:02.0 */
#include <drivers/intel/gma/acpi/gfx.asl>
diff --git a/src/soc/intel/cannonlake/chip.h b/src/soc/intel/cannonlake/chip.h
index c01f36fdace7..591abbeaaed4 100644
--- a/src/soc/intel/cannonlake/chip.h
+++ b/src/soc/intel/cannonlake/chip.h
@@ -220,8 +220,6 @@ struct soc_intel_cannonlake_config {
/* Gfx related */
bool SkipExtGfxScan;
- bool Device4Enable;
-
/* CPU PL2/4 Config
* Performance: Maximum PLs for maximum performance.
* Baseline: Baseline PLs for balanced performance at lower power.
diff --git a/src/soc/intel/cannonlake/fsp_params.c b/src/soc/intel/cannonlake/fsp_params.c
index 55a7c92aa080..993efbb10785 100644
--- a/src/soc/intel/cannonlake/fsp_params.c
+++ b/src/soc/intel/cannonlake/fsp_params.c
@@ -631,7 +631,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
* the `Heci1Disabled` UPD to `0`.
*/
s_cfg->Heci1Disabled = 0;
- s_cfg->Device4Enable = config->Device4Enable;
+ s_cfg->Device4Enable = is_devfn_enabled(SA_DEVFN_TS);
/* Teton Glacier hybrid storage support */
s_cfg->TetonGlacierMode = config->TetonGlacierMode;
diff --git a/src/soc/intel/common/block/dtt/Kconfig b/src/soc/intel/common/block/dtt/Kconfig
index 1735c2ac21eb..fcf67888326d 100644
--- a/src/soc/intel/common/block/dtt/Kconfig
+++ b/src/soc/intel/common/block/dtt/Kconfig
@@ -7,3 +7,12 @@ config SOC_INTEL_COMMON_BLOCK_DTT
Minimal PCI Driver for enabling SSDT generation of Intel
Dynamic Tuning Technology (DTT) policies and controls, also
known as Intel DPTF (Dynamic Platform and Thermal Framework)
+
+config SOC_INTEL_COMMON_BLOCK_DTT_STATIC_ASL
+ bool
+ depends on SOC_INTEL_COMMON_BLOCK_DTT
+ default n
+ help
+ Mainboards which include `soc/intel/common/acpi/dptf/dptf.asl`
+ should select this to avoid generating a duplicate TCPU ACPI
+ device and rendering the SSDT invalid.
diff --git a/src/soc/intel/common/block/dtt/dtt.c b/src/soc/intel/common/block/dtt/dtt.c
index b2ce8b9c41e8..1d0451fc787f 100644
--- a/src/soc/intel/common/block/dtt/dtt.c
+++ b/src/soc/intel/common/block/dtt/dtt.c
@@ -21,8 +21,8 @@ static const unsigned short pci_device_ids[] = {
static void dtt_acpi_fill_ssdt(const struct device *dev)
{
- /* Skip if DPTF driver in use since TCPU device will already exist */
- if (CONFIG(DRIVERS_INTEL_DPTF))
+ /* Skip if DPTF driver or common DPTF ASL in use since TCPU device will already exist */
+ if (CONFIG(DRIVERS_INTEL_DPTF) || CONFIG(SOC_INTEL_COMMON_BLOCK_DTT_STATIC_ASL))
return;
const char *scope = acpi_device_scope(dev);
diff --git a/src/soc/intel/pantherlake/Kconfig b/src/soc/intel/pantherlake/Kconfig
index b1bff143a909..beda98acbe54 100644
--- a/src/soc/intel/pantherlake/Kconfig
+++ b/src/soc/intel/pantherlake/Kconfig
@@ -127,7 +127,7 @@ config SOC_INTEL_PANTHERLAKE_H
config SOC_INTEL_WILDCATLAKE
bool
- select SOC_INTEL_PANTHERLAKE_U_H
+ select SOC_INTEL_PANTHERLAKE_BASE
help
Choose this option if the mainboard is built using WCL system-on-a-chip (SoC).
diff --git a/src/soc/intel/pantherlake/acpi/gpio.asl b/src/soc/intel/pantherlake/acpi/gpio.asl
index fe73b13b78f2..18df92dd38fa 100644
--- a/src/soc/intel/pantherlake/acpi/gpio.asl
+++ b/src/soc/intel/pantherlake/acpi/gpio.asl
@@ -506,6 +506,28 @@ Device (GPI3)
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+#if CONFIG(SOC_INTEL_WILDCATLAKE)
+ Package (0x03)
+ {
+ Package (0x02)
+ {
+ "intc-gpio-group-0-subproperties",
+ GPPH
+ },
+
+ Package (0x02)
+ {
+ "intc-gpio-group-1-subproperties",
+ GPPA
+ },
+
+ Package (0x02)
+ {
+ "intc-gpio-group-2-subproperties",
+ VGP3
+ }
+ }
+#else
Package (0x04)
{
Package (0x02)
@@ -532,7 +554,9 @@ Device (GPI3)
VGP3
}
}
+#endif
})
+#if (CONFIG(SOC_INTEL_PANTHERLAKE_U_H) || CONFIG(SOC_INTEL_PANTHERLAKE_H))
/* first bank/group in community 3: RSVD */
Name (RSVD, Package (0x02)
{
@@ -558,6 +582,7 @@ Device (GPI3)
}
}
})
+#endif
/* 2nd bank/group in community 3: GPP_H */
Name (GPPH, Package (0x02)
{
@@ -710,6 +735,22 @@ Device (GPI4)
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+#if CONFIG(SOC_INTEL_WILDCATLAKE)
+ Package (0x02)
+ {
+ Package (0x02)
+ {
+ "intc-gpio-group-0-subproperties",
+ GPPS
+ },
+
+ Package (0x02)
+ {
+ "intc-gpio-group-1-subproperties",
+ RSVD
+ }
+ }
+#else
Package (0x01)
{
Package (0x02)
@@ -718,6 +759,7 @@ Device (GPI4)
GPPS
}
}
+#endif
})
/* only bank/group in community 4: GPP_S */
Name (GPPS, Package (0x02)
@@ -744,6 +786,33 @@ Device (GPI4)
}
}
})
+#if CONFIG(SOC_INTEL_WILDCATLAKE)
+ /* second bank/group in community 4: RSVD */
+ Name (RSVD, Package (0x02)
+ {
+ ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+ Package (0x03)
+ {
+ Package (0x02)
+ {
+ "intc-gpio-group-name",
+ "RSVD"
+ },
+
+ Package (0x02)
+ {
+ "intc-gpio-pad-count",
+ NUM_GRP_RSVD_PADS
+ },
+
+ Package (0x02)
+ {
+ "intc-gpio-group-offset",
+ GPP_RSVD_START_OFFSET
+ }
+ }
+ })
+#endif
Method (_STA, 0, NotSerialized)
{
Return (0xF)
diff --git a/src/soc/intel/pantherlake/include/soc/gpio.h b/src/soc/intel/pantherlake/include/soc/gpio.h
index d7b562f17379..5f3a2e1548c9 100644
--- a/src/soc/intel/pantherlake/include/soc/gpio.h
+++ b/src/soc/intel/pantherlake/include/soc/gpio.h
@@ -6,12 +6,21 @@
#include <soc/gpio_defs.h>
#include <intelblocks/gpio.h>
+#if CONFIG(SOC_INTEL_WILDCATLAKE)
+#define CROS_GPIO_NAME "INTC10EC"
+#define CROS_GPIO_DEVICE0_NAME "INTC10EC:00"
+#define CROS_GPIO_DEVICE1_NAME "INTC10EC:01"
+#define CROS_GPIO_DEVICE2_NAME "INTC10EC:02"
+#define CROS_GPIO_DEVICE3_NAME "INTC10EC:03"
+#define CROS_GPIO_DEVICE4_NAME "INTC10EC:04"
+#else
#define CROS_GPIO_NAME "INTC10BC"
#define CROS_GPIO_DEVICE0_NAME "INTC10BC:00"
#define CROS_GPIO_DEVICE1_NAME "INTC10BC:01"
#define CROS_GPIO_DEVICE2_NAME "INTC10BC:02"
#define CROS_GPIO_DEVICE3_NAME "INTC10BC:03"
#define CROS_GPIO_DEVICE4_NAME "INTC10BC:04"
+#endif
#define ACPI_GPIO_CID "INTC105F"
#define ACPI_GPIO_HID CROS_GPIO_NAME
diff --git a/src/soc/intel/pantherlake/include/soc/gpio_soc_defs.h b/src/soc/intel/pantherlake/include/soc/gpio_soc_defs.h
index 0ecd32a5ced1..fd44d837ce46 100644
--- a/src/soc/intel/pantherlake/include/soc/gpio_soc_defs.h
+++ b/src/soc/intel/pantherlake/include/soc/gpio_soc_defs.h
@@ -147,7 +147,7 @@
#define COM0_GRP_PAD_START GPP_V00
#define COM0_GRP_PAD_END GPP_C23
-#define NUM_COM0_GRP_PADS (GPP_C23 - GPP_V00 + 1)
+#define NUM_COM0_GRP_PADS (COM0_GRP_PAD_END - COM0_GRP_PAD_START + 1)
#define NUM_COM0_GPP_PADS (NUM_GPP_V_PADS + NUM_GPP_C_PADS)
#define NUM_COM0_GROUPS 2
@@ -244,7 +244,7 @@
#define COM1_GRP_PAD_START GPP_F00
#define COM1_GRP_PAD_END GPP_THC0_GSPI_CLK_LPBK
-#define NUM_COM1_GRP_PADS (GPP_THC0_GSPI_CLK_LPBK - GPP_F00 + 1)
+#define NUM_COM1_GRP_PADS (COM1_GRP_PAD_END - COM1_GRP_PAD_START + 1)
#define NUM_COM1_GPP_PADS (NUM_GPP_F_PADS + NUM_GPP_E_PADS)
#define NUM_COM1_GROUPS 2
@@ -416,17 +416,14 @@
#if CONFIG(SOC_INTEL_WILDCATLAKE)
#define COM3_GRP_PAD_START GPP_H00
-#define COM3_GRP_PAD_END GPP_VGPIO3_THC3
-#define NUM_COM3_GRP_PADS (GPP_VGPIO3_THC3 - GPP_H00 + 1)
-#define NUM_COM3_GPP_PADS (NUM_GPP_H_PADS + NUM_GPP_A_PADS)
#define NUM_COM3_GROUPS 3
#else
#define COM3_GRP_PAD_START GPP_EPD_ON
-#define COM3_GRP_PAD_END GPP_VGPIO3_THC3
-#define NUM_COM3_GRP_PADS (GPP_VGPIO3_THC3 - GPP_EPD_ON + 1)
-#define NUM_COM3_GPP_PADS (NUM_GPP_H_PADS + NUM_GPP_A_PADS)
#define NUM_COM3_GROUPS 4
#endif
+#define COM3_GRP_PAD_END GPP_VGPIO3_THC3
+#define NUM_COM3_GRP_PADS (COM3_GRP_PAD_END - COM3_GRP_PAD_START + 1)
+#define NUM_COM3_GPP_PADS (NUM_GPP_H_PADS + NUM_GPP_A_PADS)
/*
* +----------------------------+
@@ -493,16 +490,14 @@
#if CONFIG(SOC_INTEL_WILDCATLAKE)
#define COM4_GRP_PAD_END GPP_DDSP_HPDALV
-#define NUM_COM4_GRP_PADS (GPP_DDSP_HPDALV - GPP_S00 + 1)
#define NUM_COM4_GPP_PADS (NUM_GPP_S_PADS)
#define NUM_COM4_GROUPS 2
#else
#define COM4_GRP_PAD_END GPP_S07
-#define NUM_COM4_GRP_PADS (GPP_S07 - GPP_S00 + 1)
#define NUM_COM4_GPP_PADS (GPP_S07 - GPP_S00 + 1)
#define NUM_COM4_GROUPS 1
#endif
-
+#define NUM_COM4_GRP_PADS (COM4_GRP_PAD_END - COM4_GRP_PAD_START + 1)
/*
* +----------------------------+
* | Community 5 |
@@ -631,7 +626,7 @@
#define COM5_GRP_PAD_START GPP_B00
#define COM5_GRP_PAD_END GPP_VGPIO47
-#define NUM_COM5_GRP_PADS (GPP_VGPIO47 - GPP_B00 + 1)
+#define NUM_COM5_GRP_PADS (COM5_GRP_PAD_END - COM5_GRP_PAD_START + 1)
#define NUM_COM5_GPP_PADS (NUM_GPP_B_PADS + NUM_GPP_D_PADS)
#define NUM_COM5_GROUPS 3