From patchwork Mon Jun 17 07:32:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 663 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 34CEB3F353 for ; Mon, 17 Jun 2019 09:41:28 +0200 (CEST) Received: by mail-pl1-f197.google.com with SMTP id i33sf5517320pld.15 for ; Mon, 17 Jun 2019 00:41:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560757287; cv=pass; d=google.com; s=arc-20160816; b=Y2Ly/c6YiZK2w8G5b86Rr052sE0x0kKRdveFS469bkLjHufmx+IYf0BU7Nt6tHN/en MR1zklLHzjWQ/FcUUPi1cwPnuR2/b8rlRyhP9cR//1RH4kAvYg1sAZauGwxaAkQomEnI CWW07Hy+J1/A7VLcI9UOKgynmF+yt1nZvb8Yuygs/RSvpknxzz1ALHhnM15qHaMsvuGh nBE/nPkKkjyWtybXcDwLOiePT92Ag/CrA9LF/hQtcZ/cV90lf5wPiwqBDPxEl3vmRSl3 eYpiLvMgX9rovLHWMyU/ECHn57xlGBbkXN2WfVhxkPN24K0PBVduJbgoxvXAShMbBaAH O8YA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=QbOJKgRuLNmvoNR6utu39nWVYMLiLB1iagwbACa/5Rg=; b=lduD7Uz0ZB3wA4PEUwnMmyoR7wfnruK87JMTTwHb/U9gSnHDJlV2HCjAD8a+graWlG DzGj2xC9rHEKTfFo2Sp5VSbLkE8ey/Ah8r8V0PimKwYIwnVRGUIbhFrv3IDLHdrEyyrv ITgcs3/VcVAYl8mPPuE1xM1qhfnL9Q/OjoLFCjFYwYOKh9We3/ErwhY1if3bko7jRSua 8lYpFQXpYMBTVB7+D70xvqiPf1BU5O7y2OuqzSxpPFKohIWe/IVTlu/GlQBrVZdbx98j GRgJMALjJLlEq64pnBjIwg79oKH3SqzaIH/Y2q8hs5Vvn2warFd/dyNJcC8LOMA5S3x3 8Vww== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=g9fAR+8I; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=QbOJKgRuLNmvoNR6utu39nWVYMLiLB1iagwbACa/5Rg=; b=RrkOhVIDemTt5SbxFIStQA8okVoBNSdaLdpU2D1mBPMwJmq54rjvcPCD7O6kyUSC5u AcNj94AnkRg8DnD6CYs2EBGBMcGY3SwthYkH47vz2GRY/VVfJI73m6sKdcrHgaj9o2BA EDqKyNnfB7zkrvBDdpNbrupxzx3mX3h/NWOmM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-unsubscribe; bh=QbOJKgRuLNmvoNR6utu39nWVYMLiLB1iagwbACa/5Rg=; b=QhaWNG/o3yetoo+K54HOD7Yw643iQmL4so76dZGTQBBcPW8WcaIGJ354mymfKgLcpx wrToA6cQY3NGDshtA7ovLzt5WrYskknKw3KwvCk1/GVwlqQMkP7/ZxYTi95Y5XtlNz/9 vnkH9f7ffXCq40q3nY2kKYLVRnH234hSGlN16kX7L72PfDI3yubL/591knHcW84v0178 9ahaZdStcM14Uu54dSHbAoocyWCO1JCXKYid0PfxJXS9GEp0R9AGFLez4cqMhi13tfgq APPWRM5uSpET+p/JCZrdGqC7zD3GfEYkkKUwGJemqUUmeWLy7pykyE2NjJIsHikUwl5N xLZA== X-Gm-Message-State: APjAAAWJmqLnPbPXkbcinsVQlRv/pHape1Yl5cqACnFcO1DRLEyIRZ4k 2a5UDwyjzsb9r8HB4KFFSfboMUWn X-Google-Smtp-Source: APXvYqzh44r3KloxHwGEPkF4LClUewPf8UcAwx3Nuc/g7Q+OfNVMJ0Q/37wj74Ae1n+rcgq6PlUWmA== X-Received: by 2002:a63:eb0d:: with SMTP id t13mr49113843pgh.37.1560757286937; Mon, 17 Jun 2019 00:41:26 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:8a8f:: with SMTP id p15ls3755145plo.2.gmail; Mon, 17 Jun 2019 00:41:26 -0700 (PDT) X-Received: by 2002:a17:90a:d3c3:: with SMTP id d3mr25289897pjw.17.1560757286654; Mon, 17 Jun 2019 00:41:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560757286; cv=none; d=google.com; s=arc-20160816; b=WIVxpMfGcoSlECpp7xpx165h16/EQ/pvgPuUbyl9q4sv0Pm3EvSIqZVVdXbvDPoIRn iPZH9tM0KVzcx+y6Nrl8XmHmr+U3h+hrq6ZOkhhwzjHoLgcUEUpGOfFVqE7HFStc4oeD sUvwGVD4X+2IqShGBoEkaBPeD3eiUVKcA/89XdPr6PSgrmYmz4UXeJTGS5b66NTlCp86 bfmDlnIGJSSpdhkeEmgh2GWycAB2U9g+xqtdNIv8G2KFR+K1L26WTVE43NXLaU4fXfQH Advl1JExMTzebKEH/onuc0uHMxz+hJ4RQ+epxxWCaxMdZ9ii/aeDIQ4viBZDxrbMu2Od gMOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=0zklRZmJU29hi8WTA003fEZcsogeuBq8SIEVTjaj8VU=; b=d/bg7JjgeV3r8q3sCB2usMHFnZ1A7MwzKaNyGKudafqpCYS1xR1Hrr/IJAokql8Mgu d3TT23ZqzCHwODNoON2ZAD+R2xuxOgmbqH0YG7oWGFMBT7jSddRiIf0MPC81zUPbR5sg naLuaGjm9QZtuo2w9wO1+iBTJIQ/casvoH3Qv04TUw0FttikKG04IV0O/60ko5hHz9YW 02bC3HgOBOOzFonHtBwjz+7RKE/kcasDvzy6CPzIpcWi/bZ0YG8ARxQNQsOLocp6hj4h ahtDfHhkiqSNrIZS9bvKXEp7vc9GvhuPmWNtmI4tGHlPwErItc0jhwmzXZMb4Rp8XnQH KRwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=g9fAR+8I; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id w129sor10810517pfw.1.2019.06.17.00.41.26 for (Google Transport Security); Mon, 17 Jun 2019 00:41:26 -0700 (PDT) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; X-Received: by 2002:aa7:972a:: with SMTP id k10mr79260846pfg.116.1560757286388; Mon, 17 Jun 2019 00:41:26 -0700 (PDT) Received: from localhost.localdomain ([49.206.203.245]) by smtp.gmail.com with ESMTPSA id m41sm15205998pje.18.2019.06.17.00.41.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 00:41:25 -0700 (PDT) From: Jagan Teki To: Simon Glass , Philipp Tomsich , Kever Yang , YouMin Chen , u-boot@lists.denx.de Cc: Manivannan Sadhasivam , gajjar04akash@gmail.com, linux-rockchip@lists.infradead.org, linux-amarula@amarulasolutions.com, Jagan Teki Subject: [PATCH v2 92/99] ram: rk3399: Set lpddr4 MR3 Date: Mon, 17 Jun 2019 13:02:45 +0530 Message-Id: <20190617073252.27810-93-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190617073252.27810-1-jagan@amarulasolutions.com> References: <20190617073252.27810-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=g9fAR+8I; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Set MR3 based identified controller in lpddr4 as part of LPDDR set rate initialization phase. Signed-off-by: Jagan Teki Signed-off-by: YouMin Chen --- drivers/ram/rockchip/sdram_rk3399.c | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index c5521e730d..61b886ba68 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -1893,6 +1893,53 @@ static void set_lpddr4_ca_odt(const struct chan_info *chan, } } +static void set_lpddr4_MR3(const struct chan_info *chan, + struct rk3399_sdram_params *params, u32 ctl, + bool ctl_phy_reg, u32 mr5) +{ + u32 *denali_ctl = get_denali_ctl(chan, params, ctl_phy_reg); + u32 *denali_pi = get_denali_pi(chan, params, ctl_phy_reg); + struct io_setting *io; + u32 reg_value; + + io = lpddr4_get_io_settings(params, mr5); + + reg_value = ((io->pdds << 3) | 1); + + switch (ctl) { + case 0: + clrsetbits_le32(&denali_ctl[138], 0xFFFF, reg_value); + clrsetbits_le32(&denali_ctl[152], 0xFFFF, reg_value); + + clrsetbits_le32(&denali_pi[131], 0xFFFF << 16, reg_value << 16); + clrsetbits_le32(&denali_pi[139], 0xFFFF, reg_value); + clrsetbits_le32(&denali_pi[146], 0xFFFF << 16, reg_value << 16); + clrsetbits_le32(&denali_pi[154], 0xFFFF, reg_value); + break; + case 1: + clrsetbits_le32(&denali_ctl[138], 0xFFFF << 16, + reg_value << 16); + clrsetbits_le32(&denali_ctl[152], 0xFFFF << 16, + reg_value << 16); + + clrsetbits_le32(&denali_pi[129], 0xFFFF, reg_value); + clrsetbits_le32(&denali_pi[136], 0xFFFF << 16, reg_value << 16); + clrsetbits_le32(&denali_pi[144], 0xFFFF, reg_value); + clrsetbits_le32(&denali_pi[151], 0xFFFF << 16, reg_value << 16); + break; + case 2: + default: + clrsetbits_le32(&denali_ctl[139], 0xFFFF, reg_value); + clrsetbits_le32(&denali_ctl[153], 0xFFFF, reg_value); + + clrsetbits_le32(&denali_pi[126], 0xFFFF << 16, reg_value << 16); + clrsetbits_le32(&denali_pi[134], 0xFFFF, reg_value); + clrsetbits_le32(&denali_pi[141], 0xFFFF << 16, reg_value << 16); + clrsetbits_le32(&denali_pi[149], 0xFFFF, reg_value); + break; + } +} + static void lpddr4_copy_phy(struct dram_info *dram, struct rk3399_sdram_params *params, u32 phy, struct rk3399_sdram_params *timings, @@ -2141,6 +2188,7 @@ static void lpddr4_copy_phy(struct dram_info *dram, ctl = lpddr4_get_ctl(timings, phy); set_lpddr4_dq_odt(&dram->chan[channel], timings, ctl, true, true, mr5); set_lpddr4_ca_odt(&dram->chan[channel], timings, ctl, true, true, mr5); + set_lpddr4_MR3(&dram->chan[channel], timings, ctl, true, mr5); /* * if phy_sw_master_mode_x not bypass mode,