Firefly开源社区

标题: LibreELEC 系统内存 [打印本页]

作者: tanli    时间: 2018-4-21 22:20
标题: LibreELEC 系统内存
我买的是2G内存的版本为什么看到的系统内存是1G这个怎么调整
LibreELEC:/etc # free
             total       used       free     shared    buffers     cached
Mem:        947292     363652     583640      35672      44428     170232
-/+ buffers/cache:     148992     798300
Swap:            0          0          0
作者: tanli    时间: 2018-4-21 22:31
我看到我 DDR芯片上 都是1G一片的 总共两片
以前玩的linux是可以在uboot的 cmdline 里面指定 内存大小
但是我用的这个系统没有呀

root=/dev/ram0 rdinit=/init BOOT_IMAGE=/Image usbcore.autosuspend=-1 rockchip_jtag earlyprintk=uart8250-32bit,0xff130000 boot=UUID=2003-1555 disk=UUID=c002a273-7c3e-4fea-ac8c-248124873d69 quiet console=uart8250,mmio32,0xff130000 console=tty0

作者: zouxf    时间: 2018-5-21 11:37
内存大小是kernel自动识别的。
作者: luvings    时间: 2018-5-30 09:57
diff --git a/arch/arm/mach-rockchip/sdram_common.c b/arch/arm/mach-rockchip/sdram_common.c
index 76dbdc8..5233e7f 100644
--- a/arch/arm/mach-rockchip/sdram_common.c
+++ b/arch/arm/mach-rockchip/sdram_common.c
@@ -14,7 +14,7 @@
DECLARE_GLOBAL_DATA_PTR;
size_t rockchip_sdram_size(phys_addr_t reg)
{
-       u32 rank, col, bk, cs0_row, cs1_row, bw, row_3_4;
+       u32 rank, col, bk, cs0_row, cs1_row, bw, row_3_4, dbw, bg;
        size_t chipsize_mb = 0;
        size_t size_mb = 0;
        u32 ch;
@@ -37,16 +37,19 @@ size_t rockchip_sdram_size(phys_addr_t reg)
                        SYS_REG_BW_MASK));
                row_3_4 = sys_reg >> SYS_REG_ROW_3_4_SHIFT(ch) &
                        SYS_REG_ROW_3_4_MASK;
+               dbw = sys_reg >> SYS_REG_DBW_SHIFT(ch) & SYS_REG_DBW_MASK;
+               /* only used by DDR4 */
+               bg = (dbw == 1) ? 1 : 2;

-               chipsize_mb = (1 << (cs0_row + col + bk + bw - 20));
+               chipsize_mb = (1 << (cs0_row + col + bg + bk + bw - 20));

                if (rank > 1)
                        chipsize_mb += chipsize_mb >> (cs0_row - cs1_row);
                if (row_3_4)
                        chipsize_mb = chipsize_mb * 3 / 4;
                size_mb += chipsize_mb;
-               debug("rank %d col %d bk %d cs0_row %d bw %d row_3_4 %d\n",
-                     rank, col, bk, cs0_row, bw, row_3_4);
+               debug("rank %d col %d bk %d cs0_row %d bw %d row_3_4 %d dbw %d\n",
+                     rank, col, bk, cs0_row, bw, row_3_4, dbw);
        }

        return (size_t)size_mb << 20;
uboot 打上补丁
作者: 青春    时间: 2018-8-25 10:05
zouxf 发表于 2018-5-21 11:37
内存大小是kernel自动识别的。

请问显存要如何调整呢?




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1