mb/google/brya/var/zydron: Add mipi hi556 camera support

This patch supports multiple camera modules based on FW_CONFIG.

BUG=b:251235140
TEST=Test the changes with ov2740/hi556 camera.

Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com>
Change-Id: Ib0a4f46d889e9f6c2898efee6825cf2d02252d87
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69962
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jim Lai <jim.lai@intel.com>
Reviewed-by: Ren Kuo <ren.kuo@quanta.corp-partner.google.com>
This commit is contained in:
David Wu 2022-11-24 14:24:55 +08:00 committed by Martin L Roth
parent ddfbeda3bb
commit e8f86bc503
1 changed files with 42 additions and 0 deletions

View File

@ -10,6 +10,7 @@ fw_config
field UFC 4 5 field UFC 4 5
option UFC_USB 0 option UFC_USB 0
option UFC_MIPI_OVTI2740 1 option UFC_MIPI_OVTI2740 1
option UFC_MIPI_HI556 2
end end
field STYLUS 6 field STYLUS 6
option STYLUS_ABSENT 0 option STYLUS_ABSENT 0
@ -197,6 +198,7 @@ chip soc/intel/alderlake
register "cio2_prt[0]" = "1" register "cio2_prt[0]" = "1"
device generic 0 on device generic 0 on
probe UFC UFC_MIPI_OVTI2740 probe UFC UFC_MIPI_OVTI2740
probe UFC UFC_MIPI_HI556
end end
end end
end end
@ -321,6 +323,45 @@ chip soc/intel/alderlake
probe UFC UFC_MIPI_OVTI2740 probe UFC UFC_MIPI_OVTI2740
end end
end end
chip drivers/intel/mipi_camera
register "acpi_hid" = ""INT3537""
register "acpi_uid" = "0"
register "acpi_name" = ""CAM0""
register "chip_name" = ""Hi-556 Camera""
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
register "has_power_resource" = "1"
register "ssdb.lanes_used" = "2"
register "ssdb.link_used" = "1"
register "num_freq_entries" = "1"
register "link_freq[0]" = "437 * MHz" # 437 MHz
register "remote_name" = ""IPU0""
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
#Controls
register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
register "gpio_panel.gpio[0].gpio_num" = "GPP_C4" #power
register "gpio_panel.gpio[1].gpio_num" = "GPP_F20" #reset
#_ON
register "on_seq.ops_cnt" = "4"
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
#_OFF
register "off_seq.ops_cnt" = "3"
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
device i2c 20 on
probe UFC UFC_MIPI_HI556
end
end
chip drivers/intel/mipi_camera chip drivers/intel/mipi_camera
register "acpi_hid" = "ACPI_DT_NAMESPACE_HID" register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
register "acpi_uid" = "1" register "acpi_uid" = "1"
@ -336,6 +377,7 @@ chip soc/intel/alderlake
device i2c 50 on device i2c 50 on
probe UFC UFC_MIPI_OVTI2740 probe UFC UFC_MIPI_OVTI2740
probe UFC UFC_MIPI_HI556
end end
end end
end end