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.
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
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.
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.
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.
I will really appreciate for any advice or help...
Thank you,