From patchwork Tue Jun 11 14:51:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 537 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 725A63F08A for ; Tue, 11 Jun 2019 16:57:32 +0200 (CEST) Received: by mail-pf1-f198.google.com with SMTP id a125sf9773066pfa.13 for ; Tue, 11 Jun 2019 07:57:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560265051; cv=pass; d=google.com; s=arc-20160816; b=VNsyGios8N2b9boTBFJKFV05C56ly8sodXOkneWplnTYxBD9kQ/A+BEtAuZl7itO3D xaYGDWljHNlGetpUap92LPK0R3F6pb2wD1bN9OStAMIvuzttRa2Y6E71mw3GPDYXqKXe 0fSFIVTNQwM1OP9loA1kppWtsYcwU/D4sFs1tKTUdf86DXmXaaj2Mhlua9Si0ZCxQKyZ vHjRoG4sDDVpgMgRq0yBXyFrRGJ9LPms1LTqpTN1EaBn+Yo0N0dND9Zqa3k1VNRT0PzG DSp/OXlkBByz0eCMyfd2J00HuqCiWlQiXnPwJbsUAfbj7dNSrn/k12idEToxpNKX2zuo /79g== 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=8n+APpNrA1wSoYtKfqjEaJLGwiaIQ6995MjJFh31Imc=; b=Ou4k1kQbhC/MFQY7bz1YIhX8k8c+DbHGA5r9oIXo8uGPmEjRR8cCxPOxN/a1Npd7Xb aVGjWAJp8ed+96uY812lKhpKh9j+T4GbFeEZwyOel+9yjcpUolpAZQcDjFZMLuBnmP1T VrvRR22+g9uGwkGXHut+DP1sniWnRpTv6yx2G3mX4GMS6K0RjtICj1BGKSu7ADFOnNU1 N7YuEYYGqnx320jXJxpv/CRYovyBcKWQuA6Hx09tdBvG84ufL5G07p30QAYEAY7E3StQ a/umbI+PKmstImaG6jdUsZqIhTkpSfWf0SgQJ8nWm+JOP1FT+0TQRu0ej+Q6Q5mA4jvL mkKg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Chvo+ClQ; 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=8n+APpNrA1wSoYtKfqjEaJLGwiaIQ6995MjJFh31Imc=; b=VaOL6HjFHKXpPax5v9UbA+ktncXQIMQhjUtiKSHEFqS6jAvnCBHNGdbdg/vV1c22ND wJf0dczhNAS430bLlZ9qFZPG5nwOprO7s6+Of9xKqyc7rUoI4LuBYjYk3t+4u3lUCE9f pT00lemTSAph8SIxZiwAkjt7r/xQVooxWsdfU= 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=8n+APpNrA1wSoYtKfqjEaJLGwiaIQ6995MjJFh31Imc=; b=e3r8PHlfbjkK9Y+D+gdRxKejw6u3oMcrKH77Im6Hpf4x9rwzw4v5zTvh39DBDw5oMI q8P38s1DpjBFqYTuDt4ykZmxHlCG4Ilh35eREXuznjVxBzXHoDFgLuVx7ET/Jo9IXfng X1Mt7WaAJ/z9nJwbCm7A+vQ88oxm9ZLkCJOheRwqPX+0lNuF2A+xURlwe7KjIlVm70Pg 3fugU7tnuS7IlQ/+hR//ftcXRimUFAL1nFmn9sARdtaI31Xhpd3arWN5XV1vaQVFBdk8 Fis3Ly5OHeAEwG0beshNB9F5rSBFAG2CprLsCwphyzZ/SZ3OoVWKJFoO/ZTN2Kg8A8Ji 8lvw== X-Gm-Message-State: APjAAAVumCo6FsXB+GGShDnjEIqNV+5CWJxMIb1Wl8hwTv42tQrtXDhF n0WSQw6KLEu/HzNznhCC80pPCmSC X-Google-Smtp-Source: APXvYqyF10OJG7VKIUjIB5ncsAMy1XHnRlRQaKWvqqGjzIuW0xEspftDyYs24Sq+JqqIYP5Sco9qew== X-Received: by 2002:a63:d70b:: with SMTP id d11mr20694500pgg.178.1560265051162; Tue, 11 Jun 2019 07:57:31 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a62:3483:: with SMTP id b125ls4498968pfa.11.gmail; Tue, 11 Jun 2019 07:57:30 -0700 (PDT) X-Received: by 2002:aa7:824b:: with SMTP id e11mr79339375pfn.33.1560265050824; Tue, 11 Jun 2019 07:57:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560265050; cv=none; d=google.com; s=arc-20160816; b=JZeund6fjgbMjrCrqKTf9NYgCQkqtX/n7aKrUwh9p9b8Z+VDEAbERx0KdaEUP+XqLS nqf0hwY/D+axac49ooJ+Tfm7dnL8OgxSTxif2Dro5+P+j2ndHzLoakVjm38M72pORe/L Ki6EYy8QJ/l8dEVw9+rGpxBXEDVcdPKXdACKqBK04j3KZ1MTGJKOonv7ubQfkud0vbs8 1e2cxC5sr6afZPiftSKN9ZD3Uo26J9n3Tk20oHQRtDT19bXcVDuuWNBl1joUI+/O8Iza akYH2zs+sADA+45o6EkSSecojJTJPQX6/2fK/b9+JZrNPFQ8HyXai0ZMUuPdCCxcdSt1 vJHw== 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=qzOgM63ZXtgnBHMJkUfmyhq4zTJWFZFmUikkPYBSeZw=; b=nlCUAn+WWE2pJdYB6jM9XtASV7YC/jT+2KXx7QnJczo6PdblVv1Khk55PzJVtPqpIu 09OdeVEal7o5v5ELC9rquxlJEzdGwYQZsIqKlsNDudsxKwMY2XU5CN9V+W1NqkXNShMt D10mG2UcqdOk8qZem0QyVyxgtcNoshYWHz3SImK4nLX92Km0HwzK9nyok07hFAK1xdtR bA1hwiDNcQSqPrguyxVuaKXLYqX7SIEeF0Bg39ftmXrXdNw/91fAltSmePn3la3uzwBt NJrap/nPwGUC3lvAYC13ML9wPlLMLdywQ5gtbrd0DbE1A+iBJ9M7rXquBPLYGgl0yjAd VhOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Chvo+ClQ; 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 t22sor3212928pjq.20.2019.06.11.07.57.30 for (Google Transport Security); Tue, 11 Jun 2019 07:57:30 -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:90a:2244:: with SMTP id c62mr11234181pje.29.1560265050500; Tue, 11 Jun 2019 07:57:30 -0700 (PDT) Received: from localhost.localdomain ([115.97.180.18]) by smtp.gmail.com with ESMTPSA id e9sm16206208pfn.154.2019.06.11.07.57.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Jun 2019 07:57:29 -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 86/92] ram: rk3399: Set lpddr4 ca odt Date: Tue, 11 Jun 2019 20:21:29 +0530 Message-Id: <20190611145135.21399-87-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=Chvo+ClQ; 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 CA ODT 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 | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index fc9958de17..2c02c51fdf 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -1901,6 +1901,54 @@ static void set_lpddr4_dq_odt(const struct chan_info *chan, } } +static void set_lpddr4_ca_odt(const struct chan_info *chan, + struct rk3399_sdram_params *params, u32 ctl, + bool en, 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; + + if (!en) + return; + + io = lpddr4_get_io_settings(params, mr5); + + reg_value = io->ca_odt; + + switch (ctl) { + case 0: + clrsetbits_le32(&denali_ctl[139], 0x7 << 28, reg_value << 28); + clrsetbits_le32(&denali_ctl[153], 0x7 << 28, reg_value << 28); + + clrsetbits_le32(&denali_pi[132], 0x7 << 4, reg_value << 4); + clrsetbits_le32(&denali_pi[139], 0x7 << 20, reg_value << 20); + clrsetbits_le32(&denali_pi[147], 0x7 << 4, reg_value << 4); + clrsetbits_le32(&denali_pi[154], 0x7 << 20, reg_value << 20); + break; + case 1: + clrsetbits_le32(&denali_ctl[140], 0x7 << 4, reg_value << 4); + clrsetbits_le32(&denali_ctl[154], 0x7 << 4, reg_value << 4); + + clrsetbits_le32(&denali_pi[129], 0x7 << 20, reg_value << 20); + clrsetbits_le32(&denali_pi[137], 0x7 << 4, reg_value << 4); + clrsetbits_le32(&denali_pi[144], 0x7 << 20, reg_value << 20); + clrsetbits_le32(&denali_pi[152], 0x7 << 4, reg_value << 4); + break; + case 2: + default: + clrsetbits_le32(&denali_ctl[140], 0x7 << 12, (reg_value << 12)); + clrsetbits_le32(&denali_ctl[154], 0x7 << 12, (reg_value << 12)); + + clrsetbits_le32(&denali_pi[127], 0x7 << 4, reg_value << 4); + clrsetbits_le32(&denali_pi[134], 0x7 << 20, reg_value << 20); + clrsetbits_le32(&denali_pi[142], 0x7 << 4, reg_value << 4); + clrsetbits_le32(&denali_pi[149], 0x7 << 20, reg_value << 20); + break; + } +} + static void lpddr4_copy_phy(struct dram_info *dram, struct rk3399_sdram_params *params, u32 phy, struct rk3399_sdram_params *timings, @@ -2148,6 +2196,7 @@ static void lpddr4_copy_phy(struct dram_info *dram, ctl = lpddr4_get_ctl(timings, phy); set_lpddr4_dq_odt(&dram->chan[channel], timings, ctl, true, true, mr5); + set_lpddr4_ca_odt(&dram->chan[channel], timings, ctl, true, true, mr5); /* * if phy_sw_master_mode_X not bypass mode,