summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/intel/mipi_camera/camera.c11
-rw-r--r--src/drivers/intel/mipi_camera/chip.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/drivers/intel/mipi_camera/camera.c b/src/drivers/intel/mipi_camera/camera.c
index 65eba16cdc..ec79e39a60 100644
--- a/src/drivers/intel/mipi_camera/camera.c
+++ b/src/drivers/intel/mipi_camera/camera.c
@@ -433,6 +433,9 @@ static void camera_fill_sensor(const struct device *dev)
acpi_dp_add_array(dsd, lens_focus);
}
+ if (config->low_power_probe)
+ acpi_dp_add_integer(dsd, "i2c-allow-low-power-probe", 0x01);
+
acpi_dp_add_child(dsd, "port0", prt0);
acpi_dp_write(dsd);
@@ -480,6 +483,10 @@ static void camera_fill_nvm(const struct device *dev)
acpi_dp_add_integer(dsd, "address-width", config->nvm_width);
acpi_dp_add_string(dsd, "compatible", config->nvm_compat);
+
+ if (config->low_power_probe)
+ acpi_dp_add_integer(dsd, "i2c-allow-low-power-probe", 0x01);
+
acpi_dp_write(dsd);
}
@@ -493,6 +500,10 @@ static void camera_fill_vcm(const struct device *dev)
dsd = acpi_dp_new_table("_DSD");
acpi_dp_add_string(dsd, "compatible", config->vcm_compat);
+
+ if (config->low_power_probe)
+ acpi_dp_add_integer(dsd, "i2c-allow-low-power-probe", 0x01);
+
acpi_dp_write(dsd);
}
diff --git a/src/drivers/intel/mipi_camera/chip.h b/src/drivers/intel/mipi_camera/chip.h
index 28f8464ec2..64942b6536 100644
--- a/src/drivers/intel/mipi_camera/chip.h
+++ b/src/drivers/intel/mipi_camera/chip.h
@@ -247,6 +247,8 @@ struct drivers_intel_mipi_camera_config {
const char *vcm_compat;
/* Does the device have a power resource entries */
bool has_power_resource;
+ /* Perform low power probe */
+ bool low_power_probe;
};
#endif