mb/google/kblrvp: Configure ports and endpoints for sensor and CIO2 devices

Bind the camera sensor and CIO2 devices through the ports and endpoints
configuration available in _DSD ACPI object.
* Port represents an interface in a device.
* Endpoint represents a connection to that interface.

BUG=none
BRANCH=none
TEST=Build and boot kblrvp. Dump and verify that the generated DSDT table
has the required entries.

Change-Id: If328864dbb61586a4887c7fcae740a12eda7cc92
Signed-off-by: V Sowmya <v.sowmya@intel.com>
Reviewed-on: https://review.coreboot.org/20662
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
diff --git a/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl b/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl
index 3fefeb1..8a44505 100644
--- a/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl
+++ b/src/mainboard/intel/kblrvp/acpi/mipi_camera.asl
@@ -57,6 +57,46 @@
 				)
 		})
 
+		/* Port0 of CAM0 is connected to port0 of CIO2 device */
+		Name (_DSD, Package () {
+			ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+			Package () {
+				Package () { "port0", "PRT0" },
+			},
+			ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () { "clock-frequency", 19200000 },
+			}
+		})
+
+		Name (PRT0, Package() {
+			ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () { "port", 0 },
+			},
+			ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+			Package () {
+				Package () { "endpoint0", "EP00" },
+			}
+		})
+
+		Name (EP00, Package() {
+			ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () { "endpoint", 0 },
+				Package () { "clock-lanes", 0 },
+				Package () { "data-lanes",
+					Package () { 1, 2, 3, 4 }
+				},
+				Package () { "link-frequencies",
+					Package() { 1190400000, 640000000 }
+				},
+				Package () { "remote-endpoint",
+					Package() { \_SB.PCI0.CIO2, 0, 0 }
+				},
+			}
+		})
+
 		Method (SSDB, 0, Serialized)
 		{
 			Return (Buffer (0x5E)
@@ -144,6 +184,46 @@
 			)
 		})
 
+		/* Port0 of CAM1 is connected to port1 of CIO2 device */
+		Name (_DSD, Package () {
+			ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+			Package () {
+				Package () { "port0", "PRT0" },
+			},
+			ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () { "clock-frequency", 19200000 },
+			}
+		})
+
+		Name (PRT0, Package() {
+			ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () { "port", 0 },
+			},
+			ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
+			Package () {
+				Package () { "endpoint0", "EP00" },
+			}
+		})
+
+		Name (EP00, Package() {
+			ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+			Package () {
+				Package () { "endpoint", 0 },
+				Package () { "clock-lanes", 0 },
+				Package () { "data-lanes",
+					Package () { 1, 2 }
+				},
+				Package () { "link-frequencies",
+					Package() { 844800000 }
+				},
+				Package () { "remote-endpoint",
+					Package() { \_SB.PCI0.CIO2, 1, 0 }
+				},
+			}
+		})
+
 		Method (SSDB, 0, Serialized)
 		{
 			Return (Buffer (0x5E)