summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Ryu <jamie.m.ryu@intel.com>2023-02-21 16:57:00 -0800
committerMartin L Roth <gaumless@gmail.com>2023-03-15 20:05:03 +0000
commit8b34c4135ec3018f2125081a3026a1bd0c31694e (patch)
treec704a26c42fa9ef4bdd1485aaf9e671de94cc349
parent2e1624fb6931db6b76a0e3db4cb6213d10f4c9bc (diff)
mb/google/rex: Configure _DSC for camera devices
Configure _DSC to ACPI_DEVICE_SLEEP_D3_COLD so that the driver skips initial probe during kernel boot and prevent privacy LED blink. BUG=b:268607999 TEST=Build and boot rex proto1 to OS and verify privacy LED behavior. Change-Id: Ife849f7407b02867ddb992d7eebb08b0b44aecc8 Signed-off-by: Jamie Ryu <jamie.m.ryu@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/73193 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Subrata Banik <subratabanik@google.com> Reviewed-by: Kiran2 Kumar <kiran2.kumar@intel.corp-partner.google.com> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
-rw-r--r--src/mainboard/google/rex/variants/rex0/overridetree.cb49
1 files changed, 46 insertions, 3 deletions
diff --git a/src/mainboard/google/rex/variants/rex0/overridetree.cb b/src/mainboard/google/rex/variants/rex0/overridetree.cb
index 1672bf652b..3ca200cd02 100644
--- a/src/mainboard/google/rex/variants/rex0/overridetree.cb
+++ b/src/mainboard/google/rex/variants/rex0/overridetree.cb
@@ -283,6 +283,7 @@ chip soc/intel/meteorlake
register "num_freq_entries" = "1"
register "link_freq[0]" = "560 * MHz" # 560 MHz
register "remote_name" = ""IPU0""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
register "has_power_resource" = "1"
#Controls
@@ -318,9 +319,23 @@ chip soc/intel/meteorlake
register "chip_name" = ""DW9714 VCM""
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
- register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "vcm_compat" = ""dongwoon,dw9714""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
+
+ #_ON
+ register "on_seq.ops_cnt" = "1"
+ register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
+
+ #_OFF
+ register "off_seq.ops_cnt" = "1"
+ register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
+
device i2c 0C on
probe WFC WFC_MIPI
end
@@ -331,7 +346,6 @@ chip soc/intel/meteorlake
register "chip_name" = ""ST M24C64X""
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
- register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "nvm_compat" = ""atmel,24c64""
register "nvm_size" = "0x10000"
@@ -339,6 +353,21 @@ chip soc/intel/meteorlake
register "nvm_readonly" = "0x01"
register "nvm_width" = "0x0E"
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
+
+ #_ON
+ register "on_seq.ops_cnt" = "1"
+ register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
+
+ #_OFF
+ register "off_seq.ops_cnt" = "1"
+ register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
+
device i2c 50 on
probe WFC WFC_MIPI
end
@@ -424,7 +453,6 @@ chip soc/intel/meteorlake
register "acpi_name" = ""NVM1""
register "chip_name" = ""ST M24C64X""
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
- register "pr0" = ""\\_SB.PCI0.I2C5.CAM1.PRIC""
register "nvm_size" = "0x10000"
register "nvm_pagesize" = "1"
@@ -432,6 +460,21 @@ chip soc/intel/meteorlake
register "nvm_width" = "0x10"
register "nvm_compat" = ""atmel,24c64""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
+
+ #_ON
+ register "on_seq.ops_cnt" = "1"
+ register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
+
+ #_OFF
+ register "off_seq.ops_cnt" = "1"
+ register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
+
device i2c 50 on
probe UFC UFC_MIPI
end