summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Wu <david_wu@quanta.corp-partner.google.com>2022-11-24 14:24:55 +0800
committerMartin L Roth <gaumless@gmail.com>2022-11-30 15:10:59 +0000
commite8f86bc5036ab73941c1dbbed365e9f87cc5e21c (patch)
tree1e37ff9d8bb216bc147760857f83af78bc0c9ffa
parentddfbeda3bb3465c84444dbd3950fd4edd23a3417 (diff)
downloadcoreboot-e8f86bc5036ab73941c1dbbed365e9f87cc5e21c.tar.gz
coreboot-e8f86bc5036ab73941c1dbbed365e9f87cc5e21c.tar.bz2
coreboot-e8f86bc5036ab73941c1dbbed365e9f87cc5e21c.zip
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>
-rw-r--r--src/mainboard/google/brya/variants/zydron/overridetree.cb42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/mainboard/google/brya/variants/zydron/overridetree.cb b/src/mainboard/google/brya/variants/zydron/overridetree.cb
index f8a14be29394..daa33ee7f36a 100644
--- a/src/mainboard/google/brya/variants/zydron/overridetree.cb
+++ b/src/mainboard/google/brya/variants/zydron/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
@@ -322,6 +324,45 @@ chip soc/intel/alderlake
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"
register "acpi_name" = ""NVM0""
@@ -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