soc/amd/phoenix/include/soc/pci_devs: update defines to match the PPR

Parts of this file were still a copy of the file from the Mendocino SoC,
so update the file to match the PPR #57019 Rev 3.03 and the chipset
devicetree of the Phoenix SoC. Phoenix has 4 GFX/GPP PCIe bridges/ports,
the numbering scheme of the GPP PCIe bridges/ports was changed so that
the numbers match the device and function numbers, and there are new
device functions for the IPU and the USB4 controller and router devices.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Ie9429c03839bb0199a04cd6cafe9a955ebdacc91
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74565
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/amd/phoenix/include/soc/pci_devs.h b/src/soc/amd/phoenix/include/soc/pci_devs.h
index efe84bc..0dde0ba 100644
--- a/src/soc/amd/phoenix/include/soc/pci_devs.h
+++ b/src/soc/amd/phoenix/include/soc/pci_devs.h
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-/* TODO: Update for Phoenix */
-
 #ifndef AMD_PHOENIX_PCI_DEVS_H
 #define AMD_PHOENIX_PCI_DEVS_H
 
@@ -20,36 +18,52 @@
 #define IOMMU_DEVFN		PCI_DEVFN(IOMMU_DEV, IOMMU_FUNC)
 #define SOC_IOMMU_DEV		_SOC_DEV(IOMMU_DEV, IOMMU_FUNC)
 
-/* PCIe GFX/GPP Bridge device 1 with no ports */
+/* PCIe GFX/GPP Bridge device 1 with 4 ports */
 #define PCIE_GPP_BRIDGE_1_DEV	0x1
 
+#define PCIE_GPP_1_1_FUNC	1
+#define PCIE_GPP_1_1_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_1_FUNC)
+#define SOC_GPP_1_1_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_1_FUNC)
+
+#define PCIE_GPP_1_2_FUNC	2
+#define PCIE_GPP_1_2_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_2_FUNC)
+#define SOC_GPP_1_2_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_2_FUNC)
+
+#define PCIE_GPP_1_3_FUNC	3
+#define PCIE_GPP_1_3_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_3_FUNC)
+#define SOC_GPP_1_3_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_3_FUNC)
+
+#define PCIE_GPP_1_4_FUNC	4
+#define PCIE_GPP_1_4_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_4_FUNC)
+#define SOC_GPP_1_4_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_4_FUNC)
+
 /* PCIe GPP Bridge device 2 with up to 6 ports */
 #define PCIE_GPP_BRIDGE_2_DEV	0x2
 
-#define PCIE_GPP_2_0_FUNC	1
-#define PCIE_GPP_2_0_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_0_FUNC)
-#define SOC_GPP_2_0_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_0_FUNC)
-
-#define PCIE_GPP_2_1_FUNC	2
+#define PCIE_GPP_2_1_FUNC	1
 #define PCIE_GPP_2_1_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_1_FUNC)
 #define SOC_GPP_2_1_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_1_FUNC)
 
-#define PCIE_GPP_2_2_FUNC	3
+#define PCIE_GPP_2_2_FUNC	2
 #define PCIE_GPP_2_2_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_2_FUNC)
 #define SOC_GPP_2_2_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_2_FUNC)
 
-#define PCIE_GPP_2_3_FUNC	4
+#define PCIE_GPP_2_3_FUNC	3
 #define PCIE_GPP_2_3_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_3_FUNC)
 #define SOC_GPP_2_3_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_3_FUNC)
 
-#define PCIE_GPP_2_4_FUNC	5
+#define PCIE_GPP_2_4_FUNC	4
 #define PCIE_GPP_2_4_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_4_FUNC)
 #define SOC_GPP_2_4_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_4_FUNC)
 
-#define PCIE_GPP_2_5_FUNC	6
+#define PCIE_GPP_2_5_FUNC	5
 #define PCIE_GPP_2_5_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_5_FUNC)
 #define SOC_GPP_2_5_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_5_FUNC)
 
+#define PCIE_GPP_2_6_FUNC	6
+#define PCIE_GPP_2_6_DEVFN	PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_6_FUNC)
+#define SOC_GPP_2_6_DEV		_SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_6_FUNC)
+
 /* PCIe Bridges to Bus A, Bus B and Bus C devices */
 #define PCIE_ABC_BRIDGE_DEV	0x8
 
@@ -85,13 +99,29 @@
 #define PCIE_GPP_B_DEVFN	PCI_DEVFN(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_B_FUNC)
 #define SOC_PCIE_GPP_B_DEV	_SOC_DEV(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_B_FUNC)
 
+#define   GFX_IPU_DEV		0x0
+#define   GFX_IPU_FUNC		1
+#define   GFX_IPU_DEVFN		PCI_DEVFN(GFX_IPU_DEV, GFX_IPU_FUNC)
+
 #define PCIE_ABC_C_FUNC		3
 #define PCIE_GPP_C_DEVFN	PCI_DEVFN(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_C_FUNC)
 #define SOC_PCIE_GPP_C_DEV	_SOC_DEV(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_C_FUNC)
 
-#define   XHCI2_DEV		0x0
-#define   XHCI2_FUNC		0
-#define   XHCI2_DEVFN		PCI_DEVFN(XHCI2_DEV, XHCI2_FUNC)
+#define   USB4_XHCI0_DEV	0x0
+#define   USB4_XHCI0_FUNC	3
+#define   USB4_XHCI0_DEVFN	PCI_DEVFN(USB4_XHCI0_DEV, USB4_XHCI0_FUNC)
+
+#define   USB4_XHCI1_DEV	0x0
+#define   USB4_XHCI1_FUNC	4
+#define   USB4_XHCI1_DEVFN	PCI_DEVFN(USB4_XHCI1_DEV, USB4_XHCI1_FUNC)
+
+#define   USB4_ROUTER0_DEV	0x0
+#define   USB4_ROUTER0_FUNC	5
+#define   USB4_ROUTER0_DEVFN	PCI_DEVFN(USB4_ROUTER0_DEV, USB4_ROUTER0_FUNC)
+
+#define   USB4_ROUTER1_DEV	0x0
+#define   USB4_ROUTER1_FUNC	6
+#define   USB4_ROUTER1_DEVFN	PCI_DEVFN(USB4_ROUTER1_DEV, USB4_ROUTER1_FUNC)
 
 /* SMBUS */
 #define SMBUS_DEV		0x14