mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-15 19:51:37 +00:00
Merge branch 'CR_4563_memcpy_samin.guo' into 'vf2-devel'
CR4563: Configure the l2 prefetcher parameter See merge request sbc/u-boot!47
This commit is contained in:
commit
66e4af9302
2 changed files with 24 additions and 29 deletions
|
@ -11,26 +11,43 @@
|
|||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static bool check_eeprom_dram_info(phys_size_t size)
|
||||
{
|
||||
switch (size) {
|
||||
case 0x80000000:
|
||||
case 0x100000000:
|
||||
case 0x200000000:
|
||||
case 0x400000000:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
int ret;
|
||||
u32 data;
|
||||
u8 data;
|
||||
u32 len;
|
||||
u32 offset;
|
||||
phys_size_t size;
|
||||
|
||||
data = 0;
|
||||
len = 4;
|
||||
offset = 88; /*offset of memory size stored in eeprom*/
|
||||
len = 1;
|
||||
offset = 91; /*offset of memory size stored in eeprom*/
|
||||
ret = fdtdec_setup_mem_size_base();
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
/*read memory size info*/
|
||||
ret = get_data_from_eeprom(offset, len, (u8 *)&data);
|
||||
if (ret == len)
|
||||
gd->ram_size = (phys_size_t)((hextoul((char *)&data, NULL) & 0xff) << 30);
|
||||
ret = 0;
|
||||
ret = get_data_from_eeprom(offset, len, &data);
|
||||
if (ret == len) {
|
||||
size = ((phys_size_t)hextoul(&data, NULL)) << 30;
|
||||
if (check_eeprom_dram_info(size))
|
||||
gd->ram_size = size;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
err:
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -337,25 +337,6 @@ static void get_cpu_voltage_type(struct udevice *dev)
|
|||
}
|
||||
#endif
|
||||
|
||||
/*enable U74-mc hart1~hart4 prefetcher*/
|
||||
static void enable_prefetcher(void)
|
||||
{
|
||||
u32 hart;
|
||||
u32 *reg;
|
||||
#define L2_PREFETCHER_BASE_ADDR 0x2030000
|
||||
#define L2_PREFETCHER_OFFSET 0x2000
|
||||
|
||||
/*hart1~hart4*/
|
||||
for (hart = 1; hart < 5; hart++) {
|
||||
reg = (u32 *)((u64)(L2_PREFETCHER_BASE_ADDR
|
||||
+ hart*L2_PREFETCHER_OFFSET));
|
||||
|
||||
mb(); /* memory barrier */
|
||||
setbits_le32(reg, 0x1);
|
||||
mb(); /* memory barrier */
|
||||
}
|
||||
}
|
||||
|
||||
static void jh7110_jtag_init(void)
|
||||
{
|
||||
/*jtag*/
|
||||
|
@ -435,9 +416,6 @@ int board_init(void)
|
|||
{
|
||||
enable_caches();
|
||||
|
||||
/*enable hart1-hart4 prefetcher*/
|
||||
enable_prefetcher();
|
||||
|
||||
jh7110_jtag_init();
|
||||
jh7110_timer_init();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue