From patchwork Mon Jun 17 07:31:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 606 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 ED0783F353 for ; Mon, 17 Jun 2019 09:38:19 +0200 (CEST) Received: by mail-pg1-f199.google.com with SMTP id 21sf7219066pgl.5 for ; Mon, 17 Jun 2019 00:38:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560757098; cv=pass; d=google.com; s=arc-20160816; b=mcJV4VMxdJ1g0zrzvmyq3pMNattk1h6oA5nOiJoU/XljsS1efDei5SFWp2to9NxER6 b9ls8Bu9TXrkv0ZM26budG7N9AlSoPFfxIOrdEfTZ8mGohsqe1NCDvsec3Af18nX6yWF /Tjzx9vddZUhGBg2rsXiQembHJH6dMX1F8oH0HZdmYcQAYISzornfOKgPUOomR37Cl+R U1cH1UKW3XM608Wqlm67sGNES0B1PQMSJAJroYNcuyRzSmDs1lbLlZfnXDoAJyL2HdPn cXxb08PQk1xCcYZd45gj+Szc8fPG5mScoliFju4stUTl8IGEbRnyZ2FutObYS2ynwFOf Nq2g== 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=7OB3yA9ZdZvzOyfV4BkfsTREdk03QYdE2/tXg02I8II=; b=ph9YB3mtG7G7qPrItLE+n3ztu+eHPDahMLxtzBDgpXn7cm3sg3Lj7HbofjfM8Xalad uSdtR7VxQeXoPEnJ/W+2TqtfRcsGWGXe8I5IikonueVNtQlo2KBffzFsF5FCOHJeOwel kyFbGMdEVfRMX1QHJBee8hws1mTis+ZW6IIXlwkVrp+gcFP2iKpM6BH4qPlNARAB4Aub +HyRRDyESmjeuJivJxDiHp8gTwRhPmfN1+GDqYavHcZ+I15NWXn1L2JnH06G7N0QDL2N OYC4iBjqGV/CSslCLKbSuzIqQI1WCSYHNc3dZhrKOMTl2W3qNA0B1FSVhyDKNNOTIC2q ufvg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=clcEzG5r; 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=7OB3yA9ZdZvzOyfV4BkfsTREdk03QYdE2/tXg02I8II=; b=rH7XyYh/mBgc/CHQ+rvWlkszPtvACuLK1zq1ME4pRoTkXZ7agdUkOz4+ZlbLn3AW0B Jr618c4ln9AyEteJ+/BIvoQ19h1DJpDaNmV5cmuaoiNxORfCYuy+Jt2OsPHMRoghbssV h0FrJ4zSjSFRhoGdqjCs/O9Z/W/TJ54vg1zeg= 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=7OB3yA9ZdZvzOyfV4BkfsTREdk03QYdE2/tXg02I8II=; b=HrCgu882emHGDzWg3wAbd3tke9kcfCAr3zxtwsOvKsroJb3vJqWhzvI1D7Hk76hkK/ XqwsVv3dDsmBK3RPSFjO9NUpYo5zihf7GU86ahCHbBaf/xhBCfZU8E8ibbxrS/GEr2IP etyB1v8/CPE5IXvVlyoec76rvG9B/c6WjKk7NFNdwZSNl+LQfAEl+EQOwal6NCv+iNRD ol+mRD/NooNYMfFVIlfxG99KBlgJjpdRxMsNJXUs58kws7y9LlY0Mvl6vKvZW2zls994 VdWe9Dglr++QkBMBIQ8PuzH7QoE+LySwo0dbeMBvi1RWqYN30vD+4JQNoHuOf6MRMlVM ep5A== X-Gm-Message-State: APjAAAVWUuRW4wyj7FC6akFMSypTbbObYGq5k3DHU7Icr2jTpp/1rrJv cdfBCtyqrDmN0UkCDjJzGEcXE+eY X-Google-Smtp-Source: APXvYqzPwgjisDwP8eZRjRkz/rIRJGOt8eDojkWQKu1HNbBF0uVriLY36jc47ydpyjePXPNgKy9BrQ== X-Received: by 2002:a62:5306:: with SMTP id h6mr113939676pfb.29.1560757098795; Mon, 17 Jun 2019 00:38:18 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:90a:b703:: with SMTP id l3ls3985128pjr.2.gmail; Mon, 17 Jun 2019 00:38:18 -0700 (PDT) X-Received: by 2002:a17:90a:cb12:: with SMTP id z18mr23617068pjt.82.1560757098464; Mon, 17 Jun 2019 00:38:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560757098; cv=none; d=google.com; s=arc-20160816; b=gAswyziFJnyUru96Kfj7Mf2jUpo+I/2/QkbG5OyIBsg9Mz0fAo3kx3HYAP9AANERGk tAEFu5INucIvB3/VgIOZhDOC/XDL9c1NI9ajom0gW11jCpeLrDeCYUTTAhX4KC3UcJBY +Gq/deG3xpGh8Y+PlLAaGowjhIDKGcwgTBL3xA1So7AqfMiJxxz9vSBWYApSGrv5kZIq +8qbHfNx8Nfhpgr55zvRNHvwwrtxXVh7wig9E+KdkofFBYNrEdJVYYmxYqZZvaMPncst bUYlh3qOBZwRlRgiSet2acqUX9oh/LGEMLih+sjw/gsziV8MRf7yCVkjVFoHRKMAWUGO 2/4g== 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=obImjyk9qssGTsMkZuAC4VFryJgB9ZKqPVtSdWp2VA0=; b=bklRmfY4OkU9wiWhVN47FYPEzbv/iyuQQFOoRYH1xyOazqsptBN+78g6J9VnzKg1E6 1KYfOVZCGnrFg1m1XKnT3M27gg+Ab0aYmzw6FlzheQWBfctnqtXM+wnBRaAujyVDOHYB gebslxpBmVQLmWLHIu+6fAdkj7ATm1d4K1fb7bD+Xv7bSLp6Bsl60rHSjH46nLe+JKvD 0UU2i5LVvV24eT3QFITYY0t5ey6VwhE02i478d2I1L/kFreb9q+9x7jbkC9poTXqa/4U rOFL2qCLMEMRFP+V75PkyvO01HuTN4im311PrI5TJ71UeVttrkKZX0Tx4R8X/iddkMlR KX/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=clcEzG5r; 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 s22sor10977294pfe.70.2019.06.17.00.38.18 for (Google Transport Security); Mon, 17 Jun 2019 00:38:18 -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:9f8b:: with SMTP id z11mr46560576pfr.121.1560757098196; Mon, 17 Jun 2019 00:38:18 -0700 (PDT) Received: from localhost.localdomain ([49.206.203.245]) by smtp.gmail.com with ESMTPSA id m41sm15205998pje.18.2019.06.17.00.38.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 00:38:17 -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 35/99] ram: rk3399: Add phy pctrl reset support Date: Mon, 17 Jun 2019 13:01:48 +0530 Message-Id: <20190617073252.27810-36-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=clcEzG5r; 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: , Add support for phy pctrl reset support for both channel 0, 1. Signed-off-by: Jagan Teki Signed-off-by: YouMin Chen --- drivers/ram/rockchip/sdram_rk3399.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index f81ea1bdbf..313a177417 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -35,6 +35,10 @@ #define PHY_DRV_ODT_40 0xe #define PHY_DRV_ODT_34_3 0xf +#define CRU_SFTRST_DDR_CTRL(ch, n) ((0x1 << (8 + 16 + (ch) * 4)) | \ + ((n) << (8 + (ch) * 4))) +#define CRU_SFTRST_DDR_PHY(ch, n) ((0x1 << (9 + 16 + (ch) * 4)) | \ + ((n) << (9 + (ch) * 4))) struct chan_info { struct rk3399_ddr_pctl_regs *pctl; struct rk3399_ddr_pi_regs *pi; @@ -79,6 +83,29 @@ static void copy_to_reg(u32 *dest, const u32 *src, u32 n) } } +static void rkclk_ddr_reset(struct rk3399_cru *cru, u32 channel, u32 ctl, + u32 phy) +{ + channel &= 0x1; + ctl &= 0x1; + phy &= 0x1; + writel(CRU_SFTRST_DDR_CTRL(channel, ctl) | + CRU_SFTRST_DDR_PHY(channel, phy), + &cru->softrst_con[4]); +} + +static void phy_pctrl_reset(struct rk3399_cru *cru, u32 channel) +{ + rkclk_ddr_reset(cru, channel, 1, 1); + udelay(10); + + rkclk_ddr_reset(cru, channel, 1, 0); + udelay(10); + + rkclk_ddr_reset(cru, channel, 0, 0); + udelay(10); +} + static void phy_dll_bypass_set(struct rk3399_ddr_publ_regs *ddr_publ_regs, u32 freq) { @@ -1125,6 +1152,7 @@ static int sdram_init(struct dram_info *dram, { unsigned char dramtype = params->base.dramtype; unsigned int ddr_freq = params->base.ddr_freq; + struct rk3399_cru *cru = dram->cru; int channel; int ret; @@ -1141,6 +1169,7 @@ static int sdram_init(struct dram_info *dram, const struct chan_info *chan = &dram->chan[channel]; struct rk3399_ddr_publ_regs *publ = chan->publ; + phy_pctrl_reset(cru, channel); phy_dll_bypass_set(publ, ddr_freq); if (channel >= params->base.num_channels)