diff options
-rw-r--r-- | src/drivers/intel/mipi_camera/camera.c | 10 | ||||
-rw-r--r-- | src/soc/intel/alderlake/Kconfig | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/drivers/intel/mipi_camera/camera.c b/src/drivers/intel/mipi_camera/camera.c index a9af25cf12..ec7f20bf8d 100644 --- a/src/drivers/intel/mipi_camera/camera.c +++ b/src/drivers/intel/mipi_camera/camera.c @@ -5,7 +5,9 @@ #include <acpi/acpi_device.h> #include <acpi/acpigen.h> #include <acpi/acpigen_pci.h> +#include <arch/cpu.h> #include <console/console.h> +#include <cpu/intel/cpu_ids.h> #include <device/i2c_simple.h> #include <device/device.h> #include <device/path.h> @@ -134,6 +136,14 @@ static void camera_fill_cio2(const struct device *dev) snprintf(name, sizeof(name), "port%u", i); port_name[i] = strdup(name); + if (CONFIG(ACPI_ADL_IPU_ES_SUPPORT)) { + u32 cpu_id = cpu_get_cpuid(); + if (cpu_id == CPUID_ALDERLAKE_A0 || cpu_id == CPUID_ALDERLAKE_A1) + acpi_dp_add_integer(dsd, "is_es", 1); + else + acpi_dp_add_integer(dsd, "is_es", 0); + } + acpi_dp_add_child(dsd, port_name[i], port_table); } diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig index 89570b102b..9e69663acd 100644 --- a/src/soc/intel/alderlake/Kconfig +++ b/src/soc/intel/alderlake/Kconfig @@ -28,6 +28,7 @@ if SOC_INTEL_ALDERLAKE config CPU_SPECIFIC_OPTIONS def_bool y select ACPI_INTEL_HARDWARE_SLEEP_VALUES + select ACPI_ADL_IPU_ES_SUPPORT select ARCH_X86 select BOOT_DEVICE_SUPPORTS_WRITES select CACHE_MRC_SETTINGS @@ -339,6 +340,11 @@ config SOC_INTEL_CRASHLOG help Enables CrashLog. +config ACPI_ADL_IPU_ES_SUPPORT + def_bool n + help + Enables ACPI entry to provide silicon type information to IPU kernel driver. + if STITCH_ME_BIN config CSE_BPDT_VERSION |