i.MX8M memory setup/testing

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

i.MX8M memory setup/testing

678 Views
pnee
Contributor II

I have a query in relation the MX8M_LPDDR4_RPA_v24.xlsx

https://community.nxp.com/servlet/JiveServlet/download/340179-59-456897/MX8M_LPDDR4_RPA_v24.xlsx 

It lists the following DDR PHY addresses.

pastedImage_2.png

However the i.MX8M TRM (Rev. 2 08/2019) lists the PHY_DqnSel address as below (i.e DDR_PHY_DQ0LnSel_0 would be 0x3c010140?)

pastedImage_3.png

pastedImage_4.png

These definitions seem to be at odds with one another. Which one is correct? Or, am I missing something?

Regards,

PJ Nee.

Labels (1)
0 Kudos
3 Replies

546 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello PJ Nee,

Please do use the addresses shown on the programming aid spreadsheet. The discrepancy seems to be related to the fact that the documentation for the DDR controller uses 16 bit addresses, as the memory map is part of Synopsys intellectual property.

My apologies for the inconvenience.  
Regards,

0 Kudos

546 Views
pnee
Contributor II

Ok - but I then have to question all the other PHY addresses in the i.MX8M TRM? Are they also wrong? 

As an example take the DWC_DDRPHYA_DBYTE Memory map table below. Are the base addresses and offsets also all wrong?

pastedImage_1.png

0 Kudos

546 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello PJ Nee, 

This seems to apply to all DDR PHY values. I inquired internally and the register offset values are already multiplied by 2 in the reference manual in comparison to the DDR PHY documentation. Therefore, if reference manual is used the final address is derived as follows:

address = DDR PHY base address + PHY block address*4 + register offset*2

So for example Dq0lnSel_0:

address = 0x3C00_0000 + 0x1_0000 * 4 + 0x140 * 2 = 0x3C04_0280

I hope this helps!

Regards,

0 Kudos