get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 806397,
    "url": "http://patchwork.ozlabs.org/api/patches/806397/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1503901744-21087-11-git-send-email-peng.fan@nxp.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1503901744-21087-11-git-send-email-peng.fan@nxp.com>",
    "list_archive_url": null,
    "date": "2017-08-28T06:29:03",
    "name": "[U-Boot,V2,11/12] imx: mx6sabresd: enable dm drivers",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "f6980d5f45cdaa9e9148374b0a5b42ace0e0862a",
    "submitter": {
        "id": 67896,
        "url": "http://patchwork.ozlabs.org/api/people/67896/?format=api",
        "name": "Peng Fan",
        "email": "peng.fan@nxp.com"
    },
    "delegate": {
        "id": 1693,
        "url": "http://patchwork.ozlabs.org/api/users/1693/?format=api",
        "username": "sbabic",
        "first_name": "Stefano",
        "last_name": "Babic",
        "email": "sbabic@denx.de"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/1503901744-21087-11-git-send-email-peng.fan@nxp.com/mbox/",
    "series": [
        {
            "id": 83,
            "url": "http://patchwork.ozlabs.org/api/series/83/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=83",
            "date": "2017-08-28T06:28:53",
            "name": "[U-Boot,V2,01/12] scripts: spl: fix typo",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/83/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/806397/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/806397/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"q2SbBwY4\";\n\tdkim-atps=neutral",
            "spf=none (sender IP is )\n\tsmtp.mailfrom=peng.fan@nxp.com; "
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xghvP3gCpz9sN5\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 28 Aug 2017 16:39:29 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 18157C22449; Mon, 28 Aug 2017 06:35:02 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 575A8C2247A;\n\tMon, 28 Aug 2017 06:31:01 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 11660C22439; Mon, 28 Aug 2017 06:30:59 +0000 (UTC)",
            "from EUR02-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr20086.outbound.protection.outlook.com [40.107.2.86])\n\tby lists.denx.de (Postfix) with ESMTPS id E2983C22478\n\tfor <u-boot@lists.denx.de>; Mon, 28 Aug 2017 06:30:21 +0000 (UTC)",
            "from linux-7smt.suse (192.158.241.86) by\n\tVI1PR04MB3229.eurprd04.prod.outlook.com (2603:10a6:802:6::26) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9;\n\tMon, 28 Aug 2017 06:30:17 +0000"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=BAD_ENC_HEADER,\n\tRCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,T_DKIM_INVALID\n\tautolearn=unavailable autolearn_force=no version=3.4.0",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=I4RITCHrqzlc22wmHv0KCwZhR73fdJuGIbUB/2kMOOo=;\n\tb=q2SbBwY4WONKEdqeFQZk3JaeI5YSORevDgEhtZL8r1QASrXIA8m+b8DSM5nlPbfAytwJvuG2SL0ZrLgZv2D2x4l60WZngSkcu6huOCXiudq56O4uH5zU05fWhFuDWcXoXBPt5yfvIRVdj1koU6fmI1PDZZwqBo8n8Iav38H7rxk=",
        "From": "Peng Fan <peng.fan@nxp.com>",
        "To": "sbabic@denx.de",
        "Date": "Mon, 28 Aug 2017 14:29:03 +0800",
        "Message-Id": "<1503901744-21087-11-git-send-email-peng.fan@nxp.com>",
        "X-Mailer": "git-send-email 2.6.2",
        "In-Reply-To": "<1503901744-21087-1-git-send-email-peng.fan@nxp.com>",
        "References": "<1503901744-21087-1-git-send-email-peng.fan@nxp.com>",
        "MIME-Version": "1.0",
        "X-Originating-IP": "[192.158.241.86]",
        "X-ClientProxiedBy": "HK2PR02CA0204.apcprd02.prod.outlook.com\n\t(2603:1096:201:20::16) To VI1PR04MB3229.eurprd04.prod.outlook.com\n\t(2603:10a6:802:6::26)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "b247f0b6-724b-41ee-37b5-08d4edde41a9",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:VI1PR04MB3229; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; VI1PR04MB3229;\n\t3:LtmsUVZoyPLyQMRAougQCoUHpDOIMtLMquhg6tEprP1Gbxigfj48AWOAO924TA+pXNM/C2Z60dMVEaj47OByOiseg/GkM+k8z6fg4ihXKD0VebMdo2hV2y3kpI+e92PUZBpJnQJNBTtrQNQ6MedcDpHdwe1+o/Yfl8VtV/70W1HgcFT8tCTJT0rVQr1Tj4BxYHYo3lqELw9mV4J5R+Y6vjsfy7QK4TyaExPkbSzFmAlKBVvBch+OkvAPUgQNpKnT;\n\t25:ftQ5+N+XmLtwBvdzRt1P/VN/U/K8EVoZHNGP2MEKVhkdmv8K8DwTI4/NZ7i8DORhkCFOXihl6Q78oAd+48cKUMA11hmER+Xaa8FugNQBmW91ZLXr9q+nSkK8T6OuDxKIe37QELFjeZc6L02yejhCoyP1v6UDXTIYdIxAcSbb+10lHgh2OFcS9EPiVAc2H1qpSgSz5DMeti3mkUpHSTWqSxpfdlFor6EdIol8EmKS2MsXDdWGOiB6Vw+BeSnu08WX9EPH5+3NC+llkWx9fQdZ95Zh0jtFKD6xe/gULG0TTQJlRqlKLXfx0kvEmcWoZHxSZRLnXkOk33SLYXon6/cvWw==;\n\t31:j7uobWvp97VhAMhhLKUXGgCC5UeUxP6DvtUEvvblBEZ5R2hZRgyjlMpWeZyAmwCsA3ZNHSoHRvNEJ4uELQQ2jftN/ap0BHNc26craq5Lf4pHcuOO+byB6Ec4aCgppOVRHT/0KrVJZ4RuQCtB7uK8B7nt28IBVb8fsFMf+As/u8pKIqlIpHdx+epHp7+H3/NrsnXqKDtdfHTe9WNhN6F7G82VftwwSrYHG8l7cj1DsQM=",
            "1; VI1PR04MB3229;\n\t20:80sQQKJbgZ59Lu2YF+4sgeaFIQNWhTUd+UXhveLEi4oJbQQPTjsQBybbIiz+I2HufgsGY8byEpVSGxCzhlvv7+zjQa9/Z0FIsE0CCHF2F7S2vCcw3wtkdyDVLKvyAWvjt1aySZFpfB08lNaxNj7H9apLrQGfUovKM8QvEhvZO0LYPvjodw2EubKHRmJd9MZePTgij7i3IP7+ZCNLrR1/sqpwhdvTYT84weDpvSm2cEkrpK/+R/OU0DgP3etrtSQo2M3+PCIYDZh+xeuARh3zTA0oay6CRjoOaaT5j94QDsQ+buXWzaIccvlg76f+yI0Eaz16075XbeVBLgOl9eH06zGMpZZAoE7UxbinP+ZFBuSkd8kLmOhT9oExABzyn9rZsKiYRlsSJG7VpnbVpuxqEYmcHv2qgtTrrAYAJ/g7tXM3kFCrCHVXqB++oVWc/CyZzU41GHEBUkax5P+gM8EKCtbnXD9KYjPbxnK7vLDPb/iFrJxBOWzhZNtXFIV1/bv9;\n\t4:7WRqx+7C5KuxXyQAvldFEg/zkrBuxzRbY7cLZd+1qioJN3EYIUPaLaoQRsuGhnNInHjEGET0D6g6NPRJFENNtYmzCQyblmi5THhjcPs+9aLIucaGIN4Yg+L5k8EgVQjspWNg/BHfW5Z3tmyUP+kSjDJ7X/wNYOIIlMXNzTS367tVw7pzjRAAUmZCd541QeZjKHLPudlj6cRtMcworN/74EDHFM1e67SGCkeWSiNB8DoWKWvNxeeyjAp0PB7gQpaRZH6g9+AubtsnmRQPWi4FVZgyo/0vMcZJzkkHyeORM/0=",
            "=?us-ascii?Q?1; VI1PR04MB3229;\n\t23:125cUx6203WH66kfPofqW+vOG40nd5+iFJbUjTCgp?=\n\tA+1xFWz58FCxniVQpA2nsAl3Ds//6wAL/QAl+Gxl+E6i+gEwJQgX9MlFePNSTxTL3oNuT0t++HH+9I6CqCy67jjNdbB+rMMC6JacUoDMD7lPeBMaqkNV9tH22coHm/ISqF8bbf6Llh+v1stME0487fo5hfhB8X/UukJ2+a9VzMRwt0I4e3S5mkau0/IG4R24DITGJv+6NmujdZQ5jUscxK8LYjj+8/ZV6Mr1kON2qpxwFpBJREEq/wiSQGQTaqSc1EzXmA1ccoY5DK5nZ0KFwjuCM2rhNAkMDTI2YEni3AHM68poTZ18v5rVxLo3xcfKVn50krXNziZHEYa6Q3LQhwCBhPNmi88vwFoZDmf6TfY34f2KbUh7bnYpJgt0sByZuood5tPdxZ1NNiuvgSiSCAcizrayuaRBEeSisGyF998H609tRcZXgWp3crsUqFaM4rBoc3CT1MTW5QcRH9hzKb9EniKYy/nPPLEEMaIRC9aLCCwcNiCHPVhKgOeaXWgRVDV0xCgc66pGTnVDoPbe3OG5ZMdKNKul/nDdU3TTqlDmbMgqdYayG2uYyhz8hUSCmotzay5o8ztaZnFnt2g7Qm5Rrf0hFSOqXQmsi/dc6kfUu1oU/vuRzoI1FJXO5lEgnKBdpXuH5M9QcLB1Xb6WocNBVYG8vnk7UJP1q0hdILvb8fSakAaG7Pdp9NAnFFh23fyTA9ORVWK9QUxE0RXq0FJ4SXgaf8a6cEUqskRtOgfPnw30F0BTqszup05Dot+aJBNLpMIiCu8IW1hjMvtoU1VH1B0NU35k2fGJhmU3nX9mJKZMEtxmpSa0sSyLClUYPL44MV7I+/ZewCvoxktUc3La471kfdxfJsP10z/PZmp7yn3aM5Jt64IatwExxx6+QIKh0OTwTvovYn71OuZXe8Baswl11FD8J9s3khfeH9QfoYmCW7V3OBK87xvu26iahC7l+NDTWfuyhgrSlXprg0AcoWbPHbh8pTedfANtZCsj6S70KarUgc40737gve/wdt7H4wsPKj5TCAJC6NwX2DSBpXt5fGUibmLhzJGBP06Rn7x9TTUyak/9T3QT6KMw5MQu+HgsLm+BqUd2/fTNpyqL9N4jmMfSFSfHjOuEq3o7PIaX1cswi68jS50vTNPAARQM1hkSWm8/00KMb6hHbQ+AQVUY7CfiW4l1Lg/LnehRg==",
            "1; VI1PR04MB3229;\n\t6:RHKaWuunRyo4LuAvHIB4XkCSZ6i9oBWDJQFnN+fGQAEcxSgr09Z7mqg8RAEsmqeIh9M7ug97mujMItZLnZ5cbZGPuAjuC03JEUx/EgivitnROhb/oyqPdvDW04NTJ3t0qzTELUb+oJGPjfGR2dOs/PSmL2Si6vVRxACjX++4CQtIEg19pIh88TYTAw7ZLngRYqYqpg/DU+PuXaRUN5xa1qaKgTDJ47f56K3zBrZ5sE/5wlpl6BPBOq72eQBu6OmsEAhjR/lLLnoVeW+zgJHkYMOFA1HpAZjIgRBjyV33g/zkHgfpmMXlUd6Ms6EkPQGzlH6KEg+KZv/MhDpGd6vpkA==;\n\t5:vPzEnzvuQXhGuPiXgWQHPXBntSgf1r3sFtBuXmrwpPmalU+X53ktCizyayb1Wkdb884kM/JnKZbPkWOndZxG45JrZWvLAVp/T4KZtIWdSzpvoKLitqB1QHgBm1XDdFa5+50ZDwkTeQcygPk1VbGqhw==;\n\t24:yDnpRWYTfzTvbN0Tz9H7RneRHmJqnLLMrzP+hGT41Q18yMYPJ623+fQpq55/gnHF0PrsGN8X2VXuXez3eh9LqY7jUH0Y3sxpxTIfLVrtF54=;\n\t7:FikhQTJowptMokWdI1kYhue+Mm0KiPwsVUMkc/p0i+Smnd0NfwD6zGwT5eKWy5xYOdv9gCYFrAlNU1wShi5DVRNy/2HFZugpj99we6JyUwn+1C2GX7w7OoKivT0sPCogMrrsRtShkcXcltfzmopV6dtMhUbXzO0btC4/7bLl+qLwm78hCJspyzkaj2HNS/qCb52VVS7K7K3NYdR3R1V8GQxNITgO606aDoj0ZkhK1Jc="
        ],
        "X-MS-TrafficTypeDiagnostic": "VI1PR04MB3229:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-Microsoft-Antispam-PRVS": "<VI1PR04MB3229F33B0E3079A68D8CFF33889E0@VI1PR04MB3229.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:VI1PR04MB3229; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:VI1PR04MB3229; ",
        "X-Forefront-PRVS": "0413C9F1ED",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(7370300001)(4630300001)(6009001)(39860400002)(199003)(189002)(36756003)(6666003)(478600001)(305945005)(6916009)(2950100002)(48376002)(47776003)(7736002)(25786009)(6506006)(6486002)(50466002)(2906002)(5003940100001)(7350300001)(8676002)(53936002)(110136004)(5660300001)(4326008)(189998001)(81156014)(81166006)(2361001)(2351001)(105586002)(106356001)(101416001)(50986999)(97736004)(33646002)(42186005)(76176999)(21086003)(3846002)(6116002)(68736007)(66066001)(86362001)(54906002)(50226002)(6512007)(69596002)(32563001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3229; H:linux-7smt.suse; FPR:;\n\tSPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "28 Aug 2017 06:30:17.6995\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR04MB3229",
        "Cc": "u-boot@lists.denx.de, Fabio Estevam <fabio.estevam@nxp.com>",
        "Subject": "[U-Boot] [PATCH V2 11/12] imx: mx6sabresd: enable dm drivers",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "Enable DM MMC/I2C/PMIC/GPIO/REGULATOR.\n\nSigned-off-by: Peng Fan <peng.fan@nxp.com>\nCc: Fabio Estevam <fabio.estevam@nxp.com>\nCc: Stefano Babic <sbabic@denx.de>\n---\n\nV2: none\n\n board/freescale/mx6sabresd/mx6sabresd.c | 326 +++++++++++++-------------------\n configs/mx6sabresd_defconfig            |  15 ++\n include/configs/mx6sabresd.h            |  15 +-\n 3 files changed, 146 insertions(+), 210 deletions(-)",
    "diff": "diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c\nindex fa75ab0..2123a9d 100644\n--- a/board/freescale/mx6sabresd/mx6sabresd.c\n+++ b/board/freescale/mx6sabresd/mx6sabresd.c\n@@ -12,7 +12,6 @@\n #include <asm/arch/mx6-pins.h>\n #include <linux/errno.h>\n #include <asm/gpio.h>\n-#include <asm/mach-imx/mxc_i2c.h>\n #include <asm/mach-imx/iomux-v3.h>\n #include <asm/mach-imx/boot_mode.h>\n #include <asm/mach-imx/video.h>\n@@ -24,7 +23,6 @@\n #include <asm/arch/crm_regs.h>\n #include <asm/io.h>\n #include <asm/arch/sys_proto.h>\n-#include <i2c.h>\n #include <power/pmic.h>\n #include <power/pfuze100_pmic.h>\n #include \"../common/pfuze.h\"\n@@ -46,14 +44,6 @@ DECLARE_GLOBAL_DATA_PTR;\n #define SPI_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_SPEED_MED | \\\n \t\t      PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)\n \n-#define I2C_PAD_CTRL  (PAD_CTL_PUS_100K_UP |\t\t\t\\\n-\tPAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS |\t\\\n-\tPAD_CTL_ODE | PAD_CTL_SRE_FAST)\n-\n-#define I2C_PMIC\t1\n-\n-#define I2C_PAD MUX_PAD_CTRL(I2C_PAD_CTRL)\n-\n #define DISP0_PWR_EN\tIMX_GPIO_NR(1, 21)\n \n #define KEY_VOL_UP\tIMX_GPIO_NR(1, 4)\n@@ -93,6 +83,7 @@ static void setup_iomux_enet(void)\n {\n \tSETUP_IOMUX_PADS(enet_pads);\n \n+\tgpio_request(IMX_GPIO_NR(1, 25), \"phy_rst\");\n \t/* Reset AR8031 PHY */\n \tgpio_direction_output(IMX_GPIO_NR(1, 25) , 0);\n \tmdelay(10);\n@@ -100,47 +91,6 @@ static void setup_iomux_enet(void)\n \tudelay(100);\n }\n \n-static iomux_v3_cfg_t const usdhc2_pads[] = {\n-\tIOMUX_PADS(PAD_SD2_CLK__SD2_CLK\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD2_CMD__SD2_CMD\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_NANDF_D4__SD2_DATA4\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_NANDF_D5__SD2_DATA5\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_NANDF_D6__SD2_DATA6\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_NANDF_D7__SD2_DATA7\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_NANDF_D2__GPIO2_IO02\t| MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */\n-};\n-\n-static iomux_v3_cfg_t const usdhc3_pads[] = {\n-\tIOMUX_PADS(PAD_SD3_CLK__SD3_CLK   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_CMD__SD3_CMD   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD3_DAT7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_NANDF_D0__GPIO2_IO00    | MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */\n-};\n-\n-static iomux_v3_cfg_t const usdhc4_pads[] = {\n-\tIOMUX_PADS(PAD_SD4_CLK__SD4_CLK   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_CMD__SD4_CMD   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT0__SD4_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT1__SD4_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT2__SD4_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT3__SD4_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT4__SD4_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT5__SD4_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT6__SD4_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-\tIOMUX_PADS(PAD_SD4_DAT7__SD4_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n-};\n-\n static iomux_v3_cfg_t const ecspi1_pads[] = {\n \tIOMUX_PADS(PAD_KEY_COL0__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)),\n \tIOMUX_PADS(PAD_KEY_COL1__ECSPI1_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL)),\n@@ -187,6 +137,7 @@ static iomux_v3_cfg_t const bl_pads[] = {\n static void enable_backlight(void)\n {\n \tSETUP_IOMUX_PADS(bl_pads);\n+\tgpio_request(DISP0_PWR_EN, \"disp0_pwr_en\");\n \tgpio_direction_output(DISP0_PWR_EN, 1);\n }\n \n@@ -201,32 +152,6 @@ static void enable_lvds(struct display_info_t const *dev)\n \tenable_backlight();\n }\n \n-static struct i2c_pads_info mx6q_i2c_pad_info1 = {\n-\t.scl = {\n-\t\t.i2c_mode = MX6Q_PAD_KEY_COL3__I2C2_SCL | I2C_PAD,\n-\t\t.gpio_mode = MX6Q_PAD_KEY_COL3__GPIO4_IO12 | I2C_PAD,\n-\t\t.gp = IMX_GPIO_NR(4, 12)\n-\t},\n-\t.sda = {\n-\t\t.i2c_mode = MX6Q_PAD_KEY_ROW3__I2C2_SDA | I2C_PAD,\n-\t\t.gpio_mode = MX6Q_PAD_KEY_ROW3__GPIO4_IO13 | I2C_PAD,\n-\t\t.gp = IMX_GPIO_NR(4, 13)\n-\t}\n-};\n-\n-static struct i2c_pads_info mx6dl_i2c_pad_info1 = {\n-\t.scl = {\n-\t\t.i2c_mode = MX6DL_PAD_KEY_COL3__I2C2_SCL | I2C_PAD,\n-\t\t.gpio_mode = MX6DL_PAD_KEY_COL3__GPIO4_IO12 | I2C_PAD,\n-\t\t.gp = IMX_GPIO_NR(4, 12)\n-\t},\n-\t.sda = {\n-\t\t.i2c_mode = MX6DL_PAD_KEY_ROW3__I2C2_SDA | I2C_PAD,\n-\t\t.gpio_mode = MX6DL_PAD_KEY_ROW3__GPIO4_IO13 | I2C_PAD,\n-\t\t.gp = IMX_GPIO_NR(4, 13)\n-\t}\n-};\n-\n static void setup_spi(void)\n {\n \tSETUP_IOMUX_PADS(ecspi1_pads);\n@@ -253,121 +178,11 @@ static void setup_iomux_uart(void)\n \tSETUP_IOMUX_PADS(uart1_pads);\n }\n \n-#ifdef CONFIG_FSL_ESDHC\n-struct fsl_esdhc_cfg usdhc_cfg[3] = {\n-\t{USDHC2_BASE_ADDR},\n-\t{USDHC3_BASE_ADDR},\n-\t{USDHC4_BASE_ADDR},\n-};\n-\n-#define USDHC2_CD_GPIO\tIMX_GPIO_NR(2, 2)\n-#define USDHC3_CD_GPIO\tIMX_GPIO_NR(2, 0)\n-\n int board_mmc_get_env_dev(int devno)\n {\n \treturn devno - 1;\n }\n \n-int board_mmc_getcd(struct mmc *mmc)\n-{\n-\tstruct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;\n-\tint ret = 0;\n-\n-\tswitch (cfg->esdhc_base) {\n-\tcase USDHC2_BASE_ADDR:\n-\t\tret = !gpio_get_value(USDHC2_CD_GPIO);\n-\t\tbreak;\n-\tcase USDHC3_BASE_ADDR:\n-\t\tret = !gpio_get_value(USDHC3_CD_GPIO);\n-\t\tbreak;\n-\tcase USDHC4_BASE_ADDR:\n-\t\tret = 1; /* eMMC/uSDHC4 is always present */\n-\t\tbreak;\n-\t}\n-\n-\treturn ret;\n-}\n-\n-int board_mmc_init(bd_t *bis)\n-{\n-#ifndef CONFIG_SPL_BUILD\n-\tint ret;\n-\tint i;\n-\n-\t/*\n-\t * According to the board_mmc_init() the following map is done:\n-\t * (U-Boot device node)    (Physical Port)\n-\t * mmc0                    SD2\n-\t * mmc1                    SD3\n-\t * mmc2                    eMMC\n-\t */\n-\tfor (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {\n-\t\tswitch (i) {\n-\t\tcase 0:\n-\t\t\tSETUP_IOMUX_PADS(usdhc2_pads);\n-\t\t\tgpio_direction_input(USDHC2_CD_GPIO);\n-\t\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);\n-\t\t\tbreak;\n-\t\tcase 1:\n-\t\t\tSETUP_IOMUX_PADS(usdhc3_pads);\n-\t\t\tgpio_direction_input(USDHC3_CD_GPIO);\n-\t\t\tusdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);\n-\t\t\tbreak;\n-\t\tcase 2:\n-\t\t\tSETUP_IOMUX_PADS(usdhc4_pads);\n-\t\t\tusdhc_cfg[2].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);\n-\t\t\tbreak;\n-\t\tdefault:\n-\t\t\tprintf(\"Warning: you configured more USDHC controllers\"\n-\t\t\t       \"(%d) then supported by the board (%d)\\n\",\n-\t\t\t       i + 1, CONFIG_SYS_FSL_USDHC_NUM);\n-\t\t\treturn -EINVAL;\n-\t\t}\n-\n-\t\tret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t}\n-\n-\treturn 0;\n-#else\n-\tstruct src *psrc = (struct src *)SRC_BASE_ADDR;\n-\tunsigned reg = readl(&psrc->sbmr1) >> 11;\n-\t/*\n-\t * Upon reading BOOT_CFG register the following map is done:\n-\t * Bit 11 and 12 of BOOT_CFG register can determine the current\n-\t * mmc port\n-\t * 0x1                  SD1\n-\t * 0x2                  SD2\n-\t * 0x3                  SD4\n-\t */\n-\n-\tswitch (reg & 0x3) {\n-\tcase 0x1:\n-\t\tSETUP_IOMUX_PADS(usdhc2_pads);\n-\t\tusdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR;\n-\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);\n-\t\tgd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;\n-\t\tbreak;\n-\tcase 0x2:\n-\t\tSETUP_IOMUX_PADS(usdhc3_pads);\n-\t\tusdhc_cfg[0].esdhc_base = USDHC3_BASE_ADDR;\n-\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);\n-\t\tgd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;\n-\t\tbreak;\n-\tcase 0x3:\n-\t\tSETUP_IOMUX_PADS(usdhc4_pads);\n-\t\tusdhc_cfg[0].esdhc_base = USDHC4_BASE_ADDR;\n-\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);\n-\t\tgd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;\n-\t\tbreak;\n-\t}\n-\n-\treturn fsl_esdhc_initialize(bis, &usdhc_cfg[0]);\n-#endif\n-}\n-#endif\n-\n static int ar8031_phy_fixup(struct phy_device *phydev)\n {\n \tunsigned short val;\n@@ -580,6 +395,8 @@ static void setup_usb(void)\n \timx_iomux_set_gpr_register(1, 13, 1, 0);\n \n \tSETUP_IOMUX_PADS(usb_hc1_pads);\n+\n+\tgpio_request(IMX_GPIO_NR(1, 29), \"usb1\");\n }\n \n int board_ehci_hcd_init(int port)\n@@ -632,13 +449,13 @@ int board_init(void)\n \t/* address of boot parameters */\n \tgd->bd->bi_boot_params = PHYS_SDRAM + 0x100;\n \n+\tgpio_request(IMX_GPIO_NR(3, 19), \"pcie_power\");\n+\tgpio_request(IMX_GPIO_NR(7, 12), \"pcie_reset\");\n+\n #ifdef CONFIG_MXC_SPI\n \tsetup_spi();\n #endif\n-\tif (is_mx6dq() || is_mx6dqp())\n-\t\tsetup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6q_i2c_pad_info1);\n-\telse\n-\t\tsetup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6dl_i2c_pad_info1);\n+\n #ifdef CONFIG_USB_EHCI_MX6\n \tsetup_usb();\n #endif\n@@ -646,34 +463,36 @@ int board_init(void)\n \treturn 0;\n }\n \n+#ifndef CONFIG_SPL_BUILD\n int power_init_board(void)\n {\n-\tstruct pmic *p;\n+\tstruct udevice *dev;\n \tunsigned int reg;\n \tint ret;\n \n-\tp = pfuze_common_init(I2C_PMIC);\n-\tif (!p)\n+\tdev = pfuze_common_init();\n+\tif (!dev)\n \t\treturn -ENODEV;\n \n-\tret = pfuze_mode_init(p, APS_PFM);\n+\tret = pfuze_mode_init(dev, APS_PFM);\n \tif (ret < 0)\n \t\treturn ret;\n \n \t/* Increase VGEN3 from 2.5 to 2.8V */\n-\tpmic_reg_read(p, PFUZE100_VGEN3VOL, &reg);\n+\treg = pmic_reg_read(dev, PFUZE100_VGEN3VOL);\n \treg &= ~LDO_VOL_MASK;\n \treg |= LDOB_2_80V;\n-\tpmic_reg_write(p, PFUZE100_VGEN3VOL, reg);\n+\tpmic_reg_write(dev, PFUZE100_VGEN3VOL, reg);\n \n \t/* Increase VGEN5 from 2.8 to 3V */\n-\tpmic_reg_read(p, PFUZE100_VGEN5VOL, &reg);\n+\treg = pmic_reg_read(dev, PFUZE100_VGEN5VOL);\n \treg &= ~LDO_VOL_MASK;\n \treg |= LDOB_3_00V;\n-\tpmic_reg_write(p, PFUZE100_VGEN5VOL, reg);\n+\tpmic_reg_write(dev, PFUZE100_VGEN5VOL, reg);\n \n \treturn 0;\n }\n+#endif\n \n #ifdef CONFIG_MXC_SPI\n int board_spi_cs_gpio(unsigned bus, unsigned cs)\n@@ -747,6 +566,115 @@ int board_fit_config_name_match(const char *name)\n }\n #endif\n \n+#ifdef CONFIG_FSL_ESDHC\n+static iomux_v3_cfg_t const usdhc2_pads[] = {\n+\tIOMUX_PADS(PAD_SD2_CLK__SD2_CLK\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD2_CMD__SD2_CMD\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_NANDF_D4__SD2_DATA4\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_NANDF_D5__SD2_DATA5\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_NANDF_D6__SD2_DATA6\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_NANDF_D7__SD2_DATA7\t| MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_NANDF_D2__GPIO2_IO02\t| MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */\n+};\n+\n+static iomux_v3_cfg_t const usdhc3_pads[] = {\n+\tIOMUX_PADS(PAD_SD3_CLK__SD3_CLK   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_CMD__SD3_CMD   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD3_DAT7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_NANDF_D0__GPIO2_IO00    | MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */\n+};\n+\n+static iomux_v3_cfg_t const usdhc4_pads[] = {\n+\tIOMUX_PADS(PAD_SD4_CLK__SD4_CLK   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_CMD__SD4_CMD   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT0__SD4_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT1__SD4_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT2__SD4_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT3__SD4_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT4__SD4_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT5__SD4_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT6__SD4_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+\tIOMUX_PADS(PAD_SD4_DAT7__SD4_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),\n+};\n+\n+struct fsl_esdhc_cfg usdhc_cfg[3] = {\n+\t{USDHC2_BASE_ADDR},\n+\t{USDHC3_BASE_ADDR},\n+\t{USDHC4_BASE_ADDR},\n+};\n+\n+#define USDHC2_CD_GPIO\tIMX_GPIO_NR(2, 2)\n+#define USDHC3_CD_GPIO\tIMX_GPIO_NR(2, 0)\n+\n+int board_mmc_getcd(struct mmc *mmc)\n+{\n+\tstruct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;\n+\tint ret = 0;\n+\n+\tswitch (cfg->esdhc_base) {\n+\tcase USDHC2_BASE_ADDR:\n+\t\tret = !gpio_get_value(USDHC2_CD_GPIO);\n+\t\tbreak;\n+\tcase USDHC3_BASE_ADDR:\n+\t\tret = !gpio_get_value(USDHC3_CD_GPIO);\n+\t\tbreak;\n+\tcase USDHC4_BASE_ADDR:\n+\t\tret = 1; /* eMMC/uSDHC4 is always present */\n+\t\tbreak;\n+\t}\n+\n+\treturn ret;\n+}\n+\n+int board_mmc_init(bd_t *bis)\n+{\n+\tstruct src *psrc = (struct src *)SRC_BASE_ADDR;\n+\tunsigned reg = readl(&psrc->sbmr1) >> 11;\n+\t/*\n+\t * Upon reading BOOT_CFG register the following map is done:\n+\t * Bit 11 and 12 of BOOT_CFG register can determine the current\n+\t * mmc port\n+\t * 0x1                  SD1\n+\t * 0x2                  SD2\n+\t * 0x3                  SD4\n+\t */\n+\n+\tswitch (reg & 0x3) {\n+\tcase 0x1:\n+\t\tSETUP_IOMUX_PADS(usdhc2_pads);\n+\t\tusdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR;\n+\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);\n+\t\tgd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;\n+\t\tbreak;\n+\tcase 0x2:\n+\t\tSETUP_IOMUX_PADS(usdhc3_pads);\n+\t\tusdhc_cfg[0].esdhc_base = USDHC3_BASE_ADDR;\n+\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);\n+\t\tgd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;\n+\t\tbreak;\n+\tcase 0x3:\n+\t\tSETUP_IOMUX_PADS(usdhc4_pads);\n+\t\tusdhc_cfg[0].esdhc_base = USDHC4_BASE_ADDR;\n+\t\tusdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);\n+\t\tgd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;\n+\t\tbreak;\n+\t}\n+\n+\treturn fsl_esdhc_initialize(bis, &usdhc_cfg[0]);\n+}\n+#endif\n+\n static void ccgr_init(void)\n {\n \tstruct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;\ndiff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig\nindex 7491e9c..3eab67e 100644\n--- a/configs/mx6sabresd_defconfig\n+++ b/configs/mx6sabresd_defconfig\n@@ -40,6 +40,8 @@ CONFIG_CMD_DHCP=y\n CONFIG_CMD_MII=y\n CONFIG_CMD_PING=y\n CONFIG_CMD_CACHE=y\n+CONFIG_CMD_PMIC=y\n+CONFIG_CMD_REGULATOR=y\n CONFIG_CMD_EXT2=y\n CONFIG_CMD_EXT4=y\n CONFIG_CMD_EXT4_WRITE=y\n@@ -47,10 +49,23 @@ CONFIG_CMD_FAT=y\n CONFIG_CMD_FS_GENERIC=y\n CONFIG_OF_CONTROL=y\n CONFIG_OF_LIST=\"imx6q-sabresd imx6dl-sabresd imx6qp-sabresd\"\n+# CONFIG_BLK is not set\n+CONFIG_DM_GPIO=y\n+CONFIG_DM_I2C=y\n+CONFIG_DM_MMC=y\n+# CONFIG_DM_MMC_OPS is not set\n CONFIG_SPI_FLASH=y\n CONFIG_SPI_FLASH_STMICRO=y\n CONFIG_PHYLIB=y\n CONFIG_PCI=y\n+CONFIG_PINCTRL=y\n+CONFIG_PINCTRL_IMX6=y\n+CONFIG_DM_PMIC=y\n+CONFIG_DM_PMIC_PFUZE100=y\n+CONFIG_DM_REGULATOR=y\n+CONFIG_DM_REGULATOR_PFUZE100=y\n+CONFIG_DM_REGULATOR_FIXED=y\n+CONFIG_DM_REGULATOR_GPIO=y\n CONFIG_USB=y\n CONFIG_USB_STORAGE=y\n CONFIG_USB_GADGET=y\ndiff --git a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h\nindex 5410881..a945641 100644\n--- a/include/configs/mx6sabresd.h\n+++ b/include/configs/mx6sabresd.h\n@@ -43,20 +43,9 @@\n #define CONFIG_PCIE_IMX_POWER_GPIO\tIMX_GPIO_NR(3, 19)\n #endif\n \n-/* I2C Configs */\n-#define CONFIG_SYS_I2C\n #define CONFIG_SYS_I2C_MXC\n-#define CONFIG_SYS_I2C_MXC_I2C1\t\t/* enable I2C bus 1 */\n-#define CONFIG_SYS_I2C_MXC_I2C2\t\t/* enable I2C bus 2 */\n-#define CONFIG_SYS_I2C_MXC_I2C3\t\t/* enable I2C bus 3 */\n #define CONFIG_SYS_I2C_SPEED\t\t  100000\n \n-/* PMIC */\n-#define CONFIG_POWER\n-#define CONFIG_POWER_I2C\n-#define CONFIG_POWER_PFUZE100\n-#define CONFIG_POWER_PFUZE100_I2C_ADDR\t0x08\n-\n /* USB Configs */\n #ifdef CONFIG_CMD_USB\n #define CONFIG_EHCI_HCD_INIT_AFTER_RESET\n@@ -67,4 +56,8 @@\n #define CONFIG_USB_MAX_CONTROLLER_COUNT\t1 /* Enabled USB controller number */\n #endif\n \n+#ifdef CONFIG_SPL_BUILD\n+#undef CONFIG_SYS_I2C_MXC\n+#endif\n+\n #endif                         /* __MX6SABRESD_CONFIG_H */\n",
    "prefixes": [
        "U-Boot",
        "V2",
        "11/12"
    ]
}