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