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>
This commit is contained in:
		
							
								
								
									
										74
									
								
								src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								src/mainboard/intel/kblrvp/acpi/ipu_mainboard.asl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * This file is part of the coreboot project.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Copyright (C) 2017 Intel Corporation.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is free software; you can redistribute it and/or modify
 | 
				
			||||||
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					 * the Free Software Foundation; version 2 of the License.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					 * GNU General Public License for more details.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Scope (\_SB.PCI0.CIO2)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* Define two ports for CIO2 device where endpoint of port0
 | 
				
			||||||
 | 
						is connected to CAM0 and endpoint of port1 is connected to CAM1 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name (_DSD, Package () {
 | 
				
			||||||
 | 
							ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
 | 
				
			||||||
 | 
							Package () {
 | 
				
			||||||
 | 
								Package () { "port0", "PRT0" },
 | 
				
			||||||
 | 
								Package () { "port1", "PRT1" },
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name (PRT0, Package () {
 | 
				
			||||||
 | 
							ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 | 
				
			||||||
 | 
							Package () {
 | 
				
			||||||
 | 
								Package () { "port", 0 }, /* csi 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 () { "remote-endpoint",
 | 
				
			||||||
 | 
									Package() { \_SB.PCI0.I2C2.CAM0, 0, 0 }
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name (PRT1, Package () {
 | 
				
			||||||
 | 
							ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 | 
				
			||||||
 | 
							Package () {
 | 
				
			||||||
 | 
								Package () { "port", 1 }, /* csi 1 */
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
 | 
				
			||||||
 | 
							Package () {
 | 
				
			||||||
 | 
								Package () { "endpoint0", "EP10" },
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Name (EP10, Package() {
 | 
				
			||||||
 | 
							ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
 | 
				
			||||||
 | 
							Package () {
 | 
				
			||||||
 | 
								Package () { "endpoint", 0 },
 | 
				
			||||||
 | 
								Package () { "clock-lanes", 0 },
 | 
				
			||||||
 | 
								Package () { "data-lanes", Package () { 1, 2 } },
 | 
				
			||||||
 | 
								Package () { "remote-endpoint",
 | 
				
			||||||
 | 
									Package() { \_SB.PCI0.I2C3.CAM1, 0, 0 }
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -57,6 +57,46 @@ Scope (\_SB.PCI0.I2C2)
 | 
				
			|||||||
				)
 | 
									)
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/* 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)
 | 
							Method (SSDB, 0, Serialized)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			Return (Buffer (0x5E)
 | 
								Return (Buffer (0x5E)
 | 
				
			||||||
@@ -144,6 +184,46 @@ Scope (\_SB.PCI0.I2C3)
 | 
				
			|||||||
			)
 | 
								)
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/* 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)
 | 
							Method (SSDB, 0, Serialized)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			Return (Buffer (0x5E)
 | 
								Return (Buffer (0x5E)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,6 +36,8 @@ DefinitionBlock(
 | 
				
			|||||||
	Scope (\_SB) {
 | 
						Scope (\_SB) {
 | 
				
			||||||
		Device (PCI0)
 | 
							Device (PCI0)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
					                        /* Image processing unit */
 | 
				
			||||||
 | 
					                        #include <soc/intel/skylake/acpi/ipu.asl>
 | 
				
			||||||
			#include <soc/intel/skylake/acpi/systemagent.asl>
 | 
								#include <soc/intel/skylake/acpi/systemagent.asl>
 | 
				
			||||||
			#include <soc/intel/skylake/acpi/pch.asl>
 | 
								#include <soc/intel/skylake/acpi/pch.asl>
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -45,6 +47,7 @@ DefinitionBlock(
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* MIPI camera */
 | 
						/* MIPI camera */
 | 
				
			||||||
 | 
						#include "acpi/ipu_mainboard.asl"
 | 
				
			||||||
	#include "acpi/mipi_camera.asl"
 | 
						#include "acpi/mipi_camera.asl"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if IS_ENABLED(CONFIG_CHROMEOS)
 | 
					#if IS_ENABLED(CONFIG_CHROMEOS)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user