From patchwork Thu Jan 4 06:20:10 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: 855396 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="H4sIdzkw"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zByP36Pq1z9s7M for ; Thu, 4 Jan 2018 17:21:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 66F84C21DDD; Thu, 4 Jan 2018 06:20:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 E2157C21DE4; Thu, 4 Jan 2018 06:19:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 76AC8C21C29; Thu, 4 Jan 2018 06:19:56 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0076.outbound.protection.outlook.com [104.47.41.76]) by lists.denx.de (Postfix) with ESMTPS id F320FC21CB1 for ; Thu, 4 Jan 2018 06:19:54 +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=H4sIdzkwFnSNA6dMAua6lhdEluPU5q4ZU8Tto2eRyYchcHX8yxndaVY6HszZPLc/TQPmiX1W/h47foa+u17M//aohS7eGDKvH6e0A7xNVLMxH+pkqIdETQwwU1mRqd3sDpOZgcSrEJQFogC9Q8H/thqBi9zxlMe7AMS7sy9aAiM= Received: from BY2PR02CA0005.namprd02.prod.outlook.com (10.163.44.143) by SN1PR02MB1342.namprd02.prod.outlook.com (10.162.0.148) 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 06:19:51 +0000 Received: from SN1NAM02FT027.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::207) by BY2PR02CA0005.outlook.office365.com (2a01:111:e400:5261::15) 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 06:19:50 +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 SN1NAM02FT027.mail.protection.outlook.com (10.152.72.99) 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 06:19:50 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:43378 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eWysY-0006Km-3x; Wed, 03 Jan 2018 22:19:50 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysY-0004Kr-1H; Wed, 03 Jan 2018 22:19:50 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w046Jd91012706; Wed, 3 Jan 2018 22:19:39 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysN-0004Gi-8X; Wed, 03 Jan 2018 22:19:39 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:10 +0530 Message-ID: <1515046816-27217-2-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(346002)(376002)(39860400002)(396003)(2980300002)(438002)(199004)(189003)(48376002)(36386004)(8936002)(356003)(305945005)(2950100002)(107886003)(6916009)(6666003)(478600001)(47776003)(81156014)(5660300001)(59450400001)(9786002)(8676002)(50466002)(76176011)(81166006)(4326008)(7696005)(51416003)(50226002)(106002)(2906002)(36756003)(63266004)(77096006)(2351001)(316002)(106466001)(54906003)(16586007)(154233001)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR02MB1342; 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; SN1NAM02FT027; 1:+MYUzIJ4r5gTCWGAt7oGm8PVNH2fcEijPb02hIB0KeTZ6b7Cu/98x4pOvPiW92Vmlyr6a3rOzgl62wTAX98DoMzxI581hQOBcCXp22mJL4ENnXvWd6D8mPSAOFzGrJ9y MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4398c097-228b-4b96-c13b-08d5533b297e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:SN1PR02MB1342; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 3:axClDecNBb5+TsctiWB3LDVIiJil7rOtcK1OWSsZcW8ZJZi1qEBrIFV+v9vUu9Y133HtFvOEnZn5WT1chYNva4aP/BXtr6hPWcUJPgGhqYPXxNOB3662D5WmMQ4f9N8hiTFfcRMTTJRvGwVZiZy/YQU5BavDieIM8tJ9V0xi5T7JhPmEUGS0F+ne4mib4zosvAGQZGcgATfXX6BImXTqpj10PpIcSiz/n39DUoopL/p7AS1+tPzs0DftZPUXG2tq2/GAsRcVNEfY8TeZZ7U6kn6hmaEDqulKmkc9BlPolJeOjH4EFb5OuD32jAm6RlKoBlIVymXHGyvJJetMyXiuBCYO9H0G7BU7Iub6kcpeI+c=; 25:UU7HZBs9GskFUSrYpjJSH5H2UkX02hG7uOBofDmHcLeTuxbU10COJEZCtL3ddblIxonqahp3nuUf5VfAh+SmtEHIzYs9qJuL1UE77XMk7j65Y9O97A9N/gNhLoclVq174IguQYEfuA6hLdcxcfBmApoF8h8I1twLMo8G7w09g61e0GuTYovJerhkl2LYuF8FVzq0q/61e6TQz0jrJ2my/YUggGLTTk9xaYe2RI0UlU2AyfxTeKBfSE0tom7F39uEjGFaqZqBNdVkM1eFgkkjRwFRRw4HDyDaTEoC10HWA6YBjdAzsSHugDl02g3UwqSnsRaVCz7iOsAr0N79V8SUSQ== X-MS-TrafficTypeDiagnostic: SN1PR02MB1342: X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 31:VEs35l6btWG6cs0HmaM3hdBv/6Ziuv//IVjLs8SzYUoUFeRXcFVQ9+gQhzWnD4ryo2G4Bw7zl+maC2WNUyNONjQec1DfociYkELggJGokmTWlWMsqmUN8Oz7d8ICaECRKJWUuc9b9SmV6RMAZsYeZTsKWKoqBaG9yOQlTouZjaE8uPdTTHCY1NkoRUZOhkmESJdqM1LeLbYQsJIa9g7hM3Ptjt9lyJ/Mg/bCmZ8Vfbw=; 20:BQuyN4QxI/6u8v+3o/53O6fIqyvE7v1OdV3VxUgt11vAmCmZwfUY5id7u2Kk2mldZvV3YFyU+xSaPeqTv6o4PB3Q/7mPaFD78YlRcM0aRHa11+gvYmav/wsVWW5P8PnGARRoQVXhStb3LBKRD9fLPOS2qlAnT14HOA2xew9i9SLPpP2S9evpfD7FW0LIVdVrTMTjI9pKqj4cpfvOg6YBPHcLkPBXfvRMhCeT4oGJa1t+gKrKxxS4g7LUSdJadsJITmCFQCOtq6GGQmIvfVmIOhMVWk0M1xh6FmA5kW1pw4JEQMerVokyYCyojlRQHz17cf7HF2qZv3zBNXzaA+LIPDT7u3CbyTOWOxhMgmooAucv/7aYILN8weMll6NLhU1CRpWs4J1CbFL96oOioBMjFHogkxcZg+ifuIOdposbWQf+jQ2ZTbMZ8ES6BtSI2KkQJ+u/1mvgisd6DjGiv1gG87Dg0rsNcrw+vHKU9pg2YdLLEFv9v7wGhDTnCkyGLdtL 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)(3002001)(3231023)(944501075)(93006095)(93004095)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:SN1PR02MB1342; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:SN1PR02MB1342; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 4:oonMqlaEP52Mif4pwRrenUZrWVerEtqrLD7xXWSzcC7HLri1Jei8MlZwklsnnSsbpNLWBahVJ4PUk3JO1711Z6sV7IdUBqDKj6DK4k6KfzMCf36ZSdmnvv4AC+fjhdJPCeoz8klERkg6qqmWm6KLgMJuWft2gQ+uRn5dqeeMb5PnDU0OWlX4SdAwxhIJFJvt3QepFWDphbXZ5HfPBq9k55aa96nWrDzx2S+Ud+I1CZPebUB4OyvVWXCiU+2K772raMXDEAGQw0K2lF8FzyEB1saZT2ygc2Ydc/ofEKKHASZSnaIurjgzNuDUoMYq4/GJ X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR02MB1342; 23:mkS1HOK3uQnQGE549AWEAce9zkahaC735GKDngHHP?= ZWtn16HZs2GmfvTwBLPttwi7WpcaykRJTMhsHyrtgUKG6I/FTtxHOs7J4CbRA25jhdZbiV3zmcOAErg9FCU89JXEfEQ2LRk4l8nPRQo1MMh0NhjZpHnu4+3vT+eUE//7I5u86F9AqDLCVg1ye5VgL8eLPU2YIqjzuPwA0NIb4nNIFurwmv1IrU3BOBUMixVeVT7HozMQuGmaUjaGMluvBoxDNi/Wv6kZvzp7Fqe7nrjGgqeiXs3SyfZ3U4NAP7kefzbkWAmjGJ96Zzx0bVK4C9sD61Ct1yxVG7yAEmqpricFe1eKPDwKN8opc+bzEeGYbBxkZErO7UBmrNN55+Kc2dvR5kvMMv4IFZBTmri2NDcOfjYH0cwYxp/ESR0VKY/qNQMpkmsX2DfDe8hUxXoGTwjwNJdJpo5D3q290G734dVSXnVAGUODQWUgngIE8wlRzF5UatWcMlapVlRb2PJj86Bv2JyAc+OW0IbJn7xk+Hq1Mm9qL2dVQeeP7OlcRWnkEar2WaH6xZjQ4vCNCZ+fPsMjP5yXeEpJCI5Hgd6yTqud0ebuAuQe2CJS1nmO9mipHY179X0Oq5sbaU902D1RdAf0ntG/ZPZHQ1jnsLjDHqvE4Df7XgNikjfrueWQMfJZGjel+GMwp+W5UyW+doLLQYtaFTW3Ki7pWx1bvxH9J6GppjCjNaEJvyXBXKd2VDnOTq5y+/+WDbOAMM0jZJsoN7VBoc/J0EimyWDTPkpFhfonqQyCNvarC5EG9W8wWVfRbKBk94zITs9xU8wLhw0kBwt5G/eZcutkNGfFZnoBk+YXFUmo01DMoPUJcv5VlD681Ork7DJycN63CHT/J9xb5IN2TqxYJEZBZvmrjqQ5QLtJLXlZSNE4KhrFf+DAwtCcSdOIEisV9a+uz1bVVBuhnPVFfWnQma12ENn0UeLKwEUKGXG5fZsjtzSMSLOsWoupPv8J+hcxtBxqm5o83k0FI2TJZfGEC6s3j0BgT8faCXHqfQOonUnRsnwmwfvGBQq4hBiW/tBLR+k/Fq2iwQq1pD0 X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 6:tYSZjXM9rRV1cUoV0/6ds9S3CGDGpBGa+mawkBKuCtBYRTr0eW3Xf2MgrK6P0EM6wRJk1RvyF9yj0aqXelr6hzo+LINogYlGbGYRndRqIhxDVI67dZhRv8uRXwyNjclufFXC1J38+uGbXXqN56GvQLtcleIBYdIYaCi/BtpBD3URGgM9By6BLj5PtVw+aPbu+Yd8CVd+5XCTNkokBI1d5cQEc1xbjWKuxfhG1c2fzn+HWEndOLJH2VxU0hIFe9TX8Fz6BYvAkY4YWD22Ps5AFEXstLyN1oIrw5DT8LpSBWv6ZseXICvQIfpZ3UMDWlmNNTr6Vf2XKjQSss3DQD+6awPez4dyuhUaK7uniSdoic4=; 5:IMT7B5RGVFIiUxEwpDeB6XYykSUXJg/4/+izCC7xq50wULEWbdbd3H7e+WwZWIE8o52cISEuNbzmq1nquYaInT5TAOjb1QVZXn13In0N+V6FQgXk3psbiyylS1HAQIhrL7J8CtGTeiVRj6YRtZ9FsaS4t0ODNFotYN57sY9jMs0=; 24:eNVwAP7O7lGdOqqVsS3QbZfTfI0njU3SW8Ju42pXTUId7KIpV+MKiLKV9e9EUFnL69OJ1dhcdI06I+CV7dzgJgalSFsaLPmyaEzQvQYc/XU=; 7:dJIYBgJPLFkfwT9WSghE7sI0rlcv65ijk0QJ+DjKilpYNUrfUkNR3J+VPhsSlyrwfJ2MipoY3FKaKYq/HukpPGOr+nR5Z1O2DdlJ2LI5wjisbxhBFULdx8l9mp+5iJpaK3K08XDfTDtx3aNWZrVD33/y4hpDFL/hYi/z5aoy2ywvn7zqs+YfQNNIjF7YsSftpK8z3K2TgWx20kKa86ucPV0YfY0vun4MjTN0HK91GinBejyT+QHHcP5m3yBXMaKA SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:19:50.5735 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4398c097-228b-4b96-c13b-08d5533b297e 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: SN1PR02MB1342 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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 06:20:11 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: 855395 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="3QAN0jWm"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zByNx5Y1nz9s7M for ; Thu, 4 Jan 2018 17:21:21 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 3149DC21CB6; Thu, 4 Jan 2018 06:20:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 03FC5C21DC8; Thu, 4 Jan 2018 06:19:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 60C7DC21C2B; Thu, 4 Jan 2018 06:19:56 +0000 (UTC) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0058.outbound.protection.outlook.com [104.47.33.58]) by lists.denx.de (Postfix) with ESMTPS id C4B62C21C8F for ; Thu, 4 Jan 2018 06:19:54 +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=3QAN0jWmC6XjHkmcKrh5rQaOaFy2H+jKJIUUIjyDOHp3OW3QIKdskt4YtGiv2UchCHNGqFeKkL1zIQiavw57ut8L1EWqocChquQEediuUqM+wQTOTIbXN1fzD4z+Pd5HhC6BkW7jHA3x8Eawlgno2IZ0Vsq3yWmlFOZTuO5i1Ec= Received: from SN4PR0201CA0040.namprd02.prod.outlook.com (2603:10b6:803:2e::26) by DM2PR02MB1339.namprd02.prod.outlook.com (2a01:111:e400:50c8::26) 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 06:19:51 +0000 Received: from BL2NAM02FT064.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::206) by SN4PR0201CA0040.outlook.office365.com (2603:10b6:803:2e::26) 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 06:19:50 +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 BL2NAM02FT064.mail.protection.outlook.com (10.152.77.119) 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 06:19:50 +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 1eWysY-0004nP-0c; Wed, 03 Jan 2018 22:19:50 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysX-0004Kr-UU; Wed, 03 Jan 2018 22:19:49 -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 w046Jfgp012730; Wed, 3 Jan 2018 22:19:41 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysO-0004Gi-Qi; Wed, 03 Jan 2018 22:19:41 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:11 +0530 Message-ID: <1515046816-27217-3-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(396003)(39380400002)(346002)(2980300002)(438002)(189003)(199004)(8936002)(54906003)(106466001)(8676002)(2950100002)(6916009)(6666003)(316002)(76176011)(51416003)(107886003)(16586007)(478600001)(356003)(63266004)(81156014)(7696005)(81166006)(106002)(305945005)(48376002)(47776003)(2906002)(50226002)(50466002)(36386004)(9786002)(4326008)(2351001)(36756003)(5660300001)(77096006)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR02MB1339; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT064; 1:bVjcb0zFg0WKfG75cWANGveo/TM73DCxniwVpZHeJCv1nBoCGDTgQcGQKgY44jVtOFMG1RMYdNObLMZ1jCrz8aodLzW3ec88S40GLv1ZU3tfZIIk1Aj3+MtygEjVt/8l MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0cc2cf8d-39a6-4737-9bcc-08d5533b2954 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:DM2PR02MB1339; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1339; 3:/9SyTcyX+x2xDwdd6bILsfI90i+esPkHs2ex+T9rUqlz5h5bJa1ZbiHIJdsSpyKY6UkwoPJnGPur720nz1ShbE3CvtHjGVCzo6SHdoiWcB8fKaejVfclb093O9CmmY5jkRGWBdrT/oSMqYAcKHlvvyxL7qIG/PhG7H3PlG5pw5X37rirEg6w81T/BxHtuvtPG3qg3kWo0Vxc6fPW8lSm2rDb5QNcn2sPssFcmMQzF876EHvmFTidWEjYXVZYWcHMoR5ZpFqU07vbtt8krheFDxIBug8/7naY/1VCmLExo0fBQpkT/htjMmnMupO3Jn4ugmNA9446kaUunT9bd17vts8SF8AFGd/LsEP7NqIM2mU=; 25:93xU5jFfW9/WmDkUtT2k1JG0ymATP/w+FcKHIjf8aKNwx89RbHRWJ5zJFfp/npT//zsHRDqZPeop1PE2SfoB+mzn9bgfFv0jbqaJNt66egJo6JqQBEdKvC8dyORV9TPvYCjEWtgMNnqmtHyEuo+BrGjyTMYP5MS+yqlLO5bcbHZMveqA6GUVrf9CxV0vl9ecFb/Dm7+8rs971tH8x3SEfnH7yMJ5jgAZkyCkMP8upgOrbB7mSAjjxSVAJjmVLxYFkDg5iIqr0ldE5zEp4FfaeNOIHzdEs5nxN6/LabbjpNLcBeNhyG2dUBslWXTZikZeClDDuvWncKTE+PMo0WY3Og== X-MS-TrafficTypeDiagnostic: DM2PR02MB1339: X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1339; 31:6u+dtbWLWdN4lG86lv9bIQ/ZTXfTip0FN8v0o3EJdDdzJmYNuT6mPmkvPY6F/uliHgbTSEf0klosptgKq2TfokcORdQiPngC5Aunfo8rGFcsp4To02IeVuRFn615IKA34hNMMQSYChcxeP5p+QDxdh0QanRXiKqwQrNp45bpTIe5lYIG/gQUCQpED6fBkYvT7q1QbaBZIwfK5l9Gbi8aSsz3z1AeSTF0TcGxx0NglXk=; 20:AqDuFp3OJmKyxi8F9jRm6aAe8k3agBBvVgyNVXpldVfShZgO/+TJYVf79Xc/PNs64ZR/dXoHaWFqCEN7k0mLkGimBSoCgbw2lUWzO+6ZdHBSaqhpsufJf+frogVvU1nOdfZqUW6znvBbJ/dlcnHK9M/g8p2CzZCn2/KRfvh9patXGyx51eJhMX5fkGJEN9TXgBob5BySH/Wun6kKNnNatmDqZcAjFexgl+2zlIpwSpmLAlKMJ0Vz/ZxToYniYcywZWcb3aH//Wrb4Tp3/i9pZnpBZ1YxxgEp3Vd8uUSUkGqbwQ93p6zKvn8Kjy7y3jsaxCLbz/rOalPHyE/JsGEqBGDIOVaX0Jjox2CyFZThSnLZCnBcTXZoGUYbx5Bic8rxLN0agfkyUAKoZHtwpOHGPz1jf+CTTVe9oDp7GSAD5B0d9LAuT+aNediwCArjZRZas9GoZzzxJlOLd8ppdc/ex2/ifYH1PIAGcFcXZTOOZxbrmTWl/XHDhuAeOAsQ4sAL 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)(20161123564045)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DM2PR02MB1339; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM2PR02MB1339; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1339; 4:lDn6m9VCGy3l8JkZ9A4nL/bqX34f6zCe33kohU13S/Jj7hUE6eS27PnP0Fyg/Hk71BL8VSDeakhzmt44SoTt+nZcn1xhtNL+Hbhy3MtW+W8U/HM+wLy7eKok0GzpAg0HFzY35OCmY4ZzkQgLJPKD+IguqfM9FtDYMsR4cgOcHAilKs5615z4ag5wVG79P/bZkwh71GIZJ8wZJGgdxLDdYLz7Dxy11ajGMIt5ypDnUsJo4qW7v6raj3AtLIikPhho9aGxfQwkUcnDVd2z4b42fxqhBbRAo4U4PAzAw2rSooqBLzltz2OLcFq7cIXGg/3x X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR02MB1339; 23:7dJc+rXtYr29Qs4CeLDayX8D+yBUQGKJYiIT4S7A5?= prwXKnWCVdV3Wt0lpnW8fK8/TTBZ3XnH2qwyq25ykS0p4FlgQ49F6z3Lz090uLS/sl9cF5x7fnXiSACF3No+g17wTIhwHFmWypVuCNZ1BWQaynjKOYTuq8JWD5qVIKR1jeNBlaEHtYjHAwT6ysVAcrJg1rtJFIIXL+Jr9RCZkObX1vxlTfGq2onlhtzWI8FzXlZ5PXiU8w9uVs42gC7ca9K0c+uDfUbp8VC9k9C2RC8aE3rHe5l7nkzOoUcBjurpsp9DcErEiTMV2OlKsZGwpWvjisaefkaHAkQZdXRGNNx51ZCa8c68+ImdVHeueX8iP3hi3c4lW3Tjp0Gy0TGHWKVd4agTSYHD8dPu3OjShDfKJUknz30V8lE80GsnyvzbLO9Hvlm2XebmLkD2XSL5pxxe/0G2hiizTGoOM5aKrmjMYCeWQCCW90abkLhmNABU7aAAg43n1G3c3BNcHQWcZDbbwIRpVUfDmvtxM0bTfWFRkT3R0JP+G78YGhRPYHTYNHsNDUZ3hayVDuiIeT7mXQfltKWFVS7nhd+wdDAsAjlZF4D4fLgrH86g54+Xi74ydiiAWJ/hsPS/ConY0zcD+INVEvRV/SI2HFRWmWtmA7fS03FG+DqTPHgKvWo27NssFq0w6BJbFAYBP01uxJXK3R0kl1sodGDjr4uPrONm2z57JZxD6Sjs5a5TTiWAMe6uKUqSce+HuNUKX+P+vXt7/eXKkPNNFKWx4Zvyderd1xGmzAjGZRvmWhfHf7HSeiEZb4bpjclmks9I4DcOTKRdPT1D60CNj6yY+xLebK4jkR0dOnzQtlkBiCV8Ver4+r+1IdZF2n6y6R5/Lszu3zrIYhZQPQoJShNQzVbASKaT/5HEhH43wzf1cux3Ib4E+LTCR+8+TvJsEptbQ2Z0KVQ4JuugIDiHFVwlvLIaOy4q0nSVur+XsMO8oCMC477onPF0Y0= X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1339; 6:4wVv09K6KKmWU2GrGv0q0DNN+e5UmKEIIg4wRSucowzlu2im7wEneWoaikizR89Kv4F8ePjP386zaAH49L/Gonq+VU5B6TkMzZA0IKO3wt+eciUA132Dav9Vwf7WLg5IlOjWHMKSU68VR86Y1Ocn3/6qXHJvURbu6PXLvJKO59FF+9WaUnOAkr+tsBMUFKx4UyKIZbNwGgGY6p4pLr8d1FYrwi428Sjoth+VritZbBhi9M5Wg3dOvYF0YWCr0vgCMj7hP6fD1EeQy3vtPtRQHxPfZtemMUJ2i15sNoxvqr8hJ2oieBrIsl2YkqmuTu5vRrpkbK9ahfnfTWGuRVi4oc+IX9rmZCTcG1wzgz852Tk=; 5:i5+a+N5Ai1npTWkiV124fOS0juGssI8rzBkf6WVbwJD1Nbq6tsZewwkjbAirVylqkU2HEItzahEcdrAFIXXx/6dmfvAnSxUA01+0q4rPs+WgR0P/P8xjmXsWO6+DebRvbNf1TQRTDh/Vqpd3qn8v0FQHpCFC74cGIzDtDFuFUvY=; 24:s4hUU6msPPv6yQP+QvzP1du3R/ivc/VgrgbJi3z44Ad8q50k2m+KiUbW4DbW1StTUOROjEz6Rh76n6EuC0iOlLkfHQcHA/k053ywdUS+Rm4=; 7:jAlg3fbVTHL/Y9cFeQJPTFJqbEeZQJabkgV4e7Ifx7Z1i4fS5VAFksI+ZhPtw8ttrvEWx/XJagWzW7R4Yrce4WwvMy+Q+JrpmxhMSEPKOkyMVzjXH8qUf25bCXgFiDLu5AQNp7mhYrYc1OCR3PCbJVPr9R7vXztqC1x9BzeNyqXqgbOurx/m5LYjR7A+hxp1IwM8ZVs4bByJwYslof+en45iDtGveBTFgLBvq9wzUaEnlH8X63L0wkwHZG1rspC4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:19:50.2504 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0cc2cf8d-39a6-4737-9bcc-08d5533b2954 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: DM2PR02MB1339 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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 06:20:12 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: 855393 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="HcxxK/iN"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zByMb73bNz9s9Y for ; Thu, 4 Jan 2018 17:20:10 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 21CCBC21DD9; Thu, 4 Jan 2018 06:20:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 9CFF8C21C2B; Thu, 4 Jan 2018 06:19:57 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 350FDC21D5D; Thu, 4 Jan 2018 06:19:56 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0076.outbound.protection.outlook.com [104.47.41.76]) by lists.denx.de (Postfix) with ESMTPS id 4B672C21C2B for ; Thu, 4 Jan 2018 06:19:54 +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=HcxxK/iNoFYaaefRsOLByFvyDaLBcCQ4MLtFkqZrmEcwIQSvjVtzUIgd7Zn9DlLJEzIs6W+tmWBA98+zVAnYRXmtOx27GfUeB4Dezhy3I5znUejg+AMoF7E/8SQ8Fo7fYHZHcVAj1DmDx05156dy1WsOhJsXF3BwBxJHZ1VXaj4= Received: from SN4PR0201CA0042.namprd02.prod.outlook.com (10.162.76.28) by SN1PR02MB1342.namprd02.prod.outlook.com (10.162.0.148) 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 06:19:51 +0000 Received: from SN1NAM02FT060.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::203) by SN4PR0201CA0042.outlook.office365.com (2603:10b6:803:2e::28) 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 06:19:50 +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 SN1NAM02FT060.mail.protection.outlook.com (10.152.72.192) 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 06:19:50 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:43368 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eWysX-0006Kg-VY; Wed, 03 Jan 2018 22:19:49 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysX-0004Kr-T0; Wed, 03 Jan 2018 22:19:49 -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 w046Jg6b012757; Wed, 3 Jan 2018 22:19:43 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysQ-0004Gi-CH; Wed, 03 Jan 2018 22:19:42 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:12 +0530 Message-ID: <1515046816-27217-4-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(346002)(376002)(39860400002)(396003)(2980300002)(438002)(199004)(189003)(48376002)(36386004)(8936002)(356003)(305945005)(2950100002)(107886003)(6916009)(6666003)(478600001)(47776003)(81156014)(5660300001)(9786002)(8676002)(50466002)(76176011)(81166006)(4326008)(7696005)(51416003)(50226002)(106002)(2906002)(36756003)(63266004)(77096006)(2351001)(316002)(106466001)(54906003)(16586007)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR02MB1342; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT060; 1:ROlveZSK9rcj6oI8sCr0RwAX2iAA51lMCVtYJyrwMMQBBsu2NF7PeI2q03SO9gCoJbprPrYRxQovEeZLNv6LqgXdFZHBqvkELHw4Df57VW4x1qUf0O/8D4/hFMQFXARC MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d745b529-d00c-4bfa-2381-08d5533b2945 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:SN1PR02MB1342; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 3:jZ0HNeBvqijtf/ML9F5KWt2iJ1ldJI9mZgU2AvZix1bm06CVB6eXdbUeXAWkcMIvPeAx32V1VfITDCQ0dyqy1Su8nAvKc2h3A7uqyocwgWKEU89wG3O83a7mJzIMBqXuk62/ynjLA7IfTbppks6GSELdfUY6jHjqLUlTFpGwWHx+OoBWKyZnvOeUuhJOhy0+OpEFL71zbWar4wEZVtY1vWJ5vzNQShDw/5dFIfdRuUVXV5S6ZrBYnWeZ1nc2sOeaF8poXaWDQkLDmqXESNMriRGm45cNiTZbFJielthJdp8IaMnFUTlVp1A3L7xkPIRSeqcVglRpDf7h1FoKFCE/+vuZiSV4SWMF2qJru8Gkatk=; 25:J8tElmf8i4f/degInRNUG9XFDHHS6B23vayg9JTIy8kKcHbOoAojYBJnHrov5H0mQrdoIXe3PDifSE5d8fpKGcRp7Q1BzKW63M0Uovtz7CMD4M0Xy1wXL9HNGwl3KvDzcqszcFXwRvhHXtdZxwmQ8QhC2QukCTKH7Ljys1L0+YvGxUhYgkTy/7JeS0/vexq+TMozzxzqsZ6FkOphVUm0KGV79BOJTrD8rHchkZMLBxSIaMY6sAbXDFDTkSuf2GJYrpssgLItglBIDNyuzl2BpLd9MWn2JhVZNaILSDVfbGwAIKLs18n8WBMgBOI02PR15N6LJPVPD/P88sNUyekY+w== X-MS-TrafficTypeDiagnostic: SN1PR02MB1342: X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 31:bkdB7iV2GUXDOWkKk+9gU/SHrGSySMuk0saiUovz4stylTnbO0ddY9WfOd9LLTI+wKNzXJcMUgXxzh+dS1HZupNX+XvvVven96/QblGAlhpDM7Tk4FhYI6sQzWxvcOPk4xTpKtBrdUgXjHxNhQmVr3SeGie1GNpHGEmpI9QIGXmDs07IiWrp71tsXUnB55Kn0dDGHNDJNb1Y3ED3hLJXFv/P0LwtqZhZ7Z+Z5XuA6Fg=; 20:p2rOG1YK5kCS6GDDj6j8ERtOAvBdWWzF69+bPhQeJAOD613WJj3PszP/Gk6gNYxNuirC3hwNWLeU0OU3jHr2PmE9BAWHDfaUshoy2QQApH/55l5OeJhAhmmmAV9D/cwjwuR2xLBlcyQ659NnIql3H1wMg9BoK5DYukGC/ugqMd+/dNwcdLQbUwDk2UkzHziE0HpabwvCj0F7UalUxS/zj/KDz6IOnBvnhhw1bDKoF2DaU3fu61Bo95cuqo1Bl6DuwyinUAO6NcjIMcLiWn91XGxhwFP4GlzpJyLLEQ1L6i4MhUyilH9kVouo9ndJGYErdvuzpsQAmF5/Pfhq/CfhMwpvNGplTWoEF0y+6F5O9OE+N9WkzJy47uRAshjq7JtCnxxf7Z53Jdmp3roWloiA5kywZtMMuaUmcn6+v7XoCrGhOwx4FY2caqZ64IwiIuX2UtaT4AMmNKCYy4ylVw9YnTbRqE4vTorDCbPT9J0JgVRQfGI7NwFfNRYv7iOAZngF 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)(3002001)(3231023)(944501075)(93006095)(93004095)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:SN1PR02MB1342; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:SN1PR02MB1342; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 4:Cq65aOw7iN1rKeCLJlsUAqYwXTU4Z0LTYsqG7ghq375/r2VC8neEKQq282eTcGRvpKiVo9TsNpEwhAatExg9qzCC6eCEIfVFVTM3HXiPYUS+bxZZVn2jbZS7YZIbNAydH7XQcNuKTH3x16XBaBA/HhQAQ08ALDFNTtj0hpSaslLAuBekz1lnLQIOklOKb5hrTjAQqG3xOiv4ux60aiFBHhxtXVXbXnNsuABL2m24lPE2eih9Wh/gUzzwtp26vDrWr4w5OE2qobnH3u39TtUTGOd8Bh3VKXvRStzrvSMVGO6KJcnO5BnEFKGT4wVrVLzW X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR02MB1342; 23:7sz5HAuv5una/XywSpA7yvf8uI+3/T/2hm2XLOmoy?= MwFF0R+gxUIOBMt0mP5up3yQcJagQ7ab3BDveqFL8L6IfpOkszl74pKtTSE4BH2/PkptivIqcsXySTq27p58ka56VHQ1UKK2o3zZwA7o8JON1dX1HuZrFi+JoggTwA8agmHcQe5TkzQuPHH66+lkT9OYQ5naLOtEz3YrUTM8Got1qAnrRdbTP17zCrIJ67l8UD4tsjIQ6pZwpzxh1BXAh2R0uUvWEGum3Jx6Xb08vWTSwiKY6vMZsDEuGEz30w+35nPclKzJJ2OzDuzQ5JWUZ9FhEOrYRTxI1RuvYkvN5JW5a2skYyjo4+Fz0DaH7TCLfnxlfzX8pFB1QyG59y9l3kF7myhmrH9ZC35VUu4IsEbrkvh9OqoW3wTjDScR9S06mi8/CWtpdv4682uy9IJej1erXQZdjIki0b7MtBbInj8SxYVYqRaahFqfrBLr6hqzffxvEF+liSwQeI+OMNbvtUfa70oqUHeuDy9/0FtgDgiDd210A5ur3tarcCWGy8vDO2PPOez3OLpF70Tw6hpvmB/XCTjlA0tvMkhnj4dIH6QWPk3jRNhhf2s8XDENMGvGddPwc5cDYeONQ+zCIJLeXGhoZGW2o7g/mFD/9JdzGfI9Tb0sN8yT9e73U+33RzU2hf366a1jUA7JFGHFfZ0esaX7ZLVCdbnc1elMXfYFmmeOubRPnwP+LQb6lmwl7SjvyssQFevu/GygYdqt8dO3ihhVw/3guKgdzkzs5w1Pl28ADwxR+ymvqnSdrbZlqWtGtterilsBhhVhWxy5aggAhrF/LNcIB57TuFa2+KV8nhkuPv/JEu81fnPoCiHVqqzoEWDTHiUA417MSR3JWVFvjCA5MgM8OCNzXnJ1tDAArrIdP1ciGqxfSYe1h8K4NwfyENv9Vr60ljNFXfGQ83icGuvy6MYSm5G+ZXnuGCWr4BDthNd4/zHZ+xlz4Oi0ZqObLZ9YFvCDmgXBercDFyqO8srW6Mp/hjIj6CKGSsBpd8D8A== X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1342; 6:RbrOQg7ISCbemjr79GNREayatbcz8nO99PoHrTKYoxeJTs2DOR7dZFO0i2rLFeUPixWFP3uxa2RqYK2uk+2X46RlqkS557lYikr5uqSd9ulK11FZRw6Wx4XhPhSFYMygsbcvbe0GJaxWu6nX+SaDcQyVUfH5XiT1Wa9Ywo7Wa0ULHZoyRKcceRB6seWHZcGv6+soRP4aPS2Ia/wIDCBgdHpWMKsD4l25JiN2A/xmTum2XNoQvZ8Lgo4Q/g2staPtTINdDCv/4Xq9wcFeCy3rgQ2gYhUxUAurqtEkg4Kgl5CfWlOGM/SMaIg6p6Xq0vHRhPJlhBhFnPY5SZKa+AG522+mHh3ob0UTVjPFZ0sfdBk=; 5:H+9LVN1aB/jh0KoJ0y6M1FdCsgZP99cwuHfsCMiGKzk2Zh0/UhRTmpMFrk2FYr9ufrfiqwaNStx5y6GsyGYGBla4MW+9H0y/+nngLHN0Og0HJi/eipe1AGocBI+FPJOO5XXfqry9yq2M+ZQHpODAhGMB6PBIata54EaUET9gCr4=; 24:9Y3HjbaWEa7J3FnP7IsDqJoutg0goi73gXgFoydcUZ6XML2m26SlcIwJbpXnQyE24fODiPlTWq6+vqD5imoVW2a00ZTletBoCfmbKq4oGtE=; 7:dolJ+om+2yMzFRgp85midJawLV1rLbQNM6SgBPHxiq/0j0rItSI8iMU5oN2pZWc4KR387G3jPAgrShRVekTxLIXvO+esXtPsRMDixP9mK2a7aqObzHD7bj25vkDViitxD1W+d5SzFnqj2piBoSvfLzJB5O7kB74iVGvA2hQmJJ2NuiVnsYsipsTprQg419awI6hD9jLB3lUU22cAgbKxblY5mxVBCYKKtUKI2AAC/IKzLqp00UxRgCOH9SI6kUrB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:19:50.2115 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d745b529-d00c-4bfa-2381-08d5533b2945 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: SN1PR02MB1342 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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 06:20:13 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: 855397 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="sq04BzfH"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zByQc065Xz9s9Y for ; Thu, 4 Jan 2018 17:22:47 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 8BBA7C21DAB; Thu, 4 Jan 2018 06:22: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_DNSWL_BLOCKED, 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 78946C21DA3; Thu, 4 Jan 2018 06:20:02 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 47E9DC21C29; Thu, 4 Jan 2018 06:19:57 +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 6941CC21C8F for ; Thu, 4 Jan 2018 06:19:56 +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=sq04BzfHJ/5EzAIFd0mjvPHXkj9i2xv8eziQF8OoXMVD1U/rc3ik4gLHM4S981dR6GBsYRTDPgtLr+lpcPqgwbWB0vJKhbyPIX95fTsNl7+n8YZEzW4SiNh7aQR4wQe3wDVIm4I2eXqtAeFaNynw9HqTgJqTXE3anhAD5T13J4o= Received: from MWHPR02CA0039.namprd02.prod.outlook.com (10.164.133.28) by BY2PR02MB1331.namprd02.prod.outlook.com (10.162.79.26) 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 06:19:51 +0000 Received: from SN1NAM02FT007.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::205) by MWHPR02CA0039.outlook.office365.com (2603:10b6:301:60::28) 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 06:19:51 +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 SN1NAM02FT007.mail.protection.outlook.com (10.152.72.88) 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 06:19:50 +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 1eWysY-0004nV-8B; Wed, 03 Jan 2018 22:19:50 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysY-0004Kr-5v; Wed, 03 Jan 2018 22:19:50 -0800 Received: from xsj-pvapsmtp01 (xsj-pvapsmtp01.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w046JiY9012771; Wed, 3 Jan 2018 22:19:44 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysR-0004Gi-U7; Wed, 03 Jan 2018 22:19:44 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:13 +0530 Message-ID: <1515046816-27217-5-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(39380400002)(396003)(39860400002)(346002)(376002)(2980300002)(438002)(189003)(199004)(36756003)(76176011)(6666003)(47776003)(6916009)(4326008)(7696005)(77096006)(2950100002)(478600001)(51416003)(8936002)(8676002)(106002)(48376002)(2351001)(2906002)(107886003)(50226002)(81166006)(106466001)(356003)(54906003)(50466002)(36386004)(9786002)(63266004)(5660300001)(316002)(305945005)(16586007)(81156014)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR02MB1331; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT007; 1:wW8r1wEM+N5QRC9LxORuKFFPLry91cip4O8KD1GcgXVDHd7Hp49qUuZ8zezx2zIMlDxiT7PowFg2CnTqX0e7N9ii2ppGYbUKuQzR9UZTpT7qsdRPln6QdiguNTwZhm8F MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1e88b901-7794-43da-2de5-08d5533b2998 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:BY2PR02MB1331; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1331; 3:Hcrwq52WnYnZQ+i10O5cH+6QhjI0qShYk5WifTP2H7CASh/2TTp1jhQw8kM9O0zXV27n6r05dxF+Qt6f0eTjdRB0wors6GQuFCoX9jTEVpiq7VyyCVFytWMcedVfaLsigJl1hhLS/xoNBIMN9FPt9Wu4xkw6cV92yAY7kYXPuXDks/FHhlMyFyc54ZY/Nb5Ar1x4f35EoaeLxK463/NC4E4VgWy5kVcbEEaByehXNXgpXYZdkfPtLEEZb720+keyEloNukgo79jh5OttZdWD/oWZjP6bQzeifKJGoLUHHN3z3uFKQiqrY3Gt8AFAlp6RR0c9KtEyJejVgGvNnL6Jg0/Q4WI6OFOF6BY/xgRDxuc=; 25:VW5RfP9rFp9mkN0HqKu5nP6EAiv6Cq1NHOMV8LXU+sEJquyKdXfpaDvMzRM0Is4lifRokF1wkyivwVBnYKaURZnGhd8g3+WvwsdoXwg2P2FjNDJVd6v3SEBQTcbIOh4AkRe086B55qVhVglyLqa3ipwysYGj46EJo9BADRfR1++7mFFchlugqQaS0VEVQkfYfAHXt0WZKulXwvUbGzti64xKcgfpzxGDHdL0gIjlTJqkC62neAuI5wyjHVkXlNHsJe/6wm8M8jYHDvZCt3t+tpKQfw3aH3JtHUueiqXSwidTtlSakPX8Ojl0vx0N0dvYjykUo6fTfOmDmiQZcy4Bbw== X-MS-TrafficTypeDiagnostic: BY2PR02MB1331: X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1331; 31:Ii98FePQWVi4h3iYoaQDgR0i1uagXmr3wd97kWde1AlU3eyweULZZ9Vv+iTK+FkUE+QS2nx6bG6Z3DiqgBI2PtiRPGihHKIMbi3rnqahm/UxBfAHscWY6pXedE7ZKVvCC0ZRvJzzcE48jYmDGMf6SvZBx9KXw1hqvd8IdwPLeGw8+PHmwvAdwI7oLl+jZa8szMj3LQ3kPrZDolLdIfyizIPlIZ8CcsfA29wSCc/uQSI=; 20:haIDCYiZEFwcwmBQ3L4uUE8/RzjW2pQLlZDsWe+NDxbp+cQ6YtFPHt9LmJc3IEzzQ/S9R9kAb///T66uPprW3MpwQDHUUdTs3hEVRJB9YEz15aGwvhgvR0ogleVgC/KZHpGaI+bhzkyxBLKsMyk4aq9dp0RpQtXb0Nl+iNWTxXvCxlq79CEYp4dbOIybmifxx5d199Ik+30uyIYH5zXup9uYj7xyXyWtjMc+Sc9kV9g/jzNDrPYeGALCwL94yfKexPG8oZ69rVMImW9cGx72+nKsahpfDniTPP/EEBfZFiSL12r1OTdDGvNHBMuq2ZKfhuS5orxxLtz+XU+DZOiS6NyaRvwn+AKCu2aLLOKvalc03o2afECQrBvFVZH+wt6FmRvQlyBVA9qnHXZxr46rnS91k+Jno39Gm72lJc5A9eoTh6AdmqFnFWxjqgE5b3X0cc0YN6rQfgNlScRNqkfvWvfSmoPpwO8OKikrmClnkVgmi4dXMlKaabc6u3mVDhv/ 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)(3002001)(93006095)(93004095)(3231023)(944501075)(6055026)(6041268)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:BY2PR02MB1331; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:BY2PR02MB1331; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1331; 4:wnzJHBuC/wxQLud1k0bezrVUs7JeUDS6PmUWHqjDyM+9QV0IXN/ZYHSsLYkFvGTawdd0k393gOBwxXcMM6q163WPDu7KgypIDNQ6T6YNi5kDs9Fcz7nZbkADPvkUMJcsTeF6vFDAT6p04OO33imfqSGws3USj4ujOX4WFlWOJmGFhL7/OCWejcFV23f+V7iMuWFPqUPp6VjqtWjFgxl7K0yeSj72qFJVIrwBnkWLPXHfz94xFbIXuh/B3OQMTI0cbiwn7Whj6hsBsVjmmjLIbnkpW3SPjKLh+XLVihxf2rBvg2E/UTxTnWvBXzmH9o24 X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR02MB1331; 23:0RnHdljZxA8ex/7i4f7UvsRH/HGmUU668DD2koZeS?= Nfx7sNNMHmCheLR5rGk4haQvjD1FA81Ppc8GJlLzG03vZrtLp7txu4UVl4P6tNDl6m7YgGdmn8ZGzfkbvD7wphC4fs3JwR3yDh9F/XJsCbpLge/OCa4xkiowQKgSsQvotNOrwQg8T7L+V8uxbVoIOAdAFUyY9ucRmgrWBvJvWAu2tzCqoZl65Jrww1MxaT4s2dWQSELl3HUp7gSjWmm8MwQnoI0RObeV5PzLQxAlmw0kjB1vt+6I5pPL4ZUqEz3W8Zh54AVjmVyHysKTAfX90/JFRcb0SnMptbQRY3nTV96VvHwFb2eltME+7dfpASqI1WAGxoYCEKD95Po/STXZxNRuIJkB68pgsBZqZo54tTad+iJWzsLoUrqE4iMSiGMQiQelq8QfFRDJsEBQpwyeiAQgEKscfpHuw/i8eAKQOGzWMdFjFeqtBpyJnZ90bO42TWyetPrz19lFrRKH5WJzj7quFMZReebUjI0kdeBTSP980vVhuffDfp7n6aUc61Zc89EUdgN0cCJrXLfSpPgYlpr2mWoWimd9tmvChHwLVuIaSNdMzm1iHowJCvHspRsXFy41eSk2zGcWk0ywd40ZhlfdtL/tdBgfKfuBOy2MCblAX43ENTZkCGAaIIXVIh2X8nnTpI0pYn1ih0FxttmsaVN6jTjcNwXEQHyvDUzPRMmXbpIjtKbBMDeyKJIjJZeOJLLNtXjFo9+dg+ccc20lLyzIxWAi0YO0qH4Jhp6bFe4tCUm7M88h3EToxlgKzEL6d2isTgxfSmbVH1SK65ClvNcm8UqYuKgcclgd2WWI2tUiK44AJ394bBenpKEA37Y9uf7clY6VwxNSAxyyD8I9CDoWCRM7LNAF1AbPxBFe9C5bLcOpBEQZQxyMzMirAgTFSJzfYY6aBQTYvGuG/KjUgJnrY3nyl11pqZmwXx65RQz/wbUbx7kccJ+9b1ZJOsY5d4= X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1331; 6:LQUnOw7Z8IJ8CJeLG3QX9GVGJp2HwP90yOALA5Mg1g5fiqc3ztSOFrlpGQx1g5SDIECt1o5sZIJjN6ocREskGn8FOAqfRnMVhcxM7XSFIcoBIeFTkA0o5BY6WleKeyzj/UstJ9Vt2ljf8gHB7LyV7/U//y43FPmv4iTwk8CIh4+mcy7e78LXn68NYPGr6VK9yPzIqhNpK1udPMrxmyKuoGyFWdLwzhqNGUTrJtjEjNssrrwZkOmBawk6ESU1IC79TsavtraeJzv5jB1rhuEwDO+M7EIaaH8Sn2AgV5ksT6PB8tCOo4n56+kkCzJspif/yaiv3Oj9HtN8RDXc+7fZnCb2JiCkm/Lk3fo7DwtUKe4=; 5:SfmoglMmmtL06pRyNvap386iPW1whH3GuZhwhcyeK2TAymFkzwQNtQ95ByZLd7rLEmLXkoKkicDEPKTgdNbqURg6mF1VLZpD3xDwL8PeHC58KpjPVkz4HVdYnG3Xe0LYPHevfOx5RxZjrPzDz1oeOcGrG4U0GTNILPcu3B89pDo=; 24:Rhx+dn6sTmc5NVeyQbeMSXwbc1iC0lVm+WCgd8f5Fmoy2Y65NCuvAIj0Z7iV3ALlAKak3ZYQNU8IpGP1pbrL+mAfM8hhrBTzD0NoOiXScOg=; 7:29WOf3VVKoAhVM/oG9cRhh/6scJhw33zVoBh0sxZ1oHjFCpwKlFmNcy41rXEOVrh1sWBbu5LAKSRSxKn7FOv7bBWYPzlxL3nlQdVKA1QGYQZ52+sCiKoPb5oHSBMJbByRRtCMmXkCZ8eSVThqPiggM0n7A/LO5UA25K557/wOy2oR+P+XxGmSIWWCUzKmCyWxtnE1txpdxfzcWxMa0moiiPLm4FdCQdQoKGBeqqXD3aTUKUrVrkXTaS0iRc8xnYZ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:19:50.7558 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e88b901-7794-43da-2de5-08d5533b2998 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: BY2PR02MB1331 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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 06:20:14 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: 855394 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="bpU8PFlV"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zByMw0Lmyz9s7M for ; Thu, 4 Jan 2018 17:20:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 989B0C21DB9; Thu, 4 Jan 2018 06:20:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 3C0BFC21DA9; Thu, 4 Jan 2018 06:19:58 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3FE7CC21C29; Thu, 4 Jan 2018 06:19:56 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0067.outbound.protection.outlook.com [104.47.37.67]) by lists.denx.de (Postfix) with ESMTPS id EE115C21C29 for ; Thu, 4 Jan 2018 06:19:53 +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=bpU8PFlVNh5BTXItwTa3ux1uXpCt+O56UQrmTlU9ke7UcLe6rBlcQdWFVQsuEEjJtgBgfWcc1eIRVN+apUwJP0yxYouoaDIVBbg1DitUoi47+xXaMvwbTu7Nqi3P6gMPuImDdgfeB/NyxWVvsPs4b/mZYwV9IvYa/EmD6Fe+1Vo= Received: from BLUPR0201CA0014.namprd02.prod.outlook.com (10.163.116.24) by CY4PR02MB3383.namprd02.prod.outlook.com (10.165.89.154) 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 06:19:51 +0000 Received: from CY1NAM02FT012.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::201) by BLUPR0201CA0014.outlook.office365.com (2a01:111:e400:52e7::24) 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 06:19:50 +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 CY1NAM02FT012.mail.protection.outlook.com (10.152.75.158) 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 06:19:50 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:43365 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eWysX-0006Ka-To; Wed, 03 Jan 2018 22:19:49 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysX-0004Kr-RW; Wed, 03 Jan 2018 22:19:49 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp1.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w046Jjre012793; Wed, 3 Jan 2018 22:19:46 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysT-0004Gi-F9; Wed, 03 Jan 2018 22:19:45 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:14 +0530 Message-ID: <1515046816-27217-6-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(346002)(396003)(376002)(2980300002)(438002)(189003)(199004)(316002)(54906003)(106002)(478600001)(50466002)(36756003)(9786002)(2906002)(356003)(107886003)(8676002)(16586007)(76176011)(47776003)(81156014)(36386004)(59450400001)(6916009)(2950100002)(106466001)(2351001)(50226002)(4326008)(305945005)(15650500001)(81166006)(51416003)(63266004)(7696005)(48376002)(77096006)(6666003)(8936002)(5660300001)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR02MB3383; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT012; 1:b7BGf7AXcGSI9UFSdI5jKpLNLO9s0fUOs37M7vPOMQ6+H5pjoorL6oT+OnHOXA10EY1Bbsf1ticIMJtq/BIfZdbk4VdEhj/ogAgQoft1S9sULoFzY04XPxxF7u+cU5rV MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e562a3b1-dc05-4a9b-798b-08d5533b2989 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:CY4PR02MB3383; X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3383; 3:Z1dlCHb0hc/walc8+PivWhuxavOn+voW3kAyWqgGWxvoa4aRKMzFMJJCB+1egxz2YtUkBtOsAW6I4fdYpg8/mZATaBLVpgLF3gNKfBxOlqnCOti4o/tC9lwxsiKpA/DazJh56zx0jCohcllgTJo1J9GjL60Tihp7T8xH4vASoKVHBWma1ujoh6ZpEeI7M14IHtY6dOf3YqPnJPLcGmSAs1GrvKEwj0VTpD6yQkgqp8IDVQjI6MDPvRZNFSfXC3Sbc8BaRBnEue3Y+z35l3Gz2NUEvK7R8UnHMnOHzgZXQ3xe1hJMaeqOuyCZ6VvAVEBrxm2Ia/0XG6e9YRv5nzhItwGZfc38Yfvl86RxsyODp4c=; 25:5EZIuDIo2faV1g2IyVNev97vRTIYOCdP9dQBtvn5Is82VLNAMCak0WMhcwQcMzYtMbBZgtnuO8hNJXpGax5+Dwy85fZY0iVtZhOTvrAWaQ8jsuBJSrr3iNcJ8Afh+hQoDZLYGgSJ6rHZN7VdU90xMBeBKPDOZnCGkbXqzt8/mgHJB3bfeBLD780pVm9Fe5KtaANn1MMSftAcdmX67qRRdvddnpuE7qHE/ppOK+VEsMZuYXB0AFRKs+5D6qw6xymfbBqNmL+jsWv5iREdiIYFGq5/WoSTJQiHDxz+kSbDXV+EgCIxvDAHl5cxme5QUumurInrXx6PQpj/XsEsVyMPmQ== X-MS-TrafficTypeDiagnostic: CY4PR02MB3383: X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3383; 31:ZDpVNFhAN1HscZpBIXFvEtpGWbDigRm4EtxeRpzULrR1Soa5Ss5+GuMWTxPp0iPRA07txlnHJHbXXD/AZmPC96mtTVj/Tka0NjG2lR9suyCDsnKS7zUzYKw2Ga7UHQuNrW66Fm6K8KWno2ZZ5pI4OqzXJntooy5WJSqvPwsmxAppCu4s4KvufJ76GZD4mLy9ZVYiqoAPhSSxz0yKJ+kVjezpLzhqe/QXn55fqx027X8=; 20:zyCfl9uBM8jNkn6Y+KfZJzuyOdiWC52+dx2BvAl+k8IDzYDqjyfECJz7tcqbtAkHQf21Hp7dUdBrYdeOP2SC2+Z+e2jkciIfdm84MR2P5iQAdeVqZVNG05/ZSAQut5EaeHbJpFbpAVBgdESjkq1B2mEN6Jki3JU3zcQTt73UI1gGpV2UR4oqr6kAQ0aZ9sZwfyk+5sU1PEp6oBdfvyl/aTBNdWixFAW6+BpgLhixnxUn5QtqxutVp3zf6nJ6XT/p0a+0+cNNro889culHHJS6i4JUNNeRsxOt0V+DBJyODA2GLBuFZcgpmfFD1UVmhG91VpYEC984tJoVD+MyUsooILw++NKUu4Y/tw5kerjYTPIAT9mmZ1r07nEFsmsbXS37QWZJVhtELRtReY9aBLQdaaLlRx26gDqzh9Qw2AX3fyqpLH6yjjkI05a0kWGhmarwklG/dsTBVs9L9H8QLvLz26tR5GlE/DsPRv+93jWqXW1MZKwe11829wXLUCjxODj 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)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:CY4PR02MB3383; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR02MB3383; X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3383; 4:Zv97R0qO3ghfrVYUdUyoPooZUi9K8Oo2wbRduxp6BxoLtkOSMvUBsZA8in7Rh1jF9lYbsa63eFEEzjawcp9dP4nWel6q1fDdiMoQqYUxjF7xFQdeYbEaaIC2mAEREx8D0nlOhZ29xe3wcmpOCW565FTYjfHU0ujH8bnneIxd+wCTnkNKyhyQ2aRrCx6Zv5D48HOJjEZKVxlWymV5aJ6o/SftQ6m4RS8FZNUkHZTWR+Ce0l0QljelAb9c2DJz4tVUDJoiv84sLVpB72ms0Ma9uD35o48GdrK/Hde25jzmhf3k/Y4TKDjHMxQpBnPYmzwS X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR02MB3383; 23:vsUXuIS5DxzvV60XNnWP11PKvUh9XNRJxaXHLkmyh?= ucCMfbjJeFD6M36YcSc7B9C874u5EPdF05RrW3gd7hkIaZX2LmODIPT5v+0qLcf5hOJoQuMpM9FrWtIxut9VbYpt5k6ximSpSKfWI4S82eA30vI103MKvvC4RLjj3yqWfxbMNd1Mzn9eifKpDB0xUa1rUmhDFvwe86T8AljNmQ1Jj0/VeH1Devt7XY5N0k+vD/VzI5AXLpz72Kj0oXxervBfN8Ewzw3S501hwkiLoEv2y+hIQvxHifAlrUnZ/Sfqv6FuW9CrE6nTKCsYdNILpo7HoOshK/uiGgNO5qSTUSF80gbQgI6EIusR94qDUj2sg7TOIoeJq5obIwWXXwrifMMm2C6F/FlH9e6+cEX7DiI13T5Zh5H1RlJviVNwiTqBRbcfYlM1g0AqWgFRqVnLEr/j3ZLkvxHsP2e5+5pd+Cf5xsW7ABAWVbDlr0sEL9/kWq5obSvu1YBddxmj5UjYxP70rsKbMh927XhAK8HPrUIlN1duUqbySIgveSzDAFHeqqtjKAjjaa+DCYjYkfxWN2431SMnAZ6OCUBejDI2mDsyBGPsh2uNfF7CqAKmVxgt1xrJZmPhJl1Enh5zqbYCZsSeU6Hxo/znd197A/XFS4lGuLuRYN2eVPOu5qS/CYIclSe07LHiz91Knvme0fdBqVYHyIBZM9xYq/qczdGfPyzPgtQ0gRa+WIahtZSW50vhn7wpH+DojnJbkE3Kx29XrcvngdxzQdmzT/RNLDo4v0Lpmg6KpEPGBnlW+nX8bSDVUyRghGqW2Q/HeAYKGRANq6w0blUS+Cglwib+6y+PEX/lTWBWqKWQyA7oaQgfCnjrumfTdER50sFg2Rj5f7SZ6w60RBZtduGgMHlmg+e6oyv62IVQXrC/StL0IQiK5dT3vFDMn89he+858D+sooqax4/LbjGOcic+aXIyuZaFvzOiJJet9bTCUGXD8Lip/PK9Hk2p4yTq3r0MglqfJpHwFiIWWvq4OHxlG6DKd/LhhkmiKzkvZCnFWr01m1S8yu+mQwtfXhmS8pVQ37OkGVuTUI6 X-Microsoft-Exchange-Diagnostics: 1; CY4PR02MB3383; 6:WNAPUkAPu6QukQzsiwCB/ePl0H6w3YAPyOdXd2G8TEORgHNC68Ka//ImpZuelWncdqOpb1l6l+Bctvvpbr3E1yEJF90dmqdEzOnf/YtsuKebUafPj8wAZLu1nYei53FiCgS6BN70V6eM5UQz1tNcW6Tc/kaVyLDtXOYeCyasN4a3fAh7FOZR7PhOGXqH5vlaohNjEMbEZoeD1+Ehy8ismc7jtpAjfdth86DZ0OlkzDLC4H334Si8s/vgbbfbz1jflcXZ44PxAKwA188S0XLNuBXWhmwXp70Re/qAGEITbtfNk6nA+R8hCeHpvOABDusf9s3flPeaf8Z1J3lF+dNFaSTYquffo9opitIOLTLA6rI=; 5:0XM0JP7YZ6oG3XpF/DiPntduYT+1ikNJ0/OhVGWjl9gQZbxiHNRWb0APxgjAYeYIBmzcFZ4Jb/Ww+IZsixKoyOTDh/uPIQY6ijK3eW3BTIqIgcRP8XVU4EZvBB/fT79jcSt3twaqd4rk/LG3ASuGhnAzLDPSOmeSDG0/iVjPavI=; 24:PiYbR9dUjm7rx7s0/5e+cx0c2vtP+JsbNIDlSdL5ekqfA1gUCuNExnG2chGoyrAZ/O5vZ7Zy9r79iKpGH5NzPJgThJ+miS30ooFF3fyaAnI=; 7:r+aI7x+PwrTzCAKo24qvxQDblsF6BIvbbBq6isx5BUcOIhYL+VTem+t1wVMlmw/ocaSLuD2lBKPmHbn7Isv5Q2nCYbuCGs3Qgp7QWsKOVg6WqTTC7OPC3bNaWL/WON/ab3UUBioikf3/UwWUG1Z45taO6pJnjwIKrTrVxs3ma27cQ5O/NwoFZyPXxulYxUfPi0Yyrqm2VNGygU7zoLz4S1ceo2RNYh5tO3ipHGmhfGk14SQAw/5q+vW7IaYLBQQR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:19:50.5813 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e562a3b1-dc05-4a9b-798b-08d5533b2989 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: CY4PR02MB3383 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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 06:20:15 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: 855399 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="qOAOlMRL"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zByST2QKgz9s7M for ; Thu, 4 Jan 2018 17:24:25 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id EAFFAC21DDE; Thu, 4 Jan 2018 06:21:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 E9DC7C21DF1; Thu, 4 Jan 2018 06:20:00 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 93AD7C21C4F; Thu, 4 Jan 2018 06:19:56 +0000 (UTC) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0082.outbound.protection.outlook.com [104.47.38.82]) by lists.denx.de (Postfix) with ESMTPS id 7C782C21C4F for ; Thu, 4 Jan 2018 06:19:54 +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=zdAUC9c7XraBQVUNNvQnqn8tTwpsrWi4SooKPkfXExc=; b=qOAOlMRLcVMvoWLH6DFqFMQBw+hBdI6S676FbC6I9UfaxhwNI8LTIP+wWKqno/mGlVyaYL42CnvjNBi/WNX607JIPFL+iaDMFXBuYwJv1/PDsrYoHtK3XDive7FVafOcUxOtpvja+G2y/1Yat0V7VqyTOjw/80ymlAyoqI1u558= Received: from BY2PR02CA0096.namprd02.prod.outlook.com (10.163.44.150) by MWHPR02MB3389.namprd02.prod.outlook.com (10.164.187.166) 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 06:19:51 +0000 Received: from CY1NAM02FT044.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::202) by BY2PR02CA0096.outlook.office365.com (2a01:111:e400:5261::22) 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 06:19:51 +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 CY1NAM02FT044.mail.protection.outlook.com (10.152.75.137) 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 06:19:50 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:43358 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1eWysX-0006KU-R2; Wed, 03 Jan 2018 22:19:49 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysX-0004Kr-OR; Wed, 03 Jan 2018 22:19:49 -0800 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w046JlRT012805; Wed, 3 Jan 2018 22:19:47 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysU-0004Gi-VR; Wed, 03 Jan 2018 22:19:47 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:15 +0530 Message-ID: <1515046816-27217-7-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(39860400002)(376002)(396003)(39380400002)(346002)(2980300002)(438002)(189003)(199004)(81166006)(2950100002)(305945005)(106002)(6666003)(81156014)(2351001)(36756003)(106466001)(356003)(8936002)(6916009)(8676002)(9786002)(107886003)(54906003)(5660300001)(16586007)(48376002)(7696005)(77096006)(47776003)(59450400001)(50226002)(316002)(51416003)(63266004)(4326008)(478600001)(2906002)(36386004)(76176011)(50466002)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR02MB3389; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT044; 1:7eUtjgw8VUZVxFNY8XO0Yqgfliof8B0TQmr2SM9QBezcqtCjrMXpIBXWdH0PSo82+z7ZENP3ex1IoQ3MLxBeEwgTbtDYgNWk3RIzWlevUkvuq8ZteamEttFv5Pv5S3a0 MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3959bbc3-4efb-431e-19f2-08d5533b2973 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4608076)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307)(7153060); SRVR:MWHPR02MB3389; X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3389; 3:NlYINUikTCXGLe8xz9wg1xCCmvK1BZnc5SET1gVgEb4bdJ4IKfyz2hWrKaVeCy50wBs5TNBT+a5Bm2GcHNsa5ago7wumSxXpm9MMKekAx02Bbpi6O8ayiUu05dd+5Xy6oa0xljgMvm9xSx7lAoLXtGFRsO2xH+bs7kd8oYcAib7UCrqxa1XzvmqPUZ8lrE59HJfM8+MObF+HFX7s0100zuWMww4KC/xtn/Fv+Z1UoTHRNKj93Bzbmgh1w3GTr8qjpqU9v6l7zTnKDbasihvyqpe0RPtaHcC45gWi8B7P1Fh9YeiRlprr2RKpBi2E+VPVHJnm/XpBcuUTntoaWfu8Lv7iW0/nHF8a9zlg3849Z0E=; 25:44fS7nLCKozYHzGoK20Ur8IJkli7abpVy8ebJU9wmxwU9Gi+twzncbhYXa4XZMLaCkTub5U2fgpGXw6EviUn35S6rl3KKB4pxwz2iTj3Sht0lrYnC5GA1eCx1FoBZj36UIJ63quQ/QKFywMc/IeEjiqNnnGP+lR9nmNm3dhI22V2wSa/zQ1hBrg5TSlcUn/JePaDSYuaSyXp0jV9JLidymkEbtKGQyucCb/GjCAYMYqIhAwJoA06Yffst0OIabNc2xnZKHZFFXpoC2SbTZ68u5STfzQyJVQhapFLyImHdpHH+LJJHtk1P5SXsZpiq5aVYRYylB8C1c4YMimh+ouMOg== X-MS-TrafficTypeDiagnostic: MWHPR02MB3389: X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3389; 31:OfIvm5oIoe/D0fRaBeoM/zgi9zMX2z6OFWXfjTq/oTilOZZQQg2atFwfMPocjfXYKscAMNfL2i1aSIg+5T+pAEotz8uGtKIok2UDPTlyztl9LvS0oo4rFQCwZuH98IlAqOgcS6RcXp34pzggSt0N6JJL4FpFyfSpoTr/y2Q17IWXiX4JbFjif8evDNU2U1nNtbbuFKX219N5sOghfZd+slZqc6Mo2U0EWnXTZXcvsOI=; 20:WvqktJPJ11IY5sZJrUVYhDStXghvYycvWMET6Z86SwgSXcOi0fvlmIQVqX5yCprrog024cSZaJWSqxQvR2TlEWWReDmhKn7SxcKEQZ7mhsVtrugJVzFb3VAvjQScijgJRkS8bFbpaRFlS//rH70BOu8GK6L0NPJ+1hdpMafMa1xEwP6E9st2QMM4S+lpFvUDEqtO+UomH80wDk0Q0qVA+F9zc4OgFyYb/QDj3+2xWkdgNGKuaJNgeN7JxGwIbBpfNa2VBYWUDysSyZTxRyhck5W9yXysHVtvtsSzNt0Wu6ClkNFAyKH+4b6rFNHIO8bAnRydgMlN1tMtJT/oUlezZvtIoTYhHW2YUEJGPhJlTcCfQUloWEcujxJws/8Wj2LIJmAQx7MVab6yOS4/C3v2hG2dTnoLzVIOcMOWtqE9v4QAk7KPgwDqVdeyjoyqfPPVPKDe4Vdh232d+HZNJo2hDoHB+P0SlTP8OUT0N2gwuSHWINnK0KymvBYXvKC+9Jx9 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)(20161123564045)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:MWHPR02MB3389; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:MWHPR02MB3389; X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3389; 4:POCX6FTh+lu/9kPxu1YxNhg0MP7p9T8Zu1W4KQLtMHlw5V7k+IIA8YZ9INn94S1SSc0OgTkz+Z84PiT+E3tJJm6kDjReAGpJ0rmxhWrEzMrnfwNaqA6CRkV+QVhS9xO4pgdh5Zb48jjQPbjoWyQAtclTV5dxe3LyFfRnVAfAv6Ng0njyiomWif1NGxSX/yBJNk19cyzhfmuQubxapEGVpB8TLGBMkVn1JrBQuWE5j+h0Tyy6ACDIfYMTugpu7UcarcpKEgTxmSFq27YR13RzxU/oJbPnFptztyVjE8K3xmgxchM1beyOx3Yvdk+4pEUD X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR02MB3389; 23:Ru3JMoFxovAT/rNLS6OwwPiDTHjs2/Jyq+5FNss8u?= 1V2V87lr8PfwFUlyV/V4orhMYRsKwvgN/szsGShIi/mQ07IzSwyTFtbjgwS6E3qen2eDoF+KrJGT7mfcMzuOk5wCGBwXP3hg2tPvZxCV0IlXBCxqRiFNA1SGFQ7WxZ2ovl+EMB39RTRJSP2j1+1MHFLKGL97jDCBYbbjCb6Yov1sfvGA9m/lRzqrOerpAP5hV+Ak0xB6Pt5aH8zVx6GF93WWdFbuO0Mbx3NkC75mQeeLPI3aVuvwJfoLIHD0mad/nyzdBmmeDj8emVIkpTxHKTrUHHmkn6Wny7sCPYYLVyfdtur1igt6dD2hsHF6T0Jepk6jUNCOOi/D2YE0nF/wbZu/lhHi7gaghBmMw5CbIFXrnMDSsY7KnBGf86ewcEiTXy+BRZTl7C1jyrHgOAGGLZtcISIE6cLqcPFST04OE2WREfiRYCl6LtcGLB2FyM8Iu7qE2Xu4G6wEogOiak2BuSjdwx2NsKXVYsuJaqDdow/a4pxqpnfDvtXxucZaSVO95PtMLfaHWvSO80t7ViBwYhVhihg2qZFLG+RIsA7F9iLPm+pVoWWlLzdhUP/MFSV0g0ieqH6VjkFSemAXFDqDDqN5Nj7/1Caw29ilY8XAAgsqfe2YNuXgfrPPLmxx/JW2V/RKUnG4QeqoAKLVaAxwdrPTsfx1nfo//v57zzByt9L3UWrPHNxH4fDSfpcYPPRjMoiBoyGW8aSQKYkIwDdrwO2W8kkGWCohO1AysQpqYBkYfnUAPA0+Rg6aEw5ClIhOKMlJs6nv50nsSkb9mMdA1jI9/7fwWtnwTHadVl2dvoVVMMzDZY5FYVbjeo0ZOZKghTQ6MpVbM2/AD9UehimNsMsoJtRGlrnLj8qT4jLzdTb00L8I1OyXvXTtmmsuJUkvzaLcnzsrHvNpJ28k4WN649vAxoKyxnTKTRC1Af2q8ln78QYTZZTbvX6RIY42PQNVmWtwC3Gz/5o2wBeaS5SodG25+AZyudtxgqEOP3zQa9w1yolX2PtHWFysnE4QoKpMvg= X-Microsoft-Exchange-Diagnostics: 1; MWHPR02MB3389; 6:94/Y4oRH96iEhnYWkjshGDnW0IvvVV4WUpL8S6xHe5H89VQnVXOGTnckyhMYkU0MikkNz3bpXLNlIvEaHyqYlh8K3pZx3eYVIKaP3uBwOY0HDH3feug037vQ/uYQpcPq3c9W52+BKj8WZ0koiurkVhi+SgEwZbqBKGDkWyCjWGycrTAhOtL/ElQRGBkdCx5GSzmnXDp49KO3WClqgkpaPSBqbWXz7DFzRF1XhpuMk8dI+T7vvTpZSG4bvESfJTzCGTMj9H1jLoqLS/jNgKKLh8n1tAs5YYEXntFnOAv7UkAlN4JM1p92B46FzOu3rZgajBa+zKp9/y2dwWSA4Bw0GeO6Bo/ufZssJWYZ5ez8dhI=; 5:gh3f+MQdRzrDGhTc8IJatvyttpjYOJ3l5bUX8vlckAZ88TMyk3I45fnGlMko5MDeqOo9Jx2CuaWsDHE8lafEb7uOg4icHmIC3tZHfcLwvbrOsj9yKMj5sbATzEcLQbBfE1s330edYsksU5uIx1Ib0jfpslzCD3u6pZyH+5Gpcg4=; 24:QUSrrQlmxa/Na/KKluf9yXiZIVkSwgVHx49kznntrzXAY492mdEBZnlE4bjVdCcu5cKRtZy3DaJiNZXwSrN596neL1jiojfVHCRBcX+gZjo=; 7:7lRbaxuiBke0mXpl3D/SJvc5spGovEwbWf8+g8lL5qn9oLluF2eKnLJnPwTBYIjn6ZunpPB3J0FZykajXmAeqWfypHnEuu7pYv2JgmoHXNoba/tG12rPR364sx1XU93gWlVhLMSlePJon4S0swwHX23gXPvw1G43iq2n/EzEixn8+w66W9Wzz9xnCjHI8q8L0o4FGKisMhcf8zY3Majxwf1zYav/gxMOLumUXbjFzgyfomdiBHScQ1xiEBUg1TfZ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:19:50.3253 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3959bbc3-4efb-431e-19f2-08d5533b2973 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: MWHPR02MB3389 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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 --- board/xilinx/zynqmp/Makefile | 2 + board/xilinx/zynqmp/tap_delays.c | 230 +++++++++++++++++++++++++++++++++++++++ drivers/mmc/zynq_sdhci.c | 230 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 456 insertions(+), 6 deletions(-) create mode 100644 board/xilinx/zynqmp/tap_delays.c 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), }; From patchwork Thu Jan 4 06:20:16 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: 855400 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="MIS4sdtj"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zBySp15Rwz9s7M for ; Thu, 4 Jan 2018 17:24:41 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 04590C21DC5; Thu, 4 Jan 2018 06:22:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 9FA58C21E16; Thu, 4 Jan 2018 06:20:50 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 23723C21DBA; Thu, 4 Jan 2018 06:20:10 +0000 (UTC) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0041.outbound.protection.outlook.com [104.47.33.41]) by lists.denx.de (Postfix) with ESMTPS id 1CCB0C21DB9 for ; Thu, 4 Jan 2018 06:20:05 +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=MIS4sdtjpehv3DNNyzHic5ty11ZvcnhIN/6914LgTQZAJatq4yPyl7WzBIiyPPutlixeRf50Qrh3DKK/4Vi9xQ2e2MUB7jTjJPfJKOs9udHvFr1SZa23NCTvh8AaqMQHLxNXClwyw5WaRjGicFu0b+2ym2139OAj+vFYI90x+k4= Received: from BLUPR0201CA0040.namprd02.prod.outlook.com (10.163.116.50) by BY2PR02MB1330.namprd02.prod.outlook.com (10.162.79.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 06:20:02 +0000 Received: from SN1NAM02FT012.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::202) by BLUPR0201CA0040.outlook.office365.com (2a01:111:e400:52e7::50) 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 06:20:01 +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 SN1NAM02FT012.mail.protection.outlook.com (10.152.72.95) 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 06:20:01 +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 1eWysi-0004np-Ix; Wed, 03 Jan 2018 22:20:00 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1eWysi-0004TF-GX; Wed, 03 Jan 2018 22:20:00 -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 w046Jn1k012817; Wed, 3 Jan 2018 22:19:49 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1eWysW-0004Gi-PV; Wed, 03 Jan 2018 22:19:49 -0800 From: Siva Durga Prasad Paladugu To: Date: Thu, 4 Jan 2018 11:50:16 +0530 Message-ID: <1515046816-27217-8-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515046816-27217-1-git-send-email-sivadur@xilinx.com> References: <1515046816-27217-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-23570.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)(346002)(39380400002)(376002)(39860400002)(2980300002)(438002)(189003)(199004)(5660300001)(2906002)(6666003)(63266004)(77096006)(50226002)(36756003)(9786002)(107886003)(2950100002)(305945005)(4326008)(51416003)(48376002)(316002)(6916009)(76176011)(16586007)(356003)(50466002)(106002)(54906003)(7696005)(2351001)(106466001)(36386004)(478600001)(8936002)(47776003)(81156014)(8676002)(81166006)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR02MB1330; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT012; 1:Vqm14Lof0jMkJmKn8/jP6RR2fGyf+/uUW9iSeTkUqvnTgLn/4+TD/o43GSBq1oLAPKXOhghqFVXe2I3niHYzpU0/lzyZLw7opxAAPGmuON7VaeaIUC71MLmH+WUawQVg MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 771aa8a0-534b-41c7-afb6-08d5533b2fc8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060); SRVR:BY2PR02MB1330; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1330; 3:q9t/EWjxeyIRdJV0dZ2Kahafzofgl6aorjbkb0tlCv0YOUmOtOqB/8EAqCdqPYbzlCLcWc72X+qS+j4r8jv+oDXkCX137ellh5S4lNB7Merx33t77NvKVNx7tsXRH1QKOHGVCp73FTfxhLgfWDutWOZHrtZ+nafYFcjj7UwSVI4NI0ReIJfJXmUpmxTUZC1NBPLXt/Gqz4MewBgHskd+ZUea8y3B+rsWA8ImsYaZODJcs3WFSeUE7P4yNNAmPiCvugzZOhVtR6Fhr5Xk+rtBM6fVBT8w9hXsivfvf7VPCa9h6CPzAxuTKfrPdUqt2J8POUdAjYE+IxyqJDvq6LpDrgDiGFOmY7b55sxbCHmJNQU=; 25:6L9I/z5RYp1Lm7uggk0/D1qg0Xshk0OY1Db4Up4uPMi04y21LQRmEODAn8i2L7CY//bs8xYm/kBovkoJMZzkYeg4+kNKjMdMpJnyTQUUeCj0oVoaC8lYsqwwClZALr7naJejgmNfekqrCEH0oR8jN3pZRKFMjzW+mu2PIvXz1KQqsUcnJq0sXvruC/F5/Cmr9+hRVZgR4ujFJFIKycOFxbgi2pmC83jNmQhm6pBzFxcxG05QMnQ7rkYXiypxHzwAh0XuoRHcwnEgnRKzsHuQi+3z/Frupn+45fgANSEuiCZNbC8mZ3LVA0/ueex5sGaM2El7YA/hzVMkIZpmmEGmWA== X-MS-TrafficTypeDiagnostic: BY2PR02MB1330: X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1330; 31:T/AJy8xrLfTWffFCbjJAdJeuuXbt5NBUjB7exDnnb/nCLvbc6GckJT/aoTBua8eDn55Nxwf/1xwkVkYcX9AWavMXvhAo3V9I0tk02VDQgNGQU/zWo3wj7E57gFY2U4jnKCpixq8gSbrgf+u8QVc7323Nr1duDFrX7uqaa0n/wUrUFo1GE2n118y/NaG6x3ZCp7qUQu8ILUQU/GxuJvcAy01FZ40Y/mg7XiL0jzbPB9M=; 20:may7DDgLDawdpUZa30vWKORfmD9iEhJX5xLLq/dT4JXvsaBCi06BWVlCWYcOUxSk0i17EnkMCc/4wPjk601p1MelbdBJfI6hy9rG8bBMFSXP1PXOucFWfTzXZWOa0BxLWxzM5RkGokwq6EoEXQ0gtwfxRptQEuI9Ld4ClIWcme7+d5ME2FPKzmK/72rl0aDuINL5a+Qx3ZK4kqvXOiUv6QGlOAAKjzvXd4KV6GLCV9DvqJa104x3fzlNEKmRi7m1DDnRrqnIBCIizpg1+7MJhLvu2a3xrAYqWhK8HHtKANuSPYWa/TgqZs9LUQtF8BGTBHCON9E8zSkOCheWqGEmXXrgltG+f5nc4g5ULSbF8TE6uDdIDoTPDzaq1wJTxA0SzJbpOhHxoGOf++hOrEnQtmaYjqzn94172YZNpLKckODXtKL2azcOUuvRosZhrkLb2ET7IAoCeIKz2UnqiqUwpA7+Br5t2WxBlqiluMUyi1bf5EEDgyVr8PwzLiVNNGK/ 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)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(6072148)(201708071742011); SRVR:BY2PR02MB1330; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:BY2PR02MB1330; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1330; 4:k9R3tSBgYizGgzFQnzyk0Jlb6ZVoLLhX/19vovBM9lnr+9ywWSoOkALS/E9AXzrW+PbSLIlmUSSCKwBcGCo1D8lm1mApm4QglFA45Fz9yJ8c0WX+dXm01KaUnG2GiGdANEzgB1/IU0fGzZwxUAunjhqqcZt5bKXXxA6lV4KpWN8B1gw1/QLipPochgRClD3HSGNmH1Mwt2AcGpynu56vM279CxSLvI1wOaFO+eNxXYoVjtLdQLAhzwq3yRD71B0MxRMuStmOr4mtzFRTX0D9uXLXP/2AjIU5uKYmG3VWfE7WpI40qPW4ZOtEzPrRgpqO X-Forefront-PRVS: 054231DC40 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR02MB1330; 23:6dydFCAg+CTCkQKem3Gf1Z2uQx8jgPnvs8p0a4JV9?= eDWDMvA2Js1Ww6cL/juMtDNFww44iBTPJSVR99sm1ieVvN8CupWscSwkoXixPSXtvqGJ+Qui20L/QzHoW4c2Se+7BQ044IqhnM27vldy3+DnPzsIwnNnz2OGQO2bFTgYSdHikrDJWzZFc1BwkuIahi3/q5ISWkxYCcLBBY2x7s0CjDE8hEVB7PEdmVKReX9dM5XU6uQb3XAIiuxvaxRuZFRA7B5KQM98IR8zmMafFu299RKamy5/Q5ftICF4l3bq4/yrLsBL5otGqk6swweP3e4enqTa9R/kRWFQ6f476tTDHGBS0uD0LzywCZ10H0s8F//aRm2n6kkHfe5uKbYemtVJ1N6iqDWZR6Mu1JEFT13AaZqgYL9WPJHQtfJ4mKud8OQwuw6ScOst3Rfqq8eMHXunQnUvy1hM07lkv8SqBAb1Qij9YnWTwv3YbrbWpkySMIZBLK2JKE0xzI8S8rp+eTKnL97mC9UtI7+IZs9VWhRUOhdSDQ6qb8rZr0SgLKoDinPCFwwkYqgEcI1Ixw1ygG/Soh+A2gxpCch3RAOc6li7Rq+BekOKbLP8lOSiUwyaiOVvoSgU9OW/6r5vTkM2b1ic74SVYsWq/nPBOpOPddLcE+NX5WWW72OfrSoHQgxLGzi/V1KRZGGNqyVUL3Esx2iLx/xNIUntRh8ae72D5LHiOAwNxklCxVFZOsCLIko5/2enBTgK3e+NBJW4g9J9mxBrQTLDLEL6W55Avt8ZAFsTo3FIMf/fMvQK6jko05UxR16ENCyE6esIUlIin2dZgnAUNcLM/sqXfpc33Q/ACc1jC18sSnPngc8FbdQiHv33T6uanNobPC3evdPmptlOuZgQNPDcXtpAcum5UuuFzJ+4PfZi0zJRd3WJexIn4LAYu5l5DOayMtdkXoTqdDuX2nl4h1Nw6CIT4DORZjT2Wc+VZrgY1jTMQ3FoFQ43P3kajA= X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1330; 6:S8SkPNOV9n3zoXgCFERtMxT8rWssZornRBWBSxd/Y+Nj8RAzosHt/hZvsI1FIwK/VyoehLPcZKj808bmTXTej9M1uGtpr3Y0rOTUp9kyyUDk1V7iExaG5eP9B3tXqR8z9wSL3xfHVk18qTLMEDEk+BRB6MBOoQzgpoexaH6SbfOnLubNRyhwhdvhNocRRiJSxD7ZbPhernr1LINEvdKvVbG0KJaqgS50XXyvOHcxbTbVlHzBxb7JFYQfZ8Ch+epgH7KrzT9GcbZyFv2HWZytX0tp+Z8bSGN9IqGIvvhNQtm2BOw1fNGdbEKiTg4EnQ3YDXgh23RVCmc0vT0olBk8lYGOMRTMrlGWX+EzaJ9ekPw=; 5:miSsub9ajd8ktkLDhSolHNEIzbwlrY+ekwahBrl3GRD/hyv1V48qbXm+omZzHhqIAhinC5bzJ3OaQa87hce5vTHKEptxvIjVsHahT23KpKjFW6Vbyl5Z50V5Ugfr/mv3sjJ4I56WtvIld1zo/GBkht1yED7GCHkd267cFDeEvVA=; 24:aJriA0eozzHr8QrSvRFMBMjZx35IlJQIEGoBS4PG3iTSLSBWJjBVdwdkE29/wS0glQ3tqWXgbN6+D76ymf0dB2e+Yx6Ud0FfF/xxYF2CDkw=; 7:3yIIzd2xJZcaZLrqOG27XbzZxSNNoO5HpvItn8mSYuGip8FehUoj9i7urzwGY6q1Lr0r8WWjBiWvU8lMCxQ/66ES4dXoqhV6y75yVu03tSinuuPcWn7WaYxoI39mB4/MxoQlLgiE7YrvuAN/ZSj1Nt6qf9i7y7Sow0QXh9JRuIq6rodQ2fv1rBevDCLEwpm56htCpLQNXiRU/b9MA4k86nhvWHfj0pixUjdLf0NTA+TdInKzcJ/3PgKH0cFTy++u SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 06:20:01.1400 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 771aa8a0-534b-41c7-afb6-08d5533b2fc8 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: BY2PR02MB1330 Cc: Siva Durga Prasad Paladugu Subject: [U-Boot] [PATCH 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