Sugnan Prabhu S has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59869 )
Change subject: [WIP] drivers/intel/mipi_camera: Add ACPI entry to provide silicon type info ......................................................................
[WIP] 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 driver can decide the type of firmware to load based on this information.
BUG=207721978 BRANCH=none TEST=Check for the ACPI entry in the SSDT after booting to kernel
Signed-off-by: Sugnan Prabhu S sugnan.prabhu.s@intel.com Change-Id: I4e0af1dd50b9c014cae5454fcd4f9f76d0e0a85f Signed-off-by: Sugnan Prabhu S sugnan.prabhu.s@intel.com --- M src/drivers/intel/mipi_camera/camera.c M src/soc/intel/alderlake/Kconfig 2 files changed, 17 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/69/59869/1
diff --git a/src/drivers/intel/mipi_camera/camera.c b/src/drivers/intel/mipi_camera/camera.c index a9af25c..5de0094 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> @@ -101,6 +103,7 @@ struct acpi_dp *port_table = NULL; struct acpi_dp *remote = NULL; struct acpi_dp *lanes = NULL; + u32 cpu_id;
for (i = 0; i < config->cio2_num_ports && i < MAX_PORT_ENTRIES; ++i) { snprintf(name, sizeof(name), "EP%u0", i); @@ -134,6 +137,14 @@
snprintf(name, sizeof(name), "port%u", i); port_name[i] = strdup(name); + if (CONFIG(ACPI_ADL_IPU_ES_SUPPORT)) { + 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 2f8f3da..151fe73 100644 --- a/src/soc/intel/alderlake/Kconfig +++ b/src/soc/intel/alderlake/Kconfig @@ -22,6 +22,7 @@ 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 @@ -328,6 +329,11 @@ help Enables CrashLog.
+config ACPI_ADL_IPU_ES_SUPPORT + def_bool n + help + Enables support for ES silicon ACPI entry for IPU. + if STITCH_ME_BIN
config CSE_BPDT_VERSION