From patchwork Sat Oct 8 10:07:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 679853 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3srjCZ2gy2z9s3s for ; Sat, 8 Oct 2016 21:23:37 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b=HlHmpbfI; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 42F37A754E; Sat, 8 Oct 2016 12:23:33 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F8xXVCplFNKH; Sat, 8 Oct 2016 12:23:32 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 8918FA7534; Sat, 8 Oct 2016 12:23:32 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 7CCEAA7534 for ; Sat, 8 Oct 2016 12:23:29 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dsSycYAjr6Wb for ; Sat, 8 Oct 2016 12:23:29 +0200 (CEST) X-Greylist: delayed 3043 seconds by postgrey-1.34 at theia; Sat, 08 Oct 2016 12:23:26 CEST X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0051.outbound.protection.outlook.com [104.47.0.51]) by theia.denx.de (Postfix) with ESMTPS id 1A43FA7527 for ; Sat, 8 Oct 2016 12:23:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Tg5ZqWs+ZtOfZ7CE6+v0bM3K74+64vrwSzHqqE1zZM8=; b=HlHmpbfIOCZWDXlIKHmoYtpRUmw84PmaYw8mDPfHK1CMkWHyi0eXCaObi4wTUewuaOGxKom/mhY7ncKZLE8PI+SsAG8NXznbF1NFth6x/MekLq1OiZkE1IAsfBEETlVTGumuF94f8l7iEy6TtNzJWYnzjS1J3wjXzM0zYpeLINk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; Received: from linux-7smt.suse (192.158.241.86) by VI1PR0401MB1806.eurprd04.prod.outlook.com (10.165.234.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.8; Sat, 8 Oct 2016 10:08:17 +0000 From: Peng Fan To: , Date: Sat, 8 Oct 2016 18:07:51 +0800 Message-ID: <1475921271-29093-1-git-send-email-peng.fan@nxp.com> X-Mailer: git-send-email 2.6.2 MIME-Version: 1.0 X-Originating-IP: [192.158.241.86] X-ClientProxiedBy: SIXPR01CA0050.apcprd01.prod.exchangelabs.com (10.163.105.178) To VI1PR0401MB1806.eurprd04.prod.outlook.com (10.165.234.156) X-MS-Office365-Filtering-Correlation-Id: 71ff9641-1616-4a76-04ac-08d3ef63078b X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB1806; 2:g6Uya45nMLsiTFweH/4OwD5F+Wwdck59FzDkeMfPbXH7ARys2vTmMla4Ls3WyQOETqVaBI4AfPKU+us0GfmZWJAwreSY5MTe3L6/d5qINMFdDLJTPftCvmh9HPU9mcUXVhDPL8yxYrEhlphjqN7DayI9ZyZJ5WIGZ+7+KVJKvLq+QI6dUZDH+yE7r5GWIqz6sBRVkpOMp+fCPAKAssg91A==; 3:XDoxumzEUqjLzG/HZpokavPizfaxeErsk948WalOJ8ny0sJJpIBo++OlAtYmZuRhp3P83kch1lLskpUBnmCwIchTS6xIXUmpracRJTObJnFgDy/ybUGsT7HDfaAq793ysQaP7pabTEqEtCXJ33caRg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0401MB1806; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB1806; 25:Nb/WSMW5D7NCTfj1JQRWTO1kGYmNTyYWGDmXMhrSAJzi1qL0o2wZrI7jXygn/Cg6H+cIkB6w2G3R0UtEIAV0f21CSZY0MdMilkomTlEAEUMXOF8RJ6lqKdNlcOwHu+8OWxXbkyXG9IWrL96uutw0UdYOP1B6TGz4xVltzrrOIkgNoCKyr7lzq31/BN0fzqIpfkyqq3ebhTM+/kD8IIlUalbCJNAoKb3pZhRXlYgY+pr2FRRhpAV5oFNSAntbmxOsLDfMbn3trEUWEcHpOzBkzVT9RL0YMH0gM8KdJ325+PrC6zLHzVJssmNlTVPtPdpg79ayOaDE/l3tJyShGqzxwLISsTaSReZgS+6EJrIuoHRbYmVlteerj9uQ+LGv+DBTH5LVmIqpWdJvuDLw1wwr7RFM9ibOn3cYC1YG6yqA4ku7I1t+ouQtDy6do4mrI5LWAJQbv+KKC5yJ1XDG0ylbs6QcumoB+RILqKmaz0/0Vc1VM6fPt/j80SDxiB5P3xirp3qp0mYFwjoIaQ4lX5ZZTpZScIy1nWiJx2BrsWhO7VB9E9bprm+AZ6QqVVDnPZiX9+UV/IAUO2HKPl5bHI+48UuOgHAXDkf47sTmHkMgnR+tUgb2hOrw0+bPHVuI8dJmuMFZTop/vD4TA/dXVl5184M/JefGkfUKxmbRYQzjHxBvJEo0OqBzqzw2vKQoM/DQQaT2zFs0S+DX2jgHlwHnQRdeyMRoF0Rqz+zMAPFjDa1leYIntGuV4JLY8DnKyEwwYiP9iPCP9HWBEAXg3yGVmNlKk3sHxozv5OT8CbKnB2LCIuM0lEqgEis0EEjpJgIy X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB1806; 31:4yaGzWITDY9w36ykGZaJhBWm8md/h45dXgutcco985jl6CLdiJqZbB3m4pKtZFM3KSJuLSsJcOTR3jfMlZkcnrdmspEeiQ1kDz8eXotuU+dsI6QmwG/mDL1RtsQsO307KpwGeBcXSHzEGj00MBStlEDOyFnc4zyHTtiY200aPsNhmE3bylYcE24BTbQHA5fJSy4lbDKGIcH5CoPVv9+kH644VT1rNs5plMlSRU66Xa/WoMT7Nk5HHthBp6QP2Y4QSAywrll1izb1/Fyo0fWZiQ==; 20:E+x1asRtECyn52OWrwfsmhooxcTkXLoxJDO3zUy9XmtC6GZ6OzFxp2QmmMqGDNnL6vK+AR0GmaeYpUvLEh8PiAlJTI3nLYWRJz9YI0u7MHO2nmXR6PGaUuEumeH2LMNuRhgb+dzNcyGZoFOjxY7aJtnJO/eukNpu8bwZyKcSBA8asaDk6TH0InMl6ioRqertSEE5+k3hlwjQOMDj0PegAqa5Ut9iUYzp23MlkFtMy1YrxwjWhbSIk/aD7zc/3Tlb9P+Q+9nsHC2LMzmUj9NORzfoiXQkKxuhYqiy7K6X4iJvbEwqKvqBTqvMCqk60Oq7kMGPW9viwGAVgPWxjx0UWhE42HCjT4b3sdCg40s9EupCWCBhbw7ox2fvKEPiM2gjJog/xBlLfYRPWBVDedHG8LisrUSZ0Vo4iK/FL6BhxYRjRImI+wtKPfFQcMwlteCGunut2U5kaMlqASNb/UiSgeGTD9cAkz3oA3d6RLMEGjnWPq6zgbp6Ml1gDHUdW36C X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(16074681357397)(7411616537696); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:VI1PR0401MB1806; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0401MB1806; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB1806; 4:aUtZrLBri9ABM66FtwxRSZhhoRYBeqOMAda7444A33NjLCNFvzCBhz3KS3xhB/MQ64hs5TgzOVYoBnzIr18yv1KifyHtO26QfTpg1LtQFFlzydYi1ac6+IzNBMurDdS9tegsNWN1ixy3FM+XnFQ/vL8Ir0W7Sti4i1biTsWtYt2RDNAPzQQB7+viuf4OL9GCxYbDic5v8mEm/Q3iNcwoel2/YsdAcMm4RJCJZFYsvVDUlL0I7cC74LkTUumHoiMvgXceZMBXcu8H7ScK8/6A4eigUmsZRI7yvC22zvxM6moYt0QUiur6HFoBbrr5ZnyfQL+c6sMQIZH9PhLo2bUVySyNblqM6CL/BTlkX8GSec7kbVoEw5YsMG61C3OYlOkrcJJhIADbTyOUKm0bkDUgjBoP6vZuFtM7pH4fu9QBvTcv61V3BXXN0pPAzigq2pHx3h41QzDpzeUET4IHY3su/EgQgB53vySSW6VTTeAvJ0j4+0l2zaMhmy14jkrwJaeZDzshUR//Wu/a1QKLl+sRSw== X-Forefront-PRVS: 008960E8EC X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(3846002)(6116002)(7846002)(106356001)(586003)(6666003)(81156014)(81166006)(105586002)(7736002)(77096005)(15975445007)(101416001)(36756003)(5003940100001)(5660300001)(19580395003)(66066001)(8676002)(2906002)(50226002)(69596002)(48376002)(4326007)(47776003)(33646002)(86362001)(19580405001)(92566002)(305945005)(5001770100001)(50986999)(42186005)(189998001)(21086003)(68736007)(50466002)(229853001)(97736004)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0401MB1806; H:linux-7smt.suse; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0401MB1806; 23:yAHQlh8MF/LlyS3KMXHH7hcTMUhDNsJmxWfr2dW?= =?us-ascii?Q?MPO+lRdKA5v1naIawUbel1tokakcAC86vWgTNeGR73hfpvC+TFt9SSWTS36T?= =?us-ascii?Q?rtmkIepTY7iRwECQRAts9vxZPt87wuIvvB9nBXb5nPqZD7Q0o+2F5Kqyg5jW?= =?us-ascii?Q?LtFdEHltSN22kIn4nGr7/Px8QxxwarxNsyTLFsDiTRYM6Qd80nSaNP7WUMEf?= =?us-ascii?Q?joiC8k+pd+M7yRUF4E3oCI3gGSR26UoTp+2t2EWZbUnwB/je8IxTOTFa7dAH?= =?us-ascii?Q?LghLpIJvHqmebvfHMVnhDIhhkCXSkuh3YIeJpUR2wXfxXxFAzz5uckKH2/IX?= =?us-ascii?Q?nNpzVFvJ7Wl0PoLeSOtntgHYbeQTo5Wj7wFl6idU4rUwUfuYz5bvU7Zzp2YU?= =?us-ascii?Q?k/LZC8GWBXMNamToSw+lMgG0D5fL2VW3LwBP16Lny3SEo0W5smmLYZbh7qtf?= =?us-ascii?Q?cSFe+/p2tDPLv1rUNnVQH+tiAjGYW280wzIKk/XOiO2h4xpMzznxdpzxuQM0?= =?us-ascii?Q?aYfs1xRrZ/+W+l7ordI9CesTRgX2r7ivumNiN9Ax1tcNgOMkM6HCSMvsSqhh?= =?us-ascii?Q?FUPgfL/OJGZQb9C6SyyP4xdz7GTCdhec78vCSmGEwEmlL8KUtM3KjD1gm/yR?= =?us-ascii?Q?cJI++4N0Z8o5y0JuW7BM3tPMor3J+4mBPcXtvdSDuWwhb5Q9yHWWiqXKwImy?= =?us-ascii?Q?TaHkuL4e1vE18bNKu5STrXZSl/xJEc+BxV4zYUbO+rRvDGyzicVxDga9amMr?= =?us-ascii?Q?ygyBgQ/8mMulMXm/3SHRG9IiP/orWJ87V/giE+CZqz75Q7tsBMb0Lhg+atL/?= =?us-ascii?Q?HZhSk0pP1/cqJXqcbuBA4XSnyPjJZA5OVm8H4rGyItAcjzPDInhFi6p5INdM?= =?us-ascii?Q?JC+6zfdiXEMSMM7fPWXdDglhBgtOhorOl0O8UFk3um9DPvvOl3ofW0V83eGH?= =?us-ascii?Q?39mHlcl9bwTbtdbwvYOLmFkdLNcUvZ3RmsRCh2rrs23fBSzpGcqDAVFgzetg?= =?us-ascii?Q?Fw2YqnLEIqAHdsIvZiqdgxuFjVAhTpw6RB6ZwYnSRpq6565Mc6N1m+Vo7D0g?= =?us-ascii?Q?zRNn2KMwpggsS4dvrJCTD/9qKJ+lgyM7EdpFxojaN5HTmE9GIdvOUSMp/Zdv?= =?us-ascii?Q?pqa6FAJP55XKr4pqigdPtnZgf1xlpcYSq?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0401MB1806; 6:HDER7Cv92ywONmeQrp7Ta3Eo2NygI68vVnqtxQFWFC2ti/CKZnqYsiWL2huEO7SfbLHAc1qsfzffC9jShNrroDsiZbSFhy9S2cq1av3CiIzc6Wu6gaBDIRGWLi7NGVftzSFoQbpSLX9tF0GeHHLGbqeyfzG252xdlzZHPLyRXaQKDn11E0WqBIEXmkITA8ImWuOA2vHm5eCL4gtHWcXfOzy5OxepGES84+Hxgpyo/Jo24lQ1tog6XtMnGjCTD1Ts5RKsU2kRC1MCigyz2xWIrr0AI+aDn2qTK7AuerHKNSyIY1SjjE+IuHg9nXpcWH0dO1BIOVG4ScxV6tzzajeGdGbJWxXQs/WHrrdk0WLzG10=; 5:6BNAeAA07AD64tBGcz+8ITRSwD4sKkRXdOAEdeQK/MWLCKOaAInqxNvk6pitxFmpgSG2WdPwc0wnhPcVK1Ull+2UoLo3yVz4A/EyscEUD68l0+8abKlPQ97G5DJFbct/vOHPXlj4WFJJDRYY+4Yssw==; 24:mUK3+eIL+HUDYk0oYHIj8rZk8RXC5On720bLVyeOKkv1BU7s1EjpQxxW+H/Tn1w9yK2M8foFYU/z/CH/LqfbaLNSIJ2lVZ7ZwWm04tQU/4k=; 7:tM2umh2B+wUGYY7+8Rw/QNx0zD/McuLQmYi91aplW8ZOgUZpdb83npWrKuGphB8+c4vAjr7Ak4BhW8ZE1R8AquI8YyQjbYKFpdEObZBIBFFcfF0eAymqv1UzCP4pHl+AiHgn1a4G+BOTVEDFZeRUsPm12nBNG95rYHeP9G5FTrxOB/OHj9nFv8tqR+zAdjeJwqzlmTq9UI8jvAMGd01n6ZCWeYLWdafyH568akcI/Nv0DaD6AhCmtcrva1m7yE0SkIirYMLBK7PM6aEr/8KZI1FRtF0TBzPM2h6GJVwInu0qOrF4XT1zrJsn89YOcOs5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2016 10:08:17.7488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB1806 Subject: [U-Boot] [PATCH] mmc: introduce mmc_power_init X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" In device tree, there is vmmc-supply property for SD/MMC. Introduce mmc_power_init function to handle vmmc-supply. mmc_power_init will first invoke board_mmc_power_init to avoid break boards which already implement board_mmc_power_init. If DM_MMC and DM_REGULATOR is defined, the regulator will be enabled to power up the device. Signed-off-by: Peng Fan Cc: Jaehoon Chung --- The RFC patset thread: http://lists.denx.de/pipermail/u-boot/2016-April/251019.html V1: Use a generic way to handle vmmc supply, but not let vendor driver to handle it. drivers/mmc/mmc.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 0312da9..c361098 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -1582,6 +1583,31 @@ __weak void board_mmc_power_init(void) { } +int mmc_power_init(struct mmc *mmc) +{ + board_mmc_power_init(); + +#if defined(CONFIG_DM_MMC) && defined(CONFIG_DM_REGULATOR) && \ + !defined(CONFIG_SPL_BUILD) + struct udevice *vmmc_supply; + int ret; + + ret = device_get_supply_regulator(mmc->dev, "vmmc-supply", + &vmmc_supply); + if (ret) { + debug("No vmmc supply\n"); + return 0; + } + + ret = regulator_set_enable(vmmc_supply, true); + if (ret) { + puts("Error enabling VMMC supply\n"); + return ret; + } +#endif + return 0; +} + int mmc_start_init(struct mmc *mmc) { bool no_card; @@ -1606,7 +1632,9 @@ int mmc_start_init(struct mmc *mmc) #ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT mmc_adapter_card_type_ident(); #endif - board_mmc_power_init(); + err = mmc_power_init(mmc); + if (err) + return err; #ifdef CONFIG_DM_MMC_OPS /* The device has already been probed ready for use */