Message ID | 20190617073252.27810-50-jagan@amarulasolutions.com |
---|---|
State | New |
Headers | show
Return-Path: <linux-amarula+bncBD7MFH7A7EEBBGMHTXUAKGQEPLG2YBI@amarulasolutions.com> X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 832B73F353 for <linux-amarula@patchwork.amarulasolutions.com>; Mon, 17 Jun 2019 09:39:06 +0200 (CEST) Received: by mail-pl1-f198.google.com with SMTP id i33sf5514004pld.15 for <linux-amarula@patchwork.amarulasolutions.com>; Mon, 17 Jun 2019 00:39:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1560757145; cv=pass; d=google.com; s=arc-20160816; b=FZv231VJRj60BbP+NUDj1j1NLE+Id10gvYpXLmaun13ODqYbUsx5eMIxs94AJkztwH Nry1tWdnJN/V73DnHQSBVHpzFxKZj/gjElps/c1OrLMDQmyLrlClt2FCveAWCi6ywAIL ugp9QrCq80zILZoHSWjz5wVMTPXyjqQ2Q6zau8B8xzxF6Lq/lmDMOQKqApnKYQmIN75j bsZ6NWiHfkBrpbVNOM2LWmRaB/pgp+7VtVmK5LV7W+W2UeQY4Qg4ueogFyFQFX2w/zsA h6+jDgghiLjTh3EhpzU1gnuwPqKushnLWVOSl5zgo3T9ftU0bD8jt4RwtFcozdyjpLDM 3+aQ== 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=fKzLjFOwCbp/pGBNK5kbkID/lcih5M0SkCtWLorwOBQ=; b=N0ISW6T23hAcHCYqpc/aTs2AxpBJxtipVE9YvhyNUFSLjBr4oucFxUNAbGEgkavBX9 z0EM5gcY/l5m5RM5D69z24rDyg5VDcFmPlMs5ZrCJvwep5rpvduFu2P+2lZOSYc41Fqq rwH2vS4DbYbpWBOIurK8XsTRKYZV9J3K5c/ZbLTZI6ZOnNgyHyrZPYyWTSmC81eB6og2 jmm2zvp7W139+g8bEx61qGzruZBPSjGinR6Zr4VUFPzmc+Czjwqqkbh3pJfyxeffONjm Qip70PMNxfrQIgYWTB8W5YJW0hNhOpzHDwujECnyjzjPEPCWL1MrgJzG+VySIUbcJ+NQ IgwQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RKK0qGla; 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=fKzLjFOwCbp/pGBNK5kbkID/lcih5M0SkCtWLorwOBQ=; b=rQknAnDmCk/FC8jrB6woCxBlHno5UXWdHo1SDCSx7Dmb7tD2f7ymShoiW2aRRkQlMl 2HgxN4rNFs2s/mBHolfoGGf3fqGRv8FOL0t8LaGyhnqLutjl7J+cpsTYWYfHAe/uhvjh 5jNm8t79ZcDv3DySX++C6M1WXoWdpF8MvioHw= 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=fKzLjFOwCbp/pGBNK5kbkID/lcih5M0SkCtWLorwOBQ=; b=otVfB59WlNute+XBV/WJ1cnTO5RuvMyraxqYQ8ZnUmgM5QtM0SAvI9Bcf/8K6fjUz1 bm0XyI9V/xX62lQqY/4DUfAX7ZzvrsS2vjKuGzBxOoj0Pn+NJbs1YWvS33ec3W1AxBsi MK4JXj4Y/h2b1RyMfUPBL4KRWtLDoWCBLRvtrbyQMJfHjBmfFRbCpe0807tjUC8iclBT g71mNyxOka13Bmgd+NAgDKKRXs0BD8LoNTJFjxNhEJ7MDuLGUVb77MhCYmmYIk/lRjiR K8odwV76tGxD8T0q0iAYunlCG0T5uf/CM1Xzjs6wuI7Xl9bqpGF8t/JqPOSO4y++4JGR tgvw== X-Gm-Message-State: APjAAAU/30HLjuOLMu9mj5tSwI6P8BWF7ieYrmEjHHNdUqsx4zXA0AWj 7Q7m1JqX/i+5DUw9yzagl3KcTISe X-Google-Smtp-Source: APXvYqxytXY8TofhQm1tkmClrCYaX/Y/VRIw0sRuhkW90EjyJYVKmYBHlXzkMzmVQaPYwUPFGFU9tw== X-Received: by 2002:a17:90a:1ac5:: with SMTP id p63mr24412993pjp.25.1560757145365; Mon, 17 Jun 2019 00:39:05 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:bd8b:: with SMTP id q11ls3753992pls.4.gmail; Mon, 17 Jun 2019 00:39:05 -0700 (PDT) X-Received: by 2002:a17:902:7043:: with SMTP id h3mr47041835plt.10.1560757145049; Mon, 17 Jun 2019 00:39:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560757145; cv=none; d=google.com; s=arc-20160816; b=Bj2cukXZDO1Pdq8Ih6qxFz+VxRDAOpLcN66xHL1fBubZ5Nc2Ca6A1IaHfYLkCYYUYM 4DiytvoYssGnIPtOxMZbq+yTMqgAEXBwRoaixxlSCAlLsdMPoGLDUbT37foo00q7SbrK caNrH+vLmFNmgA7XEetoDdb55MFZmNnhw1cta4dPOfdiJ/xk8KQDMONX/99sYFxawqvf DmPkOh22A97FcgkL1fLXQJqRFWgdA6LAwvWTADks8q0hnnaYaIDBxxnB2jakORZbUh7o b5XuPk93yBTVQ9U5oE+aYhnsAl+r35L2RMfSrfJJEZQ+yaVZglh0Qs3LMOyLvcVPD4xy TNOw== 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=RBCV64wyEGkRjSj+SOeXha5NbkhBngESdnqw+b6RGoY=; b=UaFTJEcVqg4vXd80X+JyoX81YZbz9+HIepHaK1P9K9PdO26vOytN4VftKHaD2mQ++7 wWhxD6JDQpGPzbKO9129b/uge+GMHifN7giopTPCLFN87FVvrJUpTYMjTHzGkpjwqrBM vkN0um8+YfCZ9GFOm8ieChAac5qXR50QNoUBvlrGvICURWtQGXoI8H0SDe3ShYohWmnL DehQXBknCPJowuZ7Q0mr3b7YrVdQmrxabU6829dcSgqSJR96INdJey13wiUoJs59IW1t xnLogcsXuPVBNBIHVZEaE5gb3KcWisLc91GJ2lnMUK0beYXbswVPk+kfRg77Hax82EUt oE1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RKK0qGla; 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 p13sor10305760pgd.38.2019.06.17.00.39.05 for <linux-amarula@amarulasolutions.com> (Google Transport Security); Mon, 17 Jun 2019 00:39:05 -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:68c5:: with SMTP id d188mr48898815pgc.429.1560757144661; Mon, 17 Jun 2019 00:39:04 -0700 (PDT) Received: from localhost.localdomain ([49.206.203.245]) by smtp.gmail.com with ESMTPSA id m41sm15205998pje.18.2019.06.17.00.39.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 00:39:04 -0700 (PDT) From: Jagan Teki <jagan@amarulasolutions.com> To: Simon Glass <sjg@chromium.org>, Philipp Tomsich <philipp.tomsich@theobroma-systems.com>, Kever Yang <kever.yang@rock-chips.com>, YouMin Chen <cym@rock-chips.com>, u-boot@lists.denx.de Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>, gajjar04akash@gmail.com, linux-rockchip@lists.infradead.org, linux-amarula@amarulasolutions.com, Jagan Teki <jagan@amarulasolutions.com> Subject: [PATCH v2 49/99] ram: rk3399: Compute stride for 2 channels Date: Mon, 17 Jun 2019 13:02:02 +0530 Message-Id: <20190617073252.27810-50-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=RKK0qGla; 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: <linux-amarula.amarulasolutions.com> X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/post>, <mailto:linux-amarula@amarulasolutions.com> List-Help: <https://support.google.com/a/amarulasolutions.com/bin/topic.py?topic=25838>, <mailto:linux-amarula+help@amarulasolutions.com> List-Archive: <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/> List-Unsubscribe: <mailto:googlegroups-manage+476853432473+unsubscribe@googlegroups.com>, <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/subscribe> |
Series |
|
Related |
show
|
diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index 231f69b173..75df469952 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -1180,8 +1180,75 @@ static int switch_to_phy_index1(struct dram_info *dram, return 0; } +static unsigned char calculate_stride(struct rk3399_sdram_params *params) +{ + unsigned int stride = params->base.stride; + unsigned int channel, chinfo = 0; + unsigned int ch_cap[2] = {0, 0}; + u64 cap; + + for (channel = 0; channel < 2; channel++) { + unsigned int cs0_cap = 0; + unsigned int cs1_cap = 0; + struct sdram_cap_info *cap_info = ¶ms->ch[channel].cap_info; + + if (cap_info->col == 0) + continue; + + cs0_cap = (1 << (cap_info->cs0_row + cap_info->col + + cap_info->bk + cap_info->bw - 20)); + if (cap_info->rank > 1) + cs1_cap = cs0_cap >> (cap_info->cs0_row + - cap_info->cs1_row); + if (cap_info->row_3_4) { + cs0_cap = cs0_cap * 3 / 4; + cs1_cap = cs1_cap * 3 / 4; + } + ch_cap[channel] = cs0_cap + cs1_cap; + chinfo |= 1 << channel; + } + + /* stride calculation for 2 channels, default gstride type is 256B */ + if (ch_cap[0] == ch_cap[1]) { + cap = ch_cap[0] + ch_cap[1]; + switch (cap) { + /* 512MB */ + case 512: + stride = 0; + break; + /* 1GB */ + case 1024: + stride = 0x5; + break; + /* + * 768MB + 768MB same as total 2GB memory + * useful space: 0-768MB 1GB-1792MB + */ + case 1536: + /* 2GB */ + case 2048: + stride = 0x9; + break; + /* 1536MB + 1536MB */ + case 3072: + stride = 0x11; + break; + /* 4GB */ + case 4096: + stride = 0xD; + break; + default: + printf("%s: Unable to calculate stride for ", __func__); + print_size((cap * (1 << 20)), " capacity\n"); + break; + } + } + + return stride; +} + static int sdram_init(struct dram_info *dram, - const struct rk3399_sdram_params *params) + struct rk3399_sdram_params *params) { unsigned char dramtype = params->base.dramtype; unsigned int ddr_freq = params->base.ddr_freq; @@ -1229,6 +1296,8 @@ static int sdram_init(struct dram_info *dram, set_ddrconfig(chan, params, channel, params->ch[channel].cap_info.ddrconfig); } + + params->base.stride = calculate_stride(params); dram_all_config(dram, params); switch_to_phy_index1(dram, params);