[PATCH] rockchip: sdram: fix dram_init_banksize
Kever Yang
kever.yang at rock-chips.com
Sat Jul 18 16:28:01 CEST 2020
On 2020/7/18 上午11:13, Kever Yang wrote:
> 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>
Applied to u-boot-rockchip master for this patch set, thanks.
>
> 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