get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2223897/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2223897,
    "url": "http://patchwork.ozlabs.org/api/patches/2223897/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260416111422.183860-4-sherry.sun@nxp.com/",
    "project": {
        "id": 28,
        "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api",
        "name": "Linux PCI development",
        "link_name": "linux-pci",
        "list_id": "linux-pci.vger.kernel.org",
        "list_email": "linux-pci@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260416111422.183860-4-sherry.sun@nxp.com>",
    "list_archive_url": null,
    "date": "2026-04-16T11:14:13",
    "name": "[V13,03/12] PCI: imx6: Assert PERST# before enabling regulators",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "62d1ebc7c98301a0f45a12b0e2759bcf378331ba",
    "submitter": {
        "id": 77063,
        "url": "http://patchwork.ozlabs.org/api/people/77063/?format=api",
        "name": "Sherry Sun",
        "email": "sherry.sun@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260416111422.183860-4-sherry.sun@nxp.com/mbox/",
    "series": [
        {
            "id": 500134,
            "url": "http://patchwork.ozlabs.org/api/series/500134/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=500134",
            "date": "2026-04-16T11:14:11",
            "name": "pci-imx6: Add support for parsing the reset property in new Root Port binding",
            "version": 13,
            "mbox": "http://patchwork.ozlabs.org/series/500134/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2223897/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2223897/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-52600-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-pci@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=nTiCyp4s;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52600-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"nTiCyp4s\"",
            "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.83.68",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;"
        ],
        "Received": [
            "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxFqw5BY6z1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 21:18:20 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 6DD0C31708A0\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 11:13:13 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id CD1873A6B99;\n\tThu, 16 Apr 2026 11:13:12 +0000 (UTC)",
            "from GVXPR05CU001.outbound.protection.outlook.com\n (mail-swedencentralazon11013068.outbound.protection.outlook.com\n [52.101.83.68])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 315043A6B9E;\n\tThu, 16 Apr 2026 11:13:11 +0000 (UTC)",
            "from VI0PR04MB12114.eurprd04.prod.outlook.com\n (2603:10a6:800:315::13) by AS8PR04MB8804.eurprd04.prod.outlook.com\n (2603:10a6:20b:42f::24) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.25; Thu, 16 Apr\n 2026 11:13:07 +0000",
            "from VI0PR04MB12114.eurprd04.prod.outlook.com\n ([fe80::feda:fd0e:147f:f994]) by VI0PR04MB12114.eurprd04.prod.outlook.com\n ([fe80::feda:fd0e:147f:f994%6]) with mapi id 15.20.9818.023; Thu, 16 Apr 2026\n 11:13:07 +0000"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776337992; cv=fail;\n b=sU2AwVJ1bKtUJU3E1Shljx6WjHlihGhu2YzSlFfBTGkb2UpdtFM26sDE/uScTWcde8UgxgHDzPmUQMBk7PK6TKsZ27HShJiS9rTBdJIIQXR0sVVreDL0ZNROt8/56ssAhnMevIX0raOMHHeTO1F+6PYsgzMwJTUbF4uPp01FoXE=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=O2DdRnPfjAmOoCR9fPmv3GgwWcCn67ol1rdLgkImDsadPMJrcgQtFNd+rYBmuyTL2PVhB1rb+ysAycBvQXbZNlnhijKeGoCNyIc8Mni52etVOSEQMgIugJrgWXc4sqxPtJg8abW1mX9zQd9fzKdplIPQ7UazK9Ot8LWOlrYzdUTEKjcDY9JkdASYPuOkz/i016qlgrrDQnKW0buXTDwRbGmaebhkUfPmxYaH5GmgPRVqkngKMY1ACsBv8TaNHEbAHS4+aYk+PtMbPN0O9DWiZrIF2DGPPe6t90YIHHZinyx3ZK4F19NQ+gkE5VbHy7r2mPosgUMCc32i6LIghOT0mw=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776337992; c=relaxed/simple;\n\tbh=B+IUcdsIJ2cNFPRVaG+xcPg4bNSXo9vHqnC7VOsbhpA=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=uxfHZNkzHnXke4hp/oVyBQlQ3Z0SBwHcXo20zWpPsmFAjY3KE3hxUl0f8HOvFSaX5RjXjveRjsGNTdl1FhIiyf17lAFGhj/Y8MO9HAPPmmZ4/mS8/Hsuw4skWmZYNZ29Gw3sd1d5l9r3C77JABE42CSZUj2IyXupRoT+jLD4s1o=",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=jGVHqOPs/4jMGkcftvgjRX5BCFrejfz9iGaZzDJBg8s=;\n b=FMSTzmPdqfz/fy8l9vfrqUbSaIJ2G67odFLr6zVKU5SCmNHGUyiu1qhi9BnGyYx0X6HwGysYp8IBd0M8rl4GtO2uBtqIkrxfQDkiCtDcPBViIXGrbk7+CNfCo0WmRWpkvmsQBdhYaWj9L9Szxmm107eLkaBBUm3jQoEud6VRrDMbz6ABW/iWEixhtvMgtuIq2AUVy4NzeJ11BEeM5m23YmqKuOjZaxCoqLBNOkA+wuL2k+OgE6NEqID7zAVPz7pj95MMwNlol0bIMBYes6nHd2O37aAaSrwmRCxRkAgEnWJXkbsIzwLDma8Q8mfH9qNkeyfxx1ad1/4bobk074/DOA=="
        ],
        "ARC-Authentication-Results": [
            "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=nTiCyp4s; arc=fail smtp.client-ip=52.101.83.68",
            "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=jGVHqOPs/4jMGkcftvgjRX5BCFrejfz9iGaZzDJBg8s=;\n b=nTiCyp4st81yTX7ACgopFjVtUd5tYEVE0oSYuubPscjDF4TwornARmmsGmKjAc68ubGm01o+c1ycXtvTFsLgcOA1znMphBXvRXXDa2SPzeBADwww9L03cKRwcT+EpJfC3MaubBE+jYzevOKVA2c3GwqOW24o5a9kPWbkXnAdCMHDYQFWof2HnEuIl+b96SWMRzVl5r0I6xz7366b/3n5X6/6/1qFnys6f227KeqWX+bxq7PHYnk5KNTa+Ps9R9jSNzkDysXrOKgcDX4Vm2FoJeGU6Nuf83uAKe4tj70c7avIJsgBuMd31DOYDkOoTXTnjD1xL0F/729HefG4FxOARg==",
        "From": "Sherry Sun <sherry.sun@nxp.com>",
        "To": "robh@kernel.org,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org,\n\tFrank.Li@nxp.com,\n\ts.hauer@pengutronix.de,\n\tkernel@pengutronix.de,\n\tfestevam@gmail.com,\n\tlpieralisi@kernel.org,\n\tkwilczynski@kernel.org,\n\tmani@kernel.org,\n\tbhelgaas@google.com,\n\thongxing.zhu@nxp.com,\n\tl.stach@pengutronix.de",
        "Cc": "imx@lists.linux.dev,\n\tlinux-pci@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org",
        "Subject": "[PATCH V13 03/12] PCI: imx6: Assert PERST# before enabling regulators",
        "Date": "Thu, 16 Apr 2026 19:14:13 +0800",
        "Message-Id": "<20260416111422.183860-4-sherry.sun@nxp.com>",
        "X-Mailer": "git-send-email 2.37.1",
        "In-Reply-To": "<20260416111422.183860-1-sherry.sun@nxp.com>",
        "References": "<20260416111422.183860-1-sherry.sun@nxp.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "MA0PR01CA0076.INDPRD01.PROD.OUTLOOK.COM\n (2603:1096:a01:ad::17) To VI0PR04MB12114.eurprd04.prod.outlook.com\n (2603:10a6:800:315::13)",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-pci@vger.kernel.org",
        "List-Id": "<linux-pci.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "VI0PR04MB12114:EE_|AS8PR04MB8804:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "df8c594e-962a-428c-4506-08de9ba92360",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|376014|366016|52116014|7416014|1800799024|19092799006|18002099003|56012099003|22082099003|38350700014|921020;",
        "X-Microsoft-Antispam-Message-Info": "\n\tBvXq88dyeqYlPSt2gUuJ3CJ3Yl4XjQJgDd9bb86+bM5mPQsuQ1r4B8wc3wiEid6aszkDGNWP8kjvzJ3jkPBQd1NKF4DzeVFTKrow4aUFiRZ+9l+jIx9LppP/Qjwo6BAfM7ao3g/jWJ2Zdu+RjoNH6f6vnccB8yf3CSv5zURKnkoVmw6J5qJFb33Kh5QGhrElbRMmDGDrKkeIASZLQqdl55Nvujbi53xmfGSzhJG6qSjydLlknzsa5Y2UeCpHjm3PQ7FNciy9kRUhzc6cgSUhsazkZLtlqReLjiSaAfHlkKUkAz36ip4pvv1BqpcXg49Vq2UJTBzahSC7Az0YukFSevr/P36R6gu7FrAdrU503AwabFhFQyqpPwwSHUTJIp9P3avqUmc0tyEMFhenzoLpOv0XuhHWhuthpRnOVNZp2kH8OgdxjP1lYnmecYOUgoGwu+nIn6Ix1LSXsS33jOOev79PPbwMh8hb7LO+eyzhjbXG9Rhf+DhwG16SV4N/6cStyY/Bz8cuHSY+EKhEIojStPNbtSezHFYKUfZY1Y+dHuo8yCQ6BKl05MFBCDgJzfmcU8ZnOz5w5qywJ3nqm8rTL/9oBzQ9Jp0Rf8F5UiyAoaOTNPZQiP+dSJ0s1QoYP8cHAdD2SXWkbSvWhCMGynLyy0T/0qhKLlcFVyhhz4VCNzYt8LRI8HclQB243KPntbPnojN3YChoYfL2nxEtTYJWMRRDHGWNINQ2WXkGI2Mt6/Hv+KW0tmQ82dJ359Ht3q0StHCufml4D9v0QH0gjh3kJfjXT2B9p7JHRnx1du15ziBTfNnxcTsgGY3Xe4Fdfxrd",
        "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR04MB12114.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(52116014)(7416014)(1800799024)(19092799006)(18002099003)(56012099003)(22082099003)(38350700014)(921020);DIR:OUT;SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n /pvjZxRQ4W+wL95iu+5oZnw6hK2m1Ofp0pziWQkxdK1sJgoIDZa+UIOq1O0I6pkUnuX1gZZtjNvw6tJp7pIdZKpe/zMbKwYvHmCNHpVcrjvOsaD7KNLnVyBzurRhiOqpirDzUKC16Mv0QSr52Aqn3zazo1+Cd8TxDrjoy8lwqVOGwYYHEOSrhKTwdD+QaLIAL5UNp6mG12ZJju80GKd5tutCoxcfTUp7/Jml7qHy9645FVTHfXIEM/nliMGYfvbBdpTX18Kv7J2NZVsTUY2xyo6aguBDacntx+wVX+ikyHoVsfcE2siNFMiWkeXmpOW7evax/Zs19e/a3TLgX+GwMmDRWRvCVDDZROlSOByN1x0EgJbbrmPuZHCDRmyC/XwxFV74abaxn69D4F9HjiKr6VlBB7HThmGolAu8KgOKX6YnMsUdHOCp2JZE7nV18uOPzqi5T4bLMQHiX7jE4kL/LSkN2zsyvmux/iAlKW73VQc5+zds2TWkt93bCEML5MqxmVIF3I+bggRWoWnVYNlXyU+Cr2/4voB3FUcZYZRy7+EQeUfP/+TRhrM8rPTwoF2aU/mm35/zSTkOAS0YeAzmiVGV+XrvmVJUwyMCT88wp6MYU4gXdGMjQ04hJk0m4piFcXfbyBFVJI5V8U9R+JYuok5lvqiq3rf0mceMZP06qbY+w7BiTd/c7TF4X4Y3GPxLaCyZoRlg/z1CyDKh9z0wFrln1qHFLYe7NWuNX2pnRGgBpCTesd3y4L61heRfUt3lDZcIFEmOK+WSraajIaMb+Yc31nvJ4QANMjWfFgZ0YxK55+cQbO9JVGo1mA+WVPCkK1e1uKJjzc5xv5tc4lbV/nM+47vvTOo0Yv6dVnIz8hFouippnqzstiJFE2YxdbkldDexec+GmN4M2j9zWOy84tyXvNmnPTQsfZ625lFCDWrFAf37Oj3kvZlxQnD6q8iItxGKkviRuGA+i+LKYE76K4ocVeNiunVqkJJ9YZ0gBTJu6DGVqmgs3j1wqYPY+fBfVop7jSkmvjkel56AAjFTj977xzcrMen0yIPjYk+MvNTjZc46v7fbdQszXzErdSKrD6QuoxPwlaQZLvTf6QyvQb8kH1bqGJzriVmKZMTYbDlVHMsBEwRQG+09QARJmYPYhy+wlWYv/Kp5ZzdaxKaD9CJxPKQyMfARlCvMl/kb+U9TxIyR85NhRRs9adxCv84KFjZeFJGKLIXAhRQf6K8T5/Ny5+yGAs9C6q12W7mpfuZNveEdfS7rGFZjhZBS/5vgUQhrb16v6BPWNHF/6iMusYP69/3Ud0fThqnxIVHyV1j5FUVZBPcJfVOpm4ASd5dF9E+F/e9jKguMobQLmFkABGqSTWEExujKB8GBP73nAg1+eRvD691SfRAw5X9svIV+ApQP399oEVn2Oi3s5tiqwQVinzD8kQyDrGQ884WEi3bohJK0TaCeMdOXZTjLcbAr4nibIgllJwJ9gL+zWujEca1co1x8FENfqRLR+hsn+V1PHEo1uveKG/CdnhQq6tLn7P+yo0LRKy6I2omJVes9haYxl4NG1Dm80raFvIekLAtMslqu9OqIsc7fq34uSQ9jYRQU717JdT4kNBim4qTAB26/WQeAOgTZpY+TbP1FKqjBkjsmi94CY5erXEJDmfHQ6lYW2zSvcOFapTADF8gWNe73hXQPu/0QlIMtwpKtIavkoSWmQYrZCZX3HN7fCIAD0FP4/vATva+siXO59HSlEw==",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n df8c594e-962a-428c-4506-08de9ba92360",
        "X-MS-Exchange-CrossTenant-AuthSource": "VI0PR04MB12114.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "16 Apr 2026 11:13:07.9233\n (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n r/1N35lPVHHduUoTj5pJi1xDAXgeS5jeSDjk+un6/vayCTJU6stbklaHXq++IjnPa5MgIB6fU88npZ5sdlWKlw==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AS8PR04MB8804"
    },
    "content": "The PCIe endpoint may start responding or driving signals as soon as\nits supply is enabled, even before the reference clock is stable.\nAsserting PERST# before enabling the regulator ensures that the\nendpoint remains in reset throughout the entire power-up sequence,\nuntil both power and refclk are known to be stable and link\ninitialization can safely begin.\n\nCurrently, the driver enables the vpcie3v3aux regulator in\nimx_pcie_probe() before PERST# is asserted in imx_pcie_host_init(),\nwhich may cause PCIe endpoint undefined behavior during early\npower-up. However, there is no issue so far because PERST# is\nrequested as GPIOD_OUT_HIGH in imx_pcie_probe(), which guarantees\nthat PERST# is asserted before enabling the vpcie3v3aux regulator.\n\nThis is prepare for the upcoming changes that will parse the reset\nproperty using the new Root Port binding, which will use GPIOD_ASIS\nwhen requesting the reset GPIO. With GPIOD_ASIS, the GPIO state is not\nguaranteed, so explicit sequencing is required.\n\nFix the power sequencing by:\n1. Moving vpcie3v3aux regulator enable from probe to\n   imx_pcie_host_init(), where it can be properly sequenced with PERST#.\n2. Moving imx_pcie_assert_perst() before regulator and clock enable to\n   ensure correct ordering.\n\nSigned-off-by: Sherry Sun <sherry.sun@nxp.com>\n---\n drivers/pci/controller/dwc/pci-imx6.c | 49 +++++++++++++++++++++------\n 1 file changed, 39 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c\nindex e35044cc5218..735127ed1455 100644\n--- a/drivers/pci/controller/dwc/pci-imx6.c\n+++ b/drivers/pci/controller/dwc/pci-imx6.c\n@@ -168,6 +168,8 @@ struct imx_pcie {\n \tu32\t\t\ttx_swing_full;\n \tu32\t\t\ttx_swing_low;\n \tstruct regulator\t*vpcie;\n+\tstruct regulator\t*vpcie_aux;\n+\tbool\t\t\tvpcie_aux_enabled;\n \tstruct regulator\t*vph;\n \tvoid __iomem\t\t*phy_base;\n \n@@ -1222,6 +1224,13 @@ static void imx_pcie_disable_device(struct pci_host_bridge *bridge,\n \timx_pcie_remove_lut(imx_pcie, pci_dev_id(pdev));\n }\n \n+static void imx_pcie_vpcie_aux_disable(void *data)\n+{\n+\tstruct regulator *vpcie_aux = data;\n+\n+\tregulator_disable(vpcie_aux);\n+}\n+\n static void imx_pcie_assert_perst(struct imx_pcie *imx_pcie, bool assert)\n {\n \tif (assert) {\n@@ -1242,6 +1251,24 @@ static int imx_pcie_host_init(struct dw_pcie_rp *pp)\n \tstruct imx_pcie *imx_pcie = to_imx_pcie(pci);\n \tint ret;\n \n+\timx_pcie_assert_perst(imx_pcie, true);\n+\n+\t/* Keep 3.3Vaux supply enabled for the entire PCIe controller lifecycle */\n+\tif (imx_pcie->vpcie_aux && !imx_pcie->vpcie_aux_enabled) {\n+\t\tret = regulator_enable(imx_pcie->vpcie_aux);\n+\t\tif (ret) {\n+\t\t\tdev_err(dev, \"failed to enable vpcie_aux regulator: %d\\n\",\n+\t\t\t\tret);\n+\t\t\treturn ret;\n+\t\t}\n+\t\timx_pcie->vpcie_aux_enabled = true;\n+\n+\t\tret = devm_add_action_or_reset(dev, imx_pcie_vpcie_aux_disable,\n+\t\t\t\t\t       imx_pcie->vpcie_aux);\n+\t\tif (ret)\n+\t\t\treturn ret;\n+\t}\n+\n \tif (imx_pcie->vpcie) {\n \t\tret = regulator_enable(imx_pcie->vpcie);\n \t\tif (ret) {\n@@ -1251,25 +1278,24 @@ static int imx_pcie_host_init(struct dw_pcie_rp *pp)\n \t\t}\n \t}\n \n+\tret = imx_pcie_clk_enable(imx_pcie);\n+\tif (ret) {\n+\t\tdev_err(dev, \"unable to enable pcie clocks: %d\\n\", ret);\n+\t\tgoto err_reg_disable;\n+\t}\n+\n \tif (pp->bridge && imx_check_flag(imx_pcie, IMX_PCIE_FLAG_HAS_LUT)) {\n \t\tpp->bridge->enable_device = imx_pcie_enable_device;\n \t\tpp->bridge->disable_device = imx_pcie_disable_device;\n \t}\n \n \timx_pcie_assert_core_reset(imx_pcie);\n-\timx_pcie_assert_perst(imx_pcie, true);\n \n \tif (imx_pcie->drvdata->init_phy)\n \t\timx_pcie->drvdata->init_phy(imx_pcie);\n \n \timx_pcie_configure_type(imx_pcie);\n \n-\tret = imx_pcie_clk_enable(imx_pcie);\n-\tif (ret) {\n-\t\tdev_err(dev, \"unable to enable pcie clocks: %d\\n\", ret);\n-\t\tgoto err_reg_disable;\n-\t}\n-\n \tif (imx_pcie->phy) {\n \t\tret = phy_init(imx_pcie->phy);\n \t\tif (ret) {\n@@ -1782,9 +1808,12 @@ static int imx_pcie_probe(struct platform_device *pdev)\n \tof_property_read_u32(node, \"fsl,max-link-speed\", &pci->max_link_speed);\n \timx_pcie->supports_clkreq = of_property_read_bool(node, \"supports-clkreq\");\n \n-\tret = devm_regulator_get_enable_optional(&pdev->dev, \"vpcie3v3aux\");\n-\tif (ret < 0 && ret != -ENODEV)\n-\t\treturn dev_err_probe(dev, ret, \"failed to enable Vaux supply\\n\");\n+\timx_pcie->vpcie_aux = devm_regulator_get_optional(&pdev->dev, \"vpcie3v3aux\");\n+\tif (IS_ERR(imx_pcie->vpcie_aux)) {\n+\t\tif (PTR_ERR(imx_pcie->vpcie_aux) != -ENODEV)\n+\t\t\treturn PTR_ERR(imx_pcie->vpcie_aux);\n+\t\timx_pcie->vpcie_aux = NULL;\n+\t}\n \n \timx_pcie->vpcie = devm_regulator_get_optional(&pdev->dev, \"vpcie\");\n \tif (IS_ERR(imx_pcie->vpcie)) {\n",
    "prefixes": [
        "V13",
        "03/12"
    ]
}