From: Yixun Lan <dlan@gentoo.org>
To: Huan Zhou <me@per1cycle.org>
Cc: u-boot@lists.denx.de, "Ben Dooks" <ben.dooks@codethink.co.uk>,
"Marcel Ziswiler" <marcel@ziswiler.com>,
"Bin Meng" <bmeng@tinylab.org>,
"Dan Carpenter" <dan.carpenter@linaro.org>,
"Frieder Schrempf" <frieder.schrempf@kontron.de>,
"Heinrich Schuchardt" <xypron.glpk@gmx.de>,
"Jonas Schwöbel" <jonasschwoebel@yahoo.de>,
"Kever Yang" <kever.yang@rock-chips.com>,
Leo <ycliang@andestech.com>,
"Michal Simek" <michal.simek@amd.com>,
"Nishanth Menon" <nm@ti.com>,
"Quentin Schulz" <quentin.schulz@cherry.de>,
Randolph <randolph@andestech.com>,
"Rick Chen" <rick@andestech.com>,
"Samuel Holland" <samuel@sholland.org>,
"Sumit Garg" <sumit.garg@linaro.org>,
"Svyatoslav Ryhel" <clamor95@gmail.com>,
"Tom Rini" <trini@konsulko.com>,
"Yu Chien Peter Lin" <peterlin@andestech.com>,
"Huan Zhou" <pericycle.cc@gmail.com>,
"Kongyang Liu" <seashell11234455@gmail.com>,
"Padmarao Begari" <padmarao.begari@amd.com>
Subject: Re: [PATCH] riscv: spacemit: k1: probe dram size during boot phase.
Date: Wed, 8 Jan 2025 19:11:05 +0800 [thread overview]
Message-ID: <20250108111105-GYA3276837@gentoo> (raw)
In-Reply-To: <20250108-get-dram-size-v1-1-4bae32ecf756@per1cycle.org>
Hi Huan:
On 16:49 Wed 08 Jan , Huan Zhou wrote:
>
>
..
> ---
remove above "---"? otherwise following commit message will be
dropped during patch application..
> This patch introduce improvement for get dram size on bananapi BPI-F3,
> retrieving the dram size dynamically.
> Have tested on bananapi BPIF3 4G and jupiter 8G.
>
> Signed-off-by: Huan Zhou <me@per1cycle.org>
> ---
> arch/riscv/cpu/k1/dram.c | 40 ++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 38 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/cpu/k1/dram.c b/arch/riscv/cpu/k1/dram.c
> index c477c15cbfb19f0e3a0ee72985b602f5bda352d7..095217f2a4c053f7477d62c0776bcb51e623db47 100644
> --- a/arch/riscv/cpu/k1/dram.c
> +++ b/arch/riscv/cpu/k1/dram.c
> @@ -4,17 +4,53 @@
> */
>
> #include <asm/global_data.h>
> +#include <asm/io.h>
> #include <config.h>
> +#include <bitfield.h>
> #include <fdt_support.h>
> #include <linux/sizes.h>
>
> +#define DDR_BASE 0xC0000000
> DECLARE_GLOBAL_DATA_PTR;
>
> +static inline u32 map_format_size(u32 val)
> +{
> + u32 tmp;
> +
> + if (val & 0x1 == 0)
please add brackets explicitly, something like
if ((val & 0x1) == 0)
> + return 0;
> +
> + tmp = bitfield_extract(val, 16, 5);
> + switch (tmp) {
> + case 0xd:
> + return 512;
> + case 0xe:
> + return 1024;
> + case 0xf:
> + return 2048;
> + case 0x10:
> + return 4096;
> + case 0x11:
> + return 8192;
> + default:
> + pr_info("Invalid DRAM density %x\n", val);
> + return 0;
> + }
> +}
> +
> +u32 ddr_get_density(void)
> +{
> + u32 cs0_size = map_format_size(readl((void *)DDR_BASE + 0x200));
> + u32 cs1_size = map_format_size(readl((void *)DDR_BASE + 0x208));
> + u32 ddr_size = cs0_size + cs1_size;
> +
> + return ddr_size;
> +}
> +
> int dram_init(void)
> {
> gd->ram_base = CFG_SYS_SDRAM_BASE;
> - /* TODO get ram size from ddr controller */
> - gd->ram_size = SZ_4G;
> + gd->ram_size = (u64)ddr_get_density() * SZ_1M;
while using cast, why not define ddr_get_density() return as same type?
also it's more reasonable to use phys_size_t as I checked gd_t
> return 0;
> }
>
>
> ---
> base-commit: 19fc0b7f7d907119a13e9c207991899f0817f8fc
> change-id: 20250108-get-dram-size-65cf59a15201
>
> Best regards,
> --
> Huan Zhou <me@per1cycle.org>
>
--
Yixun Lan (dlan)
Gentoo Linux Developer
GPG Key ID AABEFD55
next prev parent reply other threads:[~2025-01-08 11:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-08 8:49 [PATCH] riscv: spacemit: k1: probe dram size during boot phase Huan Zhou
2025-01-08 11:11 ` Yixun Lan [this message]
2025-01-08 11:21 ` Heinrich Schuchardt
2025-01-08 11:51 ` Huan Zhou
2025-01-08 12:37 ` Dan Carpenter
2025-01-08 12:44 ` Huan Zhou
2025-01-08 17:03 ` Simon Glass
2025-01-08 17:15 ` Tom Rini
2025-01-08 17:18 ` Dan Carpenter
2025-01-09 12:36 ` Simon Glass
2025-01-08 11:21 ` Huan Zhou
2025-01-08 11:36 ` Huan Zhou
2025-01-10 17:34 ` Marcel Ziswiler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250108111105-GYA3276837@gentoo \
--to=dlan@gentoo.org \
--cc=ben.dooks@codethink.co.uk \
--cc=bmeng@tinylab.org \
--cc=clamor95@gmail.com \
--cc=dan.carpenter@linaro.org \
--cc=frieder.schrempf@kontron.de \
--cc=jonasschwoebel@yahoo.de \
--cc=kever.yang@rock-chips.com \
--cc=marcel@ziswiler.com \
--cc=me@per1cycle.org \
--cc=michal.simek@amd.com \
--cc=nm@ti.com \
--cc=padmarao.begari@amd.com \
--cc=pericycle.cc@gmail.com \
--cc=peterlin@andestech.com \
--cc=quentin.schulz@cherry.de \
--cc=randolph@andestech.com \
--cc=rick@andestech.com \
--cc=samuel@sholland.org \
--cc=seashell11234455@gmail.com \
--cc=sumit.garg@linaro.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.