From patchwork Tue Jun 11 14:51:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 539 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 2A52B3F08A for ; Tue, 11 Jun 2019 16:57:40 +0200 (CEST) Received: by mail-pg1-f200.google.com with SMTP id z10sf9267266pgf.15 for ; Tue, 11 Jun 2019 07:57:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560265059; cv=pass; d=google.com; s=arc-20160816; b=LMMZL/Ii7tousnCte/R/0FmScsNO2yLVVF99afF+31suUPJdJQ8IKWPVQsU4V7UCYN yRbtzLjeOD+cpvOf22XmG2WZaDUPcF/8EJ7lagQy9Nh3jQ43Anq4x2i4crzS2cVmXSZ4 mBDfm2xjzu3Ume2Bqgv/twzu2IvoPqMimBVH1KoeYk0XsoBQ2pw8U8mBfEkpCASt578C JAVp6xP4s7yY6OqN7W1RKakhiLy+Wi0gLgyFrpBjsFUr1UUVn13P1clRxdKLdjB+OYD/ P4bugLTHKqaiqVvT2NmHwxhXvp8BYdwbKehz0OunPALHYL5bQbQg2EuBSYxRIKsHTJAk eJGQ== 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=tUjA/fyPjeCeto7YS8lKB/q4rmVKmpWSbeW3CwVa/WU=; b=jZnlDw2TrbPuqRElIW1EaafIhAaUefrEkFlXjWs8xBKTHMVLDTgWy9IHWAKPMFkPau JBeaMYk+aO5sumRf+6k1sgIpkvaKdWTe6QBMMU5iPFLfLS9lgI/anMR+gB5Z6r9j4050 4vBNiP7VEN4MKI3GtD9zDlkhQL3Qo+Ccp2wF85b6pcbG+qaaYjCcw1gMsSiT9qg03RaT 7LW2CZs0DRfITiib5RDujzIUfgwvS1slrT3EONe1ZYc+KrwyiauhvTLoHI56bbq2kSUa jzQzP0iRALgLLGtgF1ZpK4br129FZuF2vWyQieKttrdIS+YW74sHfUbFiQyJ+XTWjT3t 7gLQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=MewqXZZd; 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=tUjA/fyPjeCeto7YS8lKB/q4rmVKmpWSbeW3CwVa/WU=; b=I6wwmDKBS3IA76h9I6a84lzr2/hwf2oUMecRbvJdnSQQppbJUWzoOu9aLgbuoKzk46 uRSK3YMlvCDdiMaLYn2IFMSZRVdKbD0lJPTNtckwoNG5prY0PONcn85CT4PYihD8+wxy G26ndTwKClB3GxcCH8JUi8oCBWxGTWXSx9v28= 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=tUjA/fyPjeCeto7YS8lKB/q4rmVKmpWSbeW3CwVa/WU=; b=QUoHAwlmviF2feF+G8hySANxhGLPYIspsMWHZAhyY9HfXApath6iSUHqr5jAnL6THY D2opf9/67ZtiDN1kIauv7z+v5qf3oxGdPV3KjvrFw6R8HR66x2rKOcCPMHJEEpVXAa4A NRGSpfkdOEb7wCFz5gaC1v6XAOu0goHwG7zxRn7EDvWmWrDhLFeUdT1KdMKTzNZhHeWb Um4yQD2/hPc++noJ4ZeRjbtMyxEa+ARAazkWjAhhYEaOGSEKyQ3a2v/Pmhb2HOsFkflN oVCPNAq7JJQl34hGqEDZQjXqWTkB+y6w8kCBi3G+ujBxhNXmc/ubpqlGppAft81JHpKp fSWA== X-Gm-Message-State: APjAAAXMlGFYbPnANO8t6hLMtZxwquSxzu79d6/HcZwcpW2NrhZEgQr0 5sxb1ER8HzPTpt/YkCWWox++VfIH X-Google-Smtp-Source: APXvYqwFDQRk+EXGcouadJD5rn+WAOwZM86XWTi6G+8sPG0ze+IkuviDHQ56wD6C1JKSrHGnJMRYwg== X-Received: by 2002:aa7:90d3:: with SMTP id k19mr78461373pfk.1.1560265059029; Tue, 11 Jun 2019 07:57:39 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:9694:: with SMTP id n20ls4899047plp.6.gmail; Tue, 11 Jun 2019 07:57:38 -0700 (PDT) X-Received: by 2002:a17:90a:26cf:: with SMTP id m73mr27009629pje.90.1560265058683; Tue, 11 Jun 2019 07:57:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560265058; cv=none; d=google.com; s=arc-20160816; b=B6AIvFCRoZyFbhzomwpVEuLpf4Dic7T2r3oB+3n+g1+ZJDOzJTb32DsVbZt+5NWqwb gKAV+DZqdxPdp89fzYY1AQet0WuoVel3lSSx67o7fN1yCIRUWg++HoigxZk9i1qEL89o /FRxUshrNb9ATD3pdHcGr96bjz5AnKNA60w7L8odRVQn4U6vILrzWAFB7fApPBU5OQcO jyNY2thA3h3JvhMFKjtVwytWSzheyJwLaGqLbvoxmjeSE2nnmxrjEV2eVFfv8GYFGUC1 Vpn7IStxGvF3CDm84Efg4U+UX/c/01CRl40IsY1329Va0S0B8PP7Zbq7barDPsrROb1v Br9Q== 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=veKQnxdE/O+afSbAdRG6AVexyoeVeop4zur5cBaAxQY=; b=zxZIjdVBxlWWR/SIgqkW0ujHuV7fE8D5vKtoOYMdIvijRF4G5eQuGa8Hkvohq+cH/1 rKPJiMnzbnONX/x3x4UJtR/OYpIX0sc7AfE0uUWlY7daknzmeWmMptjGFWZHSGcruNBy 78smvTbH+p908SWTueu1MHVL5SvXnkR4YofR0IKgjcF1crnibQtmFFexaZcUru1Z7vgO aTFT66WTxtOLOUmwolGUzrO6QEy/KBevCJ7x0g6L9EmR5Cz8SjAYOCM0BflPoeMxLryw XYs8QPvsWizkDBsp5VdEThvsTERQzgGLQ/VLohLM3cJ44aENe5ucvVUMR9hmPy/MJoKJ qnCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=MewqXZZd; 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 m9sor11733067pgq.33.2019.06.11.07.57.38 for (Google Transport Security); Tue, 11 Jun 2019 07:57:38 -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:e24c:: with SMTP id y12mr20610711pgj.276.1560265058277; Tue, 11 Jun 2019 07:57:38 -0700 (PDT) Received: from localhost.localdomain ([115.97.180.18]) by smtp.gmail.com with ESMTPSA id e9sm16206208pfn.154.2019.06.11.07.57.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Jun 2019 07:57:37 -0700 (PDT) From: Jagan Teki To: Simon Glass , Philipp Tomsich , Kever Yang , YouMin Chen , u-boot@lists.denx.de Cc: gajjar04akash@gmail.com, linux-rockchip@lists.infradead.org, linux-amarula@amarulasolutions.com, Jagan Teki Subject: [PATCH 88/92] ram: rk3399: Set lpddr4 MR12 Date: Tue, 11 Jun 2019 20:21:31 +0530 Message-Id: <20190611145135.21399-89-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190611145135.21399-1-jagan@amarulasolutions.com> References: <20190611145135.21399-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=MewqXZZd; 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 MR12 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 | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index f1fb16c130..38fc8ffe63 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -1996,6 +1996,55 @@ static void set_lpddr4_MR3(const struct chan_info *chan, } } +static void set_lpddr4_MR12(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->ca_vref; + + switch (ctl) { + case 0: + clrsetbits_le32(&denali_ctl[140], 0xFFFF << 16, + reg_value << 16); + clrsetbits_le32(&denali_ctl[154], 0xFFFF << 16, + reg_value << 16); + + clrsetbits_le32(&denali_pi[132], 0xFF << 8, reg_value << 8); + clrsetbits_le32(&denali_pi[139], 0xFF << 24, reg_value << 24); + clrsetbits_le32(&denali_pi[147], 0xFF << 8, reg_value << 8); + clrsetbits_le32(&denali_pi[154], 0xFF << 24, reg_value << 24); + break; + case 1: + clrsetbits_le32(&denali_ctl[141], 0xFFFF, reg_value); + clrsetbits_le32(&denali_ctl[155], 0xFFFF, reg_value); + + clrsetbits_le32(&denali_pi[129], 0xFF << 24, reg_value << 24); + clrsetbits_le32(&denali_pi[137], 0xFF << 8, reg_value << 8); + clrsetbits_le32(&denali_pi[144], 0xFF << 24, reg_value << 24); + clrsetbits_le32(&denali_pi[152], 0xFF << 8, reg_value << 8); + break; + case 2: + default: + clrsetbits_le32(&denali_ctl[141], 0xFFFF << 16, + reg_value << 16); + clrsetbits_le32(&denali_ctl[155], 0xFFFF << 16, + reg_value << 16); + + clrsetbits_le32(&denali_pi[127], 0xFF << 8, reg_value << 8); + clrsetbits_le32(&denali_pi[134], 0xFF << 24, reg_value << 24); + clrsetbits_le32(&denali_pi[142], 0xFF << 8, reg_value << 8); + clrsetbits_le32(&denali_pi[149], 0xFF << 24, reg_value << 24); + break; + } +} + static void lpddr4_copy_phy(struct dram_info *dram, struct rk3399_sdram_params *params, u32 phy, struct rk3399_sdram_params *timings, @@ -2245,6 +2294,7 @@ static void lpddr4_copy_phy(struct dram_info *dram, 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); + set_lpddr4_MR12(&dram->chan[channel], timings, ctl, true, mr5); /* * if phy_sw_master_mode_X not bypass mode,