Tim Wawrzynczak submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Furquan Shaikh: Looks good to me, approved
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>
---
M src/soc/intel/tigerlake/Kconfig
M src/soc/intel/tigerlake/acpi/tcss_dma.asl
M src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
M src/soc/intel/tigerlake/chipset.cb
4 files changed, 26 insertions(+), 110 deletions(-)

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

To view, visit change 44917. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I2564512d951046e015c148db42fdaf2d4b8b81dd
Gerrit-Change-Number: 44917
Gerrit-PatchSet: 16
Gerrit-Owner: Duncan Laurie <dlaurie@chromium.org>
Gerrit-Reviewer: Caveh Jalali <caveh@chromium.org>
Gerrit-Reviewer: Furquan Shaikh <furquan@google.com>
Gerrit-Reviewer: Nick Vaccaro <nvaccaro@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Tim Wawrzynczak <twawrzynczak@chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged