summaryrefslogtreecommitdiffstats
path: root/src/mainboard/intel/adlrvp/devicetree.cb
diff options
context:
space:
mode:
authorVarshit B Pandya <varshit.b.pandya@intel.com>2021-06-15 18:17:28 +0530
committerPatrick Georgi <pgeorgi@google.com>2021-07-05 10:51:32 +0000
commit048870ae2c0e1baf65004fe27c1523ad1a76314b (patch)
treee075af3f2a9665821f1114528a8f42ee8e0fa455 /src/mainboard/intel/adlrvp/devicetree.cb
parentadface7ace1a9ad0d2534f084eef4461e7171deb (diff)
downloadcoreboot-048870ae2c0e1baf65004fe27c1523ad1a76314b.tar.gz
coreboot-048870ae2c0e1baf65004fe27c1523ad1a76314b.tar.bz2
coreboot-048870ae2c0e1baf65004fe27c1523ad1a76314b.zip
mb/intel/adlrvp: Remove ASL code and enable dynamic SSDT creation for camera ACPI
This change updates device tree to enable SSDT generation for world facing camera and user facing camera for ADLRVP. Also reverts DSDT changes related to both camera. TEST=Build and Boot aldrvp check i2c enumeration and output of media-ctl Compared SSDT with this patch against DSDT without this patch, they are same Signed-off-by: Varshit B Pandya <varshit.b.pandya@intel.com> Change-Id: I08834bbcf80dc46737de07f69a2402ed6bf93d4f Reviewed-on: https://review.coreboot.org/c/coreboot/+/55526 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Diffstat (limited to 'src/mainboard/intel/adlrvp/devicetree.cb')
-rw-r--r--src/mainboard/intel/adlrvp/devicetree.cb103
1 files changed, 100 insertions, 3 deletions
diff --git a/src/mainboard/intel/adlrvp/devicetree.cb b/src/mainboard/intel/adlrvp/devicetree.cb
index affa6f838417..8c823cd7899d 100644
--- a/src/mainboard/intel/adlrvp/devicetree.cb
+++ b/src/mainboard/intel/adlrvp/devicetree.cb
@@ -312,7 +312,21 @@ chip soc/intel/alderlake
device generic 0 on end
end
end
- device ref ipu on end
+ device ref ipu on
+ chip drivers/intel/mipi_camera
+ register "acpi_uid" = "0x50000"
+ register "acpi_name" = ""IPU0""
+ register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
+
+ register "cio2_num_ports" = "2"
+ register "cio2_lanes_used" = "{2,2}"
+ register "cio2_lane_endpoint[0]" = ""^I2C5.CAM1""
+ register "cio2_lane_endpoint[1]" = ""^I2C1.CAM0""
+ register "cio2_prt[0]" = "2"
+ register "cio2_prt[1]" = "1"
+ device generic 0 on end
+ end
+ end
device ref pcie4_0 on end
device ref pcie4_1 on end
device ref tbt_pcie_rp0 on end
@@ -344,12 +358,95 @@ chip soc/intel/alderlake
end
end
device ref i2c0 on end
- device ref i2c1 on end
+ device ref i2c1 on
+ chip drivers/intel/mipi_camera
+ register "acpi_hid" = ""OVTI5675""
+ register "acpi_uid" = "0"
+ register "acpi_name" = ""CAM0""
+ register "chip_name" = ""Ov 5675 Camera""
+ register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
+
+ register "ssdb.lanes_used" = "2"
+ register "ssdb.vcm_type" = "0x0C"
+ register "vcm_name" = ""VCM0""
+ register "num_freq_entries" = "1"
+ register "link_freq[0]" = "450000000"
+ register "remote_name" = ""IPU0""
+
+ register "has_power_resource" = "1"
+ #Controls
+ 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_B23" #power_enable
+ register "gpio_panel.gpio[1].gpio_num" = "GPP_R5" #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, 2)"
+ register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 1)"
+ register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 1)"
+
+ #_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 36 on end
+ end
+ chip drivers/intel/mipi_camera
+ register "acpi_uid" = "3"
+ register "acpi_name" = ""VCM0""
+ 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""
+
+ device i2c 0C on end
+ end
+ end
device ref i2c2 on end
device ref i2c3 on end
device ref heci1 on end
device ref sata on end
- device ref i2c5 on end
+ device ref i2c5 on
+ chip drivers/intel/mipi_camera
+ register "acpi_hid" = ""OVTI5675""
+ register "acpi_uid" = "0"
+ register "acpi_name" = ""CAM1""
+ register "chip_name" = ""Ov 5675 Camera""
+ register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
+
+ register "ssdb.lanes_used" = "2"
+ register "num_freq_entries" = "1"
+ register "link_freq[0]" = "450000000"
+ register "remote_name" = ""IPU0""
+
+ register "has_power_resource" = "1"
+ #Controls
+ 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_E16" #power_enable
+ register "gpio_panel.gpio[1].gpio_num" = "GPP_E15" #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, 2)"
+ register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 1)"
+ register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 1)"
+
+ #_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 36 on end
+ end
+ end
device ref pcie_rp1 on end
device ref pcie_rp3 on end # W/A to FSP issue
device ref pcie_rp4 on end # W/A to FSP issue