summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/soc/amd/cezanne/acpi/mmio.asl7
-rw-r--r--src/soc/amd/common/block/i2c/Kconfig10
2 files changed, 17 insertions, 0 deletions
diff --git a/src/soc/amd/cezanne/acpi/mmio.asl b/src/soc/amd/cezanne/acpi/mmio.asl
index 9e587b75f190..fa43db00b72f 100644
--- a/src/soc/amd/cezanne/acpi/mmio.asl
+++ b/src/soc/amd/cezanne/acpi/mmio.asl
@@ -232,7 +232,11 @@ Device (I2C2) {
Device (I2C3)
{
+#if CONFIG(SOC_AMD_COMMON_BLOCK_I2C3_TPM_SHARED_WITH_PSP)
+ Name (_HID, "AMDI0019")
+#else
Name (_HID, "AMDI0010")
+#endif
Name (_UID, 0x3)
Method (_CRS, 0) {
Local0 = ResourceTemplate() {
@@ -263,7 +267,10 @@ Device (I2C3)
Return (0x0F)
}
+/* If this device is shared with PSP, then PSP takes care of power management */
+#if !CONFIG(SOC_AMD_COMMON_BLOCK_I2C3_TPM_SHARED_WITH_PSP)
AOAC_DEVICE(FCH_AOAC_DEV_I2C3, 0)
+#endif
}
Device (MISC)
diff --git a/src/soc/amd/common/block/i2c/Kconfig b/src/soc/amd/common/block/i2c/Kconfig
index f10c14ab1f65..8e8ff9b14837 100644
--- a/src/soc/amd/common/block/i2c/Kconfig
+++ b/src/soc/amd/common/block/i2c/Kconfig
@@ -14,3 +14,13 @@ config SOC_AMD_COMMON_BLOCK_I23C_PAD_CTRL
help
Select this option to add FCH I2C/I3C pad configuration functions to
the build.
+
+config SOC_AMD_COMMON_BLOCK_I2C3_TPM_SHARED_WITH_PSP
+ bool
+ depends on !SOC_AMD_PICASSO && !SOC_AMD_STONEYRIDGE
+ default n
+ help
+ Enable PSP I2C arbitration if there is I2C3 controller with TPM device
+ connected, which is shared between x86 and PSP. This is necessary to
+ ensure proper communication with I2C peripherals connected to such
+ bus.