From patchwork Mon Jun 17 07:32:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 658 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 277C73F353 for ; Mon, 17 Jun 2019 09:41:15 +0200 (CEST) Received: by mail-pg1-f197.google.com with SMTP id k2sf7199558pga.12 for ; Mon, 17 Jun 2019 00:41:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560757274; cv=pass; d=google.com; s=arc-20160816; b=aSTWlEPkw5tcEsHI8kMZoLojxzDHY5TQveeBlh4WF0/enOMmJL4Q5lBWZ5kViTXMj5 LCJ5996tnk+WMd3dP65SLi+LnygQ5WqjEfmRSrpQ8vUyGvQ0FvqYeSaWUNfUOG/GKgYZ OPgcQR0zYQ8qLD8laKeiRh/m/iCYk/Z0eFmKnuXqvt3wKsWc/SYHusg0EXBaxcNLkzhh T6WNFZAMQXwL3QDzp7IouJjLHKSmE6HCDg89pEbA7HDt8Y64esTLqVSkKVNzXDNpV0A3 POHwUf6k7qMwZWpmt4z0wTJ9WF/TYM0dSejBM+Ps4fk6jfIxJLttjMPB3DvOI+zobeJ1 5y5Q== 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=YW7zrIgtOH8QiklW7hQd4+Ejs5kNbWutQSZrQ7Bx4o4=; b=ZCavCeMbs8pbT7FbpzMmF2yN/cPdz3ym6MYAlQs4d5pbnC6ZIvjsxPVfjYNt7SfCUn dgzDNNgVqI6GGOK4KvZKlgYwS+s7EgR/esha+dw2VC2xl7CDpd5U9j9tWUfjKnkTI+/S i2ZN7dJeLZ2eQxIsCEsuieOGnj144UFwoww05AhmnO/IHII/y9elexI9IDePZZ43GWIw Xnu4LS2Cc10kDfHVv/PIeQhvmkTVHK3xOwJ4KwGNDxGrzG97iT9ZhYdbkpaJGyF975ua foBsH2YEoCLzBuxHCMDu8KEeA/rvO+wFDAAoTrdC1eOY5ME4PsJNAoyjj7VZKWQC00Bg e6FA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=lbS2vqiA; 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=YW7zrIgtOH8QiklW7hQd4+Ejs5kNbWutQSZrQ7Bx4o4=; b=mABFsBYdADl9ZNwpWaaTH2RAjsJoK3THzIezpTYPVHc+SeZGw2/EClVQK3sfVmJeVJ 6UFXTnX9HNDrBEz9BjjxccZzSWFt1VbGBpXqDmznGocPiKPl2Q7Zoaly6tUJduduwdSr LFb5u2zZzAz6COghCCFPFXFP18KlSNZq8Vdaw= 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=YW7zrIgtOH8QiklW7hQd4+Ejs5kNbWutQSZrQ7Bx4o4=; b=i5h17rW+WnYLUrstk/ugobPTm8obsvlNJJh7bRB1T8jOuu8/GDG9ppjvLK/LH3XRK2 7Q4/ezC3iuLo1iYVpLK2vOptGVJZOCGILpNs+R+bo5WoefsTkRi8Jsw1441dLqT95PJt X/IvjC43t5Z+mRTxg6+IFWmgtoTo0XNTZdH1IFKzbSkwxcTCe39C0OljxmhfVouI5+h3 1bTbLQ9lkhgurVTIudM7+BTO7ejD+iE1OQ7frYi9gj0DyImgk7Fpwn4CDGHRkKIepyLX UZRY3PqbEskfcGA53yrbucb+12QoKClGgHm7hEQOnhK9IEoiER+uTbhY09hZvx3n81z1 6M7g== X-Gm-Message-State: APjAAAWggVfu0x1lUl6o/fmbMjDyig2BQS761f5NFw000KUYtExprtoG kP33aGIX+oqwMwBMuInjcGbjSqH1 X-Google-Smtp-Source: APXvYqxyBHTHI4f6OKP+n+nXIMzYAMFN6BTO2mU2HoS9wNhK/m2uVpNUiO3Xw+R/09Be+YnwL4w/mQ== X-Received: by 2002:a17:902:f216:: with SMTP id gn22mr88267019plb.118.1560757273834; Mon, 17 Jun 2019 00:41:13 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:bb8c:: with SMTP id m12ls3757527pls.0.gmail; Mon, 17 Jun 2019 00:41:13 -0700 (PDT) X-Received: by 2002:a17:90a:25c8:: with SMTP id k66mr24943468pje.129.1560757273492; Mon, 17 Jun 2019 00:41:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560757273; cv=none; d=google.com; s=arc-20160816; b=gvJsDUqGKO/EjRdGGnDR25bElgqDXhDMQmAusu3KQ9KGCCilHZNvpHoKASseHrp2gk kxNBTs9zA6bC47x0Qh6JBW/QEDJPfp8o2tE6mOYlAKpRH0JgnQYTXEWomz6y2r3TEC33 4DhPynHNTWyyp7Zk7KphpIJi0QWNkeNIlCDLjnMg6liCi4ULq4bbXDIZ6CCsMjpMn0Le r61wiQWg2iqQxDWrKcDhI5n2p+nX0xBO6riJk459qG9ODsQ7b6O6+NmuMxnzIZLkap16 Ddm75HIUBt0lVDundEgO9lt9rAtniMYV7eELRi3FCY2GX1+OkOtLNui1nXBSv3Z/mJFi /p3Q== 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=uwndS2q8XCkbeeTC/bd1LdCUvYtRdd5DDTltO8niaWQ=; b=NjAUQvmwclXi248r2LmbNtLYZcS+wCWvs/n4D2E8al3sYPpqQzUWsL+DX+V0Ekousu 0h0zs8XXao9PyTrwnbPGuvVxtAWpLz8pifrkArcdq33w2Gx2cuV5lc17SXGhQtEu/nCv aEcsaxNH1oUW+3Gazqqyc9ktLErQPo14U1RVXbubZmbHBSFGCNknhRqmG7XCXBXRDExO 8iYkzqq+IKYb1aAelKA73PDid7V5j2u6oGGDCFOdHI/SXPLs5byJpPZLXtNETtQwsCek ldRSG0QEbaKAFnXG4Zr49RdHBHXBC05JzFU5uhfPVYfACR6lWilaU+H9xekg4a4vxcSL 4mmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=lbS2vqiA; 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 c20sor10937578pfi.47.2019.06.17.00.41.13 for (Google Transport Security); Mon, 17 Jun 2019 00:41:13 -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:a62:6341:: with SMTP id x62mr114309970pfb.63.1560757273220; Mon, 17 Jun 2019 00:41:13 -0700 (PDT) Received: from localhost.localdomain ([49.206.203.245]) by smtp.gmail.com with ESMTPSA id m41sm15205998pje.18.2019.06.17.00.41.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 00:41:12 -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 88/99] ram: rk3399: Add set_rate sdram rk3399 ops Date: Mon, 17 Jun 2019 13:02:41 +0530 Message-Id: <20190617073252.27810-89-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=lbS2vqiA; 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: , DDR set rate can be even required for lpddr4 and we need to keep the lpddr4 code to compile only for relevant boards which do support lpddr4. For this requirement, and for code readability handle data training via sdram_rk3399_ops with .set_rate and same will update in future while supporting lpddr4 code. Signed-off-by: Jagan Teki --- drivers/ram/rockchip/sdram_rk3399.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index cdae6b9e67..9f5438a0bc 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -74,6 +74,8 @@ struct dram_info { struct sdram_rk3399_ops { int (*data_training)(struct dram_info *dram, u32 channel, u8 rank, struct rk3399_sdram_params *sdram); + int (*set_rate)(struct dram_info *dram, + const struct rk3399_sdram_params *params); }; #if defined(CONFIG_TPL_BUILD) || \ @@ -948,6 +950,7 @@ static int pctl_cfg(struct dram_info *dram, const struct chan_info *chan, return 0; } +#if !defined(CONFIG_RAM_RK3399_LPDDR4) static void select_per_cs_training_index(const struct chan_info *chan, u32 rank) { @@ -1368,6 +1371,7 @@ static int data_training(struct dram_info *dram, u32 channel, return 0; } +#endif static void set_ddrconfig(const struct chan_info *chan, const struct rk3399_sdram_params *params, @@ -1488,7 +1492,6 @@ static int default_data_training(struct dram_info *dram, u32 channel, u8 rank, return data_training(dram, channel, params, training_flag); } -#endif static int switch_to_phy_index1(struct dram_info *dram, const struct rk3399_sdram_params *params) @@ -1535,7 +1538,8 @@ static int switch_to_phy_index1(struct dram_info *dram, return 0; } -#if defined(CONFIG_RAM_RK3399_LPDDR4) +#else + static u32 get_ddr_stride(struct rk3399_pmusgrf_regs *pmusgrf) { return ((readl(&pmusgrf->soc_con4) >> 10) & 0x1F); @@ -1939,7 +1943,7 @@ static int sdram_init(struct dram_info *dram, params->base.stride = calculate_stride(params); dram_all_config(dram, params); - switch_to_phy_index1(dram, params); + dram->ops->set_rate(dram, params); debug("Finish SDRAM initialization...\n"); return 0; @@ -1987,6 +1991,7 @@ static int conv_of_platdata(struct udevice *dev) static const struct sdram_rk3399_ops rk3399_ops = { #if !defined(CONFIG_RAM_RK3399_LPDDR4) .data_training = default_data_training, + .set_rate = switch_to_phy_index1, #else .data_training = lpddr4_mr_detect, #endif