summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drivers/intel/mipi_camera/camera.c3
-rw-r--r--src/drivers/intel/mipi_camera/chip.h11
2 files changed, 14 insertions, 0 deletions
diff --git a/src/drivers/intel/mipi_camera/camera.c b/src/drivers/intel/mipi_camera/camera.c
index ec79e39a60..a9af25cf12 100644
--- a/src/drivers/intel/mipi_camera/camera.c
+++ b/src/drivers/intel/mipi_camera/camera.c
@@ -847,6 +847,9 @@ static void write_i2c_camera_device(const struct device *dev, const char *scope)
acpigen_write_name_integer("_UID", config->acpi_uid);
acpigen_write_name_string("_DDN", config->chip_name);
acpigen_write_STA(acpi_device_status(dev));
+ acpigen_write_method("_DSC", 0);
+ acpigen_write_return_integer(config->max_dstate_for_probe);
+ acpigen_pop_len(); /* Method _DSC */
/* Resources */
acpigen_write_name("_CRS");
diff --git a/src/drivers/intel/mipi_camera/chip.h b/src/drivers/intel/mipi_camera/chip.h
index c6ead1ffd6..55e9f33fb1 100644
--- a/src/drivers/intel/mipi_camera/chip.h
+++ b/src/drivers/intel/mipi_camera/chip.h
@@ -257,6 +257,17 @@ struct drivers_intel_mipi_camera_config {
bool has_power_resource;
/* Perform low power probe */
bool low_power_probe;
+ /*
+ * This will create a _DSC method in ACPI which returns an integer, to tell the kernel
+ * the highest allowed D state for a device during probe
+ * Number State Description
+ * 0 D0 Device fully powered on
+ * 1 D1
+ * 2 D2
+ * 3 D3hot
+ * 4 D3cold Off
+ */
+ uint8_t max_dstate_for_probe;
};
#endif