From patchwork Mon Jun 17 07:32:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 643 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id D42403F353 for ; Mon, 17 Jun 2019 09:40:21 +0200 (CEST) Received: by mail-pf1-f198.google.com with SMTP id x9sf6548035pfm.16 for ; Mon, 17 Jun 2019 00:40:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560757220; cv=pass; d=google.com; s=arc-20160816; b=hPVPdpdCExRw6yLk9M5pjtPvLh2tC74JbPBHVLyJ5I7SXSJ9zBHH0kSGWWNgpq9XDo tuFZs5g7yZaSiqu22GE5sy7yVFxr9KpropmqoLZ26/9S+ZX380XYvfNDxooh8tvn6he9 hzMG2SRSCiCfG1TGunYyGJflnsd4xuuO6FJRci5/AkfrOXa5+sHefgS2MTmsfsk3VxhM wHTjEUG1say2dj+38l3rPCxG7HAK0ubapPDrC1aSShzDkhVCXWAx8eAWDioagb52Appe vP8jYHDsg0m5c/GMd2ydIzb93e0RTlC6DDkuDVDSx2To34e4lPs2Qy046aHA14F2wVhm +bUQ== 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=rrLbibqtk6MbAbpAe9mtX+jnnSmHvXk9Obt7U5EzYIM=; b=RFyE27q+Fg/F0m9WS4+is5qypTbgYpvSdkSAlR+lXoP5KlJbr92VxNDGt/kSa00pWf oMQJm5opYctitlSHxkWZC7vB3loGGS04dOyh+RiTA9kabUovph3ja/TanzbsiTkfjTxb C70pXz41QKAvoH03JC64T3N7nNPSfJYbX4gEMoXgtHG2+gXZNw40ONLCZFauFgnSI0oX jUtWGbqGZiQl+f+arzYHmrmx5CMG+fxiK3upDZG6ozTk+kMgVRMqHrqEvMnjrEN0aVZt NiPHykgvAKxFELrO35Pt+TlJm5/9+Qz1mb8At1uGasbyt7dA/s6AXNfetBXstqm7sacX hVyQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=TZ8eRdY8; 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=rrLbibqtk6MbAbpAe9mtX+jnnSmHvXk9Obt7U5EzYIM=; b=TTLljneCqzCfLEufcJ6djQzmV6Qu23DYNtD5E80MCkjrD+cMem71NYEYGp+CsCjml/ Rtej5YT2r0Xy7qJRbpkqfuOV/nKJKCLnMtDAgkKhWoHsB7Xa3lxdgqY7bV0RsL5S2FqT 6HL+/wskLjE3J1GcWgB/n32Xkc6LbLUlRQoDc= 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=rrLbibqtk6MbAbpAe9mtX+jnnSmHvXk9Obt7U5EzYIM=; b=relW+ySSggsJmdV7Bf89SdTMZ3bj3v0BonVmHf20dfV3Ry21LkLGsKwoO3KHmRDYv7 e588CwZRtxhAlGhqkTCsDtWGeUN9zSYYUlwmzYPjDA23d3e6Z+W6t1NQS1LbtHsP9cL7 mcIGlAvFnS4lNPAmG3sbd5Pv/q8R+oiVZWDGTQOuQVeV38W6bc7M5SObS9WvVL+KyZhb 9vzzVqa5UbbpYC9omHU36pBHYlCeNetc9nQWg/6SZ+Luh3ZCkNgdPI5o8+BMZxLf6ybf 05B1CLsnJKIrgaofwYjlQTmFtASuw5elzmrHk61cseBE7ivY/Js0UOsR63lpdgbk7CT2 6gZg== X-Gm-Message-State: APjAAAWOTjNUVE53RWZ6qcKP3mr+wjzjpO9dHHu7ipkCbUiYk8RpHNum F+EzpKMPNDqRBkkd+ykqasowQNdA X-Google-Smtp-Source: APXvYqxRtN6Rok154FxLpW4vFWFv/rvTbG33KzQRgZPcjkwW3lE7egIUSPW8Gtr+i8VrArex37yDzA== X-Received: by 2002:a17:90a:24e4:: with SMTP id i91mr25891304pje.9.1560757220685; Mon, 17 Jun 2019 00:40:20 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:b605:: with SMTP id b5ls3752844pls.12.gmail; Mon, 17 Jun 2019 00:40:20 -0700 (PDT) X-Received: by 2002:a17:902:4222:: with SMTP id g31mr28497894pld.41.1560757220303; Mon, 17 Jun 2019 00:40:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560757220; cv=none; d=google.com; s=arc-20160816; b=kyXpi8WaZZemFb6IxTZkP4Bc1nAT3+j50q2OWg6EXjA7bWDNmM2qi0hyVvMsq3hC8d beV1WwTwgqwrNN9e/brPj1+6f/gvmDuYyPs0PeavhblH19yNyEjkBFDGUzPCe1HNCbuj zmvPUtkl7xloyooBcpN4fw+BOCVdDcx22yCSfER4PcCmjlzBIJSW9tIA192y//qACgx8 nfbE4oKOBVzjNmkfpVISDq7VWMeZrwNqXhtItFJeKLkRPmmARvm01oRJivjswn6d7xHS O/Q3mYARLUFyhxxI27dqBroYsg1DKYcZ/o34zMdsYmf6bEr+bVmCqN00QlrnKHq5UH91 7j8Q== 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=EY4L8aBLjdDyyMI/+sofXzbilApW2NdShwn+5L8ovc4=; b=H1Gi24hjv1b+DmdTeVbI5qMn2gcKUUlMCvZNq89dSpxhqlMyNdOdHprxAgIm+Tm0Ax 0MhqHmlUelLhWlYc1Tsw0HvYqjaJBI4b793YbAKeS2RcQ1k0jKa8UQJmdsAUf7Ezj3hh cqE8G3uSMrPp7HpN3o61mfbn15zPQveGyQOVk0tetqh7y6X44aFyTIyBzV/CubihdBIK O4nzn3+zp//Tf4KBL7lw04tYrFSveq7BlhBGoi3KCWJlSZvNPNyOLC16+5HNluxzf9Qf JNJrWk/Jx4WKIPeDYL7zwLp65FFTnteBWkQ6CwoT6IlJayqFLZwXAHm06XXDHAKGGJCs 4Lmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=TZ8eRdY8; 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 e8sor12520481plb.48.2019.06.17.00.40.20 for (Google Transport Security); Mon, 17 Jun 2019 00:40:20 -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:a17:902:29a7:: with SMTP id h36mr55288152plb.158.1560757220039; Mon, 17 Jun 2019 00:40:20 -0700 (PDT) Received: from localhost.localdomain ([49.206.203.245]) by smtp.gmail.com with ESMTPSA id m41sm15205998pje.18.2019.06.17.00.40.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 00:40:19 -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 72/99] ram: rk3399: Add IO settings Date: Mon, 17 Jun 2019 13:02:25 +0530 Message-Id: <20190617073252.27810-73-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=TZ8eRdY8; 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 IO settings for dram ctl and phy. IO settings are useful for configuring ctl, phy odt, vref, mr5, mode select and other needed input output operations for lpddr4 or any other dramtype sdram. Right now, this patch added IO setting for all supported sdram frequencies. Signed-off-by: Jagan Teki Signed-off-by: YouMin Chen --- drivers/ram/rockchip/sdram_rk3399.c | 104 ++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index d1b3aeef47..4de5a208f5 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -80,6 +80,110 @@ struct rockchip_dmc_plat { struct regmap *map; }; +struct io_setting { + u32 mhz; + u32 mr5; + /* dram side */ + u32 dq_odt; + u32 ca_odt; + u32 pdds; + u32 dq_vref; + u32 ca_vref; + /* phy side */ + u32 rd_odt; + u32 wr_dq_drv; + u32 wr_ca_drv; + u32 wr_ckcs_drv; + u32 rd_odt_en; + u32 rd_vref; +} lpddr4_io_setting[] = { + { + 50 * MHz, + 0, + /* dram side */ + 0, /* dq_odt; */ + 0, /* ca_odt; */ + 6, /* pdds; */ + 0x72, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_HI_Z, /* rd_odt; */ + PHY_DRV_ODT_40, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 0, /* rd_odt_en;*/ + 41, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 600 * MHz, + 0, + /* dram side */ + 1, /* dq_odt; */ + 0, /* ca_odt; */ + 6, /* pdds; */ + 0x72, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_HI_Z, /* rd_odt; */ + PHY_DRV_ODT_48, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 0, /* rd_odt_en; */ + 32, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 800 * MHz, + 0, + /* dram side */ + 1, /* dq_odt; */ + 0, /* ca_odt; */ + 1, /* pdds; */ + 0x72, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_40, /* rd_odt; */ + PHY_DRV_ODT_48, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 1, /* rd_odt_en; */ + 17, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 933 * MHz, + 0, + /* dram side */ + 3, /* dq_odt; */ + 0, /* ca_odt; */ + 6, /* pdds; */ + 0x59, /* dq_vref; 32% */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_HI_Z, /* rd_odt; */ + PHY_DRV_ODT_48, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 0, /* rd_odt_en; */ + 32, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, + { + 1066 * MHz, + 0, + /* dram side */ + 6, /* dq_odt; */ + 0, /* ca_odt; */ + 1, /* pdds; */ + 0x10, /* dq_vref; */ + 0x72, /* ca_vref; */ + /* phy side */ + PHY_DRV_ODT_40, /* rd_odt; */ + PHY_DRV_ODT_60, /* wr_dq_drv; */ + PHY_DRV_ODT_40, /* wr_ca_drv; */ + PHY_DRV_ODT_40, /* wr_ckcs_drv; */ + 1, /* rd_odt_en; */ + 17, /* rd_vref; (unit %, range 3.3% - 48.7%) */ + }, +}; + static void *get_ddrc0_con(struct dram_info *dram, u8 channel) { return (channel == 0) ? &dram->grf->ddrc0_con0 : &dram->grf->ddrc0_con1;