]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: imx6: Enable the Vaux supply if available
authorRichard Zhu <hongxing.zhu@nxp.com>
Wed, 20 Aug 2025 02:23:28 +0000 (10:23 +0800)
committerManivannan Sadhasivam <mani@kernel.org>
Thu, 4 Sep 2025 17:10:47 +0000 (22:40 +0530)
When the 3.3Vaux supply is present, fetch it at the probe time and keep it
enabled for the entire PCIe controller lifecycle so that the link can enter
L2 state and the devices can signal wakeup using either Beacon or WAKE#
mechanisms.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: reworded the subject, description and error message]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250820022328.2143374-1-hongxing.zhu@nxp.com
drivers/pci/controller/dwc/pci-imx6.c

index 80e48746bbaf6815d8b9e879be5fa0bb992d9189..db51e382a7cf3fdd3cac37aebe4103b453297292 100644 (file)
@@ -1745,6 +1745,10 @@ static int imx_pcie_probe(struct platform_device *pdev)
        pci->max_link_speed = 1;
        of_property_read_u32(node, "fsl,max-link-speed", &pci->max_link_speed);
 
+       ret = devm_regulator_get_enable_optional(&pdev->dev, "vpcie3v3aux");
+       if (ret < 0 && ret != -ENODEV)
+               return dev_err_probe(dev, ret, "failed to enable Vaux supply\n");
+
        imx_pcie->vpcie = devm_regulator_get_optional(&pdev->dev, "vpcie");
        if (IS_ERR(imx_pcie->vpcie)) {
                if (PTR_ERR(imx_pcie->vpcie) != -ENODEV)