summaryrefslogtreecommitdiff
path: root/src/drivers/intel/mipi_camera
diff options
context:
space:
mode:
authorSugnan Prabhu S <sugnan.prabhu.s@intel.com>2021-02-09 10:31:15 +0530
committerPatrick Georgi <pgeorgi@google.com>2021-04-19 06:40:03 +0000
commit60be9dbbc739e435510f563e9e69bc40293b1cad (patch)
tree2bf49908fac6ee9074b717241a2c2a0e957bde72 /src/drivers/intel/mipi_camera
parent194179c3d76ffc5c764f54b867e564cefb59c881 (diff)
drivers/intel/mipi_camera: Adding support for low power camera probe
Add a new configuration low_power_probe to avoid camera privacy LED blink during the boot. Change-Id: I27d5c66fb380ae6cd76d04ee82b7736407dac1b0 Signed-off-by: Pandya, Varshit B <varshit.b.pandya@intel.com> Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/52189 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Maulik V Vaghela <maulik.v.vaghela@intel.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers/intel/mipi_camera')
-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