mb/google/poppy: Split ports and endpoints config for CIO2

The variant boards can have a custom endpoints, splitting the ASL code
aids customizing the endpoints as per the variant board setup.

BUG=None
BRANCH=None
TEST=build boot soraka, verify that the cameras are working fine and
generated DSDT tables are same as before.

Change-Id: I5f1cded25bfb6a7baf18b211f9773dfecdc2f264
Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Reviewed-on: https://review.coreboot.org/23167
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Rajmohan Mani <rajmohan.mani@intel.com>
Reviewed-by: Subrata Banik <subrata.banik@intel.com>
This commit is contained in:
Rizwan Qureshi 2018-01-04 16:51:34 +05:30 committed by Martin Roth
parent e6033ce179
commit 21ea964c3a
3 changed files with 49 additions and 25 deletions

View File

@ -14,4 +14,5 @@
*/ */
#include "ipu_mainboard.asl" #include "ipu_mainboard.asl"
#include "ipu_endpoints.asl"
#include "mipi_camera.asl" #include "mipi_camera.asl"

View File

@ -0,0 +1,46 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2018 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 endpoints for CIO2 device where endpoint of port0
is connected to CAM0 and endpoint of port1 is connected to CAM1.
variant of this poppy baseboard can define their own endpoints (max 2)
with custom remote-endpoint */
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 (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.I2C4.CAM1, 0, 0 }
},
}
})
}

View File

@ -16,7 +16,8 @@
Scope (\_SB.PCI0.CIO2) Scope (\_SB.PCI0.CIO2)
{ {
/* Define two ports for CIO2 device where endpoint of port0 /* Define two ports for CIO2 device where endpoint of port0
is connected to CAM0 and endpoint of port1 is connected to CAM1 */ is connected to CAM0 and endpoint of port1 is connected to CAM1
Endpoints can be customized by the variants of the based board */
Name (_DSD, Package () { Name (_DSD, Package () {
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
@ -37,18 +38,6 @@ Scope (\_SB.PCI0.CIO2)
} }
}) })
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 () { Name (PRT1, Package () {
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () { Package () {
@ -59,16 +48,4 @@ Scope (\_SB.PCI0.CIO2)
Package () { "endpoint0", "EP10" }, 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.I2C4.CAM1, 0, 0 }
},
}
})
} }