diff options
-rw-r--r-- | src/drivers/intel/ish/Kconfig | 12 | ||||
-rw-r--r-- | src/drivers/intel/ish/ish.c | 3 | ||||
-rw-r--r-- | src/soc/intel/common/block/cse/cse_lite.c | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/drivers/intel/ish/Kconfig b/src/drivers/intel/ish/Kconfig index a1544910d4..123452e7e0 100644 --- a/src/drivers/intel/ish/Kconfig +++ b/src/drivers/intel/ish/Kconfig @@ -6,3 +6,15 @@ config DRIVERS_INTEL_ISH help When enabled, chip driver/intel/ish will publish information to the SSDT _DSD table for the ISH device. + +config DRIVER_INTEL_ISH_HAS_MAIN_FW + bool + default n + depends on DRIVERS_INTEL_ISH + help + This config specifies that the Intel Sensor Hub (ISH) is using ISH MAIN firmware. The + ISH MAIN FW resides in the rootfs and is loaded by the kernel. Since there is no dependency + on AP firmware, the ISH BUP version is not fetched from the CSE firmware partition. + + This setting is platform-specific. Enable it only on platforms where the ISH is + confirmed to be using the MAIN firmware. diff --git a/src/drivers/intel/ish/ish.c b/src/drivers/intel/ish/ish.c index d83af4699d..5dd4a799bb 100644 --- a/src/drivers/intel/ish/ish.c +++ b/src/drivers/intel/ish/ish.c @@ -66,6 +66,9 @@ static void intel_ish_get_version(void) static void intel_ish_final(struct device *dev) { + if (CONFIG(DRIVER_INTEL_ISH_HAS_MAIN_FW)) + return; + if (CONFIG(SOC_INTEL_STORE_ISH_FW_VERSION)) intel_ish_get_version(); } diff --git a/src/soc/intel/common/block/cse/cse_lite.c b/src/soc/intel/common/block/cse/cse_lite.c index a7389f8baa..c5f0560d2a 100644 --- a/src/soc/intel/common/block/cse/cse_lite.c +++ b/src/soc/intel/common/block/cse/cse_lite.c @@ -1584,7 +1584,7 @@ static void ramstage_cse_misc_ops(void *unused) * Store the ISH RW Firmware Version into CBMEM if ISH partition * is available */ - if (soc_is_ish_partition_enabled()) + if (!CONFIG(DRIVER_INTEL_ISH_HAS_MAIN_FW) && soc_is_ish_partition_enabled()) store_ish_version(); } |