Skip to content

Commit faeb1a1

Browse files
committed
PCI: apple: Avoid PERST# deassertion through gpiod initialization
The Aquantia AQC113 10GB ethernet device used in Apple silicon Mac Studio, Mac Pro and as option in Mac mini is sensitive to PERST# deassertion before clock setup. The perst pins are defined as GPIO_ACTIVE_LOW in the device tree. GPIOD_OUT_LOW will deassert the PERST# pin. This breaks the link setup reliably under m1n1's hypervisor on a M1 Ultra Mac Studio. There might have been reports of unavailable 10GB NICs before u-boot took over the PCIe link setup. Signed-off-by: Janne Grunau <j@jannau.net> Fixes: a6b9ede ("PCI: apple: Do not leak reset GPIO on unbind/unload/error") Fixes: 1e33888 ("PCI: apple: Add initial hardware bring-up")
1 parent fe50823 commit faeb1a1

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

drivers/pci/controller/pcie-apple.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,8 +618,13 @@ static int apple_pcie_setup_link(struct apple_pcie *pcie,
618618
u32 stat;
619619
int ret;
620620

621+
/*
622+
* Leave PERST# as is. The Aquantia AQC113 10GB nic used desktop macs is
623+
* sensitive to deasserting it without prior clock setup.
624+
* Observed on M1 Max/Ultra Mac Studios under m1n1's hypervisor.
625+
*/
621626
reset = devm_fwnode_gpiod_get(pcie->dev, of_fwnode_handle(np), "reset",
622-
GPIOD_OUT_LOW, "PERST#");
627+
GPIOD_ASIS, "PERST#");
623628
if (IS_ERR(reset))
624629
return PTR_ERR(reset);
625630

0 commit comments

Comments
 (0)