Another imx8mp 4GB LPDDR uboot question

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Another imx8mp 4GB LPDDR uboot question

Jump to solution
219 Views
jmp
Contributor II

Hello,

We have board based on the imx8mp evk that has 4GB LPDDR4 instead of 6G, and I'm trying to understand the correct settings for PHYS_SDRAM_SIZE and the memory devicetree node.

The memory module (MT53E1G32D2FW) datasheet lists 32Gb/package, 16Gb dual-channel die. Listed are 2 die, 2 channels per die, and 8 banks per channel. Density: 8Gb per channel, 16Gb per die.

I ran the DDR tool and got the timings for the board to boot. Now I need to do the uboot configuration. It seems I have 2 primary options for uboot configuration 3GB/1GB or 2GB/2GB splits.

3GB/1GB split

Board header:

 

#define PHYS_SDRAM_SIZE   0xc0000000 /* 3 GB */
#define PHYS_SDRAM_2_SIZE 0x40000000 /* 1 GB */

 

Device tree:

 

		reg = <0x0 0x40000000 0 0xc0000000>,
		      <0x1 0x00000000 0 0x40000000>;

 

or

2GB/2GB split

Board header:

 

#define PHYS_SDRAM_SIZE   0x80000000 /* 2 GB */
#define PHYS_SDRAM_2_SIZE 0x80000000 /* 2 GB */

 

Device tree:

 

		reg = <0x0 0x40000000 0 0x80000000>,
		      <0x1 0x00000000 0 0x80000000>;

 

They both seem to boot ok, but I'm not sure which is correct (if any).

In this post, there was this was the suggestion:

 

#define PHYS_SDRAM_SIZE		0xC0000000  /* 3 GB */  //This value is the size that you will need for your first die on your memory. In this case 3GB.

 

Since the density of each die on this DDR is 16Gb (2GB), that would indicate that I should use a 2G/2G split.

However, in this post, the suggestion was:

.xlsx seems as correct. For imx8mp_evk.h suggest to leave "PHYS_SDRAM_SIZE" in default value,

This suggestion would indicate that I should use the 3GB/1GB split.

Here is another post where the person tried both ways, although their issue was not running the DDR tool first.

I've seen both approaches in various board headers in the uboot source tree, which only adds confusion.

So my question is whether PHYS_SDRAM_SIZE should be based on the die density (16Gb) value or set  to the size of the imx8mp's first DDR memory map region (3GB)? In other words, is the 3GB/1GB split or 2GB/2GB split correct?

Labels (1)
0 Kudos
1 Solution
189 Views
joanxie
NXP TechSupport
NXP TechSupport

yes, we suggest customer to use 3G+1G, you also can find the definition for DDR4(4G) in the uboot

https://github.com/varigit/uboot-imx/blob/imx_v2020.04_5.4.70_2.3.2_var01/include/configs/imx8mp_evk...

but I think if you use 2G should be fine, if 3G+1G works for you why do you struggle with this? just use this, it's fine, you can find imx8mp memory map from reference manual

joanxie_0-1714461890148.png

 

View solution in original post

2 Replies
190 Views
joanxie
NXP TechSupport
NXP TechSupport

yes, we suggest customer to use 3G+1G, you also can find the definition for DDR4(4G) in the uboot

https://github.com/varigit/uboot-imx/blob/imx_v2020.04_5.4.70_2.3.2_var01/include/configs/imx8mp_evk...

but I think if you use 2G should be fine, if 3G+1G works for you why do you struggle with this? just use this, it's fine, you can find imx8mp memory map from reference manual

joanxie_0-1714461890148.png

 

187 Views
jmp
Contributor II

Perfect, thank you for the clarification.

0 Kudos