From patchwork Wed Sep 11 10:01:24 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Birje X-Patchwork-Id: 274227 X-Patchwork-Delegate: promsoft@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id E78682C0126 for ; Wed, 11 Sep 2013 20:03:40 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 298844A0A5; Wed, 11 Sep 2013 12:02:51 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tbzsNvoGjwyc; Wed, 11 Sep 2013 12:02:50 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 48D134A0C1; Wed, 11 Sep 2013 12:01:37 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 571334A090 for ; Wed, 11 Sep 2013 12:01:34 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LweaPtcc+5CB for ; Wed, 11 Sep 2013 12:01:30 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by theia.denx.de (Postfix) with ESMTP id AA3534A0D0 for ; Wed, 11 Sep 2013 12:00:18 +0200 (CEST) Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MSY008YUH3VXAV0@mailout3.samsung.com> for u-boot@lists.denx.de; Wed, 11 Sep 2013 19:00:00 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.126]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id E4.9A.29948.02F30325; Wed, 11 Sep 2013 19:00:00 +0900 (KST) X-AuditID: cbfee691-b7f4a6d0000074fc-da-52303f20f703 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 12.FD.05832.02F30325; Wed, 11 Sep 2013 19:00:00 +0900 (KST) Received: from localhost.localdomain.com ([107.108.73.95]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MSY0040PH3CE280@mmp2.samsung.com>; Wed, 11 Sep 2013 18:59:59 +0900 (KST) From: Rajeshwari S Shinde To: u-boot@lists.denx.de Date: Wed, 11 Sep 2013 15:31:24 +0530 Message-id: <1378893684-27733-13-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.11.7 In-reply-to: <1378893684-27733-1-git-send-email-rajeshwari.s@samsung.com> References: <1378893684-27733-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrHLMWRmVeSWpSXmKPExsWyRsSkTlfB3iDIYPpfEYsH87axWTxcf5PF ouNIC6PFrtuTWSymHP7CYvFtyzZGi+WvN7JbvN3bye7A4THv50Qmj9kNF1k8Fmwq9bhzbQ+b x9k7Oxg9+rasYgxgi+KySUnNySxLLdK3S+DKuNOjXrCWv6Kx+RBbA+M7ni5GTg4JAROJG0du MkHYYhIX7q1n62Lk4hASWMoo0b3zFTtM0Ye/91kgEtMZJSbtXsoI4XQxScy/1wtUxcHBBlS1 8UQCSIOIgITEr/6rjCA2s8AGRok5v7hBbGEBe4kD006BbWMRUJX48OsPWCuvgKfEk15hiF2K EjOWPANr5QQKt55pBLtBSMBD4un2jewgayUEVrFLHNl8hg1ijoDEt8mHWEDmSAjISmw6wAwx R1Li4IobLBMYhRcwMqxiFE0tSC4oTkovMtUrTswtLs1L10vOz93ECAz70/+eTdzBeP+A9SHG ZKBxE5mlRJPzgXGTVxJvaGxmZGFqYmpsZG5pRpqwkjiveot1oJBAemJJanZqakFqUXxRaU5q 8SFGJg5OqQbGzTK303d/lPUX1f4c2e8XaXnwVYtom1SWYV/Z4kI7fv8J2qw32LWmMu551uYX yXJiYceB581bNSZJvZdtLT6SMedztz0L68lnPhVsh/9y7b/h8aZCYsbxGMvPX3a+niWrGzpD 1Pzlssb3kfe6O/QvX5Dz2/+qPDngkriwiKnnHmkO8a5ekVlKLMUZiYZazEXFiQAbLRtTkQIA AA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrNIsWRmVeSWpSXmKPExsVy+t9jQV0Fe4Mgg11dPBYP5m1js3i4/iaL RceRFkaLXbcns1hMOfyFxeLblm2MFstfb2S3eLu3k92Bw2Pez4lMHrMbLrJ4LNhU6nHn2h42 j7N3djB69G1ZxRjAFtXAaJORmpiSWqSQmpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtq q+TiE6DrlpkDdJGSQlliTilQKCCxuFhJ3w7ThNAQN10LmMYIXd+QILgeIwM0kLCGMeNOj3rB Wv6KxuZDbA2M73i6GDk5JARMJD78vc8CYYtJXLi3nq2LkYtDSGA6o8Sk3UsZIZwuJon593rZ uxg5ONiAOjaeSABpEBGQkPjVf5URxGYW2MAoMecXN4gtLGAvcWDaKSYQm0VAVeLDrz9grbwC nhJPeoUhdilKzFjyDKyVEyjceqaRHcQWEvCQeLp9I/sERt4FjAyrGEVTC5ILipPSc430ihNz i0vz0vWS83M3MYKj6pn0DsZVDRaHGAU4GJV4eG/I6QcJsSaWFVfmHmKU4GBWEuF9YGoQJMSb klhZlVqUH19UmpNafIgxGeioicxSosn5wIjPK4k3NDYxNzU2tTSxMDGzJE1YSZz3YKt1oJBA emJJanZqakFqEcwWJg5OqQZG4Qp3yYtZF7y4uli3bEvZ6DixwG9HarHst3hvdfXbfepMHxYk XL1Zf5r5auyZY7u3LnF+bOUw+eTq2NVW7TNOyepVZC7PlkvgWrh3Txd//5v0ZZ9/CKvM7Jhz VkeJ5ZnKgp4rL1umtjgbMb2OfOOfsK+wcu8vsYXhn9fb8+57z7NnymOZG7x2SizFGYmGWsxF xYkAYoYLOe4CAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: u-boot-review@google.com, patches@linaro.org, panto@antoniou-consulting.com, alim.akhtar@samsung.com Subject: [U-Boot] [PATCH 12/12 V3] DWMMC: SMDK5420: Disable SMU for eMMC X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de SMDK5420 has a new Security Management Unit added for dwmmc driver, hence, configuring the control registers to support booting via eMMC. Signed-off-by: Alim Akhtar Signed-off-by: Rajeshwari Shinde --- Changes in V3: - New patch. drivers/mmc/dw_mmc.c | 7 +++++++ include/dwmmc.h | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c index a82ee17..d763949 100644 --- a/drivers/mmc/dw_mmc.c +++ b/drivers/mmc/dw_mmc.c @@ -300,6 +300,13 @@ static int dwmci_init(struct mmc *mmc) struct dwmci_host *host = (struct dwmci_host *)mmc->priv; u32 fifo_size; + dwmci_writel(host, EMMCP_MPSBEGIN0, 0); + dwmci_writel(host, EMMCP_SEND0, 0); + dwmci_writel(host, EMMCP_CTRL0, + MPSCTRL_SECURE_READ_BIT | MPSCTRL_SECURE_WRITE_BIT | + MPSCTRL_NON_SECURE_READ_BIT | MPSCTRL_NON_SECURE_WRITE_BIT | + MPSCTRL_VALID); + dwmci_writel(host, DWMCI_PWREN, 1); if (!dwmci_wait_reset(host, DWMCI_RESET_ALL)) { diff --git a/include/dwmmc.h b/include/dwmmc.h index 08ced0b..1a67cbf 100644 --- a/include/dwmmc.h +++ b/include/dwmmc.h @@ -49,6 +49,9 @@ #define DWMCI_DSCADDR 0x094 #define DWMCI_BUFADDR 0x098 #define DWMCI_DATA 0x200 +#define EMMCP_MPSBEGIN0 0x1200 +#define EMMCP_SEND0 0x1204 +#define EMMCP_CTRL0 0x120C /* Interrupt Mask register */ #define DWMCI_INTMSK_ALL 0xffffffff @@ -123,6 +126,15 @@ #define DWMCI_BMOD_IDMAC_FB (1 << 1) #define DWMCI_BMOD_IDMAC_EN (1 << 7) +#define MPSCTRL_SECURE_READ_BIT (0x1<<7) +#define MPSCTRL_SECURE_WRITE_BIT (0x1<<6) +#define MPSCTRL_NON_SECURE_READ_BIT (0x1<<5) +#define MPSCTRL_NON_SECURE_WRITE_BIT (0x1<<4) +#define MPSCTRL_USE_FUSE_KEY (0x1<<3) +#define MPSCTRL_ECB_MODE (0x1<<2) +#define MPSCTRL_ENCRYPTION (0x1<<1) +#define MPSCTRL_VALID (0x1<<0) + struct dwmci_host { char *name; void *ioaddr;