mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-12 14:16:17 +09:00
armv8/ls1043aqds: Add support for >2GB memory
This patch also exposes the complete DDR region(s) to Linux. Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
parent
0d3972cfcd
commit
58e4ad1dee
|
@ -132,9 +132,22 @@ void dram_init_banksize(void)
|
||||||
* The address needs to add the offset of its bank.
|
* The address needs to add the offset of its bank.
|
||||||
*/
|
*/
|
||||||
gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
|
gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
|
||||||
gd->bd->bi_dram[0].size = gd->ram_size;
|
if (gd->ram_size > CONFIG_SYS_DDR_BLOCK1_SIZE) {
|
||||||
|
gd->bd->bi_dram[0].size = CONFIG_SYS_DDR_BLOCK1_SIZE;
|
||||||
|
gd->bd->bi_dram[1].start = CONFIG_SYS_DDR_BLOCK2_BASE;
|
||||||
|
gd->bd->bi_dram[1].size = gd->ram_size -
|
||||||
|
CONFIG_SYS_DDR_BLOCK1_SIZE;
|
||||||
#ifdef CONFIG_SYS_MEM_RESERVE_SECURE
|
#ifdef CONFIG_SYS_MEM_RESERVE_SECURE
|
||||||
gd->secure_ram = gd->bd->bi_dram[0].start + gd->secure_ram;
|
gd->secure_ram = gd->bd->bi_dram[1].start +
|
||||||
gd->secure_ram |= MEM_RESERVE_SECURE_MAINTAINED;
|
gd->secure_ram -
|
||||||
|
CONFIG_SYS_DDR_BLOCK1_SIZE;
|
||||||
|
gd->secure_ram |= MEM_RESERVE_SECURE_MAINTAINED;
|
||||||
#endif
|
#endif
|
||||||
|
} else {
|
||||||
|
gd->bd->bi_dram[0].size = gd->ram_size;
|
||||||
|
#ifdef CONFIG_SYS_MEM_RESERVE_SECURE
|
||||||
|
gd->secure_ram = gd->bd->bi_dram[0].start + gd->secure_ram;
|
||||||
|
gd->secure_ram |= MEM_RESERVE_SECURE_MAINTAINED;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,6 +303,16 @@ int board_init(void)
|
||||||
#ifdef CONFIG_OF_BOARD_SETUP
|
#ifdef CONFIG_OF_BOARD_SETUP
|
||||||
int ft_board_setup(void *blob, bd_t *bd)
|
int ft_board_setup(void *blob, bd_t *bd)
|
||||||
{
|
{
|
||||||
|
u64 base[CONFIG_NR_DRAM_BANKS];
|
||||||
|
u64 size[CONFIG_NR_DRAM_BANKS];
|
||||||
|
|
||||||
|
/* fixup DT for the two DDR banks */
|
||||||
|
base[0] = gd->bd->bi_dram[0].start;
|
||||||
|
size[0] = gd->bd->bi_dram[0].size;
|
||||||
|
base[1] = gd->bd->bi_dram[1].start;
|
||||||
|
size[1] = gd->bd->bi_dram[1].size;
|
||||||
|
|
||||||
|
fdt_fixup_memory_banks(blob, base, size, 2);
|
||||||
ft_cpu_setup(blob, bd);
|
ft_cpu_setup(blob, bd);
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_DPAA_FMAN
|
#ifdef CONFIG_SYS_DPAA_FMAN
|
||||||
|
|
|
@ -33,7 +33,7 @@ unsigned long get_board_ddr_clk(void);
|
||||||
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
||||||
/* Physical Memory Map */
|
/* Physical Memory Map */
|
||||||
#define CONFIG_CHIP_SELECTS_PER_CTRL 4
|
#define CONFIG_CHIP_SELECTS_PER_CTRL 4
|
||||||
#define CONFIG_NR_DRAM_BANKS 1
|
#define CONFIG_NR_DRAM_BANKS 2
|
||||||
|
|
||||||
#define CONFIG_DDR_SPD
|
#define CONFIG_DDR_SPD
|
||||||
#define SPD_EEPROM_ADDRESS 0x51
|
#define SPD_EEPROM_ADDRESS 0x51
|
||||||
|
|
Loading…
Reference in New Issue
Block a user