mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-16 14:56:59 +00:00
rockchip: sdram: add dram bank with usable memory beyond 4GB
Add a second dram bank of usable memory beyond the blob of space for peripheral near 4GB. Any memory that exists beyond the 4GB mark is added to the second bank. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
bde73b14f0
commit
2ec15cabe9
1 changed files with 9 additions and 3 deletions
|
@ -37,13 +37,19 @@ struct tos_parameter_t {
|
|||
|
||||
int dram_init_banksize(void)
|
||||
{
|
||||
size_t top = min((unsigned long)(gd->ram_size + CFG_SYS_SDRAM_BASE),
|
||||
(unsigned long)(gd->ram_top));
|
||||
size_t ram_top = (unsigned long)(gd->ram_size + CFG_SYS_SDRAM_BASE);
|
||||
size_t top = min((unsigned long)ram_top, (unsigned long)(gd->ram_top));
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
/* Reserve 0x200000 for ATF bl31 */
|
||||
gd->bd->bi_dram[0].start = 0x200000;
|
||||
gd->bd->bi_dram[0].size = top - gd->bd->bi_dram[0].start;
|
||||
|
||||
/* Add usable memory beyond the blob of space for peripheral near 4GB */
|
||||
if (ram_top > SZ_4G && top < SZ_4G) {
|
||||
gd->bd->bi_dram[1].start = SZ_4G;
|
||||
gd->bd->bi_dram[1].size = ram_top - gd->bd->bi_dram[1].start;
|
||||
}
|
||||
#else
|
||||
#ifdef CONFIG_SPL_OPTEE_IMAGE
|
||||
struct tos_parameter_t *tos_parameter;
|
||||
|
@ -181,7 +187,7 @@ size_t rockchip_sdram_size(phys_addr_t reg)
|
|||
* 2. update board_get_usable_ram_top() and dram_init_banksize()
|
||||
* to reserve memory for peripheral space after previous update.
|
||||
*/
|
||||
if (size_mb > (SDRAM_MAX_SIZE >> 20))
|
||||
if (!IS_ENABLED(CONFIG_ARM64) && size_mb > (SDRAM_MAX_SIZE >> 20))
|
||||
size_mb = (SDRAM_MAX_SIZE >> 20);
|
||||
|
||||
return (size_t)size_mb << 20;
|
||||
|
|
Loading…
Add table
Reference in a new issue