Meminfo works strange on lichee kernel: on first boot zq is 0x7f, but after
standby it is 0x12b73b7f
I added this fucntion to meminfo utility to get full dram register dump on
a20:
static int
sun4i_dram_regs_print(void)
{
void *base;
base = mmap(NULL, SUN4I_IO_DRAM_SIZE, PROT_READ,
MAP_SHARED, devmem_fd, SUN4I_IO_DRAM_BASE);
if (base == MAP_FAILED) {
fprintf(stderr, "Failed to map dram registers: %s\n",
strerror(errno));
return errno;
}
unsigned int i=0;
for(i=0;i<SUN4I_IO_DRAM_SIZE;i+=4)
{
if(!(i%16)) printf("\n0x%08x ", i);
printf("%08x ",sunxi_io_read(base,i));
}
}
Differences in dump before standby:
diff meminfo_sunxi1 meminfo-aw1
2,3c2,3
< 0x00000000 00004020 000030e5 40000001 00000010
< 0x00000010 000bb374 42d899b7 0000a090 00022a00
---
> 0x00000000 00004020 000030e5 00000000 00000014
> 0x00000010 08688383 42d899b7 0000a090 00022a00
7c7
< 0x00000050 00000000 00000000 00000000 0000006a
---
> 0x00000050 00000000 00000000 00000000 00000069
13c13
< 0x000000b0 8002331a 00c9ffff 00000000 00000000
---
> 0x000000b0 8002b73b 00c9ffff 00000000 00000000
33c33
< 0x000001f0 00001450 00000004 00000010 00000000
---
> 0x000001f0 00001a50 00000004 00000010 00000000
268c268
< dram_odt_en = 1
---
> dram_odt_en = 0
And this is after standby:
diff meminfo_sunxi2 meminfo-aw2
2,3c2,3
< 0x00000000 00004020 000030e5 40000001 00000014
< 0x00000010 000bb374 42d899b7 0000a090 00022a00
---
> 0x00000000 00004020 380030e5 00000000 00000010
> 0x00000010 08688383 42d899b7 0000a090 00022a00
7c7
< 0x00000050 00000000 00000000 00000000 0000006a
---
> 0x00000050 00000000 00000000 00000000 00000069
12,13c12,13
< 0x000000a0 7788bb44 00000000 07f00000 00000002
< 0x000000b0 8002b73b 00c9ffff 00000000 00000000
---
> 0x000000a0 7788bb44 00000000 17f2b73b 00000002
> 0x000000b0 0002b73b 00c9ffff 00000000 00000000
33c33
< 0x000001f0 00001450 00000004 00000010 00000000
---
> 0x000001f0 00001a50 00000004 00000010 00000000
267,268c267,268
< dram_zq = 0x7f
< dram_odt_en = 1
---
> dram_zq = 0x12b73b7f
> dram_odt_en = 0
Some registers has changed after reboot to lichee kernel and back to sunxi:
diff meminfo_sunxi1 meminfo_sunxi2
2c2
< 0x00000000 00004020 000030e5 40000001 00000010
---
> 0x00000000 00004020 000030e5 40000001 00000014
13c13
< 0x000000b0 8002331a 00c9ffff 00000000 00000000
---
> 0x000000b0 8002b73b 00c9ffff 00000000 00000000
What is wrong?
What does mean zq value? And why tpr values are different between kernels?
--
You received this message because you are subscribed to the Google Groups
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.