From patchwork Mon Jun 17 07:32:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 648 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id A84373F353 for ; Mon, 17 Jun 2019 09:40:38 +0200 (CEST) Received: by mail-pg1-f199.google.com with SMTP id k36sf7211951pgl.7 for ; Mon, 17 Jun 2019 00:40:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560757237; cv=pass; d=google.com; s=arc-20160816; b=kxWMoPl8rL+lIEJ9T+CKqaEkO1SxHQ+cqzY3ichJJAvYA2T5pOb3Lgqpa8y3iGXb+k TgSxBnpnZXZcgjyNN1qPnWTvHQuLBVizCqAHKxcxa+sdqvb654rKJwMz1CO/UCfYaKJK mTra96pbsjFBvf6PnLs/a2jq3yfpNFUBhewp8tMcDx6+ikuiYIzqXYSE1J5hWpMK2duY mVxnZEz35P4JCgTkm/4+aEYE81wrwf1HW81IiY2ouE6G15XvXm+htPqJZnmUK1t7S23J fE+xmc26ycW6YbfBF1KP7SYLvW/d4DTMJoujQ2mQu5RjRQJojIyx/6/RTYHffq1PxFFj cf0g== 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=6Mx1L3bqyjDt6W1lzuhw+UjtZxVptqtMDWubFxRYhvc=; b=krUgvBEsZNstX7PGWIVHGnfIZDLb7Ratq6eWAXbn9mLlnMLNpKAfAUNpHuc4Po+D1P kQ2qgyFARyM3JWYOA/snbbDpNipYdTVE2+BnedkbJfStTah8mHJVjxw4NIpnSOc2L2uB mp7HpZKVCNMLLGuwgIV5n9NO1k8zVUdOqGXWjlglSUhHWEe6AQFDT/I0sSSZ92IqpPYf mavDQ0bCmOC/WxdKKP5xMOhc5YUYf8+MzpfNb3JMEZ/pqjjKGDJnfeOgtvRc7fQMSJLa N3yfL7wueWUNC5suiJORsCSJhMpCTly+nIOCj+LxLjhXzbm+tioYsj2GFQ1/glct28PI M7cA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=BwbBLcnv; 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=6Mx1L3bqyjDt6W1lzuhw+UjtZxVptqtMDWubFxRYhvc=; b=UOxv07eXMCP8U+4f1rT7e1YsWixYVU6Tftbwb4lZAsvNQLtGjV7HpNcDlFOeL57CHf KgY4ELiQ8lbpuPD8QcTy4DxdRpr2hDk/z3cOQa0awoJtpLDEhzGtANbEV2pOjrjZaz3Y GTmOmr11tk9Z+WaMYSlLPzx8JufeuwJPJxwQY= 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=6Mx1L3bqyjDt6W1lzuhw+UjtZxVptqtMDWubFxRYhvc=; b=rlUc6NlsU8Pdfgjuhb1oF9XkqeUGlIhnsEvAUFAPFXjtcw5X32tUtWjNlTnsoqQ+ej fTpOk0PO3o8/9c0XMHwMgLTFBCkhEtro5N/iJmu3ONGPBcxMvhsikr4NNJemlMlivlLh pr+rNhXP71PEcBWDCv3VZJ5fgB1AMeJz2mWKuXT4+ZRYmlmN8A3kNHxdpEKGpf1ITrpu hSijixNjPGpm1cnBjz77TCr0xsRPAHGsqDU+TexyHEkhFxXbnQpeJhwMUgZcebRRwHFu cOSgSN8UaE3TdsTYhyytIJdCFCDJOK9Po5jbCPF5WhtP30OmP5F6ykTbPFC1gfpTzKPz V3FA== X-Gm-Message-State: APjAAAUwip7lF8N9newM6sEPWmdJx3xl1IUI+5LcEWzXPj/1j5sbxTpQ r0q2vR3l5vvatEYWj87b+kx+7x19 X-Google-Smtp-Source: APXvYqwHu/Qo5JsRUBw271S8pGe84iux1DAeykRd2B30OaF/x2bJ/qmQB+QBDvHUzsct6Pgywyie4A== X-Received: by 2002:a17:902:903:: with SMTP id 3mr81802227plm.281.1560757237556; Mon, 17 Jun 2019 00:40:37 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:bd8b:: with SMTP id q11ls3754985pls.4.gmail; Mon, 17 Jun 2019 00:40:37 -0700 (PDT) X-Received: by 2002:a17:90a:2641:: with SMTP id l59mr23397562pje.55.1560757237274; Mon, 17 Jun 2019 00:40:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560757237; cv=none; d=google.com; s=arc-20160816; b=tKvilBAADTQES/kAdmTNd4rjtxyySzsgnIp8+NIK9vnBjhryVaXKBJGMJp+OxQdKuN nIgOJ1wdHH3RWb0HLBQ6/Bkd5pu4bsQpeJEnYBznz6TPw4Jurjf0lkHgFShRlYA7b2kG HuzpDs2k/HRcjMAjyJL0PKXSwC5c2noRBqS2uVyHm475i2WAEohZNUsf1RPMkW5qbBL7 VY9yrit/5I+V/nAPgfi+byN9SU/z/drBdwvO7mVZXc90GqABaOlo4GbuIehaVNKcmHfa hvy6MPt0bqP0If9rC1pAUfBq+Gw0lY+VYkeHHtPhWksNeCgOmePRbJWI4UPZaLL/DxE3 Hjfw== 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=nIQISmgRIUXSTFy9rf9ECa/e3ZYl+44/m6YQuP8TXC0=; b=ymx9gzOuVdz/meYJH5XvlZra7jZV3lT6s07mFfpS6TjcwiaQ4VXlpj5jmdZnUnVleE 4CfnIr4YeGY4CZu6sF2+Tw9OaKEGEwBg2mGaakMYciYrPh9J2OxkawmAn/JhJ+SeIO61 /lXcUSssGqwJPHy3pNjsJHlY3O1ll4kjIfNCcSZRY5qv8scVkUqSOztDNfGLD9rP0PaQ Vre0sWIl+/RvvKgBoQSXpBx6jPvi3PJTIINELgcRenVakqPcvIGQfgXw8s2o+06kxpui WM/pmNr9+hOAcfyFpyX/7GlJXxWXKkQgUEtCQymltcphHgc0osEztUcQQBws/rINE6Mo WfeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=BwbBLcnv; 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 10sor10307091pgv.21.2019.06.17.00.40.37 for (Google Transport Security); Mon, 17 Jun 2019 00:40:37 -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:a63:5457:: with SMTP id e23mr49461757pgm.307.1560757236914; Mon, 17 Jun 2019 00:40:36 -0700 (PDT) Received: from localhost.localdomain ([49.206.203.245]) by smtp.gmail.com with ESMTPSA id m41sm15205998pje.18.2019.06.17.00.40.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 00:40:36 -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 77/99] ram: rk3399: Update lpddr4 vref based on io settings Date: Mon, 17 Jun 2019 13:02:30 +0530 Message-Id: <20190617073252.27810-78-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=BwbBLcnv; 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: , The vref_mode_dq, vref_value_dq on lpddr4 value is depending on IO settings of rd_vref. Add support for it. Signed-off-by: Jagan Teki Signed-off-by: YouMin Chen --- drivers/ram/rockchip/sdram_rk3399.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index 9eddfa7fd7..24db601072 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -338,7 +338,7 @@ static void set_memory_map(const struct chan_info *chan, u32 channel, } static int phy_io_config(const struct chan_info *chan, - const struct rk3399_sdram_params *params) + const struct rk3399_sdram_params *params, u32 mr5) { u32 *denali_phy = chan->publ->denali_phy; u32 vref_mode_dq, vref_value_dq, vref_mode_ac, vref_value_ac; @@ -349,9 +349,18 @@ static int phy_io_config(const struct chan_info *chan, /* vref setting */ if (params->base.dramtype == LPDDR4) { - /* LPDDR4 */ - vref_mode_dq = 0x6; - vref_value_dq = 0x1f; + struct io_setting *io = lpddr4_get_io_settings(params, mr5); + u32 rd_vref = io->rd_vref * 1000; + + if (rd_vref < 36700) { + /* MODE_LV[2:0] = LPDDR4 (Range 2)*/ + vref_mode_dq = 0x7; + vref_value_dq = (rd_vref - 3300) / 521; + } else { + /* MODE_LV[2:0] = LPDDR4 (Range 1)*/ + vref_mode_dq = 0x6; + vref_value_dq = (rd_vref - 15300) / 521; + } vref_mode_ac = 0x6; vref_value_ac = 0x1f; mode_sel = 0x6; @@ -770,7 +779,7 @@ static void set_ds_odt(const struct chan_info *chan, /* phy_pad_fdbk_term 1bit DENALI_PHY_930 offset_17 */ clrsetbits_le32(&denali_phy[930], 0x1 << 17, reg_value); - phy_io_config(chan, params); + phy_io_config(chan, params, mr5); } static void pctl_start(struct dram_info *dram, u8 channel)