Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/799793/?format=api
{ "id": 799793, "url": "http://patchwork.ozlabs.org/api/patches/799793/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1502283127-21666-13-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": "<1502283127-21666-13-git-send-email-peng.fan@nxp.com>", "list_archive_url": null, "date": "2017-08-09T12:52:06", "name": "[U-Boot,v2,12/13] imx: mx6sabresd: enable dm drivers", "commit_ref": null, "pull_url": null, "state": "changes-requested", "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/1502283127-21666-13-git-send-email-peng.fan@nxp.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/799793/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/799793/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=\"O2OKRbNi\";\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 3xSBFB5ZCtz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 9 Aug 2017 22:59:58 +1000 (AEST)", "by lists.denx.de (Postfix, from userid 105)\n\tid 76422C21F99; Wed, 9 Aug 2017 12:55:54 +0000 (UTC)", "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 18EA0C21F99;\n\tWed, 9 Aug 2017 12:53:51 +0000 (UTC)", "by lists.denx.de (Postfix, from userid 105)\n\tid 78960C21EDF; Wed, 9 Aug 2017 12:53:15 +0000 (UTC)", "from EUR01-VE1-obe.outbound.protection.outlook.com\n\t(mail-ve1eur01on0084.outbound.protection.outlook.com [104.47.1.84])\n\tby lists.denx.de (Postfix) with ESMTPS id 1F94AC21EDF\n\tfor <u-boot@lists.denx.de>; Wed, 9 Aug 2017 12:53:10 +0000 (UTC)", "from linux-7smt.suse (199.59.231.64) by\n\tAM5PR04MB3219.eurprd04.prod.outlook.com (2603:10a6:206:7::16) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1320.16;\n\tWed, 9 Aug 2017 12:53:06 +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_H4, RCVD_IN_MSPIKE_WL,\n\tSPF_HELO_PASS, \n\tT_DKIM_INVALID autolearn=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=oxl3ub2tTZVidBnlGLbCRCLRBQUdo3Uq8okds62g7/w=;\n\tb=O2OKRbNidHfa6qx/cYyEBFELWrgyXBATxzvvilBtEEj+sYSImXbuU8eVjH7gaKs7MC42CjqkPCd+LQpFTzRXNVDEgxKz+vTH2wd9uUKrRFo9um9KPjL7chNwnfOLCsGnskf0sJzonyD9GhvGPxsr9dVhjXCmaQ1ttJu6k7lRVl4=", "From": "Peng Fan <peng.fan@nxp.com>", "To": "sbabic@denx.de", "Date": "Wed, 9 Aug 2017 20:52:06 +0800", "Message-Id": "<1502283127-21666-13-git-send-email-peng.fan@nxp.com>", "X-Mailer": "git-send-email 2.6.2", "In-Reply-To": "<1502283127-21666-1-git-send-email-peng.fan@nxp.com>", "References": "<1502283127-21666-1-git-send-email-peng.fan@nxp.com>", "MIME-Version": "1.0", "X-Originating-IP": "[199.59.231.64]", "X-ClientProxiedBy": "HK2PR04CA0059.apcprd04.prod.outlook.com\n\t(2603:1096:202:14::27) To AM5PR04MB3219.eurprd04.prod.outlook.com\n\t(2603:10a6:206:7::16)", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "f037f301-4448-4025-b6ea-08d4df2595d3", "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:AM5PR04MB3219; ", "X-Microsoft-Exchange-Diagnostics": [ "1; AM5PR04MB3219;\n\t3:oG3B+QIKcEFCJOtHVhv8+UVuSfh7SspLM048PB+L6LzeaFhfrVLiA+tpjP6U+GZNcOQemFpW3+m7REVxpFy3uoDQHNrd8Gy0s9MZ8Cj+oEdBqGGxPtIPivUUycqj0azFKEiQJm2PZ59WtAY++UmUbUpZIFq5nKQjBt28LLJEUYbLikRY3QFmQ+mVRXzbMQ1s2u656uXSOFZCu1q3R8xSNrAmONANBc0+8tvj02yslH4Ja6fEHgM3+SnBZ/MxYOoG;\n\t25:71Zq692h4dR/qqBgAxNS3/BTlFrt0c67FSKUzfT2PN6saM5ciW24nvJ48VLTVwcQ2LA1lmhEmm5d97L4WdUjq0ncbQfJoT4Q/cy2r+Xv8SWQkICbu3CyNTzRZFe8nfOIe2MAExFZkhAKHpl+LNJZswVv/LPZ9X+9OkdU9gzUMBTvbf7peu7YXxOdIlKjZKMFiEjmBwH6IC/WpQzVEjukoTxhLj85+hdJ6S/LFaNZhn29LGUCFAu40iB3FYPes1BxfXalZgYt4KFFGLqw2hHMQbSLR7jvSrrHaTWuOlxzZ3bgVHdh1euGXJSnKZukNTx7X7/bz5mf0GjcXY9jEbu03A==;\n\t31:15tX1llP5z6E6XLSBS/E+lUm6jWneZ4NIWCYexExXKW1z6x+ehazGC8/vqgwBVbK7efqf422uzDDqdk7J77n3dDGdXg0Bjk4N2NXwOiCsDiTLXf5DW8yJLJ1jyfhVUkK55Y0hakeq9Tcfh+XO37WM4bZr63fD/QdB4MvXPuuCQKGoZgQ9RLL88l2vJjU0mPa/b5OEly3Zh9GbuWaHn4lfflTJGk14fhDE+MtCUAI+/o=", "1; AM5PR04MB3219;\n\t20:iUP6efq5lOyd8/M7Y9d8gDblMZD6YfWSaKu9NuVb9r6dC3uW2oIP5Ty/0q79hDKSv/IuqZmImWD62hooR84v+J5PkCsQyuW3K0Fo30N9aO/F5x3ZImyAO+ZIi8N8iMaTTfg0dRwXTrnv3tBCSMtGKfWs2VFHcKoKPPCj+nxxjKCtOYMSZWsnZRQTQ9EA1UIrvw1FS616MY9uBmTMmxf1VktNf6M7m2iRtqWuzWnZ/qBd6W0ISjOYORsoS+dO/TXl3h/NJIyYnWRUbDmus6TzmfSm8qlrpRBLfwQcU187A3y7g/9kA5tAPQ6jh0uvko/loHWx0lPtZdeqTo9xNKNFYOTbpneWmyAgP9WTBdIVgbTn64lXdFpvUzEM0ZM00WbAMRMmC2yRAwQoRAWFeOTQcsZ7LU6uJaz9e2978OCl+YBxR136FDlZuntwXwf64D/TWxHz28zaDatAVPPp/NROKFUeqLs+9Kx6LS1z1RVjtPVI9jeVIhHpfHrB0MtUM1Kl;\n\t4:BaDXIhoepr+9zQ1WYpfz1TH/vwa/LviCBQ1Cc0t/ZrfaTfzF7OKXw+6baqN48k3wn3ROlVf87kkBfAb5eq9eouCsNogKhblltDhvWL/WZENTv3N51HPVa0MXXNNz9xQM5uw4Pq12RMDD4cl6ZYypo6VUkoRgycDn8RK9eXylgDcMRTLmYM6Gyp4cxhFFWqi65MYrZTTeIKtyqqqiH3vfSybHaJ7XccsH0MQNvJFAVexfilnWNttJyfXFXZ1wFJekWag1UI+nt5XQAXRPeB6HNh9kbtPR/0+dsWkrvL088Yc=", "=?us-ascii?Q?1; AM5PR04MB3219;\n\t23:pMIJcCu1rwm8sVrjfKfkydPITlsTGQY5ZKi/aceuh?=\n\t=?us-ascii?Q?yyE6PamyOtHSD615cWU79mEt7UxKUyLmJm9TnkJGcN6v7FdWKR1FCbUQRAGB?=\n\t=?us-ascii?Q?9lFjPlxEdegFSmhzeHAXF79FHb/3sPmZSE+MNDQipLfAps35K8G3PAM5pM3s?=\n\t=?us-ascii?Q?hy8ZYoMlnqk0Qm8TUpL5RmXN4Zfjyx/+i/7j8D+tuFs4wnVG2DbKKWTWUbDC?=\n\t=?us-ascii?Q?48aiCJfKmzo9VS2BB2lLPUCFueMtbNRpza5bdtyNRBEmgnMMlPy055/apGAd?=\n\t=?us-ascii?Q?DOb4fTfi/r+aAWTY0nZYCxqX6vE377yihiFpne8uif7//ZHNFiAF3di5mxLP?=\n\t=?us-ascii?Q?C3p3vOQvysdpbNo0H+LO2jICMAOTgQHe1woZWSGTtRy8LkkAogd9w2MVSLUl?=\n\t=?us-ascii?Q?QVqKkpzDm64gRobhkYEcid3lSH0CAPlXh98NnOfUJ+h+yhBVbCyq/By00dHn?=\n\t=?us-ascii?Q?m3FGUBjuGCH2f/dIdvd/ELUSxx9p+vEgTF/0Kjr7dFikzjbxL+EBo8C1Mo0U?=\n\t=?us-ascii?Q?rG1X+3rz9VoYs0CxsD0wUg3au6dOcromFRiT2CO6F74CCtuwGVLM7WAwrQNC?=\n\t=?us-ascii?Q?DspxWPlLbGrhvdZiVOiUDrhOwxn3qC34B/2a8UwmmxozPzaqcjqyu7ve0OxM?=\n\t=?us-ascii?Q?LlcWlM1+cu3MR4c1suTqAY4RErlkTxYKB83g7IZCSAqdVDOvkdjXnjtjrJbb?=\n\t=?us-ascii?Q?IGGRsVjb95mhsT9H1wPRjYQNkxQEBpcvZfHhAq94L/+dVlcgFIyijAZD+JAr?=\n\t=?us-ascii?Q?LV96sMUugq2+b3fCobbUg3ZsI3E7i75YOUftOvGkyFvBlTQWyXq40FCpnDHh?=\n\t=?us-ascii?Q?cnpP2ya1z9mBW3IHdGm/QFapdCHR0McVimxYLQOD5PC6jJv/NgitQufyKEpj?=\n\t=?us-ascii?Q?V9RwkJU4xugktrkXyAD2/UukyHrgywtffqUkRrcrJOrzQLF8ctBVtjRdrPu+?=\n\t=?us-ascii?Q?V5CBIdS5cRyETB5hXUuXvDY9y4AQDtURwtWTAEiBkjAF3+Y9kzXetp2QVSWU?=\n\t=?us-ascii?Q?ycb9Mg/EPLL5gyuu4Du7jDFjaAqSNMFWCe6blz3T3LU/ArfODUsZK8BfQucI?=\n\t=?us-ascii?Q?lfsoc3wT0ZdC/MHvJHOkR/+i+l0iT/+2dR0R5RLfjqyI5JG6umIODDIw3YJX?=\n\t=?us-ascii?Q?4ecLpDASNb4mxdQx3/j2xc+Z4iCnmiwCRfxTjsddhzgBo1hCUKgf/uXVm+ON?=\n\t=?us-ascii?Q?JHt8W/WKXp+gZuIzHZwm+4yR2+k57fxS18/ao5i1VuIoDCwtpIZ1h0soRmTK?=\n\t=?us-ascii?Q?o58tMS0uA28RDngUtCSiVwhUwakwWidUQgUOpTKKv41CQ/fJlKOeZ85A+GJw?=\n\t=?us-ascii?Q?hp/rh+MnGYC6lBykflv0MiViMai6pI/vLtKrB6En/XQ1Me0VLfhDdEW/o5Is?=\n\t=?us-ascii?Q?eZN3f4A3Q+UWjN4DKWNnD2uI/Q=3D?=", "1; AM5PR04MB3219;\n\t6:8ipC6uuRPxYAZrofliowoAQGvL0dXCRHAc4AMlM1bweVtvO5j66jIx/dvs2LYofatlUo3CjHb/OF0eVCdGFOdVEdYrI9wjKNBtvXqlpDIU+MHw8SXFdEfLfJLXybwdUSmiZNeqhkbvzcNDZX5jZSvuo0oJE6wl6IrQgGotoPiiusO0Hkz7y9tC/57Go6mLR+UzxWoxBEIIBqIGT2BqDVz4AV2+qXQZkt8c0baUBC+t87oZpudnVaja4g18M+Y2CDJjEPmxtMcbLTKQKuGwD4FWA/gMV4M6zV00qUwSqorxIlDLhnyPnOVJPwa6ulk0m6Tz+Vd3tf4T9bcx++ce8PPA==;\n\t5:FmwzAHBybkiValQ/FN/H3RwWhlHz5mubR5aSHaQJ1LobJfw+zUM+J6A7UaKk41cGUjxK2aacTxDltMD8qvltssTaJxxQrNu8Xfr1rNdxdXEwZSF9+1SB+w1EhlVK23rmLcip3gRAx5IkyBZNIl8ZYw==;\n\t24:Azn0BxVuZ51umL4nUg3887qJqblzs3D72wIwkwgC2QS9TUtmVncQjn3RoZ5JKv9XUaVs2pIc47Bn8ZBl/qnSF7WZeT6UWjChrkw6peXN5+8=;\n\t7:NOOMukXBXcOXeMYjifH9rUqUWK4yY5jnA64V3+yXV6TD3b27/r2gazxS5i4i1g5IwN8Ttb5mWBVsWE28gB+WzChOgEXAf1ZjqYMhj0swtYn4uzivch+mmJ87dPia//SHt691pqOfW6UHPuLb2NyAIdW5IMY8qZ07QTaEjdXQJDPxAMLg5HgvsTCjwt856Q9Q8vkeE0F4nckNg2iQKgI48b+L5zFkba6rGxWcyaBVpvQ=" ], "X-MS-TrafficTypeDiagnostic": "AM5PR04MB3219:", "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);", "X-Microsoft-Antispam-PRVS": "<AM5PR04MB32194740360103CD4DE92CBF888B0@AM5PR04MB3219.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)(5005006)(8121501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:AM5PR04MB3219; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:AM5PR04MB3219; ", "X-Forefront-PRVS": "0394259C80", "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(7370300001)(4630300001)(6009001)(39450400003)(39860400002)(39840400002)(39400400002)(39850400002)(39410400002)(199003)(189002)(97736004)(38730400002)(6916009)(2950100002)(86362001)(110136004)(21086003)(6512007)(54906002)(53936002)(42186005)(66066001)(5660300001)(7350300001)(6486002)(106356001)(7736002)(478600001)(105586002)(25786009)(50986999)(47776003)(76176999)(2361001)(81156014)(81166006)(5003940100001)(4326008)(50226002)(2906002)(33646002)(69596002)(189998001)(50466002)(36756003)(48376002)(68736007)(6506006)(2351001)(6116002)(8676002)(305945005)(101416001)(3846002)(32563001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR04MB3219; 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": "09 Aug 2017 12:53:06.4827\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM5PR04MB3219", "Cc": "u-boot@lists.denx.de, Fabio Estevam <fabio.estevam@nxp.com>", "Subject": "[U-Boot] [patch v2 12/13] 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 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 ff99a30..845b5b5 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, ®);\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, ®);\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 be3a18c..7ec158f 100644\n--- a/configs/mx6sabresd_defconfig\n+++ b/configs/mx6sabresd_defconfig\n@@ -37,6 +37,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@@ -44,10 +46,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 27e7672..95e1666 100644\n--- a/include/configs/mx6sabresd.h\n+++ b/include/configs/mx6sabresd.h\n@@ -46,20 +46,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@@ -70,4 +59,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", "12/13" ] }