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>
diff --git a/src/soc/intel/tigerlake/Kconfig b/src/soc/intel/tigerlake/Kconfig
index 4df2e85..9433080 100644
--- a/src/soc/intel/tigerlake/Kconfig
+++ b/src/soc/intel/tigerlake/Kconfig
@@ -48,6 +48,8 @@
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 f7c4117..085990d 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_dma.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_dma.asl
@@ -92,30 +92,3 @@
{
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 b4c0cef..08d8900 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
@@ -220,85 +220,6 @@
}
}
-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 4f55125..b60801c 100644
--- a/src/soc/intel/tigerlake/chipset.cb
+++ b/src/soc/intel/tigerlake/chipset.cb
@@ -5,10 +5,30 @@
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