drivers/intel/mipi_camera: Add ACPI entry to provide silicon type info

Add entry in ACPI table under IPU device to provide silicon type
information to IPU driver. IPU kernel driver can decide the type of
firmware to load based on this information.

BUG=b:207721978
BRANCH=none
TEST=Check for the ACPI entry in the SSDT after booting to kernel

Change-Id: I4e0af1dd50b9c014cae5454fcd4f9f76d0e0a85f
Cq-Depend: chromium:3319905
Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59869
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
Sugnan Prabhu S 2021-12-03 19:07:04 +05:30 committed by Felix Held
parent feab8bb195
commit dcf045918b
2 changed files with 16 additions and 0 deletions

View File

@ -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);
}

View File

@ -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