From patchwork Mon Aug 6 02:50:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 953681 X-Patchwork-Delegate: sbabic@denx.de 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; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="GPP7EakR"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 41kN1b6xMcz9ryt for ; Mon, 6 Aug 2018 13:10:11 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 555DAC21E3E; Mon, 6 Aug 2018 03:01:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAD_ENC_HEADER, SPF_HELO_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id CF519C21FD5; Mon, 6 Aug 2018 02:47:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 1050EC21FB2; Mon, 6 Aug 2018 02:47:02 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80054.outbound.protection.outlook.com [40.107.8.54]) by lists.denx.de (Postfix) with ESMTPS id 44CD8C21FB2 for ; Mon, 6 Aug 2018 02:46:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P3XqQhV4lt+tXgVS6/F/k+Kz11811660s7+RDUoUMAU=; b=GPP7EakRoox2nUsWrmW01awXyWcZld57+Az8eMy6X9AHNoRLJEZsxsxQ6G1LWmxYFLyc3vHiufhL04xVFjCXe7rPQ6Ob27oxoikAm3OzdHAAn7N08kCYgSXhQfIq+2bz2eb63KCx0cejA3yRcCW2ZJ1bV8k7RCcXWsn4Z6A96zE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; Received: from linux-u7w5.ap.freescale.net.net (92.121.68.129) by AM6PR04MB4486.eurprd04.prod.outlook.com (2603:10a6:20b:23::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Mon, 6 Aug 2018 02:46:36 +0000 From: Peng Fan To: sbabic@denx.de Date: Mon, 6 Aug 2018 10:50:45 +0800 Message-Id: <20180806025047.25320-31-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180806025047.25320-1-peng.fan@nxp.com> References: <20180806025047.25320-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK0PR03CA0068.apcprd03.prod.outlook.com (2603:1096:203:52::32) To AM6PR04MB4486.eurprd04.prod.outlook.com (2603:10a6:20b:23::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 322e5306-cbb3-467e-706d-08d5fb46d577 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR04MB4486; X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4486; 3:ObBJmEm+k+0Nj1EWD1HcO0HxqOQ5piVh9t7+mbwgKth6Zj97G8V5J12qn5tUjZYR6aB/u7qvMRwPlV11zBYIJoPzTKpxKFP2UGh3pYkyUkQRVRuZfyR0XzJdI2zShAH6C7ueXFzfB77zB3Wa3IzAttJ3dWpqtB3X/Dka/Ca5+F8yhXB1BT0ryo1h09H+oB7NBzML1khTgbA8ahaO9GtBc2Lj9p2Q2o2tn/htzUO6qeYxIybeHs0KjqA2/B6J6ThA; 25:S9d905lAFOpRaRDtD6tbJhaLF4SEoLuzq7AllikZNNHgy0H++vr1Beg+HnocoN6ol4+c0DyFvepBvsCgJCNI5NY4OkrlRlcbfAevKUt7Yh1TW/Vfik29AAcrnfOf+3mfqdfTAJuEEdQMw28wi/GLxLJgXdBCiLJ7a7DDdyk1gpEsbiQSG74yOIIG004K8Kk50Hvi2JdTXwmjkGhouO3L6pLOnSh7NBW24pXO2bi23IC86XOAG0MMnMli7hb7CEU3WIcTphAbkZHryvg5sl3Hqaz56Wxg+JiZXpusvNQAxjlbHEtJcTN7VujRjuqFKSHaQNoQtz49stHbE5ci8HKXQw==; 31:FjJaF1uis01ZDhCNPwf0nskaNyG8E87gEfCHkfMbCH48dPbUjlavRvdaU6CqAChx0hcZ4EqUExJO/Eev6VZp7I+3hg3O+jvjB5vq228Zj8fNeg+fH3KRlV6j2bsmWQZkdgHu2s/MX4bOWcowqBvvE3h+O/TXS3KYMtW9i0GxYvB7kL49Ez320lVh1eY9bg5UvJW4hYUlTkp+iEMrBiXE1kHA2HrUJXWPPv9YZl7sc8o= X-MS-TrafficTypeDiagnostic: AM6PR04MB4486: X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4486; 20:yrk8J35v9DZchbTdrrYzBgKNZGiS9vf0vAOWpra4RSaMpdHce3EAwm5jXvybusbmfMRzRzQSqzdiZxv/6fJjqEP90ZNRpZbEvCztKhbo2iQpA31Vn2juwPlwKkxSEmM1bvpPTdmmt/Meh18YIhuJipmcsw34Gjimq4idkQ8F0/sSuk2UM2jBQNOY24Uk4xEmhk38DTb47BlcHFojmzkF/d5UFfD9apQhV/oo5C6GwkIGIFqtxYGn5oYp3u2Juh8Jmh7iwEpTW7FBfAorOTOk90qSP06XdTqdKswIN4sxHlXqtX18am6DMNx00/xBS5nPIkuyxYy3qNCgoEmUBr4dDbKC0N6z3u/uF+Ja7uz5oxXfcV96Lh7K6cO/P3VXSzW3gc2wJtgTGsUm/GVVrKEFZkg5O0c0seTn93QGqV1YMv59dHWKsCaBqUJpmawu8aePWlrDnfSZMInzuKOLeK2tkOKglCP9vrqi7+tKIthZiMbImIyYBc7oQRwe2rjIIef9; 4:1NHDpdLo4VSF7f9kKOq6SAieYeB+ShnEmlSWk1Nv/SI8oHUWq8GHl4ZM0LZM3zY/irUAEk8v9iHpvd4w9EL0akWpPHu6mo45JNAzatT+j11/Md/ahlyDEunZn4IPlKVMpAnuxN6lRDxXX/31pq1ln4GjpdenlGPaoUpzkgPML4ICRJqtD7MnhUHjLeH2p7ZA95HEynxf9sijYTrdcv+GhSBD0vz8jCPzrqMKZa4Vl8g4H8/yaWYczsJ5El6MNgr9AddWC8ih7Ms0rNvcHPT3DhPKREaz486CW+uQNomnzNNmMNQqCnNENQBh9iWEWPGo0XCFrPOyViBqrP9jHg2iK1I8KwKE4jumajpQkbo2wos= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(7411616537696); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:AM6PR04MB4486; BCL:0; PCL:0; RULEID:; SRVR:AM6PR04MB4486; X-Forefront-PRVS: 07562C22DA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(396003)(136003)(39860400002)(366004)(376002)(346002)(189003)(199004)(51416003)(44832011)(6506007)(386003)(2906002)(316002)(16526019)(52116002)(26005)(186003)(97736004)(5660300001)(4326008)(81166006)(81156014)(86362001)(8676002)(54906003)(476003)(76176011)(956004)(446003)(2616005)(11346002)(486006)(68736007)(50466002)(50226002)(25786009)(16586007)(48376002)(8936002)(6116002)(2361001)(105586002)(3846002)(1076002)(6512007)(6666003)(53936002)(2351001)(6916009)(36756003)(66066001)(305945005)(6486002)(106356001)(7736002)(47776003)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR04MB4486; H:linux-u7w5.ap.freescale.net.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM6PR04MB4486; 23:KQHU2/jF8y2kj8h0/GAL2vGayj7iAC7sk/R+IrfA7?= WAOpdl4oe8ro+fTFFNbmD76gr8sMmGIpXZqQtoYg/AooFOU+XG/DO+J/hZxLZeQaHoO6m9kym72Ti67sz9XYIDRbRR/jVGftKL2IIWAHKrwXrmBnwOQEOdaLu3HrMVHJ9W9v3zgy7Qk5Bl6bpdxdgeGMv9Y1c26wAz81RVW5/0ewNfMQS/txURLmb4wSbtYyy0/o7QDzf+pTX8YfHgaLrfK0PxiupvICvSfo2nX5Ke2FclD1QxIhVv55Lnhm+G4JC7qkWLml1+Rbvyet+dDjQgI0B00Wij/lSpm7+uvrFrqurWBbpYwbd/fFkPDQxNB/OzO/MwIhzxdTjf5jyYYrSFHObV5Cp+uknmTel9NBwYEHOyks11vLfVuPUUFksGCoRC9hVIWE4waP82vl4vp2CkXCamRUyi/9Xb3bb3ykdlx8p7fbZ/RIfMtknIm6akp0LrorYy30RP6AagjzzV5Ayz1VHLGcrHD59kyQgEUF580XO8CYRTxInfnvHjRK0o5Mlqd9zYJeeFW9G+zd1CdE/BWbP38IsJJXX8DoWMAVJXZbF/RE0zJNcoqAiXu588CEKLzkGkG1VMC2e+/ZdR0iwOGZRIRRZizQ5taD0o9xeq0qtwP/+HT0kOFjB/F7uOzXLcxzl37DQpu7tOXsyxxfLLnnE7w20Dynrr6Ma5tWUQ2j2yAFscTOqIngU0LKAps2t2b4TLSJYEM9W8N31NxHYiRmxTlU9IGsS0ottU3nvesykh5S3Gwa3luOCrAhPDUpCAeLrpdy2woT7LtSKdQABRUAe5bgp6CmeAkKmP5F3pTivhw7DHF9dj8ppq0IwENafZ2NhJJtpwZZddxGseBbM9rmBZCb9FLyl2s6AGuE/DxJAAcu/szJsKlNwNjUlv3pDp8dF86xmExBHYcmpEJptWCBzsVHj2tGc3CRk9IrJmqMnk6pB1ip/Nj7nxOYtTsiRI2dSd3uOxlNTVCIXiwbbuxJJqi8qLfk7DgiRzdXdPU3iR6D7NNpnbTHpVaJfocgc5KT+0ATjrqTyIp9r4ARi+dkjGExcVK9XeXJXgJa38T8GiDIegi/nhaenpOB98LkGEIJac2bZSfjZL2+hmtRC+4U8k+/xpqyKn+KXtkfBNnRtyrB7HjX4Xb7ajP1spqJxCALWbRxrq3pF30PTvDU1PlhoIrpI7GBtgs5LcosaLxafCRS/1uqPcJuE4WkqRnMbyFVrehvKNlDjUsrtADSSttLLd/Mbowy0UfQ8mVpzZNAw== X-Microsoft-Antispam-Message-Info: uhxpuaW7bjzkOCkggeXfdnbehOpFPDRA58Zh7Fi9gJDlokS39wX4tUA3mz3bfjCLoRyDcYYtv5DEatotK3f1qlaLfN8rK1JNy49MRTPRDN7jHhfLiqazMmGx9I1M1TxP7BJsPMa3lNQIbLaymOnNLZbTSHSLpvLvlrZniBRl+3tL7H8gLYh6HI9tvpTWViW1GXJ1Dg1K+19UNVBmFpHPCtOKe6ThKxGXKrI13uGvHQUT2nZOSrDubilSA/7hkUQKbXbt0ZW9TD2MmvfhjScXIyNgIW3yACUoBTm23B3laRiNJtZ93RBDb3aw0cQPoYLAiUWVorxjm4OOxG2TrzpygHmXF6ulE8AbMciGuTMSGmo= X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4486; 6:sEvz04SX7p/Mn+M480o/Pvg4Yq1yuJIysLeH5cj+W9GIdoDNBSfQ04ROyygsTHvK9NbYyjBti5ST91gsAW+zK7bdwFTHpMzxd1NpvUUkrXZsBwEFoSWrg0DeA+y7aSMirSCuYXQIWCmszy/DLJWIYu5mhkImhdyen8jHmcwerO9fg+uJf9TVInPhkTjYVqzRb2XphBQ3g/q+MyhLa0CB4om6w3oFyr8221hpJoWYP/8NlOx1Yi0MmdMcsn2hlfDz3JIyca6VfI2cL66iOYrGO1f0jscsi8OzcsV0KMDhTCGfhFquuCTfp5vknPC8o/Vi7MNPB6mPOq7sjEkgn8M//0X15hTQ2wxC/rv3Yu1ijOmpWu9dBF8/43ILqz7Z993k4TY62kth4Q6v26PR/GZzEEUVpSd9OyQGpxXgSA5aUXELGN8FljZ3qXjRn5qXDg3thSsJrRr1KZNyqRL72qOU2g==; 5:QAifXA0BEbesDOi7+xNqJZqL94Sj1VdbgnWzA/pe7t7sDhBkJfF1DSOMcqRBH2TlIkKFZjm570zX45PEIbLFGboIeJGF93iAb0e1wU79trHzsklBiSmqXWLlcM3OLO+A6egqPJyc31BRqcTKzZg2cr1boG5egX7E0qM9oXJDCz0=; 7:/CNeWpptAsgdwVroSTBHVnguDJVOMjODOWdM0B+XB5TIahViaK1/jaANpix16skbIJ9bW2p5klFo04T2PwUkmz2ArwlQW+Yh7bUdLdiLc5vkZZ36DDZa9gtiI3QrA/lgax0m9NtJt8id0QEsRONP4ewLJCckUwVm+3D/E3+nBqpEztrZduSTdWu1UZi1d/jUonmceORlqReIQ5ekH1fDTCr4qMuplBEXSo4cguIIJoysPejAegaSWB2mF4bhERSN SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2018 02:46:36.4251 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 322e5306-cbb3-467e-706d-08d5fb46d577 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4486 Cc: fabio.estevam@nxp.com, u-boot@lists.denx.de, linux-imx@nxp.com Subject: [U-Boot] [PATCH V3 30/32] mmc: fsl_esdhc: add uclass clk support 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" When CONIFG_CLK is enabled, use uclass clk api to handle the clock. Signed-off-by: Peng Fan Cc: Jaehoon Chung Cc: Stefano Babic --- drivers/mmc/fsl_esdhc.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index 1b062ff06d..70243b99d2 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -121,6 +122,7 @@ struct esdhc_soc_data { struct fsl_esdhc_priv { struct fsl_esdhc *esdhc_regs; unsigned int sdhc_clk; + struct clk per_clk; unsigned int clock; unsigned int mode; unsigned int bus_width; @@ -1462,10 +1464,22 @@ static int fsl_esdhc_probe(struct udevice *dev) init_clk_usdhc(dev->seq); - priv->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK + dev->seq); - if (priv->sdhc_clk <= 0) { - dev_err(dev, "Unable to get clk for %s\n", dev->name); - return -EINVAL; + if (IS_ENABLED(CONFIG_CLK)) { + /* Assigned clock already set clock */ + ret = clk_get_by_name(dev, "per", &priv->per_clk); + if (ret) + printf("Failed to get per_clk\n"); + ret = clk_enable(&priv->per_clk); + if (ret) + printf("Failed to enable per_clk\n"); + + priv->sdhc_clk = clk_get_rate(&priv->per_clk); + } else { + priv->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK + dev->seq); + if (priv->sdhc_clk <= 0) { + dev_err(dev, "Unable to get clk for %s\n", dev->name); + return -EINVAL; + } } ret = fsl_esdhc_init(priv, plat);