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>
This commit is contained in:
Bora Guvendik 2023-03-09 14:48:12 -08:00 committed by Felix Held
parent 9f5b0ab54e
commit 489da324eb
1 changed files with 80 additions and 5 deletions

View File

@ -549,7 +549,9 @@ chip soc/intel/alderlake
register "link_freq[1]" = "180 * MHz" # 180 MHz register "link_freq[1]" = "180 * MHz" # 180 MHz
register "remote_name" = ""IPU0"" register "remote_name" = ""IPU0""
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
register "has_power_resource" = "1" register "has_power_resource" = "1"
#Controls #Controls
register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3" register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ" register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
@ -583,9 +585,23 @@ chip soc/intel/alderlake
register "chip_name" = ""DW9768 VCM"" register "chip_name" = ""DW9768 VCM""
register "device_type" = "INTEL_ACPI_CAMERA_VCM" register "device_type" = "INTEL_ACPI_CAMERA_VCM"
register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "vcm_compat" = ""dongwoon,dw9768"" 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 device i2c 0C on
probe WFC WFC_MIPI_OVTI8856 probe WFC WFC_MIPI_OVTI8856
end end
@ -596,7 +612,6 @@ chip soc/intel/alderlake
register "chip_name" = ""AT24 EEPROM"" register "chip_name" = ""AT24 EEPROM""
register "device_type" = "INTEL_ACPI_CAMERA_NVM" register "device_type" = "INTEL_ACPI_CAMERA_NVM"
register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "nvm_compat" = ""atmel,24c1024"" register "nvm_compat" = ""atmel,24c1024""
register "nvm_size" = "0x2800" register "nvm_size" = "0x2800"
@ -604,6 +619,21 @@ chip soc/intel/alderlake
register "nvm_readonly" = "0x01" register "nvm_readonly" = "0x01"
register "nvm_width" = "0x10" 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 device i2c 58 on
probe WFC WFC_MIPI_OVTI8856 probe WFC WFC_MIPI_OVTI8856
end end
@ -624,6 +654,8 @@ chip soc/intel/alderlake
register "link_freq[1]" = "180 * MHz" # 180 MHz register "link_freq[1]" = "180 * MHz" # 180 MHz
register "remote_name" = ""IPU0"" register "remote_name" = ""IPU0""
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
register "has_power_resource" = "1" register "has_power_resource" = "1"
#Controls #Controls
register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3" register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
@ -658,9 +690,23 @@ chip soc/intel/alderlake
register "chip_name" = ""DW AF DAC"" register "chip_name" = ""DW AF DAC""
register "device_type" = "INTEL_ACPI_CAMERA_VCM" register "device_type" = "INTEL_ACPI_CAMERA_VCM"
register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "vcm_compat" = ""dongwoon,dw9714"" 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 device i2c 0C on
probe WFC WFC_MIPI_KBAE350 probe WFC WFC_MIPI_KBAE350
end end
@ -671,7 +717,6 @@ chip soc/intel/alderlake
register "chip_name" = ""GT24C08"" register "chip_name" = ""GT24C08""
register "device_type" = "INTEL_ACPI_CAMERA_NVM" register "device_type" = "INTEL_ACPI_CAMERA_NVM"
register "pr0" = ""\\_SB.PCI0.I2C0.CAM0.PRIC""
register "nvm_compat" = ""atmel,24c08"" register "nvm_compat" = ""atmel,24c08""
register "nvm_size" = "0x2000" register "nvm_size" = "0x2000"
@ -679,6 +724,21 @@ chip soc/intel/alderlake
register "nvm_readonly" = "0x01" register "nvm_readonly" = "0x01"
register "nvm_width" = "0x10" 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 device i2c 50 on
probe WFC WFC_MIPI_KBAE350 probe WFC WFC_MIPI_KBAE350
end end
@ -801,6 +861,7 @@ chip soc/intel/alderlake
register "link_freq[0]" = "384 * MHz" # 384 MHz register "link_freq[0]" = "384 * MHz" # 384 MHz
register "link_freq[1]" = "96 * MHz" # 96 MHz register "link_freq[1]" = "96 * MHz" # 96 MHz
register "remote_name" = ""IPU0"" register "remote_name" = ""IPU0""
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
register "has_power_resource" = "1" register "has_power_resource" = "1"
#Controls #Controls
@ -835,7 +896,6 @@ chip soc/intel/alderlake
register "chip_name" = ""GT24C16S"" register "chip_name" = ""GT24C16S""
register "device_type" = "INTEL_ACPI_CAMERA_NVM" register "device_type" = "INTEL_ACPI_CAMERA_NVM"
register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
register "nvm_compat" = ""atmel,24c1024"" register "nvm_compat" = ""atmel,24c1024""
register "nvm_size" = "0x800" register "nvm_size" = "0x800"
@ -843,6 +903,21 @@ chip soc/intel/alderlake
register "nvm_readonly" = "0x01" register "nvm_readonly" = "0x01"
register "nvm_width" = "0x08" 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 device i2c 50 on
probe UFC UFC_MIPI_IMX208 probe UFC UFC_MIPI_IMX208
end end