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>
This commit is contained in:
Jamie Ryu 2023-02-21 16:57:00 -08:00 committed by Martin L Roth
parent 2e1624fb69
commit 8b34c4135e
1 changed files with 46 additions and 3 deletions

View File

@ -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