summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2020-08-28 19:44:42 +0000
committerTim Wawrzynczak <twawrzynczak@chromium.org>2020-10-14 02:55:35 +0000
commit6f58b991de606e0a1faa8b7da626eda5e8d73909 (patch)
tree70c5e0923aba35fabe7eca54f8ae0dcad36a4c7c
parentce3a9740f1b753b20c7a09f215d8ff21cc91646e (diff)
downloadcoreboot-6f58b991de606e0a1faa8b7da626eda5e8d73909.tar.xz
soc/intel/tigerlake: Enable and use USB4 PCIe driver
This change enables the USB4/Thunderbolt common layer for Intel SOC, and enables the Intel USB4 PCIe driver. This moves the _DSD variables from the DSDT into the SSDT and allows them to be configured for each board if necessary. Change-Id: I2564512d951046e015c148db42fdaf2d4b8b81dd Signed-off-by: Duncan Laurie <dlaurie@google.com> Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44917 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/intel/tigerlake/Kconfig2
-rw-r--r--src/soc/intel/tigerlake/acpi/tcss_dma.asl27
-rw-r--r--src/soc/intel/tigerlake/acpi/tcss_pcierp.asl79
-rw-r--r--src/soc/intel/tigerlake/chipset.cb28
4 files changed, 26 insertions, 110 deletions
diff --git a/src/soc/intel/tigerlake/Kconfig b/src/soc/intel/tigerlake/Kconfig
index 4df2e852ca..9433080eda 100644
--- a/src/soc/intel/tigerlake/Kconfig
+++ b/src/soc/intel/tigerlake/Kconfig
@@ -48,6 +48,8 @@ config CPU_SPECIFIC_OPTIONS
select SOC_INTEL_COMMON_BLOCK_SA
select SOC_INTEL_COMMON_BLOCK_SMM
select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
+ select SOC_INTEL_COMMON_BLOCK_USB4
+ select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
select SOC_INTEL_COMMON_PCH_BASE
select SOC_INTEL_COMMON_RESET
select SOC_INTEL_COMMON_BLOCK_CAR
diff --git a/src/soc/intel/tigerlake/acpi/tcss_dma.asl b/src/soc/intel/tigerlake/acpi/tcss_dma.asl
index f7c4117dcf..085990dbfd 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_dma.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_dma.asl
@@ -92,30 +92,3 @@ Method (_PRW, 0)
{
Return (Package() { 0x6D, 4 })
}
-
-Method (_DSD, 0)
-{
- Return(
- Package()
- {
- /* Thunderbolt GUID for IMR_VALID at ../drivers/acpi/property.c */
- ToUUID("C44D002F-69F9-4E7D-A904-A7BAABDF43F7"),
- Package ()
- {
- Package (2) { "IMR_VALID", 1 }
- },
-
- /* Thunderbolt GUID for WAKE_SUPPORTED at ../drivers/acpi/property.c */
- ToUUID("6C501103-C189-4296-BA72-9BF5A26EBE5D"),
- Package ()
- {
- Package (2) { "WAKE_SUPPORTED", 1 }
- }
- }
- )
-}
-
-Method (_DSM, 4, Serialized)
-{
- Return (Buffer() { 0 })
-}
diff --git a/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl b/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
index b4c0cefa1e..08d890087c 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
@@ -220,85 +220,6 @@ Method (_PS3, 0, Serialized)
}
}
-Method (_DSD, 0) {
- If ((TUID == 0) || (TUID == 1)) {
- Return ( Package() {
- /* acpi_pci_bridge_d3 at ../drivers/pci/pci-acpi.c */
- ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),
- Package ()
- {
- Package (2) { "HotPlugSupportInD3", 1 },
- },
-
- /* pci_acpi_set_untrusted at ../drivers/pci/pci-acpi.c */
- ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"),
- Package () {
- Package (2) { "ExternalFacingPort", 1 }, /* TBT/CIO port */
- /*
- * UID of the TBT RP on platform, range is: 0, 1 ...,
- * (NumOfTBTRP - 1).
- */
- Package (2) { "UID", TUID },
- },
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM0 },
- Package (2) { "usb4-port-number", TUID },
- }
- })
- } ElseIf (TUID == 2) {
- Return ( Package () {
- /* acpi_pci_bridge_d3 at ../drivers/pci/pci-acpi.c */
- ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),
- Package ()
- {
- Package (2) { "HotPlugSupportInD3", 1 },
- },
-
- /* pci_acpi_set_untrusted at ../drivers/pci/pci-acpi.c */
- ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"),
- Package () {
- Package (2) { "ExternalFacingPort", 1 }, /* TBT/CIO port */
- /*
- * UID of the TBT RP on platform, range is: 0, 1 ...,
- * (NumOfTBTRP - 1).
- */
- Package (2) { "UID", TUID },
- },
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM1 },
- Package (2) { "usb4-port-number", 0 },
- }
- })
- } Else { /* TUID == 3 */
- Return ( Package () {
- /* acpi_pci_bridge_d3 at ../drivers/pci/pci-acpi.c */
- ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),
- Package ()
- {
- Package (2) { "HotPlugSupportInD3", 1 },
- },
-
- /* pci_acpi_set_untrusted at ../drivers/pci/pci-acpi.c */
- ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"),
- Package () {
- Package (2) { "ExternalFacingPort", 1 }, /* TBT/CIO port */
- /*
- * UID of the TBT RP on platform, range is: 0, 1 ...,
- * (NumOfTBTRP - 1).
- */
- Package (2) { "UID", TUID },
- },
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM1 },
- Package (2) { "usb4-port-number", 1 },
- }
- })
- }
-}
-
Method (_S0W, 0x0, NotSerialized)
{
Return (0x4)
diff --git a/src/soc/intel/tigerlake/chipset.cb b/src/soc/intel/tigerlake/chipset.cb
index 4f55125528..b60801c347 100644
--- a/src/soc/intel/tigerlake/chipset.cb
+++ b/src/soc/intel/tigerlake/chipset.cb
@@ -5,10 +5,30 @@ chip soc/intel/tigerlake
device pci 04.0 alias dptf off end
device pci 05.0 alias ipu off end
device pci 06.0 alias peg off end
- device pci 07.0 alias tbt_pcie_rp0 off end
- device pci 07.1 alias tbt_pcie_rp1 off end
- device pci 07.2 alias tbt_pcie_rp2 off end
- device pci 07.3 alias tbt_pcie_rp3 off end
+ device pci 07.0 alias tbt_pcie_rp0 off
+ chip soc/intel/common/block/usb4
+ use tbt_dma0 as usb4_port
+ device generic 0 on end
+ end
+ end
+ device pci 07.1 alias tbt_pcie_rp1 off
+ chip soc/intel/common/block/usb4
+ use tbt_dma0 as usb4_port
+ device generic 1 on end
+ end
+ end
+ device pci 07.2 alias tbt_pcie_rp2 off
+ chip soc/intel/common/block/usb4
+ use tbt_dma1 as usb4_port
+ device generic 0 on end
+ end
+ end
+ device pci 07.3 alias tbt_pcie_rp3 off
+ chip soc/intel/common/block/usb4
+ use tbt_dma1 as usb4_port
+ device generic 1 on end
+ end
+ end
device pci 08.0 alias gna off end
device pci 09.0 alias npk off end
device pci 0a.0 alias crashlog off end