diff options
author | Sugnan Prabhu S <sugnan.prabhu.s@intel.com> | 2021-12-03 19:07:04 +0530 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2021-12-13 13:54:21 +0000 |
commit | dcf045918b8584d23e487f70959ebbb2ef4492b6 (patch) | |
tree | 9a2861ab977a417314d5d3c196f1ff602fb2d330 /src/drivers/intel/mipi_camera | |
parent | feab8bb195961ec0fb441dcbe9f8cf33265bf37e (diff) |
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>
Diffstat (limited to 'src/drivers/intel/mipi_camera')
-rw-r--r-- | src/drivers/intel/mipi_camera/camera.c | 10 |
1 files changed, 10 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); } |