4GB DDR4 on LS1043A, how to modify u-boot and kernel for 4GB DRAM support?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

4GB DDR4 on LS1043A, how to modify u-boot and kernel for 4GB DRAM support?

1,010件の閲覧回数
edwardchoi
Contributor II

We modified our own LS1043A board to upgrade DDR4 DRAM from 2GB to 4GB.

I just modified the dts file of Kernel as below, but failed to detect 4GB memory.

< arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi >

memory@80000000 {
    device_type = "memory";
    reg = <0x0 0x80000000 0 0x80000000>,
              /* DRAM space 1, size: 2GiB DRAM */
              <0x8 0x80000000 0 0x80000000>;
              /* DRAM space 2, size: 2GiB DRAM */
};

 

We are using LSDK1808.

I will appreciate for any help.

 

0 件の賞賛
返信
4 返答(返信)

991件の閲覧回数
yipingwang
NXP TechSupport
NXP TechSupport

In u-boot source code packages/firmware/u-boot/board/freescale/ls1043ardb/ddr.c, please modify the following section to 4G  from 2G.

dimm_params_t ddr_raw_timing = {
.n_ranks = 1,
.rank_density = 2147483648u,
.capacity = 2147483648u,

Then rebuilt u-boot

$ rm build/firmware/u-boot/

$ flex-builer -c u-boot -m ls1043ardb

0 件の賞賛
返信

982件の閲覧回数
edwardchoi
Contributor II


Hi yipingwang,

 

Thank you for your answer.

I modified u-boot/board/freescale/ls1043ardb/ddr.c file as below

dimm_params_t ddr_raw_timing = {

.n_ranks = 1,

.rank_density = 4294967296u,

.capacity = 4294967296u,

....

}

But, board was freezed in u-boot after the  below messages.

 

U-Boot SPL 2017.07 (Dec 24 2024 - 19:04:58)
Initializing DDR....
WARNING: Calling __hwconfig without a buffer and before environment is ready
WARNING: Calling __hwconfig without a buffer and before environment is ready
WARNING: Calling __hwconfig without a buffer and before environment is ready
Trying to boot from NAND.


U-Boot 2017.07 (Dec 24 2024 - 19:04:58 +0900)

SoC: LS1043A Rev1.1 (0x87920111)
Clock Configuration:
CPU0(A53):1600 MHz CPU1(A53):1600 MHz CPU2(A53):1600 MHz
CPU3(A53):1600 MHz
Bus: 400 MHz DDR: 1600 MT/s FMAN: 500 MHz
Reset Configuration Word (RCW):
00000000: 08100010 0a000000 00000000 00000000
00000010: 33580002 00004012 60040000 c1002000
00000020: 00000000 80000000 00000000 0003a800
00000030: 00000000 001e3308 00000096 00000001
Model: LS1043A RDB Board
Board: LS1043ARDB, boot from NAND
SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ
I2C: ready
DRAM: Detected UDIMM Fixed DDR on board
3.9 GiB (DDR4, 32-bit, CL=11, ECC off)
Using SERDES1 Protocol: 13144 (0x3358)
PCA: failed to select proper channel
PCA: failed to select proper channel
nand_read_skip_bad
offset=0x400000,left_to_read=0x28, mtd->writesize=0x800
CRZ offset=0x00400000,skip_offset_count=0
nand_read_skip_bad
offset=0x400000,left_to_read=0x6200e, mtd->writesize=0x800
CRZ offset=0x00400000,skip_offset_count=0
PPA Firmware: Version 'none'
SEC Firmware: 'loadables' present in config

 

 

Please help me more...

Thank you.

 

タグ(2)
0 件の賞賛
返信

900件の閲覧回数
yipingwang
NXP TechSupport
NXP TechSupport

It seems that the error is not related with DDR size modification.

Can you run u-boot successfully without the modification which I mentioned?

 

You need to deploy PPA firmware image on NAND flash.

0 件の賞賛
返信

968件の閲覧回数
edwardchoi
Contributor II

Let me explain our hardward.

We developped the LS1043A custom board with two DDR4 ICs.

It worked find with 2GB DDR4 (2x MT40A512M16 of Micron).

We just changed the DDR4 ICs from MT40A512M16 to MT40A1G16 in the same board,

but failed to bring up our board with 4GB DRAM.

I Successfully brought up new board with 2GB firmware and just notice that DRAM is 2GB

So, I tried to detect 4GB DDR4 in u-boot and kernel.

Here is the schematic of DDR4 area of our board.

edwardchoi_0-1735042237353.png

 

I will really appreciate for any advice or help...

Thank you,

タグ(3)
0 件の賞賛
返信