From 4a7a0e9979183aa5a82d241b8da67f5248f338c5 Mon Sep 17 00:00:00 2001 From: David Wu Date: Wed, 26 Oct 2022 16:55:43 +0800 Subject: mb/google/brya/var/kano: 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 Change-Id: I34dbf67634ecd364c40c6e934217af3d8efe1689 Reviewed-on: https://review.coreboot.org/c/coreboot/+/68890 Tested-by: build bot (Jenkins) Reviewed-by: Jim Lai Reviewed-by: Ricardo Ribalda Reviewed-by: Ren Kuo --- .../google/brya/variants/kano/overridetree.cb | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'src/mainboard') diff --git a/src/mainboard/google/brya/variants/kano/overridetree.cb b/src/mainboard/google/brya/variants/kano/overridetree.cb index c28dd28b5a..a1667eb601 100644 --- a/src/mainboard/google/brya/variants/kano/overridetree.cb +++ b/src/mainboard/google/brya/variants/kano/overridetree.cb @@ -10,6 +10,7 @@ fw_config field UFC 4 5 option UFC_USB 0 option UFC_MIPI_OVTI2740 1 + option UFC_MIPI_HI556 2 end field STYLUS 6 option STYLUS_ABSENT 0 @@ -197,6 +198,7 @@ chip soc/intel/alderlake register "cio2_prt[0]" = "1" device generic 0 on probe UFC UFC_MIPI_OVTI2740 + probe UFC UFC_MIPI_HI556 end end end @@ -321,6 +323,45 @@ chip soc/intel/alderlake probe UFC UFC_MIPI_OVTI2740 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 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID" register "acpi_uid" = "1" @@ -336,6 +377,7 @@ chip soc/intel/alderlake device i2c 50 on probe UFC UFC_MIPI_OVTI2740 + probe UFC UFC_MIPI_HI556 end end end -- cgit v1.2.3