From 691a23a272fbaf70d65c8f49040650238a5e6b89 Mon Sep 17 00:00:00 2001 From: Cliff Huang Date: Sat, 27 Sep 2025 02:00:54 -0700 Subject: [PATCH] mb/google/fatcat: Fix WIFI driver device settings under root port 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The commit addresses an issue with discrete WIFI driver configuration under root port 4 in the Google Fatcat mainboard. The problem involved incorrect probe settings that allowed the WIFI driver device to remain enabled even when its upstream device was disabled. This led to orphan devices being misidentified as root devices within the Intel Power Engine (PEP) structure, which in turn caused unnecessary MCHC devices to be added under the root port. The fix involves ensuring that the probe settings for the devices managed by the driver are consistent with their upstream device settings. Additionally, the RTD3 driver device type is now set to generic, ensuring that only one PCI device exists under the root port. This prevents the binding of device operations (ops) for the RTD3 driver from interfering with the WIFI generic driver during the scan process. The commit also resolves warnings related to leftover static devices and prompts to check the devicetree.cb. The fix ensures that the probe settings for WIFI_PCIE_6 and WIFI_PCIE_7 are properly configured, preventing device misidentification and ensuring correct functionality. BUG=none TEST=Boot to OS and verify the DSDT tables. Ensure the _DSM function of the PEPD Device returns only one MCHE in a package, specifically \_SB.PCI0.MCHC. Check kernel boot messages for absence of errors like AE_NOT_FOUND related to named reference package elements such as \_SB_.PCI0.RP04.MCHC. Signed-off-by: Cliff Huang Change-Id: I40be48c056355d9e2a38b604849eb16565b8699d Reviewed-on: https://review.coreboot.org/c/coreboot/+/89373 Reviewed-by: Jérémy Compostella Reviewed-by: Kapil Porwal Tested-by: build bot (Jenkins) --- .../google/fatcat/variants/fatcat/overridetree.cb | 10 ++++++++-- .../google/fatcat/variants/felino/overridetree.cb | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb b/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb index 47da1d98ba..4c75c332ca 100644 --- a/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb @@ -579,13 +579,19 @@ chip soc/intel/pantherlake chip soc/intel/common/block/pcie/rtd3 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)" register "srcclk_pin" = "4" - device pci 00.0 on end + device generic 0 on + probe WIFI WIFI_PCIE_6 + probe WIFI WIFI_PCIE_7 + end end chip drivers/wifi/generic register "add_acpi_dma_property" = "true" register "wake" = "GPE0_DW0_12" # GPP_A12 use usb2_port7 as bluetooth_companion - device pci 00.0 on end + device pci 00.0 on + probe WIFI WIFI_PCIE_6 + probe WIFI WIFI_PCIE_7 + end end end # discrete WLAN device ref pcie_rp5 on diff --git a/src/mainboard/google/fatcat/variants/felino/overridetree.cb b/src/mainboard/google/fatcat/variants/felino/overridetree.cb index 7e8c97268c..7d80164942 100644 --- a/src/mainboard/google/fatcat/variants/felino/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/felino/overridetree.cb @@ -225,13 +225,19 @@ device ref tbt_pcie_rp0 on end chip soc/intel/common/block/pcie/rtd3 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)" register "srcclk_pin" = "4" - device pci 00.0 on end + device generic 0 on + probe WIFI WIFI_PCIE_6 + probe WIFI WIFI_PCIE_7 + end end chip drivers/wifi/generic register "add_acpi_dma_property" = "true" register "wake" = "GPE0_DW0_12" # GPP_A12 use usb2_port7 as bluetooth_companion - device pci 00.0 on end + device pci 00.0 on + probe WIFI WIFI_PCIE_6 + probe WIFI WIFI_PCIE_7 + end end end # WLAN