From patchwork Thu Jan 4 09:40:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855510 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="MW7Wk1Qs"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2qG6mPhz9s72 for ; Thu, 4 Jan 2018 20:40:58 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 955C6C21DC5; Thu, 4 Jan 2018 09:40:54 +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_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 A4AA1C21C2B; Thu, 4 Jan 2018 09:40:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B4B2DC21C8F; Thu, 4 Jan 2018 09:40:50 +0000 (UTC) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0085.outbound.protection.outlook.com [104.47.34.85]) by lists.denx.de (Postfix) with ESMTPS id CAEA6C21C29 for ; Thu, 4 Jan 2018 09:40:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=QcoOUTEi3PKvFIDQ97qRWufNUMEkuHbHcjBxqtc2dVg=; b=MW7Wk1Qs64VcWrmSoV0XMKg9iwXKPpjx83GgahTC6LkGFMgZTjTngoa2PvVLDEXPXB0TU/rSr4XfO3tYlq3YRp2AAjTVVqtO9goFSnIRXVFL7xxJ53kzk2W0M9WKLgm1FbypQESQxO198M/PHUyMAcXMZl6GUvk0vN3WfN2kHiI= Received: from SN4PR0201CA0035.namprd02.prod.outlook.com (10.162.76.21) by DM5PR02MB3388.namprd02.prod.outlook.com (10.164.153.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Thu, 4 Jan 2018 09:40:46 +0000 Received: from CY1NAM02FT030.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::200) by SN4PR0201CA0035.outlook.office365.com (2603:10b6:803:2e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:40:46 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT030.mail.protection.outlook.com (10.152.75.163) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:40:45 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1eX20x-00067u-W0; Thu, 04 Jan 2018 01:40:43 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX20x-0004m3-Te; Thu, 04 Jan 2018 01:40:43 -0800 Received: from xsj-pvapsmtp01 (smtp2.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049eccL031084; Thu, 4 Jan 2018 01:40:38 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX20s-0004in-1L; Thu, 04 Jan 2018 01:40:38 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:38 +0530 Message-ID: <1515058844-16007-2-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(39860400002)(39380400002)(396003)(346002)(2980300002)(438002)(189003)(199004)(50226002)(51416003)(63266004)(7696005)(81166006)(2351001)(6916009)(106466001)(305945005)(2950100002)(4326008)(77096006)(8936002)(5660300001)(48376002)(478600001)(36756003)(9786002)(50466002)(356003)(2906002)(106002)(54906003)(316002)(36386004)(76176011)(47776003)(16586007)(81156014)(8676002)(59450400001)(107886003)(154233001)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR02MB3388; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT030; 1:kcIQHFquE4ATOiE3QSSh+lCyAeUwQNtGAo9uJk25+o2xgJyl0r3wy4FgTKhqP2CyW0/rwlVTYY0GY/76pRKA+cswhQbkr3e4PFPAIEfy4+OWpnA2R9bTA8CRYStxuPkz MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 478c466b-dae4-4f1f-a9bf-08d553573aec X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:DM5PR02MB3388; X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB3388; 3:H+SR9jyuFcfmHMtE8K76n5d8GlPCk7Ssd4uWsm9yg/yCFKPJk0tbpg5d1Zw85OSYFbZp58eI/zZiOprPUNknd/4ChNjWKMaredML+mCsgG7zSxzJ4fQtmljR32oesXal+fXovCD//as/2IBHQ5T1CXp5cHZ5ExqQ4ja2qboNlAgI9bOlJ5o3y56Gv8EIXdfTBTlYtZc+goeIoS4D6dL5SwD2s/HKnvYW+uD2Wege8perpGYQJ8mUlT4ZaKUFie95tkRe3y4FuB3N1GrSkl66mCSjDc5nQxANZntrZiiPXdF3s1X4otluOJjGjIRppyUCl/ZDkE5szCNsSmZb/qjMrWNIML/MhYsartq8yoCuLS8=; 25:UN58ECbB7MByS+Aj8UveoxMvfyePDvKC6/JxjQqM2MBBm8sUW2VZwQWI2qtX8rjZX7GunIqGosUqPhaWCgWoxqeLaEhmcdRTQmih/DajbDuvwT4uhh7Nmc2UBMNvdswtdDCAYfVEhtjDtSWYG866CHUFKl+Mrkjp8hSIEUYkIpOyh4weo8B93uwPJIm+mixcrOASFjxVP9ymZpCQa0RxstT3F3KJ6yi4U9MAPqndqR569iOxIxuUaaER3te/YkbHWnvIKqhV3n02BIRKO09Yny9DHURY3g/mdi/A0mycB8RD5VzUOt01MtTwrqDuv2up4g/ZMKRsLN7fRW3n7ig5eA== X-MS-TrafficTypeDiagnostic: DM5PR02MB3388: X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB3388; 31:SpoeWgfDndx+3Li14tAcW+cQPLQdTcJ/AR995W4F3GC/lQynNBFt83GQWFC3i3dFQnRAIe+d5Dj3IdVSA6OwSWtZD6XdKbWAdejOxxQsnHcKdfmKt6zLcDwjCbTMYeANm4d8WFJkMvMR+bjBCRZVokF8auw8bWE4gG7vm4DEilaeUzKqeRTA0u0aDMeFbhxQkNaHn5ndJmKAWFIdxRvtGp+v5VC2E6/xfYc4NhExIm0=; 20:gXjRqcFyklUcQ/Hwi5oBDJmLnl8/PJFBKrtjnlOCikSor+MkzanVpM1D9lqsOZCXjstlefkxnZUnCq/MsfSvvJbzkNhHtup5UGarSnfp42XsaF4AztZp7BCbpcrAJid4Z/i7iVVa7P3hDVipeqRGeNAKy5Tl5F2fNCHs9UQUWUvv9qFtydvMefKbIcCEMRQ1FCEKxZ2YPYCJIFbMFNjxQ9Per5hSiwd63pI2qAe+bBsvmdghjEgKg9QG2tFYVf4Cc+qh1kKH/IX59bLVQX5LsHpSpQPIpINhmL3FPX6leca9VlHhRqCifKpLcPoLP38Icgmj0+a4SmZX2EXmufR2/B3BA5mMi1IgaLUoGWSatf1rneb44DOEXKQJS7m9fEIXBQwaP8avbtR36IuA4H/B2m/GVL/+fc223Z5ZMJaKWNs9w55eNz9kYqg56vL1BfMlg6K57VQbtzRCuibQZtz3yV7sQ1Xsg+nt5o5iKAsRK0jeXf5P2i3jcaUTJMBWlwAM X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93004095)(3231023)(944501075)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DM5PR02MB3388; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM5PR02MB3388; X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB3388; 4:ZT6G1IJzoZPkYB3YZn6xTF01AA9nJh2Yv6eqvs5jZDZY4B50BK1yPVJLGba2Gb6US40i4T2EsiNmqq/4d7T8UXd11ZhChCYtFRDIYoAbRjXYHoeCGGxqUvA2Zfe/Ps/ED/h4VrZyVwZWDUb+nuXKs+j4nUE0SX7Nz8L2SKQJRo7OP8r5xKBwFQNVuxM2ncapc3YVnEnEWamynw2QTZGZjs34KUJPeaI1xSSBMOCjZSl6jvJP3++rTuGHUkHstPIggOnoUxRJBU/tNu7m0PYr14E8zUy+OYvoxNH/iwDBW3S89exSqGeUB/99I3IcNTgU X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR02MB3388; 23:88o0YC6lB50TPLqsR+nrMVCjhN5+k7SZZsn2PXgoc?= IdduFN6uomzOsMmN+W0sTGcelJjo4k4KFr0bR4KkjaX0sR1tM36PCk09LqsuvUS5E2WQiJ9qxpaq4vT54HiVlYblVeq4P0/M7R0PgxrVtxYGarGrtgA/bJxf9JYc5t9aQ+S9FtlFut/mj9ycjAXbE6HNcWqdIRKpRQnmqVNqb0LhO8K4qiIDXdjI5qm2WDAd8wzh4G0zxmwF7YUAPHgIzJx2uG05WYBdfoJdxb/NhsucJibtIJOeDw1r2Z2/eiPWZnAjlMldWv1TfTOujBGU449Xx8KB91Rp1yKlHyGHSi/yycenjEYlozlmv/CovoIC9SOVfpBOO1jVv+oSiSMh6N/6MxaXfDW9jDQz2/HZ6D51wnbLXCgDbGAJkCqXBPtV/oJzdDa8qo20sPTyr8mS4n87GJc4X0Tzfn3IRio0aY1BmPMAw5Nvqzmp/hnoDYroBQwyAoSLlZ2Di3E6Yk4y6QiInqBSd85eRd7MtS11A/JaeAb0jJ64FJWEGnp5S5KPDmORVDBadWu1e6nvcyfIIgGBp35SAvnOSFrEpfj6lxr64QVp0VYM8B1pv3KDO9hRUkw7f/BdYTd9L03F41S4+qgh/6u5Ybf4Sr2WWROVb87CXAzOOGJv1cYUqX+pYhTBn4sW+ibPKMAgmc3JwGHvVrto6XjemRL9ENWcSLZftUJoPMAx4Jf/PtJM2dSE8KOq4nkrz/bJMAnshJSMFAvy4lFV/pWJvB8dVE6S3sqMsjFgZ8GTcheKHMH9jG9CEUHvFx8abFXyKD8o9deZfITHXghtxnjr11SAz0M9pNEGjLJoJ7w6bRksyUgaXVLSCe5RMQtXVbUATO7BBXwWd66N9nep6i7onFWOcZ8MPOi+/gfaVFqDHh6Jq/dPC/rNCxTrGsxGHHXgY3+BEAVL+MwZImx+9JPzOavUB6uS5Tze5p78Ixbal5S61IT2JFb02OO8w2dhjJ7dERUJr6muZVxZOw9U1sceU96Ay5R21tD7cCRwg== X-Microsoft-Exchange-Diagnostics: 1; DM5PR02MB3388; 6:0aevFWs611rWWheA4Lh70r69U14z1AyKNC1jnoGeUmsTSVPDSez6woyBe1iQg0x+uY5I0fUwK0JupROv6LlFaUYNqXUAP98Zl5uHG06wKDDCuwTT8FzN/7GxIPo0M2Uy5DJmKlDvwE5zStLpy7f3N/vgR4/uTJHfROuGKEblXr3TANcb9k03RCAA67xkoUmxcLrSIscZWLoJuKDFOGJmKqJVMD2LDMfpZixerRLTlVD53jIk4OZAD52kBvnQhIBgpXKR9F0R1gKF8d4BF+nAd7VY+zvb9LlnzSCTjI/lXt7j8M9a43hHuaepmaRtdMVkrVlR+UaScBUk72rGRCTtdHXUzLhqSmHDoX7vMBTGrMc=; 5:E6yHWo5wmlYzjz3+fZo7WVihSdlNt9ZDgozXGwr/GGY/REix2zuozpXPEnpQw62LuskPMYtaZ7pFteSXL1j2xc6HRw3Dg4Eb2StW6CgLERULKyimN3FdXd8YipIpxp/bCaZZDGr8bPpzOmzDhaOpOzSgd4Rkuxko72WzmzIn+C4=; 24:GaHoyRraFvz9y8Ucy6L8n5y+6DMAblQBQxLPmty/dxyjJVsYbGgbGI8XwHjejVWPOwoLNZW/f1lAIK4TafAkCuBvGAwT5x4eN+MCHvAS4CY=; 7:uQB6Z6opQ8/E8lcEbEQg01trsFQacYcM4DqPzXbC/o+QQSdPIm0oyhPQDj9yopme+FK3LZQbkCrKnypoOFJJHhZC+xUfCyXqn8kOejQ33LomwuDg98z+bq5xKTVsZw0apXc8j3W8lLG27zef/g2be0QnP5NiLQVzSjKX5iRVBZtjprsmbM+T3WFRNM5QDsyqeAeRoABI50a9y7Lh31ZufnQxGAXgKms7etqId/CoLL7eofvpHLK+Df5DA+h5DvWb SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:40:45.0516 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 478c466b-dae4-4f1f-a9bf-08d553573aec X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR02MB3388 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 1/7] mmc: sdhci: Add support for disabling clock 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" This patch adds support to disable clock if clk_disable was set and then enable or set clock if the clock was changed or clock was disabled when clock needs to be enabled. Signed-off-by: Siva Durga Prasad Paladugu --- drivers/mmc/sdhci.c | 7 ++++++- include/sdhci.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index e2ddf5d..2bd721f 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -437,8 +437,13 @@ static int sdhci_set_ios(struct mmc *mmc) if (host->ops && host->ops->set_control_reg) host->ops->set_control_reg(host); - if (mmc->clock != host->clock) + if ((mmc->clock != host->clock || host->clk_disabled) && + !mmc->clk_disable) sdhci_set_clock(mmc, mmc->clock); + if (mmc->clk_disable) { + sdhci_set_clock(mmc, 0); + host->clk_disabled = true; + } /* Set bus width */ ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); diff --git a/include/sdhci.h b/include/sdhci.h index 7e84012..4fc4140 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -259,6 +259,7 @@ struct sdhci_host { uint voltages; struct mmc_config cfg; + bool clk_disabled; }; #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS From patchwork Thu Jan 4 09:40:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855516 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="OTnSYWsQ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2sz3vpyz9s72 for ; Thu, 4 Jan 2018 20:43:19 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id EAD9DC21C2B; Thu, 4 Jan 2018 09:41:51 +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, 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 035B6C21CB1; Thu, 4 Jan 2018 09:41:37 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 4DCB3C21DA9; Thu, 4 Jan 2018 09:41:03 +0000 (UTC) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0081.outbound.protection.outlook.com [104.47.32.81]) by lists.denx.de (Postfix) with ESMTPS id 33F2CC21DCA for ; Thu, 4 Jan 2018 09:40:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lHi+ghzoQgI2t/tiZhMcRy3ytIrnSxQgQZcbECBuEzM=; b=OTnSYWsQ7hsFW7tRjYjj1i9sBoEQJmx+AFo11pdIEggBqCuC/icacwQrhfBv+zsAbfQlx55RuxZy/0jEzUz0iExRTM+s3o2Z+roRpPGLjmA7BP0TfS4RI72UsSQ//wYYXP/qN83W2HoLH5vST28rdJOexgYaIpa8hDKqaSdS2uI= Received: from MWHPR0201CA0094.namprd02.prod.outlook.com (10.167.161.35) by CY4PR02MB3384.namprd02.prod.outlook.com (10.165.89.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Thu, 4 Jan 2018 09:40:57 +0000 Received: from CY1NAM02FT050.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::202) by MWHPR0201CA0094.outlook.office365.com (2603:10b6:301:75::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:40:56 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT050.mail.protection.outlook.com (10.152.75.65) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:40:55 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1eX218-00068W-9Q; Thu, 04 Jan 2018 01:40:54 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX218-0004oS-5E; Thu, 04 Jan 2018 01:40:54 -0800 Received: from xsj-pvapsmtp01 (mailman.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049elP8031123; Thu, 4 Jan 2018 01:40:47 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX210-0004in-Pj; Thu, 04 Jan 2018 01:40:47 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:39 +0530 Message-ID: <1515058844-16007-3-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(39860400002)(39380400002)(346002)(376002)(2980300002)(438002)(199004)(189003)(478600001)(8676002)(106002)(81156014)(316002)(81166006)(107886003)(8936002)(50226002)(9786002)(4326008)(36756003)(16586007)(54906003)(2351001)(50466002)(106466001)(48376002)(63266004)(305945005)(356003)(2906002)(7696005)(51416003)(5660300001)(77096006)(76176011)(2950100002)(47776003)(36386004)(6916009)(6666003)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR02MB3384; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT050; 1:9l9NnIWjBb/UiFUDedDZUVcWBWijJLrA1KSWgJXTRXbRvwn6I0rbJKEUJ4acMQocsPuoW8t/PwW065uZd8fnKvWcq5pRqR6XVfyD9JRRCKN6CqRski0G1vzd72LIbA4S MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69e36e3b-54c8-4eda-d815-08d5535740f6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4608076)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307)(7153060); SRVR:CY4PR02MB3384; X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3384; 3:Axx/nOR6YhM8lCaW6q5d0L88H1aomqMHM8YY7hx9dTV1cA5eM0a4xOM5uWmbGTNaqsQmaz/hnwoBNw5r6p+4hvjaDntt1yiiK1lG1JMNiUUDSeTWqqas2da1eBOVQpKDkxSdOrUL/07njIxinR5ZwUmNCRAzlt1Div5k7VV/ARASKa4JI6NIvc16ItP/w5ehClWTc7b8v8yTA9EHh6ljVlMvTWRH76f5EMf8lVlZrDj6cN/xgXRmUMbFj6dZUar0zv7eU0smTzAHumQjzOzpYj/WPFjnf4sHJAv+bZGZhaKhbCjti/T6u7L2Y1DfrQyI8zd4kgTeVtilzgQLAnnnGERniIuTU+vP0Ymqf+KAZrc=; 25:HlGeHISh2owpnWzCvici45MxTnkIlqxLwYBttTDpeFMCU7xEACt2+3EjZOM96G2brBz6W5l/UAMo/8jfgjIkbrvzX+qB3/SyOC16EnuQGumePh0Y0E21R1BWohrSpmg1/0CJGJNxwnG9VnpXOrbKcLM8uLSTRSQB3/59MU40QivuNKUY0rqgRPdqWQyn4gKw36XNqQhSMz6OBRAabsKWeTqc+DQZIx33kqbu0MVtfJlwiFvY9+vYmHXJtfAu5sFtjrDILHL6poUBdRgst+/CozOvjW3f31HhYLmrquvToP1hDvTE0HL4J/YgPxjJiaeMV+2TCp4MWUABfFXoDH0J4Q== X-MS-TrafficTypeDiagnostic: CY4PR02MB3384: X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3384; 31:4rdc509/m2pKHKxzDZJOvGB7Ees4fVvJ8zWGbQU5nBkR2O5DrrbkwZUfsp+S0zn287K/3rKxzoJwaU7IVAN3CpKNtF9/XzqvUcW+NviE5pJhu864Wl+/vSrmeHhHLYBqdvo3yJ5oXoZdsHKCAf4FnpraYEZd9BeFDJ7+c598J/77pS7yAkzzs6o18Ip8i8zCBL0g2RRe9DJpDLsAKfyYP/Syyoy+5leR3TDR3BhDsX0=; 20:fYZRmtaQo1gWUdPm0UcxHh9tOKsiFLfbWFIobtnBw9d3+wqYacWjsnzPmKHsV6FOLBJn/JP6CxqxL1zAuhV1tmw5RvSihOO5BbjoIhru+4/pszt9UW1yBa9WpVPsEM0YUWgZo3o6dQEqIRiV78rEMeF0zlKXMC9NyJeLIirZo5sM/ahaZLU3+UjDdgdQdWDNPnQSkXTjMzUUe4Hy+PNCpT7OmxgITpc90BkcYUo4ZHbU5xXIJt195rUMDuc1E58B22Q4QYlYLr/DfRuHz3pHMWRQQ1JVMaM6Cc2u+Jbgc2VVOOFo54+ea/9l7x8Ykz0HSMWNg7+h9ceClbIhrTor9AImCttygQ+avMMBH8LnKN0loKJj2lg3aw5wn2q05aCsVdm53VUsJILz0/VUharuYQYIksmheR4RS98jZtFQhQnWIQ2W+y7tthiPZ5w32FuqTPb6JBzAopUcTeIClBU4NymAHFs0OVUVyY1rdKG+8S+IQuemAfWXHRTW+BAGDfFJ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93004095)(3231023)(944501075)(3002001)(6055026)(6041268)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011); SRVR:CY4PR02MB3384; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR02MB3384; X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3384; 4:7KpbnaNv1L8o9jyMvwokBct4HBcdEnHjTVLuGkf/U/jKTD4BwICIraJEqBidXrNNBblrXzSmEmqZLfrv01HA4euojtEYuM2FsW8bIhS1stnRahhQYhpvu47eLFip09Ap4HMxg1roXHLtDmJM0G4kkfFSgM3QCm0Y4K5u8+lV90C3vIRBIRUf0xfWq0Hqf+Pl40a4K1UxxZfgnFBI7fhx7u6ttLfKYkKkFQu7pi0Y13CFrXrbX8vPpET/NBSXMRzLz5P5RWxe74tlOwuefvrg10ply4WV0u8nl6Qhgk2H+HwaShLRcvKSuxJ/Kpbthvj5 X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR02MB3384; 23:as2odAi4yOP+V6RPaVi85e1xH4E0COykN71oV2vPK?= L5z+1BxxO89NGG/v4NEBxvzDnLdHrwmLTB9Mg0IT7CfqHWWqSwE/my83FLRZWUNXwGEhXnpZzhFRH531GSLkHaxMFbW4+GZrkhqql5vYQPbIusmiBg7hoXu+k99HmZmjyb3sL2k0m+0EPOzA2YilIeCrTQDMfO5JcQe/rryuoUwoOaDQyAfPbJA1y8FLJB9iK1gQmgQYdgf9TQT75wrRRYQ3o8VYGGnE0SNwA+6GQqCRnrAW6Q6FC258YDWQ3SKwSnVPIM3xvY088kB+vB1evx5YGe5z9TU58ecUBMZWxDzJWzym37EpStauN/jyWeKuhDtWjgDQH9LQqYUHrTP6Uu7IcQJHGmfd9TUR9qIkGIqxtAeW+WBeyORFZnTxbHwy4vNmgVzaHWbLJzJH+foa8Ya4X0Fzdez5BzZCRcv6KDh2o4pBJXULtiN4juRQB1aGLCvJloQ77vB11QtImoIbNl1hIGUeDJyCRC3hFKb5iD/RzcfMSWWw0fEVXubOH2jJ+WuruJfw0R7ELTtkFAIxznA99kX6ZLGtYnzbriwWz6M0zQqYyXK7buNgE6G2+DlBVrVkOfZp6sPCO0uy9T7Pw0GwOjJD+mjCURdUHwvfdTKoju06BcZgtJOq9YCCLtRWH4qSQz4v+VBu4ukOSNJ1ggpEY1iasE785/lWljiVi+dp1P3JNHa7ITrZeqW5mH4YTuTL0l2kDHT8qotXMWCzv8JkmPfZ2df7+Z8BdRSvjmBPOVz6SiDx962/IR3oolVZhgpgBEG4Gy5QBUfCARGgql/dtA20vjwD6m2i34v+u9gq8PFmW4fF3BRPFywczqpcvtcYRTf5CtxvjawCqAH1qo0RxScO+68a3mwG3p+oFHqPRSwvJrr9vzW+vS9uDUWk6gjKaBQp+t1oz21KKjMzeHD6CA0a1hwoSdxt0Lpc8PNGkBz5lxjmPNgqL/+/Aieapg= X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3384; 6:RRwiTxbH1vWYgsxzT8agM4XXfAs7uGpXToM56eiIyC1AbA4mp+zGc0j+NXUk0vURIBbxLnm5RbR+xCrvHHSY3A9NYEks1hpsVK2izzL8V0hrhgvBtd8itf8EK/+2mEWMY+9jR4HRAhndirO4INahMYkctWhB2t8gCuXjNf//S3wUjLeqwEzTJKbaSpVvGHsmCQJ7p4CCvQexOzIQIoamMbjUZ8gzsx/bczQTQ6CITP6nqW0y3d/YUPQghhidBj7782LNCbsdzFIAs6fzoYvgUHT55lg4DS5Qea0CXDxl7WRrnxgLeONcpKOJJxdct0bIsmDoDVXZHycAZKjXAWhL+7kEnkiKRX+To3L8ARcgx8s=; 5:VxKf62eXZHKNdMsU+PP1iczii8KjsctdkYz35eqdaoJ506nIXilHcD4t97mvH77pbluddGS8SIuBu4AJNoCG4wbXd3mU9ANLf1CJ+DB1sWn9dmunf8i5QGMz4noG5bsmYy5mH3E3ZdgK3snbcBIxb93hNNBgg3RCBpECrq328QI=; 24:id03+08OKEO/CMMWMfsRGDGc024fl5luKrCVrviSQsUedoI/1pkAYZPSc6TGU5LaOi7cvH8oxBb+C+N6KHDa5oSqJtUD8W8gKUY7u7sJTwY=; 7:2IkQVrAkKqy0Ako/RR56BurFuAtVVHPMtBOjFESrHMErD/s/uATw/Dig3EoI7vQgY+h1yuFI9EtllAb59O3d3GIxfVPEHaKNZva1LFXpuBtWr7ckD4bmW2ABWZu9G9I9whg4sJzgwWqxhUkPlKn82Tl9oJpTwctpamgUSH/8iKGDnyXZKqUwqcG8ImMqKk68e/zJplwFnpInjM94ANShjWx9db0eG6fIM+OvZmD8ett3diRngOQ3TpS26xARP3Nk SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:40:55.1847 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69e36e3b-54c8-4eda-d815-08d5535740f6 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR02MB3384 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 2/7] mmc: sdhci: Handle execute tuning command in sdhci_send_command 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" This patch upadted sdhci_send_command to handle execute tuning command. Signed-off-by: Siva Durga Prasad Paladugu --- drivers/mmc/sdhci.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 2bd721f..8239079 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -161,7 +161,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, /* We shouldn't wait for data inihibit for stop commands, even though they might use busy signaling */ - if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION) + if ((cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION) || + (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK)) mask &= ~SDHCI_DATA_INHIBIT; while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) { @@ -183,6 +184,9 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS); mask = SDHCI_INT_RESPONSE; + if (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK) + mask = SDHCI_INT_DATA_AVAIL; + if (!(cmd->resp_type & MMC_RSP_PRESENT)) flags = SDHCI_CMD_RESP_NONE; else if (cmd->resp_type & MMC_RSP_136) @@ -198,7 +202,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, flags |= SDHCI_CMD_CRC; if (cmd->resp_type & MMC_RSP_OPCODE) flags |= SDHCI_CMD_INDEX; - if (data) + if (data || (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK)) flags |= SDHCI_CMD_DATA; /* Set Transfer mode regarding to data flag */ From patchwork Thu Jan 4 09:40:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855519 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="sroo04Fl"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2vy3CRnz9s72 for ; Thu, 4 Jan 2018 20:45:01 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AAEFBC21E14; Thu, 4 Jan 2018 09:43:42 +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_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 85C60C21DA6; Thu, 4 Jan 2018 09:41:58 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 048CEC21DA3; Thu, 4 Jan 2018 09:41:15 +0000 (UTC) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0088.outbound.protection.outlook.com [104.47.40.88]) by lists.denx.de (Postfix) with ESMTPS id C164DC21DE5 for ; Thu, 4 Jan 2018 09:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/Mjp+q622+iOdotGpvv/HENPmhjDgEuQ6sjRycgvZVU=; b=sroo04FlOff5lpjWjW8cOkrlyG/jb2kM0Ml4496Hj/RYsrlxrlfQlkKkKtC/JLutIjkcF0tmVvTTYTd1BxEZ9OzCkOkpb+Tf0EOUo73O9HrgykWoKvYlO0oTZYrxHetbsfDhaqBONIXRZKzM4K3rQOnDOmxlYA5oi1YJ05rwaek= Received: from SN4PR0201CA0048.namprd02.prod.outlook.com (10.162.76.34) by CY4PR02MB3382.namprd02.prod.outlook.com (10.165.89.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Thu, 4 Jan 2018 09:41:07 +0000 Received: from CY1NAM02FT013.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::205) by SN4PR0201CA0048.outlook.office365.com (2603:10b6:803:2e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:41:07 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by CY1NAM02FT013.mail.protection.outlook.com (10.152.75.162) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:41:05 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:56249 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eX21I-0007Ye-MP; Thu, 04 Jan 2018 01:41:04 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX21I-0004sm-K1; Thu, 04 Jan 2018 01:41:04 -0800 Received: from xsj-pvapsmtp01 (maildrop.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049eqXv031155; Thu, 4 Jan 2018 01:40:52 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX216-0004in-61; Thu, 04 Jan 2018 01:40:52 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:40 +0530 Message-ID: <1515058844-16007-4-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(376002)(346002)(396003)(2980300002)(438002)(199004)(189003)(76176011)(2950100002)(36386004)(47776003)(4326008)(107886003)(50226002)(8936002)(356003)(2906002)(81156014)(478600001)(81166006)(6666003)(9786002)(2351001)(6916009)(8676002)(106466001)(5660300001)(77096006)(106002)(48376002)(16586007)(50466002)(305945005)(316002)(7696005)(63266004)(54906003)(36756003)(51416003)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR02MB3382; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT013; 1:jKAoocHFnkMocI2hi3F6HvRgTQpwDZRn2khxEzDBmbLuN1i33AyuNFFlYPd8RvpELIw896cc5Hcs5ceBImFSdP65ReF/er4LOboVdGmiz1xFvD6XZuntRl54E4NUEWDU MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fbe1841b-a9f7-490d-323c-08d553574746 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:CY4PR02MB3382; X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3382; 3:yj0m8Z607xWkfvvd0ULgdxb7wlaLsaDNOSO0pFUh/I2cPmeoy7kDyVIy4t/TCK71sLEJRapJWtAAETGkQjR2Crw4VsbngnsTtyqaRojiA8XPRNlHaOImp0piek4oG0lLiJjoqGTHmTKhM4VOmL0L7mTaozwjz4kVhR2putoIKfWlUSIvb2WemEqDs0XXEq48GSIrm8R+PcQ3f8EJ6LEIMjNSdofVo7xJEu7tY9/L1l9tMmgFQrT7FuOX8QfnwaJ8bj8apQvp1NFTUveZf92yK4HKJaBZkAdhpykxrDbLRncYPeiACOuE3ocuvfSNWTEYNcBf6pM/3684LeotfA6LozumhS5zrDE0OCp9L5LV3/8=; 25:7RLqLH8HK7jlUD+G7OLlEh8oe9sKiyLksu0/mJS/WQR9LRNquLdTTcCdQtHh1P65BFdHV8iGk2KZTMdnO+Xvo5cHvn3T6SxOQ8NgJLj+KgrSwI+hCnOEkTyJgVIFhXwOdxvYVnhTLu7sIF7a7gZhA+bHUtAtedWEDuzYbh22UiJqwGdV8egi+8z6+Mh0rKgzV9j/SB+9amIHadpCgCIYgXRgJiuWpK56vPo3LuVDXLMNazdLEduEeyU0zyP/Q2A4IQ8QyrSr9G+aL9LbnFRLXRF7SPgZimM1ur/l1JJ1fYsotXgjzkTrK8MXhWduab/Wgvz/f50/TNuJf1MnCy6V8g== X-MS-TrafficTypeDiagnostic: CY4PR02MB3382: X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3382; 31:ZWiHHpHZc95bJNDrQTh238mmqxDbesz8vYY680aMHTV31TXB+qGjZdkSrl4qomPYTrbF8B0E87svGCezc4lpf66msw11MmzBOmkeBxrrhYPOxSDp+qqBfn628XI8yOHbS5fUSCElEAbtuAv/zYDtlOr6j1SLp4CYHwXG9C3bg1LJS62d0sNCqT6wCx6HUDKSy9BamO8DE7CL4Chix3k21DqHAXk2oxOF+votpDCRnvA=; 20:/yzrR9pmkUyE5iDtJLGfsSL0OahwY9XFdAMwwCV1VwbVg1cFNLP67xj2jHdNDe3jMD/xaYXHRs9Nn0PmU8f7qwFrbyJ2IWehM7BPvsx7XPMoD0EDZenBaYnlNqS9i8o69aqV9HJvusmP+m5k+2T3L8WSVj2c+oYHkx9hCQ66lm/zkndyC6HyQnCPsZwJtQEynW6OHuGx7DJTyr+K+z5QSYQkPr4bNImd1mDTWB2jKUqywQQMsQ313nJpQxLahpYI7Q/w+txYI4qpmB0HopR1ekHV+uvmXrjloOiG1fUL+gesno0zMv/ARpjIYZDtXV5wF2gnnaxfqL+kNPCvFDKBGoAkkBbXS6lEKFUJIK1ozdcNYebWzcqiDD7AvkrmXtb7u58Cu9rmZIInHpqIi9I2Avef1rniSRNIWi4lOBsfI3uO5xinjKjhv02Zz4rnccGcnbYt1UIqi0uyZYET4ZxXBQa3pimRdAGcHtPwhanuEA30aJ9NnulneTVn2/knkBdY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3002001)(3231023)(944501075)(93006095)(93004095)(10201501046)(6055026)(6041268)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(6072148)(201708071742011); SRVR:CY4PR02MB3382; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR02MB3382; X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3382; 4:8MhF5Lw4Jk5r/21NZkOZdd9zsrwaiQkD+IhDsve2qDCvNC5qmzd1m0JwIdaUsQXgEoTZhgEpkFqRESBiPZktURqNxDJKPLjg2CBF7wyul8N6A6DmOzFnLknRLTOfvlmrkV9JN5XmOGh6Ewy0W6LdL7QgPTm4iNxpmXObv+7XUFEL/NTlYgGvNVeuIjNMwkW5XebcsbVQsfic9hVIQWTxE9QpUs1A/0zGIxY4xcDh0W8xfnYduBbBxhziYEayC6sMwzMLgo1TNCjzBEL6IiQ2oydYQFsskFE4Ogjr18/VnFTui7q3nWuSHc6KDEaxTEn3 X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR02MB3382; 23:zOvaTMAnk4hQv6DCuc5Jf/iCRsA9V/2XdHYX4W/rA?= 1BVD7vrSeHSS0DuEbf+D8U72wwikhp2d2dSClji1+X16Dgk1/0EF+toLSS7RDyTEgqOWnyryVjMLMbL8yHNFvOKQuVCI95UYKwGPgVYgl0Umeks2lR3MKuqNK0sylGv6B0Ld7PJrmLCh6LxGVPqk61o43hdy6/75Z/bzJ4nJPz2ALTXkDUsCiy98Tvxd3E0+h40xWUsHZSY0jaXwiFpJQBB1Ol+kR4+2Ww+f0xLBFytRfJldUDIiWEglltze+LZMCLKjOQ7wSGxnYFKR+/kSqUTpU8drcbXOtaptod7Ti/HiEU20gBmIZv+VnHhc5E2QipZkM16vI6HF6LL4DLJzmJ+8KHH2Qu0jfkiUJOjW2FqkVZqNzoymfjlgsU9xLSkDNF8LqT8+6DUBAqI5C+utDf0WafRn2YWCnm4Ome5WeYVsEgLLPJLOo84SaZtiP/FhfTNMcJovnmBgNnubAYeQpIcucDDVcuf7b6PAkCqur7uBpwsGobz/2m2bv7ejt8rRI7YLl5PhDaIf8ZKBVr90W/HGaMXgSMRGzS1Yl3JgMjAPVMEk9rqtEfnICQWDlsGoabZ8id6WuFCg379cWg+PDKdlLbWbOZHMbwYxJGhsvO93tO7/YSHT7WN8s666J7Y61aFiGArmwD11Eo8UmDlbxHfDXyRJ3+EBl7nqvTsRVCPhBNEsVtz2F1WvuEFOcFfeuihp0u/MAFm6O36Y8IlRoAw2736n1z781dpwjdC5gThaoJCB/hIxA6YANLvNWUFprZ8JZXtWhaaNVixzACRK4tLXxj4GcOLXm1TOKPLwrkSpcFgVbig/uFeIw5F/Ixzs635/Uh9xSw1AZwRwJBJzxxJGC3LXo9OyA7ish4Hqn8eQzm1JfXkmALQIjQZ7H4nDMYfm+VYJSeukObgs+1oFHOU6fM4BjpfWnJPE4ShLxiH1LeTTSXFryeEZdQSP2H2phteJxKy+D5TkQ3+CwfIl9ZMj24e6qdEZfgpi1XP2MV4Gg== X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3382; 6:FWA4hmCOhu7uKJVUni3gsdLO4MkZnSAFsQ+bDCV0uFINx6HauRceh9Mkxb858+mhecQZnnPRMnnbdXZ6D0r9Mp8cTi5HwKrwROnV7d7EzX0XuaNeQkRbUyhzKGGUlGIFDkjlbmVPkNuCMn0q8wV8bR/xtzGjf3t/HAF3uaO97PzNq/Ix2YGLFPif93HJltf0ghnWd9WDUf9bR0Y7rS8+DPN9QzJTf0yiKVHu/+v5OJURa4GHzmtwOUMcy9V+yjlGmasnp5teBdVcQ5LyNOsBN4pBikaa9njy20wozcj5gRloSS/mPwCZxCKb4eyMa7yJdQZwG5256qSHW9MLkMRB12Cqt2Ik3e8yOtcL1kv1xNE=; 5:tHStX078x8iOC+8i7mzXdq8Fb2nYETEA1I1ghw5MqzSbNLy38jhE06u45+DGIXqQpdqEeGNB+dOgnakIf483BVRLpt2K5NllqxqTBUBJLcd91joE+4NK9WYUvzdoyUaHQJHOfT09HGELdTlB0PwA7uDky5paolFRfotY3BoBa4U=; 24:yngLiCsOuGUC7hGsvXE/4hHEWnCJVF7nab1mnmxrqRGNyjgKcF2zc7dexgNcT+n9meGUgOngnKoHXpaE0YXsohgztJwRO8k8kVRk58wp1BQ=; 7:+/C0GSmj/XRQiOub9FPnv5YjAv/8CaREfmvMaBMuUpRwLfGIOjr4JcVPAXP2K3Xpg1EWUA4JTGQ361Dk7Ue80x3nzUgFItDEHwWB0s7U911sg/eRChLjhfw5VIGaf8psnS/Fq72ufUXynGVEpp4Bsy4WaC3CHegWPdI4Kpb5kuTo3O3T1+tboGlujSIAvu1h4vBg4ItiBagrut1hJrlGkKXsOXYYELdf/j8ntlpSPYV0H55XMDznlEhzj6/yLxOM SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:41:05.7710 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fbe1841b-a9f7-490d-323c-08d553574746 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR02MB3382 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 3/7] sdhci: Add new sdhci ops for platform specific tuning and delays 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" This patch adds new hooks for any platform specific tuning and tap delays programing. These are needed for supporting SD3.0.Y Signed-off-by: Siva Durga Prasad Paladugu --- include/sdhci.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/sdhci.h b/include/sdhci.h index 4fc4140..3269992 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -237,6 +237,8 @@ struct sdhci_ops { void (*set_control_reg)(struct sdhci_host *host); void (*set_ios_post)(struct sdhci_host *host); void (*set_clock)(struct sdhci_host *host, u32 div); + int (*platform_execute_tuning)(struct mmc *host, u8 opcode); + void (*set_delay)(struct sdhci_host *host); }; struct sdhci_host { From patchwork Thu Jan 4 09:40:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855518 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="GMG5Yu5t"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2vQ50Dwz9s72 for ; Thu, 4 Jan 2018 20:44:34 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 5DB56C21E08; Thu, 4 Jan 2018 09:42:46 +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_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 287F2C21DD0; Thu, 4 Jan 2018 09:41:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CA1C0C21C2B; Thu, 4 Jan 2018 09:41:14 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0051.outbound.protection.outlook.com [104.47.37.51]) by lists.denx.de (Postfix) with ESMTPS id 7E5D1C21DD9 for ; Thu, 4 Jan 2018 09:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AO72FdZj66h1JAbM9lfxwOKgtER/XSm4PPS4JUitULk=; b=GMG5Yu5t8UdJApVpy7DdQjRNPNvbt9/P3esYM+k4uVLrjs71job/FutLm+cpbtMODiwmfQk+AVqWTe60DYgbUNCO+aJ7r+a5o8KE860Mz4n3Aoh1xzzKxmteJ6Azup8kpVC6rhvA81XR2JDadWiCrnHhxBugiFm/JEHRI/x5V/E= Received: from BY2PR02CA0110.namprd02.prod.outlook.com (10.163.44.164) by SN1PR02MB1344.namprd02.prod.outlook.com (10.162.0.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Thu, 4 Jan 2018 09:41:07 +0000 Received: from SN1NAM02FT029.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::209) by BY2PR02CA0110.outlook.office365.com (2a01:111:e400:5261::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:41:07 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT029.mail.protection.outlook.com (10.152.72.110) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:41:05 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1eX21I-00068i-F5; Thu, 04 Jan 2018 01:41:04 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX21I-0004sm-Bp; Thu, 04 Jan 2018 01:41:04 -0800 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049etos031163; Thu, 4 Jan 2018 01:40:55 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX218-0004in-OH; Thu, 04 Jan 2018 01:40:55 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:41 +0530 Message-ID: <1515058844-16007-5-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(346002)(376002)(39380400002)(396003)(39860400002)(2980300002)(438002)(189003)(199004)(47776003)(8936002)(81156014)(8676002)(81166006)(106466001)(16586007)(305945005)(478600001)(36756003)(9786002)(54906003)(63266004)(76176011)(50226002)(2351001)(106002)(356003)(316002)(2906002)(6916009)(5660300001)(2950100002)(50466002)(6666003)(36386004)(7696005)(51416003)(107886003)(48376002)(4326008)(77096006)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR02MB1344; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT029; 1:CY6+GpjYP/syJ1AkhTqFOmLOZxc2YMiRQ30ShYWcF4mCiF8f2/oYECyh3PWqPRKegBqOQQckn9NDc8QMzDkBcQUlJwdwKalXSYVKuQ9C/OLgLPkCM7r9A/2/blrnFAzQ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: add56e6d-7fd4-499c-b516-08d5535746e8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4608076)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307)(7153060); SRVR:SN1PR02MB1344; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 3:r6BZPDJJATFVxhZ7qD7SWWgfrmGoWSDnDRf0Dwtp2XuxwJuR6dhaYLLCQNE1xF0oOX+IFO863sjcZN4WbIoSurJHRzdx27rWDork933D6rGEi23xsWVsXteYCistHolTa1XXu1m9kV9gOlnaZJjpPK9E1A045dW1Abcv36Pnra84gkr3YL9a98xLmw+Nb06Qi1ZF9sft6JKRlKASfBkeDdxZlglYBfDMm3WL6ekac75UQ9RN3Jf0GDX/UzWAXJoACkmmfdO/02XkOlEy75SReHhAsRcGx90Md6OmnosJ4Q3aweOvlJ+HIIiy8FdP4CsR0x6w4gi2vG1aI7vG4YtXnVsehdSmThATBieSTDNJqek=; 25:7L9h5q6qHH7f4DgrqBNUFCB14r2KqqXo+2QsiXQryhnZ9x9b+PR0JG9j2xbTvhw1UsKL6k31eEOt4DMJxdCsNnxPKPZ4dovFx4uDMpFshrqFDuuJ+s1iBPr5GLEz/1EY5S+FKGuIGr0gadRoV3O99l3kKCqevsOPe6tmgt+eK0YOivEUf8v5tRzBkjC23ALQXXYAEXLoIcAA6Oemk6YYh9CsXpinz7jGgYkNeEs1C0/eoiLoDhfZ3zQfzwITMJ6xRpA5WvmReseRt2/uonalD06PFX8NroQV8QPwpHcY6GlijKdpHjpE4bmE6V9bXyMjYq2IQlWcJl8elAV1hT2xxw== X-MS-TrafficTypeDiagnostic: SN1PR02MB1344: X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 31:xwku+AAtQX+qiPC2gBpu8BBPX0Zc46jfvvFdIUo+1vI4oPnzWOTy71A778G9Nbo2ZTj9mgt8Xj2J+GrpqHFRFpnQdJJnzdTGBrizRFPJpjWz33bicF+Fo4VjEFIcPlMW5HzSKEdSF7nkwiDXQRx03OqjMLIbVihTVtnJoiEtATzdNxKlYSKNCCL4wDkA8vMbdq7kGpYq/AKv9HbdVFqr7Rx+qZsLhVl5n5E7aMyxbFU=; 20:8WDMWqAEJCg++v5vFg/0Zk1lKXB72l9qh/biXs90utqB4iZUqRxl5+6v1f701qWeZCwtG6OtF2WnEwJaDJEr1EpFXWqo3QOu4LbVaXgGEqFaL167cW6HorXPvqgV/MmXK1XzeIO/j87bUV60uQLqR7LDVimdbsbUn2O7PE078ZJD6SPXdP7rfNoGcqkb+jV5HZDIJv4xJVK2/9gTn36RKbDs4Hu3LIP1t1KobiKD1RIKlj5UL1mqgyAuNGAXvCH/2NVkdJMjRcHANbiBBuvPYxIZYWLCK59z2McM8AFItmzrdEaql8OtbK4Bj9S2Zv3XJQoKDTQeYgRY3K693INDV1PZLKVHmAm5TkP0pUrx38vxuGbgUFPXC8oOUYmxz3iUzmDMERyXE34kJiz8UBGhf0AXUaDYrlKwc08z9ohIYbWCGCqFfCq0wqdIUfv5e7YOrK2Jtw6dWuH+AhgAC/AmUGtzJulNDxazmQUycY7VoQUtS4/lpRmrnoL2bwpBk1VS X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(3231023)(944501075)(93006095)(93004095)(3002001)(10201501046)(6055026)(6041268)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011); SRVR:SN1PR02MB1344; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:SN1PR02MB1344; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 4:MrLLPszci21L6IoKjiFKlCgtLiznffsCHbovtjmal/cWvCOY8wkAJu18Me9u3O48UDn5ng/a6w1e55gy2xYfJpXQ5t5ZH6ow031h8PWECC4EHb9lS+HrwhAmzihSJR690OvwflxeAQSyOLAiDi7C635uRhBCCt/XM1u5ySpvIvdjuZPzWuZVJknx4TrGugYsnhhJjhI68nIBh5+HMAG7oFG5U+6dxCoNOxRPtjur39Qonj3MBc5PiiCKlRAjcKF3V1YGoWZu2oK3GMZWQwX8lowxeF1srnTbeoVhsO9Rk4XmbqYaxprj5jaAN6RWqPYu X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR02MB1344; 23:C28RGzGwCKAHMzxDfz9hFc3GbXdmi3eBvW49WjEZO?= EzV0fz5hHMwKcWiGGl+KgKbre6H9dDt96+Bke1euVsSh5NAjysarCa4cOtYQsTGTkncEd0epwnbsdHyBjg37Q6vDY0PGlrnT8vdNxiDwvChBzYh8W+DoqVNyieIOPLuUTywY+ErpBeHzQ3TYqDBqAoZTFRSmBQJpIdWm777kxPLeBFlnON0HXeBxf36vUyXXGIp+u4k1Ou2+g42Itd0y9qWhVow8euJUbQ/VI+8xg3KcK+b0p8x4M+WrNubce5QfDtU3XCmtxn/J4UJ3yf3HpxOQblJ0KMZ0mTYq3PHKDCeSBfhnPVvkzjUWH6iYcKHweFM/hLXJ2Msv2hzNR3zLqHesyVqwdmnP3Ksd1HksdmcTwmqBaTCEBXMPXGnakztQcsuSspGUaU5/UDL96zux3OQIIoPcjPUAcKohwJoP+ZOAdrwwuAz+IPO53ziRki1TOaMWoZRx5ECAmTzq3VssqRVCh/hfdoIjFdCV3qdEtXLkySu1avF4CHTdp2Nar62asaRpIdIjkhZ8YGCHzWLFK1Jloyf8XWa8/rx6kkHs8mxBbc+nz94kByHEkZZhsqmW7zIXDXHfA1Mtfs2SEJ/kmlGNLiQBt1uU+sMBoqc+ikknIpkASgFHqmQWhX4JaP+QR4aAoN9lgJeE09O/M6w2t00PnywjmNKPXABqNZ6pQwfBHEX1REGhJE60VND+9e7eTcxVd1dubgs0xDJcfv7+ArMMmGWHOnS9A39AYw67P1I3aiYP2ixUqZ101PebzcEz+bMbafYDVkazJwQ30f1YT055cPK40ApTeoEf8e/mCJeSmAu/doelhtuRAjJpyR8/skIrbowe2AO4GHfCCdxBCMNMcAQPk6eE4lWdH0OkLQk/VSjK4ptt1MCVgGYxn7XwegQz4c3LDa/boTCBDSdAhZ3rs4EaoR8mxX9qZi/0Hrs5PGnR2fPyIWOq79jK8MP+Qc= X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 6:cZcFS0a616lU1RVKTM2VUO1ievJ9FeYvOYfhhIpmL++J87X7ik7i+tU9kIK2oMG5vmxcBLf0eeuA5pBw/VpvXLVTIBboedygIUk9XNUtor8lSx0j5PYOMGTW/5uM9vvjjRE1ALLXtEwEGp4eI58h/8iX1ZR1PXIFrgmV78CkOPohUoLfMd5FAVf3shxc6+rHaLv5yAaXBmTtw6oX/agf2rpWuBBcV4/Jg3x32wimba41yj+64C/pvdedKI64AcrBLhAzx4Dw3dpwRxk5aibMvMBKaTEnhLcD4CdCYNSSsb14lwaXZQPzM/YC3U6+N+9bsRD0lm4RH/gxjvz1cwPZiF8aWeOjXgMg7IUq+qdrvcM=; 5:zJgmflAPKoLMyMTFa66NXbf24o6BlH7GqbvzM4anFUGlDnXmhrpKjyT2n8p9/C0RuqvvvSHwOHJKSdBDz4swIh1Lg3ZwshoDT/VGlUCSdyPuy1/dCBP5AnsP3tq+ePkrOlmJEJsfgutOmvFI8GmhGQM1TdPgFoUafYxMKDryXFE=; 24:UVmyQ26651lziYHLJQD7OW/hxaHZD5ldEh0wIoYQtLpR+j4F6rMfaZANKM+VBadsoOeyzBXbOPnBEzY0bo+TKxvY6i/jiz71dAlx6AMGcKQ=; 7:59nf3pTEZaQ3FArH/9atH2MfE9/9B58a11gOSBBUXCcDCZv7XsIbkjaubL2+DE53rYbsOF//4krKJH09CbnDIITFuM6uc1+hpIWLiGL8tHS0ln/Rk6nUcu9fDndSKe6xmgaZ274kQ8R5HQ2SjfIHhonrTGEXQXDVySnFu8ME3G9i7Ry7p7DF8MYapgFAxUMQXZ9377jwB0nASvbSoFzkH5mjk83z4T76CPvPaJNS0D6AZp2eHAFtQNHBDw61iL1Q SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:41:05.1740 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: add56e6d-7fd4-499c-b516-08d5535746e8 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR02MB1344 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 4/7] mmc: sdhci: Invoke platform specific tuning and delay routines 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" This patch adds support to invoke any platform specific tuning and delay routines if available. Signed-off-by: Siva Durga Prasad Paladugu --- drivers/mmc/sdhci.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 8239079..2c3dcd4 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -306,6 +306,24 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, return -ECOMM; } +#if defined(CONFIG_DM_MMC) && defined(MMC_SUPPORTS_TUNING) +static int sdhci_execute_tuning(struct udevice *dev, uint opcode) +{ + int err; + struct mmc *mmc = mmc_get_mmc_dev(dev); + struct sdhci_host *host = mmc->priv; + + debug("%s\n", __func__); + + if (host->ops->platform_execute_tuning) { + err = host->ops->platform_execute_tuning(mmc, opcode); + if (err) + return err; + return 0; + } + return 0; +} +#endif static int sdhci_set_clock(struct mmc *mmc, unsigned int clock) { struct sdhci_host *host = mmc->priv; @@ -330,6 +348,9 @@ static int sdhci_set_clock(struct mmc *mmc, unsigned int clock) if (clock == 0) return 0; + if (host->ops->set_delay) + host->ops->set_delay(host); + if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) { /* * Check if the Host Controller supports Programmable Clock @@ -523,6 +544,9 @@ int sdhci_probe(struct udevice *dev) const struct dm_mmc_ops sdhci_ops = { .send_cmd = sdhci_send_command, .set_ios = sdhci_set_ios, +#ifdef MMC_SUPPORTS_TUNING + .execute_tuning = sdhci_execute_tuning, +#endif }; #else static const struct mmc_ops sdhci_ops = { From patchwork Thu Jan 4 09:40:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855514 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="iaGz7/77"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2rz6nghz9s72 for ; Thu, 4 Jan 2018 20:42:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 93447C21E0E; Thu, 4 Jan 2018 09:41:33 +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_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 9C594C21DDA; Thu, 4 Jan 2018 09:41:30 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 56986C21DA9; Thu, 4 Jan 2018 09:41:14 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0060.outbound.protection.outlook.com [104.47.37.60]) by lists.denx.de (Postfix) with ESMTPS id B4E91C21DE4 for ; Thu, 4 Jan 2018 09:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=tBp5SEyYV4jHj+iTk59wyWg4MTgqDQGgDNKWVuIFCDs=; b=iaGz7/77tMaaNZypPGqZCi2lQTDsybh627E/QF/U5j9uvbF3Ksz4wAkr/AoCnbOeHLtKsSY+m5pV7XMFDCrRjWVfruK2ONj4c+SCRuo1r2EL1hbkqM6zBCVrhlwHgidyWmLv2OiQ85znL5/tzV+mR724Hv1Q16mU+rL5xdVuRSM= Received: from BY2PR02CA0099.namprd02.prod.outlook.com (2a01:111:e400:5261::25) by DM2PR02MB1338.namprd02.prod.outlook.com (2a01:111:e400:50c8::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Thu, 4 Jan 2018 09:41:07 +0000 Received: from CY1NAM02FT005.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::205) by BY2PR02CA0099.outlook.office365.com (2a01:111:e400:5261::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:41:07 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by CY1NAM02FT005.mail.protection.outlook.com (10.152.74.117) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:41:05 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:56240 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eX21I-0007YY-JK; Thu, 04 Jan 2018 01:41:04 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX21I-0004sm-Gr; Thu, 04 Jan 2018 01:41:04 -0800 Received: from xsj-pvapsmtp01 (mailhub.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049ewJ3031175; Thu, 4 Jan 2018 01:40:58 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX21B-0004in-Ha; Thu, 04 Jan 2018 01:40:58 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:42 +0530 Message-ID: <1515058844-16007-6-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(346002)(396003)(376002)(39860400002)(39380400002)(2980300002)(438002)(199004)(189003)(478600001)(48376002)(51416003)(106002)(316002)(356003)(63266004)(76176011)(50466002)(7696005)(47776003)(4326008)(2906002)(2950100002)(6916009)(6666003)(9786002)(106466001)(5660300001)(2351001)(305945005)(77096006)(107886003)(15650500001)(16586007)(54906003)(36386004)(8936002)(8676002)(50226002)(81166006)(36756003)(81156014)(59450400001)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR02MB1338; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT005; 1:D1yaVnKkEzqJ1byN2e/Jl3CXV7DWwjv8jC0lJsu5UeSFp1B8Me1wscF8h49zJaNQJhXkoGwUVzavZBgcCPrpbDPYsJKADL3FGxw5BR4fjgY+mcBR4PdwUWtCYcwob9LX MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4231588f-10cc-4f8e-ac17-08d55357471e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:DM2PR02MB1338; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1338; 3:P6fBmJmBzXqYz3yFuqThvHgemCsrp64W6p6OfLj+/EtvYR4ZLYotmWdOAgmFCyXXXI0hai7wAxV71G9ITYyutDpyUg0SEEQU4rG5CSLM2CVIwU94cAuISzNCdQd22AyPuEYR7oIuOBiDOKAxemPh5TuI/YnhwZDi2M1g0401vt1JvKP9N6gkhOqzW4O5LAk4qRk4gFJ+jLrQkZKEFOGzpFdNiE74KAFFNoVCH7O+zC1MtBijsxpOxpo42zpgfUQA3FSWRRMY+L1Pt72/FN2HEA55xKq2mw+3dsD3NYeGdblzH+ndk3k0NT8gEHhOqVIWw4LYJCpqAywH0Q9mNJl4ZGfu04GOk/aEtu2uXieOJnY=; 25:rlXprNOOuBSg1ziRzkshAnwAeblHN/tJgDVs9QH3spFkxW0QDAyu2LR5Ywp491nvxHK8WX4Ln8cWILr5L2Y8lM5TOQVRHvGldrE+AXj/i6x18zucwcFmRv0QaAw8vjxEbdbSEEJlacAnWsn0EYgF68nf7WtzWKLT0gu5d3NMLLKIRUWc7I4B+KSAHCKwb5vjab0h4y7nVmC+tNzP86oaVWPoyninM+DigkoxK97JFCD1U+JUcKV4AMmGihJK12TSkXPBfj7allWZgoavlogx97MynytOIGxxNukj+nLPs5JnOwqq8LzyOp9QArqqwe6Sqm29e9f8QKV7ezWCojC7Bw== X-MS-TrafficTypeDiagnostic: DM2PR02MB1338: X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1338; 31:raIMc5Oe2VAvdZ1YZJ2n2KlvEPywzebjvuakucdoKrs+C/2ME46zZl6KccSMwwmEKPItjNPvSxU2fN8tR/uMMZLNcgKCCqpnJrOs/f6/Sjpsmy2w6Hxxb7xwSnxOAwJoH4ZFWj75d7GGGz552M1pf9JRndf0w/B+8t/d6wJYyZtfmvZDzMG5dagvSkcu3wUYBkxiHVZZXWYF5fCSQ8Q+injO6lgS9v6Bv+mmyOmDeNY=; 20:4zTZsrfu4tsXmO71pMuyMIcnksY8u66kjrPHjOH6Mia682lyUBd0fAJUnee96OapTrUC72nglaOl4PBzWetn6KAHS3Ubn4dvtrwZMu791hQ7EZmNq56eb1oXY4ZJ8Nvf+3L3kO4IFORr0SoKYvtcDkAT+odxztkLU/XccDlbrHk3EbVAikS8gyovcI2GzhxadPyi0jvoL/NW8HRmoHFFqj7NaD5meo/rARvy6covAJyE8S2NCvcPazAYiB7kQmxecxO/8iGY9ApslKXatHLLmjcmbRDuP2zQVQoBMTTSBEj1EElwFMgCQn4OiBSnqKXyzWnAouvPHNaYWWKkizH32xMaXU0TenSyy3WiIKHmkeU48nTHMWtKUeiZtt0T4FZrW/Lf+CM3CIwI2TvNqROjmkn+wvoZEB6rWxV3Yu8qimnBM35B9lo71IXDdKeQSgw0oDs5z2iVdh+NAUKPOSG/bPSpHrVGQurRFkZvqP6ULuMH03S8N9msE3psFHX8kAry X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93004095)(3231023)(944501075)(3002001)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:DM2PR02MB1338; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM2PR02MB1338; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1338; 4:qdqlfSeSZ61zaSlFC3+YDpOxW1X7JluHo1IBZ/zHsenM2LSp03Bglol9QoyEa2kUuz5wtFctWiFsBEHQsKgIoEmhD+R2/m8Buh4Xf9lY2Y1eAErisoydZ4roeN7w9wxxhhZmO2rjhcBc64qwJ7dtYjHO5i6bfVJpKxKXV/ogW8InPWpChyJgkdiuopdTJ8eDTA0SWctkMQD1JSbQneInLLVODMnJ3RS8oCzTgayudNLWzF+Otcpo4VdxD4TnDEOF6arn/yk7sc07B5TlZA5+sHMbfTUW3WDzCnOAvrFJWG0ciq09XdKoG0Jy48vAP7NG X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR02MB1338; 23:Uyl9Jr3t/x1EgSmsm9CQ+4dCaJ2uRZ//mhEgxOR4t?= 2BT066QcWg5L5TGrtOGXU3CdDYufSyB2y9BYWY0S7uDJjU0lfvK0c5XOcxN1vHjYdbeoFq3x9hxh/o24SI7EQbL/vX5lM2Y7H6/l9WjqMEYQd3V+pnNBxAPAS1pjXKz52B/3lCQUvDrwMWn9sTVJdyCuJ0iIyaFS+gqvSN4DWvb1BOLU6Vn/ybFVVEv3UFF7P/OvC58FNaOrqtpmounpN6FxNXKWrGammhVhNEWojntBqftpmMK0th8MaCxEB6LFM/2+t8VbMedo/IbQ6/Vppo4wkI4yq7KRp7wPkxVSDOlFhLV7jb3Z7fizYqD4C/K7oLCtnyDC67rTVW9pTXtAoC5lh5lvXLD7RYJatHqopectrgilFxSArciZ1Y0Ir9aGKPn+UYCyd7qfD9GTx0yDFzT11fCvAPiI9NAXMM/5WQ/mUCW7f19xAdIzwwXtTbcTzs9jJOZq3p7Ryc9bCeUWcALHwMiEJwQCFY6EblIzHPy3ITKsYG1Rwri4N8TJBLwBHSbXIz5cUBx8BbBeNc2/5zJA7LIIKHfM2Lee9NOYEPm04HOWBitTk/+gwBQ2Lh4kkqVvClFAsMU+CZnqGel7mNxtR0iRGP1AaQ3NGNFfrV28oJNMzWIKsFIVtRKMQvCcg6cG9r/e/9UNo8hn1V8AzdMXmYd57P7eTFWwGhR2X0FHJwCBaRZ2V2UC+9beoolWt1yey2sp7owzZ93JNem33mR/9LbzpidJ7vZ//7uNYbsj9AFDqdiawnNxxgkngoDafUpghT/XNjw03hlYbFWLGmpI2Tt9aQDdj+SbO+WEevy8JYseXCQiApBKr4Vz9YIqDDDFiwbjT4hWrad//qC6wDnBH4G/iXNtvvEtLG3C+DsOv9FGXSmX1ZcEbL5cF0MlrrX9xMfNGG5ww3rkTt/4XyhYgf31mv5DunnNClGQ8YIRMVVRjCzkHoh1xFh3Z96k2RzsBjGCZxLKxVdzxbKMuZHUrze9zRemHgUJRMc4qzIuzCl2GJnbX8LV/PSdJ1hErUDE6VVa96E5U17ECASm44j X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1338; 6:smg0MisUII81xdDZ6Gdl1nbH7BH8Nr/2s9t1CSoIHQmdAE8ZZyrHQPSv9/PzQ7vmjMtIVWKYn77qXn+ypXYkYmpNP9kdz+z5WA2s96N3slyPm3dZVYlcPaifcc0w/01LDKVvfA8nM8qPbGXKN+V4gqV4oR5oCwKh30joKEDjZ5hTSlAKXjO0bnV2M6XIFYjXea1y4Rs1zCc5nRukjeN0lN0w/o8dKOWrPIv+c2LzhXgGnVUcc/vJj24QJufiyQ13CrY6pGOiWnBgMZEoBof88KjrZCS5jBjJ7pu+ockPHXRzfnmxZfko2yvrwaTg8sRrCwvQkSdCgo/j/AcywN+uluKs/nsAv2FD9YAeTdi0VBc=; 5:zoo61p06BukXkFGKYh/RwDPAwhd3PiNvJdgEAmcTYjYXhZ7c6rtWVuwAyjzlDL63fI4XPMLzA4A+DoIT7wlPIiDun9iN00ZTl66QfINixJZp1piUuK46yWWYanpRAVa5X++viJF5mt4Stt+FJEo9XR4fFQATn18QC0BUQo8gCKY=; 24:nHSNJx2pG+Bdknthw9imdOwkijkKPmt2EM4ECrYdKwOowtiMcikBmeGNDvFiG1RwzD3VoNbi9yRyR8/xHHvzBSCF+RzICPFYRgvf2P6LeDs=; 7:JuIdmaEw6MacAJ0USwr36QDGoKvXADif9KeTaPESlZ/296xHW5Vs3uByN4E4eFghqLObYJhIYI/1kEk5dHRvrw1Thk84YqWbS97Mm5GVlXVYttd5pLsbh1yHgOX2IbBr1+KMB+dTRmBZ0bVn4fWI7MTUzT4fUQ1jNUhILu27ycdGtCAVY1l/3DOpWV2aKwMwqVPtNnbOy0DyQWrH8saCDb0NfMsytPEHalsqvowIbm8ymw6sRf/8GU5gW5NpSv2V SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:41:05.4964 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4231588f-10cc-4f8e-ac17-08d55357471e X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR02MB1338 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 5/7] mmc : sdhci: Read capabilities register1 and update host caps 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" This patch reads the capabilities register1 and update the host caps accordingly for mmc layer usage. This patch mainly reads for UHS capabilities inorder to support SD3.0. Signed-off-by: Siva Durga Prasad Paladugu --- drivers/mmc/sdhci.c | 28 +++++++++++++++++++++++++++- include/sdhci.h | 6 ++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 2c3dcd4..2b7bec0 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -559,7 +559,7 @@ static const struct mmc_ops sdhci_ops = { int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host, u32 f_max, u32 f_min) { - u32 caps, caps_1; + u32 caps, caps_1 = 0; caps = sdhci_readl(host, SDHCI_CAPABILITIES); @@ -635,6 +635,32 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host, cfg->host_caps &= ~MMC_MODE_8BIT; } + if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) + caps_1 = sdhci_readl(host, SDHCI_CAPABILITIES_1); + + if (!(cfg->voltages & MMC_VDD_165_195) || + (host->quirks & SDHCI_QUIRK_NO_1_8_V)) + caps_1 &= ~(SDHCI_SUPPORT_SDR104 | SDHCI_SUPPORT_SDR50 | + SDHCI_SUPPORT_DDR50); + + if (caps_1 & (SDHCI_SUPPORT_SDR104 | SDHCI_SUPPORT_SDR50 | + SDHCI_SUPPORT_DDR50)) + cfg->host_caps |= MMC_CAP(UHS_SDR12) | MMC_CAP(UHS_SDR25); + + if (caps_1 & SDHCI_SUPPORT_SDR104) { + cfg->host_caps |= MMC_CAP(UHS_SDR104) | MMC_CAP(UHS_SDR50); + /* + * SD3.0: SDR104 is supported so (for eMMC) the caps2 + * field can be promoted to support HS200. + */ + cfg->host_caps |= MMC_CAP(MMC_HS_200); + } else if (caps_1 & SDHCI_SUPPORT_SDR50) { + cfg->host_caps |= MMC_CAP(UHS_SDR50); + } + + if (caps_1 & SDHCI_SUPPORT_DDR50) + cfg->host_caps |= MMC_CAP(UHS_DDR50); + if (host->host_caps) cfg->host_caps |= host->host_caps; diff --git a/include/sdhci.h b/include/sdhci.h index 3269992..289042f 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -167,6 +167,11 @@ #define SDHCI_CAN_64BIT BIT(28) #define SDHCI_CAPABILITIES_1 0x44 +#define SDHCI_SUPPORT_SDR50 0x00000001 +#define SDHCI_SUPPORT_SDR104 0x00000002 +#define SDHCI_SUPPORT_DDR50 0x00000004 +#define SDHCI_USE_SDR50_TUNING 0x00002000 + #define SDHCI_CLOCK_MUL_MASK 0x00FF0000 #define SDHCI_CLOCK_MUL_SHIFT 16 @@ -215,6 +220,7 @@ #define SDHCI_QUIRK_BROKEN_VOLTAGE (1 << 4) #define SDHCI_QUIRK_WAIT_SEND_CMD (1 << 6) #define SDHCI_QUIRK_USE_WIDE8 (1 << 8) +#define SDHCI_QUIRK_NO_1_8_V (1 << 9) /* to make gcc happy */ struct sdhci_host; From patchwork Thu Jan 4 09:40:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855517 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="zFxMKcwf"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2tp5qdLz9s72 for ; Thu, 4 Jan 2018 20:44:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 6F30DC21DF0; Thu, 4 Jan 2018 09:43:08 +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_MSPIKE_H4,RCVD_IN_MSPIKE_WL,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 788E5C21DE6; Thu, 4 Jan 2018 09:41:52 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 0077BC21DE4; Thu, 4 Jan 2018 09:41:17 +0000 (UTC) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0048.outbound.protection.outlook.com [104.47.32.48]) by lists.denx.de (Postfix) with ESMTPS id C1550C21C8F for ; Thu, 4 Jan 2018 09:41:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=D9O54PNSNYaiUTqwn4gPLkmN0SbJmD5tl5uKV2ISsuA=; b=zFxMKcwfsKHW10Ob4FfmjcbDPuYe77oMjxaOALRkh8upknjs9lSZcUbEn7x3Bi6oQsDoMP/m8Dfy1S8uZfzSokaV7H6NhldjgXNbgyUyGvowXM/IxV0uk9VShC3O0UhHejBbcD1TkuvvBh8Wq8IrLRbWbBENG27KFBnI5Eg45cU= Received: from CY4PR02CA0022.namprd02.prod.outlook.com (10.169.188.32) by MWHPR02MB3391.namprd02.prod.outlook.com (10.164.192.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Thu, 4 Jan 2018 09:41:07 +0000 Received: from CY1NAM02FT004.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::201) by CY4PR02CA0022.outlook.office365.com (2603:10b6:903:18::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:41:07 +0000 Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by CY1NAM02FT004.mail.protection.outlook.com (10.152.74.112) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:41:05 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:56252 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eX21I-0007Yk-Nx; Thu, 04 Jan 2018 01:41:04 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX21I-0004sm-Lc; Thu, 04 Jan 2018 01:41:04 -0800 Received: from xsj-pvapsmtp01 (smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049f10f031263; Thu, 4 Jan 2018 01:41:01 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX21E-0004in-4E; Thu, 04 Jan 2018 01:41:00 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:43 +0530 Message-ID: <1515058844-16007-7-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(39380400002)(39860400002)(396003)(346002)(2980300002)(438002)(199004)(189003)(36756003)(4326008)(478600001)(81166006)(8936002)(50466002)(48376002)(16586007)(8676002)(81156014)(5660300001)(50226002)(51416003)(7696005)(2351001)(2906002)(316002)(76176011)(9786002)(106466001)(47776003)(6666003)(59450400001)(6916009)(2950100002)(77096006)(63266004)(54906003)(107886003)(356003)(305945005)(106002)(36386004)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR02MB3391; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT004; 1:/JO1UwzSDjLxmGeONmsRE7MRyO2Z37gXjOic85kyBgRyQWjvLYp5gmEK6UmhSJso4d4Hoifc7d2AjgV8BMX1dnif2qFFLQPc3oefS4dj/PTR9xleewgOjSXuZiInyj1h MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b3489398-1783-404b-cfa0-08d55357472e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:MWHPR02MB3391; X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3391; 3:epGT73RKsS1Uw5RG42tuJnWYR4A1sji4wVHnhaVYY5RsXBHjQYsj4s5mNacM9qmFlVrKH2uIq+gPSAySyWCXI2WuQGTDbbz60WVissAcS7Xjp5zaYFJEYbEfs7ozBeluwWKxjNjMTjBOMbRQxqo2vG4jHvI1wXRno5iPp3trWxTiMfzxm72uR7sdMgWdEci5JWp7SucBICgOwo0qPwk6zrC9W0pUiFUKn6Eki2omxh3zbBSTzPNW8BpM6Hi5d2QJJHaZIIHKIx/rzMzW3p+G7737gejo2TezGlQL0dHY3BKCjVisSeZ7BzS9216LUC+jaN0G1SGo3Yf7beOh3pG4tPsRXX2E8aBNEJsnEglKzas=; 25:UQCnDcGaOM3YADAsfq3iFcSP1Ja6VSVZOWgMPDE5nH5pN7beADeCNKazlHPFJMewSY6trSuMBMpa90g2lEfuRUOBi4mVrHrdPDP0vhTazz3iWd3nQmnzCERU9cl9hdTNOYGW1LYTEXiYuN/ENdBjjTm+vDrPAolFs0WKslJW+lpeiMpFsBDdG82G0UrVqKckQG8kaaxeBb3oOLxzhme+DDHkQEkCNk8h9N1LBS6sMaQBcVtW0rl1O7fpGGnuAWxOh7YZ17uSfzUFu+KO5J2nY82xzPZH+gq3sXyZ4r+f51WWGQpyA4CAsrU8B17PnJ9a29s6OoeoU8jL0GlY5o20TA== X-MS-TrafficTypeDiagnostic: MWHPR02MB3391: X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3391; 31:cmBYgSxvtJ7FNm4iSpLnuWgOoZe09vPLMiGojWbPS12bN2pgn3Hd/p/yFKaEJXNffuCmEkWgBwh3czyaO/JzF2N/u7Y+dRUvpwlEQ9t3AWb5U3mmbg2Ph6aonuqh9VQKE0RcM6s9ucKeQ0GQ9jDcpEHv8/jwejwDPiI3topPruik19etNeMPvsAlPnaurys3BR8S13Lmy15r+zvlEZ826W0kSHTsIPIgYmz8nBP0iKA=; 20:WmpQzH+26/xPPaHu/A2nHPsXnRmSSaDuDBVSRBQHi3WCZNSY4TmQk5yZ3cMeesEpKOQIlEH+VbB0F+yaQWgAx1UIdyNec4uCrKmlqEDPACycD5arDUunh9tZ4iMJn1zKJSqhC32CaKMLFhoGT9Ay+BgvYxfGsHdmP8D1huXV7306stSB7L748bp7AG08+kBOKptNkFXOmBITgGnx8DJ53i1BXFldyo+CPKgBT8nC6XfeZ0XukzJoMZlWVQrcpH/IJhT8aap+3a7lKF6gK3njjNlp0mfFpIZMtEdwIoflropBuhFz5kuMTmKAAKWZVInkw7BD5lns0ZRzMGjUsTLNZZjk/vMT6p0kj4HlJ6Vyi0CJRBJDYOdRGq3rqEhryHnEj2va5IRjPrYInm+TGSZBm0/0Ch2gDultUcPuyiPFaeVdCLFht29SwfbZN7rp8RbHtglnBEKS5KM2xTX+/CFBLxvanJDIGwN2AbUWrS9tlBZhjv5CIfOyFKI90TmWy8e+ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231023)(944501075)(93006095)(93004095)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011); SRVR:MWHPR02MB3391; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:MWHPR02MB3391; X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3391; 4:NzB57EcT6HEMAyDWRbWyp6r6qh5ueI8C2fRWp/gla86Y7GIY9e6654hJEP4EpwKoC4AyK76lJKpL+CREaNf1wEIbgxsr/YClKG3Aa31OKh6AYkJNYJVinigvrwy4wkzHLNkbxFQ7h+c2zFUhJx7G11JFLTVo6UsMbH4HT+ogOQl5GGKxoJsWT694ZJqT0tLdf4d6vX3nu7wCLgNZKD1r2PGfoeVK7P/VNK0NmAft61E9eVg5CVqXOt2tlhQ0SEBiUN/xWoLyP2PP3zwPnR5Ad1brH57qJGhf5X0+HiVUTIny4HkVGpDtFSrAVC6qFdIP X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR02MB3391; 23:B3ReVsyej4dgTw8WxT1Ltd0zcmbtWuSk7ppAnI9ru?= T1wK0mjEQWJybFf/o5CVXL/39zyeK6BkW5WjWt4fTrmyWBVrGrDIEKREfWYqBBblkNZzG8MOMEWD2bHO5pesJaF5YPNVzQOjdwIGY+HEYbo7dX5azgq3y2VPysXmDMaX4VLQH4YvPF4Fmt2L9on3noAx8heK6f90fyL7UVH/yU7PFKBrKcEAu0ft5Df3oC8oGj2mpJm4qUwznGBNN8VuDw6mgwCwpa70BR8KP8X1m8ga9EHIJOLHtCmyW263xbyvkoIeRgnUIAeiXp2k/oRLeD0BQBxupmC+42O4WFtVBzx4jJFjDiFQRP1XhR2UqQi/RROX5iUCkHe+UPqLygS8PpG8UeKrhF73pGJpX9kQ4QqrVZ6WI+LAaIZoqYzznqMvoL2uFdKwK8J9hL+uMiowHx+JM9MZnLIQy9kcEgnt4rJ5soE521/4Q2GBe6PifIzKA8uqxowraSV0qRKgMN46vTiCMB+9W1cjZ4VboZxvO69HTV2t8eyL0IwG/91JTUu4wMSD3j8cqoMzZtGh+kspKnTQC9JuH90lPG6J4xh9vpEw7p5xIWOtStTk5V/hQlUb9RIf9v4p62FFjS+zm8bU218jWX2lPh01pLulU0guVs36S2HSaSSlYtZ0e3uZlureFvHF6wbFvDBCM7IeF+Y6yS4UiugGkC3DbQjdvzoKTxL/wZltNdFoY/FlomLBQnLPgIiUdQ8j6fMrVfDTIcqodLk5XwWMZvxsBDeJlGWi25guZ+MEpRfENuWlcsTOSOPokyWVNC8JnFAhSRHadstBbZ6eTN8Gj1T1BxgotJfLvbl6a90Tmn4kxZEtZhFLEnlen6DG1S6sGk50I1Q9cHHFfTVJ8hPIHrv5oF+1codMFf7+yqCEtgwN5OgUbqaGx4bNHT7LoL1uMwuGsTwWTxxmF8XyscQAx0ErZ3GlINVoMhW2Sl8K3rRUYxwVGSAwePE5NU2a0A01D0zfUWouAGq3jO+D8IL3C26b5z6givfmsEOqHjAV8mVB2GOG4NWuOKP8Ug= X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3391; 6:vHk/xkwlNjdtiJMM8R6RD3qb51Z0RvCleHa2gL4ST5xIge5iZ+ygUHEnit5Izm61fGqPk8z7z6BP47DjZGDneblRMvtG6b3B6TTinjtI+9+xJgQOfa4PTjNTiL0D6qKIL3f9ImUwGsGDVdqrqzqVhCo/oGA6aBpt5J9zQxsDPAw98M7bVcp3xefAkNPbs4WcuOqpXkXaP2zdTDmM7GckPUZcoC5NL71/nCWYtpcSQWb5oS9HX7Gy5I/1Md4Oj5p/OYC1bIdQ8Zxi8Q0nLezpgvunMtosbNPZ8gh7vevuR6ggFWrQYvrlqx4uV/rlKX8+b9yoc+cbd+5UZ2sfOBYWH25tc2fvX7oJ4DKAkNBBjSs=; 5:eK8WJkdlu/ZWu3795CwCi9PX2U0wVoIraGh5cNC5Hhxpafpj7VPR1yqsH1ay257Mj0GiIOKN3PeDs3mtBVHE8suVUgY5MJXq2judzyItQV4BLVr3wELIrlUY8L9PdQFluGVGscL+h0IUk6chcL13rZwAzVynlBWmqyXFx522pFs=; 24:tIG9gbkt+tArSZT4Sq1td3RaQGAFV/vHryjY2WOrkl74ljnb6fykANCsaOw9s86YLbSFnW6MeoI6g+5hr40HnTUtpwS0GuWGt2gKmiAPVXc=; 7:Sz4PVHv+EcM6wWyYDqgXXZa/UA/ZdnXhgg7J2NrlSKvIFjJNC9bUSgCZs51Ow+FuOX5LokAsw8F9RGHTOhfqR+5s1GQEMewyA7X4iJ/hifmHxYMDQ7xp2QptSjPJkxyf+cs0gpZCmHiiUpVzk6hkcZ+eEm3UbXfZ9gI1nNv8/k8HAPo+h2Ki2iZOnnlLzsTFZPkCDuW0yPo89+x8vIQOyEUeQGtgsCOyKau2V++vqNM9j3maN71VTj5n0sZO5bsj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:41:05.4772 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3489398-1783-404b-cfa0-08d55357472e X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR02MB3391 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 6/7] mmc: zynq_sdhci: Add support for SD3.0 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" This patch adds support of SD3.0 for ZynqMP. Signed-off-by: Siva Durga Prasad Paladugu --- Changes for v2: - Added zynqmp_tap_delay.h which was missed in v1. --- board/xilinx/zynqmp/Makefile | 2 + board/xilinx/zynqmp/tap_delays.c | 230 +++++++++++++++++++++++++++++++++++++++ drivers/mmc/zynq_sdhci.c | 230 ++++++++++++++++++++++++++++++++++++++- include/zynqmp_tap_delay.h | 20 ++++ 4 files changed, 476 insertions(+), 6 deletions(-) create mode 100644 board/xilinx/zynqmp/tap_delays.c create mode 100644 include/zynqmp_tap_delay.h diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile index 75aab92..f2e4d26 100644 --- a/board/xilinx/zynqmp/Makefile +++ b/board/xilinx/zynqmp/Makefile @@ -26,6 +26,8 @@ ifneq ($(call ifdef_any_of, CONFIG_ZYNQMP_PSU_INIT_ENABLED CONFIG_SPL_BUILD),) obj-y += $(init-objs) endif +obj-$(CONFIG_MMC_SDHCI_ZYNQ) += tap_delays.o + # Suppress "warning: function declaration isn't a prototype" CFLAGS_REMOVE_psu_init_gpl.o := -Wstrict-prototypes diff --git a/board/xilinx/zynqmp/tap_delays.c b/board/xilinx/zynqmp/tap_delays.c new file mode 100644 index 0000000..9c93291 --- /dev/null +++ b/board/xilinx/zynqmp/tap_delays.c @@ -0,0 +1,230 @@ +/* + * Xilinx ZynqMP SoC Tap Delay Programming + * + * Copyright (C) 2016 Xilinx, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include + +#define SD_DLL_CTRL 0xFF180358 +#define SD_ITAP_DLY 0xFF180314 +#define SD_OTAP_DLY 0xFF180318 +#define SD0_DLL_RST_MASK 0x00000004 +#define SD0_DLL_RST 0x00000004 +#define SD1_DLL_RST_MASK 0x00040000 +#define SD1_DLL_RST 0x00040000 +#define SD0_ITAPCHGWIN_MASK 0x00000200 +#define SD0_ITAPCHGWIN 0x00000200 +#define SD1_ITAPCHGWIN_MASK 0x02000000 +#define SD1_ITAPCHGWIN 0x02000000 +#define SD0_ITAPDLYENA_MASK 0x00000100 +#define SD0_ITAPDLYENA 0x00000100 +#define SD1_ITAPDLYENA_MASK 0x01000000 +#define SD1_ITAPDLYENA 0x01000000 +#define SD0_ITAPDLYSEL_MASK 0x000000FF +#define SD0_ITAPDLYSEL_HSD 0x00000015 +#define SD0_ITAPDLYSEL_SD_DDR50 0x0000003D +#define SD0_ITAPDLYSEL_MMC_DDR50 0x00000012 + +#define SD1_ITAPDLYSEL_MASK 0x00FF0000 +#define SD1_ITAPDLYSEL_HSD 0x00150000 +#define SD1_ITAPDLYSEL_SD_DDR50 0x003D0000 +#define SD1_ITAPDLYSEL_MMC_DDR50 0x00120000 + +#define SD0_OTAPDLYSEL_MASK 0x0000003F +#define SD0_OTAPDLYSEL_MMC_HSD 0x00000006 +#define SD0_OTAPDLYSEL_SD_HSD 0x00000005 +#define SD0_OTAPDLYSEL_SDR50 0x00000003 +#define SD0_OTAPDLYSEL_SDR104_B0 0x00000003 +#define SD0_OTAPDLYSEL_SDR104_B2 0x00000002 +#define SD0_OTAPDLYSEL_SD_DDR50 0x00000004 +#define SD0_OTAPDLYSEL_MMC_DDR50 0x00000006 + +#define SD1_OTAPDLYSEL_MASK 0x003F0000 +#define SD1_OTAPDLYSEL_MMC_HSD 0x00060000 +#define SD1_OTAPDLYSEL_SD_HSD 0x00050000 +#define SD1_OTAPDLYSEL_SDR50 0x00030000 +#define SD1_OTAPDLYSEL_SDR104_B0 0x00030000 +#define SD1_OTAPDLYSEL_SDR104_B2 0x00020000 +#define SD1_OTAPDLYSEL_SD_DDR50 0x00040000 +#define SD1_OTAPDLYSEL_MMC_DDR50 0x00060000 + +#define MMC_BANK2 0x2 + +#define MMC_TIMING_UHS_SDR25 1 +#define MMC_TIMING_UHS_SDR50 2 +#define MMC_TIMING_UHS_SDR104 3 +#define MMC_TIMING_UHS_DDR50 4 +#define MMC_TIMING_MMC_HS200 5 +#define MMC_TIMING_SD_HS 6 +#define MMC_TIMING_MMC_DDR52 7 +#define MMC_TIMING_MMC_HS 8 + +void zynqmp_dll_reset(u8 deviceid) +{ + /* Issue DLL Reset */ + if (deviceid == 0) + zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, + SD0_DLL_RST); + else + zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, + SD1_DLL_RST); + + mdelay(1); + + /* Release DLL Reset */ + if (deviceid == 0) + zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, 0x0); + else + zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, 0x0); +} + +static void arasan_zynqmp_tap_sdr104(u8 deviceid, u8 timing, u8 bank) +{ + if (deviceid == 0) { + /* Program OTAP */ + if (bank == MMC_BANK2) + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_SDR104_B2); + else + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_SDR104_B0); + } else { + /* Program OTAP */ + if (bank == MMC_BANK2) + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_SDR104_B2); + else + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_SDR104_B0); + } +} + +static void arasan_zynqmp_tap_hs(u8 deviceid, u8 timing, u8 bank) +{ + if (deviceid == 0) { + /* Program ITAP */ + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK, + SD0_ITAPCHGWIN); + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA_MASK, + SD0_ITAPDLYENA); + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK, + SD0_ITAPDLYSEL_HSD); + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK, 0x0); + /* Program OTAP */ + if (timing == MMC_TIMING_MMC_HS) + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_MMC_HSD); + else + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_SD_HSD); + } else { + /* Program ITAP */ + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK, + SD1_ITAPCHGWIN); + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYENA_MASK, + SD1_ITAPDLYENA); + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK, + SD1_ITAPDLYSEL_HSD); + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK, 0x0); + /* Program OTAP */ + if (timing == MMC_TIMING_MMC_HS) + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_MMC_HSD); + else + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_SD_HSD); + } +} + +static void arasan_zynqmp_tap_ddr50(u8 deviceid, u8 timing, u8 bank) +{ + if (deviceid == 0) { + /* Program ITAP */ + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK, + SD0_ITAPCHGWIN); + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA_MASK, + SD0_ITAPDLYENA); + if (timing == MMC_TIMING_UHS_DDR50) + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK, + SD0_ITAPDLYSEL_SD_DDR50); + else + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK, + SD0_ITAPDLYSEL_MMC_DDR50); + zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN_MASK, 0x0); + /* Program OTAP */ + if (timing == MMC_TIMING_UHS_DDR50) + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_SD_DDR50); + else + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_MMC_DDR50); + } else { + /* Program ITAP */ + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK, + SD1_ITAPCHGWIN); + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYENA_MASK, + SD1_ITAPDLYENA); + if (timing == MMC_TIMING_UHS_DDR50) + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK, + SD1_ITAPDLYSEL_SD_DDR50); + else + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK, + SD1_ITAPDLYSEL_MMC_DDR50); + zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN_MASK, 0x0); + /* Program OTAP */ + if (timing == MMC_TIMING_UHS_DDR50) + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_SD_DDR50); + else + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_MMC_DDR50); + } +} + +static void arasan_zynqmp_tap_sdr50(u8 deviceid, u8 timing, u8 bank) +{ + if (deviceid == 0) { + /* Program OTAP */ + zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK, + SD0_OTAPDLYSEL_SDR50); + } else { + /* Program OTAP */ + zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, + SD1_OTAPDLYSEL_SDR50); + } +} + +void arasan_zynqmp_set_tapdelay(u8 deviceid, u8 timing, u8 bank) +{ + if (deviceid == 0) + zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, + SD0_DLL_RST); + else + zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, + SD1_DLL_RST); + + switch (timing) { + case MMC_TIMING_UHS_SDR25: + arasan_zynqmp_tap_hs(deviceid, timing, bank); + break; + case MMC_TIMING_UHS_SDR50: + arasan_zynqmp_tap_sdr50(deviceid, timing, bank); + break; + case MMC_TIMING_UHS_SDR104: + case MMC_TIMING_MMC_HS200: + arasan_zynqmp_tap_sdr104(deviceid, timing, bank); + break; + case MMC_TIMING_UHS_DDR50: + arasan_zynqmp_tap_ddr50(deviceid, timing, bank); + break; + } + + if (deviceid == 0) + zynqmp_mmio_write(SD_DLL_CTRL, SD0_DLL_RST_MASK, 0x0); + else + zynqmp_mmio_write(SD_DLL_CTRL, SD1_DLL_RST_MASK, 0x0); +} diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index 0fddb42..34d9b66 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -12,7 +12,9 @@ #include #include #include +#include "mmc_private.h" #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -26,15 +28,211 @@ struct arasan_sdhci_plat { unsigned int f_max; }; +struct arasan_sdhci_priv { + struct sdhci_host *host; + u8 deviceid; + u8 bank; + u8 no_1p8; + bool pwrseq; +}; + +#if defined(CONFIG_ARCH_ZYNQMP) +static const u8 mode2timing[] = { + [UHS_SDR12] = UHS_SDR12_BUS_SPEED, + [UHS_SDR25] = UHS_SDR25_BUS_SPEED, + [UHS_SDR50] = UHS_SDR50_BUS_SPEED, + [UHS_SDR104] = UHS_SDR104_BUS_SPEED, + [UHS_DDR50] = UHS_DDR50_BUS_SPEED, +}; + +#define SDHCI_HOST_CTRL2 0x3E +#define SDHCI_CTRL2_MODE_MASK 0x7 +#define SDHCI_18V_SIGNAL 0x8 +#define SDHCI_CTRL_EXEC_TUNING 0x0040 +#define SDHCI_CTRL_TUNED_CLK 0x80 + +static void arasan_zynqmp_dll_reset(struct sdhci_host *host, u8 deviceid) +{ + u16 clk; + unsigned long timeout; + + clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL); + clk &= ~(SDHCI_CLOCK_CARD_EN); + sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL); + + /* Issue DLL Reset */ + zynqmp_dll_reset(deviceid); + + /* Wait max 20 ms */ + timeout = 100; + while (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL)) + & SDHCI_CLOCK_INT_STABLE)) { + if (timeout == 0) { + dev_err(mmc_dev(host->mmc), + ": Internal clock never stabilised.\n"); + return; + } + timeout--; + udelay(1000); + } + + clk |= SDHCI_CLOCK_CARD_EN; + sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL); +} + +static int arasan_sdhci_execute_tuning(struct mmc *mmc, u8 opcode) +{ + struct mmc_cmd cmd; + struct mmc_data data; + u32 ctrl; + struct sdhci_host *host; + struct arasan_sdhci_priv *priv = dev_get_priv(mmc->dev); + u8 tuning_loop_counter = 40; + u8 deviceid; + + printf("%s\n", __func__); + + host = priv->host; + deviceid = priv->deviceid; + + ctrl = sdhci_readw(host, SDHCI_HOST_CTRL2); + ctrl |= SDHCI_CTRL_EXEC_TUNING; + sdhci_writew(host, ctrl, SDHCI_HOST_CTRL2); + + mdelay(1); + + arasan_zynqmp_dll_reset(host, deviceid); + + sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_INT_ENABLE); + sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_SIGNAL_ENABLE); + + do { + cmd.cmdidx = opcode; + cmd.resp_type = MMC_RSP_R1; + cmd.cmdarg = 0; + + data.blocksize = 64; + data.blocks = 1; + data.flags = MMC_DATA_READ; + + if (tuning_loop_counter-- == 0) + break; + + if (cmd.cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200 && + mmc->bus_width == 8) + data.blocksize = 128; + + sdhci_writew(host, SDHCI_MAKE_BLKSZ(SDHCI_DEFAULT_BOUNDARY_ARG, + data.blocksize), + SDHCI_BLOCK_SIZE); + sdhci_writew(host, data.blocks, SDHCI_BLOCK_COUNT); + sdhci_writew(host, SDHCI_TRNS_READ, SDHCI_TRANSFER_MODE); + + mmc_send_cmd(mmc, &cmd, NULL); + ctrl = sdhci_readw(host, SDHCI_HOST_CTRL2); + + if (cmd.cmdidx == MMC_CMD_SEND_TUNING_BLOCK) + udelay(1); + + } while (ctrl & SDHCI_CTRL_EXEC_TUNING); + + if (tuning_loop_counter < 0) { + ctrl &= ~SDHCI_CTRL_TUNED_CLK; + sdhci_writel(host, ctrl, SDHCI_HOST_CTRL2); + } + + if (!(ctrl & SDHCI_CTRL_TUNED_CLK)) { + printf("%s:Tuning failed\n", __func__); + return -1; + } + + udelay(1); + arasan_zynqmp_dll_reset(host, deviceid); + + /* Enable only interrupts served by the SD controller */ + sdhci_writel(host, SDHCI_INT_DATA_MASK | SDHCI_INT_CMD_MASK, + SDHCI_INT_ENABLE); + /* Mask all sdhci interrupt sources */ + sdhci_writel(host, 0x0, SDHCI_SIGNAL_ENABLE); + + return 0; +} + +static void arasan_sdhci_set_tapdelay(struct sdhci_host *host) +{ + struct arasan_sdhci_priv *priv = dev_get_priv(host->mmc->dev); + struct mmc *mmc = (struct mmc *)host->mmc; + u8 uhsmode; + + if (IS_SD(mmc)) + uhsmode = mode2timing[mmc->selected_mode]; + else + return; + + if (uhsmode >= UHS_SDR25_BUS_SPEED) + arasan_zynqmp_set_tapdelay(priv->deviceid, uhsmode, + priv->bank); +} + +static void arasan_sdhci_set_control_reg(struct sdhci_host *host) +{ + struct mmc *mmc = (struct mmc *)host->mmc; + u32 reg; + + if (mmc->signal_voltage == MMC_SIGNAL_VOLTAGE_180) { + reg = sdhci_readw(host, SDHCI_HOST_CTRL2); + reg |= SDHCI_18V_SIGNAL; + sdhci_writew(host, reg, SDHCI_HOST_CTRL2); + } + + if (mmc->selected_mode > SD_HS && + mmc->selected_mode <= UHS_DDR50) { + reg = sdhci_readw(host, SDHCI_HOST_CTRL2); + reg &= ~SDHCI_CTRL2_MODE_MASK; + switch (mmc->selected_mode) { + case UHS_SDR12: + reg |= UHS_SDR12_BUS_SPEED; + break; + case UHS_SDR25: + reg |= UHS_SDR25_BUS_SPEED; + break; + case UHS_SDR50: + reg |= UHS_SDR50_BUS_SPEED; + break; + case UHS_SDR104: + reg |= UHS_SDR104_BUS_SPEED; + break; + case UHS_DDR50: + reg |= UHS_DDR50_BUS_SPEED; + break; + default: + break; + } + sdhci_writew(host, reg, SDHCI_HOST_CTRL2); + } +} +#endif + +#if defined(CONFIG_DM_MMC) && defined(CONFIG_ARCH_ZYNQMP) +const struct sdhci_ops arasan_ops = { + .platform_execute_tuning = &arasan_sdhci_execute_tuning, + .set_delay = &arasan_sdhci_set_tapdelay, + .set_control_reg = &arasan_sdhci_set_control_reg, +}; +#endif + static int arasan_sdhci_probe(struct udevice *dev) { struct arasan_sdhci_plat *plat = dev_get_platdata(dev); struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); - struct sdhci_host *host = dev_get_priv(dev); + struct arasan_sdhci_priv *priv = dev_get_priv(dev); + struct sdhci_host *host; struct clk clk; unsigned long clock; int ret; + host = priv->host; + ret = clk_get_by_index(dev, 0, &clk); if (ret < 0) { dev_err(dev, "failed to get clock\n"); @@ -46,7 +244,6 @@ static int arasan_sdhci_probe(struct udevice *dev) dev_err(dev, "failed to get rate\n"); return clock; } - debug("%s: CLK %ld\n", __func__, clock); ret = clk_enable(&clk); if (ret && ret != -ENOSYS) { @@ -61,6 +258,9 @@ static int arasan_sdhci_probe(struct udevice *dev) host->quirks |= SDHCI_QUIRK_NO_HISPD_BIT; #endif + if (priv->no_1p8) + host->quirks |= SDHCI_QUIRK_NO_1_8_V; + host->max_clk = clock; ret = sdhci_setup_cfg(&plat->cfg, host, plat->f_max, @@ -78,10 +278,28 @@ static int arasan_sdhci_probe(struct udevice *dev) static int arasan_sdhci_ofdata_to_platdata(struct udevice *dev) { struct arasan_sdhci_plat *plat = dev_get_platdata(dev); - struct sdhci_host *host = dev_get_priv(dev); + struct arasan_sdhci_priv *priv = dev_get_priv(dev); + + priv->host = calloc(1, sizeof(struct sdhci_host)); + if (!priv->host) + return -1; - host->name = dev->name; - host->ioaddr = (void *)devfdt_get_addr(dev); + priv->host->name = dev->name; + priv->host->ioaddr = (void *)devfdt_get_addr(dev); + + priv->deviceid = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), + "xlnx,device_id", -1); + priv->bank = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), + "xlnx,mio_bank", -1); + if (fdt_get_property(gd->fdt_blob, dev_of_offset(dev), + "no-1-8-v", NULL)) + priv->no_1p8 = 1; + else + priv->no_1p8 = 0; + +#if defined(CONFIG_DM_MMC) && defined(CONFIG_ARCH_ZYNQMP) + priv->host->ops = &arasan_ops; +#endif plat->f_max = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "max-frequency", CONFIG_ZYNQ_SDHCI_MAX_FREQ); @@ -109,6 +327,6 @@ U_BOOT_DRIVER(arasan_sdhci_drv) = { .ops = &sdhci_ops, .bind = arasan_sdhci_bind, .probe = arasan_sdhci_probe, - .priv_auto_alloc_size = sizeof(struct sdhci_host), + .priv_auto_alloc_size = sizeof(struct arasan_sdhci_priv), .platdata_auto_alloc_size = sizeof(struct arasan_sdhci_plat), }; diff --git a/include/zynqmp_tap_delay.h b/include/zynqmp_tap_delay.h new file mode 100644 index 0000000..14cff9d --- /dev/null +++ b/include/zynqmp_tap_delay.h @@ -0,0 +1,20 @@ +/* + * Xilinx ZynqMP SoC Tap Delay Programming + * + * Copyright (C) 2016 Xilinx, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __ZYNQMP_TAP_DELAY_H__ +#define __ZYNQMP_TAP_DELAY_H__ + +#ifdef CONFIG_ARCH_ZYNQMP +void zynqmp_dll_reset(u8 deviceid); +void arasan_zynqmp_set_tapdelay(u8 device_id, u8 uhsmode, u8 bank); +#else +inline void zynqmp_dll_reset(u8 deviceid) {} +inline void arasan_zynqmp_set_tapdelay(u8 device_id, u8 uhsmode, u8 bank) {} +#endif + +#endif From patchwork Thu Jan 4 09:40:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 855520 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="m4Ak6YY+"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zC2xd27m6z9s74 for ; Thu, 4 Jan 2018 20:46:29 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id EBD5EC21CB1; Thu, 4 Jan 2018 09:46:22 +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_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 5BC4BC21DEF; Thu, 4 Jan 2018 09:42:43 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id F18A5C21DF3; Thu, 4 Jan 2018 09:41:23 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0081.outbound.protection.outlook.com [104.47.37.81]) by lists.denx.de (Postfix) with ESMTPS id F1B0DC21C2B for ; Thu, 4 Jan 2018 09:41:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=taJAI0O4jNgfWpljK041ixOuJUj+jXxvf3u0ioGQI/A=; b=m4Ak6YY+dgIZJZGRCFHntvZv3yvfQdXP3FAxdt+RBCwyGAXqxpHr2/UmtTO7XgiamGJ2L3v9Fd6STbze1rIh5d/o9+2yhaFrDvt/aBUiO8AjtnPNUkZYJ4kZC/RY15wi+uQKbt9s/CDvUQzW1Obx0ny6YotcQrh7lgXVJFQC63g= Received: from SN4PR0201CA0052.namprd02.prod.outlook.com (2603:10b6:803:20::14) by DM2PR02MB1337.namprd02.prod.outlook.com (2a01:111:e400:50c8::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Thu, 4 Jan 2018 09:41:16 +0000 Received: from CY1NAM02FT038.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::209) by SN4PR0201CA0052.outlook.office365.com (2603:10b6:803:20::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Thu, 4 Jan 2018 09:41:15 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT038.mail.protection.outlook.com (10.152.74.217) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 4 Jan 2018 09:41:15 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1eX21S-00068o-Ux; Thu, 04 Jan 2018 01:41:14 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eX21S-0004vq-S5; Thu, 04 Jan 2018 01:41:14 -0800 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w049f3Bs031345; Thu, 4 Jan 2018 01:41:03 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eX21H-0004in-2Z; Thu, 04 Jan 2018 01:41:03 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 15:10:44 +0530 Message-ID: <1515058844-16007-8-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> References: <1515058844-16007-1-git-send-email-sivadur@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23572.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(39860400002)(39380400002)(346002)(376002)(2980300002)(438002)(199004)(189003)(8936002)(316002)(478600001)(9786002)(16586007)(47776003)(81156014)(81166006)(63266004)(106466001)(36756003)(77096006)(54906003)(8676002)(305945005)(50226002)(106002)(2351001)(2906002)(356003)(76176011)(6666003)(36386004)(51416003)(107886003)(2950100002)(7696005)(5660300001)(48376002)(6916009)(4326008)(50466002)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR02MB1337; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT038; 1:Aai2rXjLOiXIjdUo3rDmEV0w+ZbWB9FVFumzaGSzAE3LYS9jSSpmHyp/kSFit5Y+coylvFHGc7yfpEVGaPBLbdGZDWvAn0O3mxaBSEMa5f2N2aEvhUlI+z1E3nE+VU8t MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: df495168-9bac-4fc0-fa3a-08d553574cc1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:DM2PR02MB1337; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1337; 3:ZqNfZVb0Xms43Tu6mfNVDq1k4KbyqNAqQp6Iox2T0SmUD9bqrQWXR/5xoXMD+3bikpNPBG2o+jUhJ4bGibL0UURMAWXUwewOkyrH4Prf+mmYlCoby8Jjz5h0zCbjmlWem9mBIzWnkKYGdA1Q7LU26IWTAtXzlq8iAL88mUSrXjdeDKn2NU3gQGbQZmSjP2fIG/P0wmteruv1qPKUBhz1lRn4JHNKfrK74Om4xvPOF2CkU6k1pj7a067UqxDlQ7xK1iZM6bOpQLpdy0Kj0kVWVi0JC1xHqWno5w4i05LYZRrbgk/vSJg1Iddx8fNQduDjhygHfo2RSPnAAL2EgzfflgoT5/YC1AIUnG092nA1fiQ=; 25:w2jAP1ids1p16v+Ik6DzAVhZYUodanjlBlsb2M7ZNDKOqalAWtcLtbwzYJHhGuSm8/I0JvpMkN1FP6pr9NTio86vA88c9L4WRkLoCNaK3t/I0rn5x/TSga+a5cZnPdqIMoEnCYa1SlC31waCxeklVkYxVIIXte4DBbwPNkoEabUYtg31v0w2pjPL8hMb95ZXw5i+GBXFNBgszJT09tO49r3cqOvIOEOBFCzwVpuaOYOA+hJAkgUfheFy7d0aTUs2U4ZeMt48Bvtd9HlBfUFQi4Bb3rYGLg+h+IWli8Dmvq4J/uOd+YRXrWBHFJjqHTU2oTQyTYBOiYY2ZbOf55aHVA== X-MS-TrafficTypeDiagnostic: DM2PR02MB1337: X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1337; 31:tQQT24OwduF7t63Q6sFt6zr3ESzCsN6AvkD2hpLXU4VlVAmLNmQ7++pXuhr3kj5lHMNuN5PyvjXHvR5ckE24CHtB2c2ryAD8D38XYgTOBZCfObGCMK5wfpzOj2MvWiF5psSRGyK1iBiVFz1uRWZFi2JntXvIFleLcekLUoIHQupHqZM0rUfwk088CJZuskKN8odMf+qlGExugmW1GNNmty1NJztSy6GvEje/PSDqHKY=; 20:GEO/8xCxXZyuCqODwZ0w9klB6xqsrKS0oJtM0jR5Dw2aHEy20tQ0IJAwAsqVZ+rFuu3ezz3cUh1E1wiD6EtcVkLUQvEa/IiJK4REscPGtoORV7dkmxSEIqy5weUJ38pZXkcoX0VpU5+kra6EIwd2UNML6IWbTBKU+LJGaZbO7gQj3SZkYIdF+4u9hJvPz0mH3qKMXVUu+3qBIsGORrLT+gQbIBHsxmKszSA6NTvW+yOvlA483FB6A4zJr6wbemYaYyeBlMyY7s1zEeP+0C/lIHkK1GlHMWQfkVB4J5siwAGJhHkOB/wNkViB2tnbTECuSViau9VV3WfiJ7CYYkekrRjJF92AJSWduYD7lu0/1iP+LjnHDtU/jy+T0C2nwvnJ7abBeK1Lz45fT8A53pECy9s3HArdzFeC1mGazI4puGtaSfYKUeAaOYqQEM0O/Mvn7sYOOcM4U4JkE9d3fDFTYFifzRBUxvhrha6yhyKHEuEiU4Mc03sa6NweqW19BSMt X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93004095)(3231023)(944501075)(3002001)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:DM2PR02MB1337; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM2PR02MB1337; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1337; 4:ohsNsPgWQ8jYBRu/pdzP11QccCE47gOTWuIfhq64dKLzLHve6jqX/knxNzV+78ZsTjQB5X6OTslaZdFVl47PNVfalkLBJ5TNiciNgK4+mk2+m4XWvJcfNyareYvJM4Vh5U+PdhdxBT06f71qUdrJW/xqdBYGnl64I8zEnn/bJHE+o5ZzpGu8ORjrG333FYWE3bT5t9NnucJUGjHG7UDYzg5JcOl6bFi9TFCz7Bhsfx4O3q0QS4GrrMLmujbY8lsVEIADxKL3U2H8wJOusBvu9nA2mvv3jXAybVM81YzNJROq1GBQnpI6M7x6PJsXkCXj X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR02MB1337; 23:ealMoTbhvP03t5jRoCip4jLwE82gNI18mIBgilJZT?= AO2sftsOQrsJsVXMPGomSupL7VohDf6P46qJJ4XzH7YDT8u+KAfNrwtc/OlQlq8nCz7GB1+h/RDrBzcODKhyNBpJZmEL0QaJBJyUXr9jl+8pvj48v9L8ESfU1rUN5wrctivvV5opDlA3stzAC/vVJhJZjlMNnaYLcBTFj+aRYjfTDtvSf4x5nv+jk5XP8xdUBSbwOLMiUOLWJ7OG42OEpuexqng8X33JxSaGAqxizzkX1cv/ksbCuj79MTx4b03ZlqetcP1dDIywXwLgDP+H17BRneJmXbRpcFG13VmiriG4AoV4V8204x3t/saj3CFY+EcwustpolY4Y5J3MrsLic/9KIFkuGQ5Vido6sx/UnAPNqtimEIhdp4tITHbgqqjruYAaCt3oVWmIEdOO7OD0DrMbqcBpP7revbnnFfH8SSaTkisSGHVkH/nNlUgfCtmtk8XR3Pu0St1FioXScOS9REGWnSXSPZtdJbGWzL9SCgM/RrWhf5PdEK6yrVng4YWk81HDFI8VOfemuFzzrTVVh2K4JAO4+ILUHzKvtVoCag6dN6rReLQ+I+1KjubJzFRl8DedJEVXYIDkEFVv4LglekR9EYU4QNaQEStufyL9tNa3MkvvQU3PgbZ08WjFv2LgABNEnx2iC/SRRC6NLnsPnhXG5eP4eyO5lpoiOnsxW/N97Kn9hlq2gktQp8dYEAMe+FTVdfAYPLzcvU5QlaxjN/i0/oRKcLiVCKCXfpOveyK2eyWccrjCGZOoowN6ostDXoImw3NMixW8dVMNpStRZNQx8ts9rzJ84ga7HR1dkNIl0tK8F3gAd2/tmvS/5Hw1Wl+26vMUODQwFYEqENRqAWnkKHzZYI59QSMvuImkVFK6c4rWVPwrssuQTQmYbaoswa0mXZeuE4wBBfsYydW2y31N6kgo0/PILjJaG+srnu51UKMWk14x9L5+eseVqEbbc= X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1337; 6:tzI1TChls5ZZe9KMpa2vp8JlO4y/Op5b1HsFrvL/D05hzkRHRGLs2V5ZqBygsF5pj9FfxfKnbv4COYS9Sa+eToc45XnotnS2+M5h+X+uyWD21kAHVFu10Kz9ZSN9lEmCgnOEKzZjwv9HmlLq7BNMkCjv7daeVhsshVjCxv/f7ooNHvoSJ2+jeREo6pFpVBdMw8x3T2P7yNTP6mSpwNiZX0GHikHxHMg1ZhtgGYySw6vFkRfEqKawUL8IvujIh1yh9w3B2Cxsvhwck8hzJeYKNlkROfa7w6k8MEFryMh6iBG5Q5xpP+In/kQTHgcOVfDf0mRTdjPG+yTUe3R1S8zzuRm5PcpyXuZeC9kb8+RTi2Q=; 5:0QL0bcOx4R1Nfhk+j64cgyHKY9LpDdx5+IB9lX96OSLO/Fr7L+imFHLiM62Vtrd25Qe4cNhDD3P6YuEBR3IxlyQJDLHp+XHcVb/Ab6Cotd6GLRMt4567j4JJA0v+QSWwXxFW4HCAkQrhybPe4Wc3t9fa3ut4NzfCaq2ZcQKFUzw=; 24:ygS9O7/FQRFrgX0+g6JzeuPXIvrw3XfVmlhw/i4QUBp7vcFQ/DslBi8ln9PpRVJ8Re4CpeC2nuqDd7vQ1EvcFKkgDNwbTbNHpCN+TJwft7k=; 7:yx02VvOGukNCu0U0jL8F2BsOflGSf+LtnI/wvnZw58sczFBDqjKAUmlua7+DlxkhcTO7j/6bdu8dSNAdU6awucvObTCWjqm4Wh7i7hFn8rMXzAWnmdnDCJGAkAWK30WkLr2U+9PCKWkZtLbBV2zWPPeOwTPgAWvFEc0PbYH2ILv6ivfq0I6ecKWHxAXYbvM7/ovbZj7zmT7U839Br5ODXhhf39N6geI43e8s58Qmi/lGMV2GSuuqkGdPF2WCx3tg SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 09:41:15.6428 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: df495168-9bac-4fc0-fa3a-08d553574cc1 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR02MB1337 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH v2 7/7] zynqmp: zcu102: Enable UHS support for ZCU102 Rev1.0 board 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" This patch enables UHS support for ZynqMP zcu102 rev 1.0 board. Signed-off-by: Siva Durga Prasad Paladugu --- configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig index bf27ca4..d03a760 100644 --- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig @@ -51,6 +51,8 @@ CONFIG_CMD_PCA953X=y CONFIG_DM_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_ZYNQ=y +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y