Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/50626 )
Change subject: soc/amd/picasso: introduce and use chipset device tree ......................................................................
soc/amd/picasso: introduce and use chipset device tree
The chipset devicetree only has the essential PCIe devices enabled that are needed for the SoC code to work. It also defines aliases for all PCIe devices that can be used to reference the devices in the mainboard- specific devicetrees and devicetree overrides. To make the change easier to review that part will be done in a follow-up patch.
Despite missing in the PPR, device pci 18.7 exists on Picasso.
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: I6b7c3fd32579a23539594672593a243172c161c7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/50626 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Raul Rangel rrangel@chromium.org --- M src/mainboard/amd/bilby/devicetree.cb M src/mainboard/amd/mandolin/variants/cereme/devicetree.cb M src/mainboard/amd/mandolin/variants/mandolin/devicetree.cb M src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb M src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb M src/soc/amd/picasso/Kconfig A src/soc/amd/picasso/chipset.cb M util/mainboard/google/trembyle/template/overridetree.cb 8 files changed, 50 insertions(+), 94 deletions(-)
Approvals: build bot (Jenkins): Verified Raul Rangel: Looks good to me, approved
diff --git a/src/mainboard/amd/bilby/devicetree.cb b/src/mainboard/amd/bilby/devicetree.cb index 8adbaa2..7015185 100644 --- a/src/mainboard/amd/bilby/devicetree.cb +++ b/src/mainboard/amd/bilby/devicetree.cb @@ -138,18 +138,12 @@
register "pspp_policy" = "DXIO_PSPP_BALANCED"
- device cpu_cluster 0 on - device lapic 0 on end - end device domain 0 on subsystemid 0x1022 0x1510 inherit - device pci 0.0 on end # Root Complex device pci 0.2 on end # IOMMU - device pci 1.0 on end # Dummy Host Bridge device pci 1.1 on end # GPP Bridge 0 device pci 1.2 on end # GPP Bridge 1 device pci 1.5 on end # NVMe - device pci 8.0 on end # Dummy Host Bridge device pci 8.1 on # Bridge to Bus A device pci 0.0 on end # Internal GPU device pci 0.1 on end # Display HDA @@ -165,20 +159,10 @@ device pci 0.1 off end # integrated Ethernet MAC device pci 0.2 off end # integrated Ethernet MAC end - device pci 14.0 on end # SMBus device pci 14.3 on # D14F3 bridge chip superio/smsc/sio1036 # optional debug card end end - device pci 14.6 off end # SDHCI - device pci 18.0 on end # Data fabric [0-7] - device pci 18.1 on end - device pci 18.2 on end - device pci 18.3 on end - device pci 18.4 on end - device pci 18.5 on end - device pci 18.6 on end - device pci 18.7 on end end # domain
device mmio 0xfedc9000 on end # UART0 diff --git a/src/mainboard/amd/mandolin/variants/cereme/devicetree.cb b/src/mainboard/amd/mandolin/variants/cereme/devicetree.cb index f82f958..d1e0241 100644 --- a/src/mainboard/amd/mandolin/variants/cereme/devicetree.cb +++ b/src/mainboard/amd/mandolin/variants/cereme/devicetree.cb @@ -138,16 +138,10 @@
register "pspp_policy" = "DXIO_PSPP_BALANCED"
- device cpu_cluster 0 on - device lapic 0 on end - end device domain 0 on subsystemid 0x1022 0x1510 inherit - device pci 0.0 on end # Root Complex device pci 0.2 on end # IOMMU - device pci 1.0 on end # Dummy Host Bridge device pci 1.1 on end # Bridge to PCIe Ethernet chip - device pci 8.0 on end # Dummy Host Bridge device pci 8.1 on # Bridge to Bus A device pci 0.0 on end # Internal GPU device pci 0.1 on end # Display HDA @@ -163,20 +157,10 @@ device pci 0.1 off end # integrated Ethernet MAC device pci 0.2 off end # integrated Ethernet MAC end - device pci 14.0 on end # SMBus device pci 14.3 on # D14F3 bridge chip superio/smsc/sio1036 # optional debug card end end - device pci 14.6 off end # SDHCI - device pci 18.0 on end # Data fabric [0-7] - device pci 18.1 on end - device pci 18.2 on end - device pci 18.3 on end - device pci 18.4 on end - device pci 18.5 on end - device pci 18.6 on end - device pci 18.7 on end end # domain
device mmio 0xfedc9000 on end # UART0 diff --git a/src/mainboard/amd/mandolin/variants/mandolin/devicetree.cb b/src/mainboard/amd/mandolin/variants/mandolin/devicetree.cb index c82f388..1c20095 100644 --- a/src/mainboard/amd/mandolin/variants/mandolin/devicetree.cb +++ b/src/mainboard/amd/mandolin/variants/mandolin/devicetree.cb @@ -138,16 +138,10 @@
register "pspp_policy" = "DXIO_PSPP_BALANCED"
- device cpu_cluster 0 on - device lapic 0 on end - end device domain 0 on subsystemid 0x1022 0x1510 inherit - device pci 0.0 on end # Root Complex device pci 0.2 on end # IOMMU - device pci 1.0 on end # Dummy Host Bridge device pci 1.3 on end # Bridge to PCIe Ethernet chip - device pci 8.0 on end # Dummy Host Bridge device pci 8.1 on # Bridge to Bus A device pci 0.0 on end # Internal GPU device pci 0.1 on end # Display HDA @@ -163,20 +157,10 @@ device pci 0.1 off end # integrated Ethernet MAC device pci 0.2 off end # integrated Ethernet MAC end - device pci 14.0 on end # SMBus device pci 14.3 on # D14F3 bridge chip superio/smsc/sio1036 # optional debug card end end - device pci 14.6 off end # SDHCI - device pci 18.0 on end # Data fabric [0-7] - device pci 18.1 on end - device pci 18.2 on end - device pci 18.3 on end - device pci 18.4 on end - device pci 18.5 on end - device pci 18.6 on end - device pci 18.7 on end end # domain
device mmio 0xfedc9000 on end # UART0 diff --git a/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb b/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb index 2525400..0d0e829 100644 --- a/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb +++ b/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb @@ -252,17 +252,10 @@
register "pspp_policy" = "DXIO_PSPP_POWERSAVE"
- device cpu_cluster 0 on - device lapic 0 on end - end - # See AMD 55570-B1 Table 13: PCI Device ID Assignments. device domain 0 on subsystemid 0x1022 0x1510 inherit - device pci 0.0 on end # Root Complex device pci 0.2 on end # IOMMU - device pci 1.0 on end # Dummy Host Bridge, must be enabled - device pci 1.1 off end # GPP Bridge 0 device pci 1.2 on # GPP Bridge 1 - Wifi chip drivers/wifi/generic register "wake" = "GEVENT_8" @@ -270,9 +263,6 @@ end end device pci 1.3 on end # GPP Bridge 2 - SD - device pci 1.4 off end # GPP Bridge 3 - device pci 1.5 off end # GPP Bridge 4 - device pci 8.0 on end # Dummy Host Bridge, must be enabled device pci 8.1 on # Internal GPP Bridge 0 to Bus A device pci 0.0 on end # Internal GPU device pci 0.1 on end # Display HDA @@ -363,10 +353,6 @@ device pci 0.6 off end # HDA device pci 0.7 on end # non-Sensor Fusion Hub device end - device pci 8.2 off # Internal GPP Bridge 0 to Bus B - device pci 0.0 off end # AHCI - end - device pci 14.0 on end # SM device pci 14.3 on # - D14F3 bridge chip ec/google/chromeec device pnp 0c09.0 on @@ -398,13 +384,6 @@ end end end - device pci 18.0 on end # Data fabric [0-7] - device pci 18.1 on end - device pci 18.2 on end - device pci 18.3 on end - device pci 18.4 on end - device pci 18.5 on end - device pci 18.6 on end end # domain
device mmio 0xfedc5000 on diff --git a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb index 89bca93..8d0abad 100644 --- a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb +++ b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb @@ -245,17 +245,10 @@
register "pspp_policy" = "DXIO_PSPP_POWERSAVE"
- device cpu_cluster 0 on - device lapic 0 on end - end - # See AMD 55570-B1 Table 13: PCI Device ID Assignments. device domain 0 on subsystemid 0x1022 0x1510 inherit - device pci 0.0 on end # Root Complex device pci 0.2 on end # IOMMU - device pci 1.0 on end # Dummy Host Bridge, must be enabled - device pci 1.1 off end # GPP Bridge 0 device pci 1.2 on # GPP Bridge 1 - Wifi chip drivers/wifi/generic register "wake" = "GEVENT_8" @@ -263,11 +256,7 @@ end end device pci 1.3 on end # GPP Bridge 2 - SD - device pci 1.4 off end # GPP Bridge 3 - device pci 1.5 off end # GPP Bridge 4 - device pci 1.6 off end # GPP Bridge 5 device pci 1.7 on end # GPP Bridge 6 - NVME - device pci 8.0 on end # Dummy Host Bridge, must be enabled device pci 8.1 on # Internal GPP Bridge 0 to Bus A device pci 0.0 on end # Internal GPU device pci 0.1 on end # Display HDA @@ -385,10 +374,6 @@ device pci 0.6 off end # HDA device pci 0.7 on end # non-Sensor Fusion Hub device end - device pci 8.2 off # Internal GPP Bridge 0 to Bus B - device pci 0.0 off end # AHCI - end - device pci 14.0 on end # SM device pci 14.3 on # - D14F3 bridge chip ec/google/chromeec device pnp 0c09.0 on @@ -434,14 +419,6 @@ end end end - device pci 14.6 off end # Non-Functional SDHCI - device pci 18.0 on end # Data fabric [0-7] - device pci 18.1 on end - device pci 18.2 on end - device pci 18.3 on end - device pci 18.4 on end - device pci 18.5 on end - device pci 18.6 on end end # domain
chip drivers/generic/max98357a diff --git a/src/soc/amd/picasso/Kconfig b/src/soc/amd/picasso/Kconfig index 4bfd093..e9ed845 100644 --- a/src/soc/amd/picasso/Kconfig +++ b/src/soc/amd/picasso/Kconfig @@ -71,6 +71,10 @@ config SOC_AMD_COMMON_BLOCK_UCODE_SIZE default 3200
+config CHIPSET_DEVICETREE + string + default "soc/amd/picasso/chipset.cb" + config FSP_M_FILE string "FSP-M (memory init) binary path and filename" depends on ADD_FSP_BINARIES diff --git a/src/soc/amd/picasso/chipset.cb b/src/soc/amd/picasso/chipset.cb new file mode 100644 index 0000000..906b18d --- /dev/null +++ b/src/soc/amd/picasso/chipset.cb @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: GPL-2.0-only + +chip soc/amd/picasso + device cpu_cluster 0 on + device lapic 0 on end + end + device domain 0 on + device pci 00.0 alias gnb on end + device pci 00.2 alias iommu off end + device pci 01.0 on end # Dummy Host Bridge, do not disable + device pci 01.1 alias gpp_bridge_0 off end + device pci 01.2 alias gpp_bridge_1 off end + device pci 01.3 alias gpp_bridge_2 off end + device pci 01.4 alias gpp_bridge_3 off end + device pci 01.5 alias gpp_bridge_4 off end + device pci 01.6 alias gpp_bridge_5 off end + device pci 01.7 alias gpp_bridge_6 off end + device pci 08.0 on end # Dummy Host Bridge, do not disable + device pci 08.1 alias internal_bridge_a off # internal bridge to bus A + device pci 0.0 alias gfx off end # internal GPU + device pci 0.1 alias gfx_hda off end # display HD Audio controller + device pci 0.2 alias crypto off end # cryptography coprocessor + device pci 0.3 alias xhci_0 off end + device pci 0.4 alias xhci_1 off end + device pci 0.5 alias acp off end # audio co-processor + device pci 0.6 alias hda off end # main HD Audio Controller + device pci 0.7 alias mp2 off end # sensor fusion hub (MP2) + end + device pci 08.2 alias internal_bridge_b off # internal bridge to bus B + device pci 0.0 alias sata off end + device pci 0.1 alias xgbe_0 off end + device pci 0.2 alias xgbe_1 off end + end + device pci 14.0 alias smbus on end # primary FCH function + device pci 14.3 alias lpc_bridge on end + device pci 14.6 alias sdhci off end + device pci 18.0 alias data_fabric_0 on end + device pci 18.1 alias data_fabric_1 on end + device pci 18.2 alias data_fabric_2 on end + device pci 18.3 alias data_fabric_3 on end + device pci 18.4 alias data_fabric_4 on end + device pci 18.5 alias data_fabric_5 on end + device pci 18.6 alias data_fabric_6 on end + device pci 18.7 alias data_fabric_7 on end + end +end diff --git a/util/mainboard/google/trembyle/template/overridetree.cb b/util/mainboard/google/trembyle/template/overridetree.cb index 6f545b2..d09c942 100644 --- a/util/mainboard/google/trembyle/template/overridetree.cb +++ b/util/mainboard/google/trembyle/template/overridetree.cb @@ -37,9 +37,7 @@ # See AMD 55570-B1 Table 13: PCI Device ID Assignments. device domain 0 on subsystemid 0x1022 0x1510 inherit - device pci 1.6 off end # GPP Bridge 5 device pci 1.7 on end # GPP Bridge 6 - NVME - device pci 14.6 off end # Non-Functional SDHCI end # domain
device mmio 0xfedc4000 on end