mb/google/fatcat/var/fatcat: Configure _DSC for camera devices
Configure _DSC to ACPI_DEVICE_SLEEP_D3_COLD for camera devices to prevent them from being probed during kernel boot. This prevents the privacy LED from blinking unnecessarily. Also includes minor code comment changes for clarity: - Replace "560000000" with "560 * MHz" for readability. - Explain `clknum` value `0` as `IMGCLKOUT_0` and `1` as `IMGCLKOUT_1`. - Introduce FW_CONFIG (UFC/WFC) for probing IPU0. BUG=b:381044394 TEST=No privacy LED blinking seen while rebooting google/fatcat. Change-Id: I4712b751015d86d40dfd4d7da8cba956c435eef5 Signed-off-by: Subrata Banik <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/85954 Reviewed-by: Eric Lai <ericllai@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
26e9ade8f9
commit
c4c237ed78
1 changed files with 71 additions and 10 deletions
|
|
@ -302,12 +302,15 @@ chip soc/intel/pantherlake
|
|||
register "acpi_name" = ""IPU0""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
|
||||
register "cio2_num_ports" = "2"
|
||||
register "cio2_lanes_used" = "{4,2}"
|
||||
register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
|
||||
register "cio2_lane_endpoint[0]" = ""^I2C1.CAM0""
|
||||
register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
|
||||
register "cio2_prt[0]" = "0"
|
||||
register "cio2_prt[1]" = "2"
|
||||
device generic 0 on end
|
||||
device generic 0 on
|
||||
probe UFC UFC_MIPI
|
||||
probe WFC WFC_MIPI
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -604,12 +607,13 @@ chip soc/intel/pantherlake
|
|||
|
||||
register "ssdb.lanes_used" = "4"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "560000000"
|
||||
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" = "true"
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "0"
|
||||
register "clk_panel.clks[0].clknum" = "0" # IMGCLKOUT_0
|
||||
register "clk_panel.clks[0].freq" = "1" #19.2 Mhz
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C05" #power_enable
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_E10" #reset
|
||||
|
|
@ -637,9 +641,23 @@ chip soc/intel/pantherlake
|
|||
register "chip_name" = ""DW AF VCM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
|
||||
|
||||
register "pr0" = ""\\_SB.PCI0.I2C1.CAM0.PRIC""
|
||||
register "vcm_compat" = ""dongwoon,dw9714""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C05" #power_enable
|
||||
|
||||
#_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
|
||||
|
|
@ -650,7 +668,6 @@ chip soc/intel/pantherlake
|
|||
register "chip_name" = ""BRCA016GWZ""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
|
||||
register "pr0" = ""\\_SB.PCI0.I2C1.CAM0.PRIC""
|
||||
register "nvm_compat" = ""atmel,24c16""
|
||||
|
||||
register "nvm_size" = "0x800"
|
||||
|
|
@ -658,6 +675,21 @@ chip soc/intel/pantherlake
|
|||
register "nvm_readonly" = "0x01"
|
||||
register "nvm_width" = "0x08"
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C05" #power_enable
|
||||
|
||||
#_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
|
||||
|
|
@ -676,12 +708,13 @@ chip soc/intel/pantherlake
|
|||
|
||||
register "ssdb.lanes_used" = "2"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "560000000"
|
||||
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" = "true"
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "1"
|
||||
register "clk_panel.clks[0].clknum" = "1" # IMGCLKOUT_1
|
||||
register "clk_panel.clks[0].freq" = "1" #19.2 Mhz
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C08" #power_enable
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_E01" #reset
|
||||
|
|
@ -709,9 +742,23 @@ chip soc/intel/pantherlake
|
|||
register "chip_name" = ""DW AF VCM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
|
||||
|
||||
register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
|
||||
register "vcm_compat" = ""dongwoon,dw9714""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C08" #power_enable
|
||||
|
||||
#_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 UFC UFC_MIPI
|
||||
end
|
||||
|
|
@ -722,7 +769,6 @@ chip soc/intel/pantherlake
|
|||
register "chip_name" = ""BRCA016GWZ""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
|
||||
register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
|
||||
register "nvm_compat" = ""atmel,24c16""
|
||||
|
||||
register "nvm_size" = "0x800"
|
||||
|
|
@ -730,6 +776,21 @@ chip soc/intel/pantherlake
|
|||
register "nvm_readonly" = "0x01"
|
||||
register "nvm_width" = "0x08"
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C08" #power_enable
|
||||
|
||||
#_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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue