From 60be9dbbc739e435510f563e9e69bc40293b1cad Mon Sep 17 00:00:00 2001 From: Sugnan Prabhu S Date: Tue, 9 Feb 2021 10:31:15 +0530 Subject: 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 Signed-off-by: Sugnan Prabhu S Reviewed-on: https://review.coreboot.org/c/coreboot/+/52189 Reviewed-by: Tim Wawrzynczak Reviewed-by: Maulik V Vaghela Tested-by: build bot (Jenkins) --- src/drivers/intel/mipi_camera/camera.c | 11 +++++++++++ src/drivers/intel/mipi_camera/chip.h | 2 ++ 2 files changed, 13 insertions(+) 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 -- cgit v1.2.3