From patchwork Mon Jun 12 09:50:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 774488 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3wmSqN6qxkz9s3s for ; Mon, 12 Jun 2017 19:52:16 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="EL1p5uCg"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id 95C92C21D64; Mon, 12 Jun 2017 09:52:03 +0000 (UTC) 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, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 34555C21D64; Mon, 12 Jun 2017 09:51:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BE2E8C21D93; Mon, 12 Jun 2017 09:51:36 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0079.outbound.protection.outlook.com [104.47.0.79]) by lists.denx.de (Postfix) with ESMTPS id 315E7C21D78 for ; Mon, 12 Jun 2017 09:51:33 +0000 (UTC) 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=u3iNcvEjOD8NSb4aN+cr7pzybnixFpc44ox+QTqtU+s=; b=EL1p5uCgkt7lWsn4XcDrRR0o4/XpVPY6Ff5TVYcwh24sSOmNkd7kS3WTbpaAFnTD9WiUpYWPhtyDYGrPfep1/kZ6V1qinXBAKLNIn9i44pRmYgmP7QlCVRLkLuPcNTYY/hvLr3LKlwrnLkvsRT9kSXq1AWXdDvnGAspFdt+YBlo= Authentication-Results: samsung.com; dkim=none (message not signed) header.d=none; samsung.com; dmarc=none action=none header.from=nxp.com; Received: from linux-7smt.suse (192.158.241.86) by AM3PR04MB1155.eurprd04.prod.outlook.com (2a01:111:e400:586c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12; Mon, 12 Jun 2017 09:51:28 +0000 From: Peng Fan To: jh80.chung@samsung.com, sbabic@denx.de Date: Mon, 12 Jun 2017 17:50:54 +0800 Message-Id: <1497261055-11413-3-git-send-email-peng.fan@nxp.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1497261055-11413-1-git-send-email-peng.fan@nxp.com> References: <1497261055-11413-1-git-send-email-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [192.158.241.86] X-ClientProxiedBy: HK2P15301CA0002.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::12) To AM3PR04MB1155.eurprd04.prod.outlook.com (2a01:111:e400:586c::13) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM3PR04MB1155: X-MS-Office365-Filtering-Correlation-Id: 206358c9-95b7-4e4d-60a6-08d4b1789a75 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:AM3PR04MB1155; X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1155; 3:P83vQaXAEk9j4SfXYq64y7R6JnghanZ0JRpMc5V07Kyvwesd0blHplfeUB6pxJFNV5k1YUcQe6fZYPQKNyZ8CSM6lR2ogKO7JJwBUujS2gokJcuEvCg66k2wp3QcuPPHWXse/+K2fGx9ZnX/GiSB2Q593J1aumJ7zb9tXE0oQ+5wXx8Dsf8WLW/yYVru6JgDOnbFkQIfPnjnBmkLYZqQePERSoGtakAbNKcTExYyritKNm7zOFPvRden1+CFRV2+gMpJgNUc7ZAtVetsqHfdevxJsZ2xid4lhN//NfNTQGMrP5t9J97K8eTFrVj048FJDEXGd5GwVRULehhrB9lNABvlOVKvKlXtm8JVmIf8LP4=; 25:D94CA/yHX9+E8VOl0ARYWJBqhvXa4CtY18OoDCN7XsSorswxLGA3yKndTXgwDEJedZSdIQB3+2hGx351AyvLt7XPFe9UIt1EFVUM1SS7LFRziANib39UdBWvzcSouGDiqozR8mm1DiLCu9VRzzeAUB72ECiarwcjHVJH9LzuIH7v+VQNkwzRtCY8XkcQaRaXPOx+NAyVFeS63IxdYm+o4lm9Z2HX9vWPUVj8r9kZGMGxp6W/WDWE41Nj9n6AKYqlGZTue+OHXlkefkdXY2MBHNf/TmclsUa4yianBaY5BP/XQT5LfcemQSJH/yacswbA20TJnTiqkpxkrsktK52UaXE/xOeVIpaxdk56dSBXqVFKEzIOuXWAM/gahk6MUvzdnye2hqgHABUNZb17105TzjffZy2NqdN3221cd5p/W0+2EVeJhtk0CrRGt5OELagNk3910RUT1g0wPm1Q1P/vUzivsgnjyPUF1SjuuSMhWhU= X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1155; 31:sXTb/yplXhjfxgMpKIgZfGe6imRJA+CPd/1+eQMYvRQytbRACtBum8/MUa8YbYj2WTR560x8Wr6LoXWIeexsB1LoIXVgKdueywXlJ23Xi7IVnfezWqbYhOPiLo/YfY7XN8cgEt11ZgEgV7Z15Ui1ieNuNTZy1Oq1rdogSCWc+Aco1T+ZUm1JHOMlbuVyY85XxF0LFFPj9FGMQdZLyiMwOOeBNLjZkNGfLz3smJTz/nc=; 20:glif+EnL8ExlGGtUdBQRbwkPozzEWY/y1JoXsFyjs7b5hiwc/VtaXvLqgExSr1Wk1L6csz8R3r82GROdiAemNC9cENZfVBlYPxkWuHRjsMfsRVdt2lydt7niciU95gIZlDrmieKhv1enLrGrpFXafQbwPs/W1cTv94mhCMXz5/zI+1fZyqq5ydCGMAwqvjxsMTWTAympyHQ5GQ3jPgjmFtJuRrD1OPEwDoEl77yRVRrRkHsmkSVlfajZmwmhhuKszZEkngQylnuRfZYWcgFZ8u1mOArqkN9/Pa98r4myaIo48Gn6q7FvKlWSibedvcW+sDii/sF+hwDqmPg2eVtZ4NjPydZqvN9cxZnl+V081Y7OvHY2MS15ZEiUhMCCsZ1IVk8mPGymNbskVtOnGJRT6mQWCT7fiXMvNMd13NnvyHup05ejGyW1wP6G5GXCanBMWfqiAaocmpfhkRI8e6o0C+0vsf0SK5Ad0GBlN1T84+wBzIHkC6HUNmCPSVm7Xki6 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(7411616537696); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM3PR04MB1155; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM3PR04MB1155; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM3PR04MB1155; 4:vguI60yXIk/BE491R4Wr5Yb0TMNhOZTR97eeLWVpGf?= =?us-ascii?Q?+SkA/Zq3I2LaT7Bkjz2VgZdPDzvWDmMQQKCF43RhTU0D3oriLyLJ2WU0ZMNy?= =?us-ascii?Q?QS+0TNiH2bo6D6NhKJFKnwY+BqWLQ9aQCbXdIn0Ve4N6T6mnczVdparIFjgc?= =?us-ascii?Q?x675U6q2l2tNHHorKXOE59SZShHsAoSOtKg/sOYz9c3wxzEQPBUlY9PtTx5j?= =?us-ascii?Q?J7IxTvCr2dsDTxu2gVVIYaBWV+oMBXQBrmbYoGj+n1d24W0iasjlWhYPrWen?= =?us-ascii?Q?zBeRMZ+Z2aHHCIWoh+I8yJ8A3IZIwc3OMpVoX3+uCn3lcK/6Jme315Jjzt4c?= =?us-ascii?Q?JABzJumRzklxBmKRWnTeERPxv+Cq8UdhFkYpkGJJwgmWDzlMRLWfBFCxSIMi?= =?us-ascii?Q?uRzkBS2VQmAFGDGP5O9KvEWvwOWUDATnIKc30Z6dKKavrKiLRnJPFqLoFCxA?= =?us-ascii?Q?mKZZmpK33mua9bhZw0flotVJ4vmE7QQ9KmsGp6Khwt2e7OvduMdb9bPfuFYK?= =?us-ascii?Q?isDczKLmv9OQuNu1csffLiDmN1Xb/sHmf+j5qmcQ8tTnd66CTXv+z9XubPZJ?= =?us-ascii?Q?yL+8oCR5L2/eXZsKu7zhLEfiFEgJW3W/T5dD4NHpu6/3BcODgHWBXbqmqqhS?= =?us-ascii?Q?Qt/x+QAhsAsJ0BpBYl6rTV0AOPspVbFC02wVdH35h2tNT4xeEdZROD36Slkj?= =?us-ascii?Q?X5kCnY2cGIAukqHqwvUg7QR1wUUZqto9PAWcJbfXjAxjZKO6NdtGXVh4EdL/?= =?us-ascii?Q?wI21/L8NFv8BwRwKzIVL74dSWoexCyqynWqNLop9+nFXnmceH1f1h0ZIKRpn?= =?us-ascii?Q?O6gPmeJMrqin1KWXQE9FS0+0pzy1SioQutf27+Tn7MQeHzNPyTBPoHlIZTB2?= =?us-ascii?Q?iTyNCHUf/EgSefAvwwmn7SgMYxHlr6f2pLTPomMAxj0suu3r8462i+YhNYHh?= =?us-ascii?Q?1wkxs6FQhfRyPaT3IKrSRwQG5Q5/V0NuiIjoIxz0BsqUNz943gs6vp7x7Dvr?= =?us-ascii?Q?ddGZGrSZihDCO3kA/j0Z9UgZvGm9jtqiqmG5vnBYaFAn6OLAnveLZlAY3nYb?= =?us-ascii?Q?yp7QtMxSbfBeyazVqMxEkLhSWYyNheGGINjBjONSpHgKEKfJmGpoxFkIrIQF?= =?us-ascii?Q?YmJTjfeTBTjEK26+jTM4yJoTEEdGpXRK3qCAfMAyikqget28HHoAH78nMojX?= =?us-ascii?Q?A9mLss+typdnLOAtfgqdOJhfnX3twe4w6z4UDj8iJO1bckeFTBM3KIiu/1G2?= =?us-ascii?Q?vp2aZLsBQWi+MGvec=3D?= X-Forefront-PRVS: 03361FCC43 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39400400002)(39450400003)(39860400002)(39850400002)(39840400002)(39410400002)(33646002)(6512007)(2950100002)(305945005)(6506006)(36756003)(6666003)(5003940100001)(5660300001)(7736002)(3846002)(66066001)(53936002)(38730400002)(110136004)(8676002)(54906002)(50226002)(47776003)(81166006)(4326008)(6486002)(2906002)(189998001)(76176999)(50986999)(25786009)(48376002)(478600001)(86362001)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR04MB1155; H:linux-7smt.suse; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM3PR04MB1155; 23:7bzWZwJoM+1+0qYQwbRgqLsvvtCWNWLcHe4ItvDVF?= =?us-ascii?Q?FtxQy+zRv6QDpKM9w5cg4thItb3+vVBK11A6unS+xd+HWhzM2h14Lm0Qh5Bu?= =?us-ascii?Q?NKQ7OGZacyPEeTfxKOagk8pcmoJoh1zyxEhPNgPUYBcEdBA4QkxG8hAQ0Ylj?= =?us-ascii?Q?s6Bsgg5jLKLHIt9NqCVl4MXmcE5ixM0h7fxk2GEZig/xUaUSlER8iDgDTOL+?= =?us-ascii?Q?lfzEJUqKZZyOqm0aZ33Ndt/MT/bCykOTF6zyy6rU0pEicVwTiyAkm/jqrazj?= =?us-ascii?Q?B7OaNRX75rHgHruma4Pm1v595RZJeOmiXh44xKOMQEuIQl1wargnpYATRVOq?= =?us-ascii?Q?BshE0ECalaBIYlS6g1kXyVpN0RA8NwxalS0GmT14FoFAfA6wIhmjcpiTrg+k?= =?us-ascii?Q?UHOMTEe9uaVvSUfV2oRSJOEF3UPi0upiPgx4n80Es6+bNa4bRb7X38z8TIgV?= =?us-ascii?Q?1S3KeszItpBc9+1GJp93gy+kY6EgWUO2WQiMe0aP/HFQSagVvnEuz4/q5zeg?= =?us-ascii?Q?TDA93GtSDQpL0nSVQujqyZe5uZ06omZWsstAoC4pugYBDCi6eEmp4NRvDXNx?= =?us-ascii?Q?SxZjc3zDw9I3iuyPmIXjlJq5IdchF0/qZv6wWt8AKhCVxnUWJ3u/be1gexOg?= =?us-ascii?Q?6r4DQlZ70gR/aNeVi7wWJ2WJcizBghXFLZe8VGycd3GvsqzuLGqmg9mwqubv?= =?us-ascii?Q?vADpmC1EpsbSX8gt5wTh0yAwlW6r4jVCZaj239EuBRFzYcy0pjRIjJVg7+li?= =?us-ascii?Q?VMyV0VsFairqnjLppnciC5wEcj6/frXC8iSyPDNNLYK8XZKEWfn0zNAyUA5Z?= =?us-ascii?Q?A8g3MfpUD2WMqJuV9yZkHiQ0VX16pSs3XHzhii12YSYDv7pchWr0Ta6DwSMg?= =?us-ascii?Q?PmkZE6kgzEDro3YFx59uSBRhqbQJ8/UKhid0S+NBWO2cuKXeqXwmZawCpO4b?= =?us-ascii?Q?6FT6bqRdKxdupPVIJfSCKbrsO0gd1XsCmn+szOti2r0Jau6xswbZfTm3uzEJ?= =?us-ascii?Q?7D9pSLd/zrYLb2IXL6P80ka?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1155; 6:4k/4y9SPPeykH/roi07aoSHK7XY7aseY/8tK36FlU920tY1PIHbhSOlAGgLs6coZ+5qZXgFaa7MbmfmcG84/h8paPW4fASOmr/+diT2WvQu/DkRz6yAVq9/Z/InXLDJaIsJAa93zc67KAIpqM6pLp1oVyeIQb1gpNCb0VuD+IlTnarbaxiruI2PFDqqEougeeUd73Tl0FgcAHCv4RIBUTyZDMuO8KhJQSBJ8gByHv4vOlSjHvYQLFrG60NwCqjhZPNkXpXbVLp9BQ/zSasznu6xpbcSKau4nLQfoLh18YVYsoCp2lsd6TqMhgfn3QtuwAC2DsCAwPZQ3zF5ZO8rniU78BJnsub9He7EPngpjuXxpmnTabkO7tOaPDA6xmzyb1DZwKkcY+N+PHsM61rBEine4HGpXIPjx+6CDxXYxUfO1WVQTf6MCdl8Rvmw/Cu3dWJ27hZZL8pL9o7MuNjzHXKAWBxbLXQGYgaozc/zRYoatIhYQj2oHbytnNr3Cvo5dyM8pVyyxjat0yIp0AvFjE3peFdjBrJMIB+t7S0Uw8vU= X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1155; 5:wdOsU/NijWRHBD41te+4yvO6jDsaCoBwXuD34k8wm+faGunx1zxgzYs/7STZjiVVIb1i4vSRQJN6p4KtWGtU7yeXN5EcSp0g3VbxYJTQ3FWfSjVQeIe1chF/NNGb+zRg0r9kKv1JK9vtYP/LbfTd17JZJO8wQZWjjBfKN8+C03NzIvJq5KgpUAD4awnFqzw0IDfqXmr3Fy+oDAl0IxdGjZVAUNo72SAcn5qKigx6hs14IyqjYp7poWp1PC5bGOSJwOOnou+vR9lWIwbQnJs53xxhei0/7W9MW1cHzXJNiVfEmU+6SNTZCCtdGNs0wusXCRxvvCGdqlZQV1YZGDyLGmfGaGtEGX296mhjNVOmagy1B7+EUCGA96l/vUhoYo79GVIrVcQh0CkBEPeY1I0wh0rMNDRjyEf6pM9Gk+S3U4IfmUq/UTO++uJLp168a8VcwWAU1wV1ZHFJAPENa19Ji0BmKiXG1B72V87F1PDE7B7d/4jS0HhOUrao9jueg8G4; 24:OcxLTJrJV3YTwBDIQdkSidYMgZsE2SdvccFj4iVSBw5IU8v/OUDjLuZ9HB1XJuz13SzVi71iXUA8hfnPyZuRLdPI3F/zvLULADiVuufeyqQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1155; 7:2croFZnRFZIKSU8pYWT2U8uDM87DZ/RD5AJaKPDu1rMruiAFTnPmMBbWL85cHap50aSXhQjSpIOBFHzsG5smoYnwkd0VzrI92uTUYml8RcCkskIlrA8O/qoc9cWTA9LolfHZhKzWvIqDtskFZGprO3sWBCQrtRYUaX6zgh3r2JnFijLjqiNC1kmOwCZRS9DPHIOy3kHwWkz/DSvzXRYS/mkhQHdYc6b77s6wxEZZjLA4c2f5ZvdQVy3YmeySOlB8g5LvxwiAhVp6LZbY6+K+TV/hL1pL3vYEKzYXaIuvl1WVSGVPDA1vMM5SjI1PTAYQLj1pZtFM6aZ8Dm47PQ+h5Q== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2017 09:51:28.4666 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR04MB1155 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH V4 3/4] dm: mmc: fsl_esdhc: handle vqmmc supply X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Handle vqmmc supply. Some boards have a fixed I/O voltage at 1.8V for emmc, so the usdhc also needs to be configured as 1.8V by setting VSELECT bit. The vs18_enable is the one that used to checking whether setting VSELECT or not in the driver. So if vqmmc supply is 1.8V, set vs18_enable, the driver will set VSELECT. Signed-off-by: Peng Fan Cc: Jaehoon Chung Cc: York Sun Cc: Stefano Babic Reviewed-by: Jaehoon Chung --- V4: add review tag V3: Include regulator header file, fix dev_dbg usage V2: none drivers/mmc/fsl_esdhc.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index aa08102..5e320e0 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -968,6 +969,7 @@ static int fsl_esdhc_probe(struct udevice *dev) struct fsl_esdhc_priv *priv = dev_get_priv(dev); const void *fdt = gd->fdt_blob; int node = dev_of_offset(dev); + struct udevice *vqmmc_dev; fdt_addr_t addr; unsigned int val; int ret; @@ -1005,6 +1007,29 @@ static int fsl_esdhc_probe(struct udevice *dev) if (ret) priv->wp_enable = 0; #endif + + priv->vs18_enable = 0; + +#ifdef CONFIG_DM_REGULATOR + /* + * If emmc I/O has a fixed voltage at 1.8V, this must be provided, + * otherwise, emmc will work abnormally. + */ + ret = device_get_supply_regulator(dev, "vqmmc-supply", &vqmmc_dev); + if (ret) { + dev_dbg(dev, "no vqmmc-supply\n"); + } else { + ret = regulator_set_enable(vqmmc_dev, true); + if (ret) { + dev_err(dev, "fail to enable vqmmc-supply\n"); + return ret; + } + + if (regulator_get_value(vqmmc_dev) == 1800000) + priv->vs18_enable = 1; + } +#endif + /* * TODO: * Because lack of clk driver, if SDHC clk is not enabled,