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>
This commit is contained in:
Duncan Laurie 2020-08-28 19:44:42 +00:00 committed by Tim Wawrzynczak
parent ce3a9740f1
commit 6f58b991de
4 changed files with 26 additions and 110 deletions

View File

@ -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

View File

@ -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 })
}

View File

@ -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)

View File

@ -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