summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBora Guvendik <bora.guvendik@intel.corp-partner.google.com>2023-03-09 14:48:12 -0800
committerFelix Held <felix-coreboot@felixheld.de>2023-09-16 00:12:37 +0000
commit489da324eb007847da976b307fdd08a677057942 (patch)
treec2e751c5ecd7c3f16fc6c682df8ad8334bd79913
parent9f5b0ab54ed17b57fda6c5b6ad9d1597f375b3ac (diff)
mb/google/brya0: 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. TEST=Boot to OS, check camera LEDs. Signed-off-by: Bora Guvendik <bora.guvendik@intel.com> Change-Id: Ib9375d602171aa5018b1add1deac3021724dc207 Reviewed-on: https://review.coreboot.org/c/coreboot/+/74724 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
-rw-r--r--src/mainboard/google/brya/variants/brya0/overridetree.cb85
1 files changed, 80 insertions, 5 deletions
diff --git a/src/mainboard/google/brya/variants/brya0/overridetree.cb b/src/mainboard/google/brya/variants/brya0/overridetree.cb
index 20d43ca9a5..f0b6c694c0 100644
--- a/src/mainboard/google/brya/variants/brya0/overridetree.cb
+++ b/src/mainboard/google/brya/variants/brya0/overridetree.cb
@@ -549,7 +549,9 @@ chip soc/intel/alderlake
register "link_freq[1]" = "180 * MHz" # 180 MHz
register "remote_name" = ""IPU0""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
register "has_power_resource" = "1"
+
#Controls
register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
@@ -583,9 +585,23 @@ chip soc/intel/alderlake
register "chip_name" = ""DW9768 VCM""
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
- register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "vcm_compat" = ""dongwoon,dw9768""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #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_OVTI8856
end
@@ -596,7 +612,6 @@ chip soc/intel/alderlake
register "chip_name" = ""AT24 EEPROM""
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
- register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "nvm_compat" = ""atmel,24c1024""
register "nvm_size" = "0x2800"
@@ -604,6 +619,21 @@ chip soc/intel/alderlake
register "nvm_readonly" = "0x01"
register "nvm_width" = "0x10"
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #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 58 on
probe WFC WFC_MIPI_OVTI8856
end
@@ -624,6 +654,8 @@ chip soc/intel/alderlake
register "link_freq[1]" = "180 * MHz" # 180 MHz
register "remote_name" = ""IPU0""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
+
register "has_power_resource" = "1"
#Controls
register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
@@ -658,9 +690,23 @@ chip soc/intel/alderlake
register "chip_name" = ""DW AF DAC""
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_D16" #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_KBAE350
end
@@ -671,7 +717,6 @@ chip soc/intel/alderlake
register "chip_name" = ""GT24C08""
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
- register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "nvm_compat" = ""atmel,24c08""
register "nvm_size" = "0x2000"
@@ -679,6 +724,21 @@ chip soc/intel/alderlake
register "nvm_readonly" = "0x01"
register "nvm_width" = "0x10"
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #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_KBAE350
end
@@ -801,6 +861,7 @@ chip soc/intel/alderlake
register "link_freq[0]" = "384 * MHz" # 384 MHz
register "link_freq[1]" = "96 * MHz" # 96 MHz
register "remote_name" = ""IPU0""
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
register "has_power_resource" = "1"
#Controls
@@ -835,7 +896,6 @@ chip soc/intel/alderlake
register "chip_name" = ""GT24C16S""
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
- register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
register "nvm_compat" = ""atmel,24c1024""
register "nvm_size" = "0x800"
@@ -843,6 +903,21 @@ chip soc/intel/alderlake
register "nvm_readonly" = "0x01"
register "nvm_width" = "0x08"
+ register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
+
+ register "has_power_resource" = "1"
+
+ #Controls
+ register "gpio_panel.gpio[0].gpio_num" = "GPP_C3" #PP3300_FCAM_X
+
+ #_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_IMX208
end