[PATCH] rockchip: sdram: fix dram_init_banksize
Kever Yang
kever.yang at rock-chips.com
Sat Jul 18 05:13:40 CEST 2020
Hi Alex,
Tanks for your fix.
On 2020/7/15 上午7:03, Alex Bee wrote:
> Currently 2.5 GB is calculated as DRAM size for a 1 GB RK322x board
> if CONFIG_SPL_OPTEE is set. This is troublesome when booting a
> linux kernel since this size will be injected in FDT of the kernel.
>
> gd->bd->bi_dram[0].start (which is basically CONFIG_SYS_SDRAM_BASE)
> must not be taken into consideration for calculation of second bank
> size, since this offset is already included in calculation of "top".
>
> After applying this patch 992 MB (1024 MB - 32 MB reserved for
> optee-os) is correctly calculated and has also been verified on
> 2 GB boards.
>
> Signed-off-by: Alex Bee <knaerzche at gmail.com>
Reviewed-by: Kever Yang<kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> arch/arm/mach-rockchip/sdram.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-rockchip/sdram.c b/arch/arm/mach-rockchip/sdram.c
> index 24fe6cc8f0..4c637b7767 100644
> --- a/arch/arm/mach-rockchip/sdram.c
> +++ b/arch/arm/mach-rockchip/sdram.c
> @@ -56,16 +56,14 @@ int dram_init_banksize(void)
> - CONFIG_SYS_SDRAM_BASE;
> gd->bd->bi_dram[1].start = tos_parameter->tee_mem.phy_addr +
> tos_parameter->tee_mem.size;
> - gd->bd->bi_dram[1].size = gd->bd->bi_dram[0].start
> - + top - gd->bd->bi_dram[1].start;
> + gd->bd->bi_dram[1].size = top - gd->bd->bi_dram[1].start;
> } else {
> gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
> gd->bd->bi_dram[0].size = 0x8400000;
> /* Reserve 32M for OPTEE with TA */
> gd->bd->bi_dram[1].start = CONFIG_SYS_SDRAM_BASE
> + gd->bd->bi_dram[0].size + 0x2000000;
> - gd->bd->bi_dram[1].size = gd->bd->bi_dram[0].start
> - + top - gd->bd->bi_dram[1].start;
> + gd->bd->bi_dram[1].size = top - gd->bd->bi_dram[1].start;
> }
> #else
> gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
More information about the U-Boot
mailing list