Interleaved LPDDR2 Memory on i.MX6Dual

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

Interleaved LPDDR2 Memory on i.MX6Dual

Jump to solution
1,429 Views
davidroach
Contributor II


How does one enable channel interleaving on an i.MX6DQ dual-channel LPDDR2 design?  The Technical Reference Manual does not provide a specific method of enabling this mode, but does state that the i.MX6DQ supports it.  The LPDDR2 Programming Aid spreadsheet (MX6Q_MMDC_LPDDR2_register_programming_aid_v0.6.xlsx), available from Freescale, generates the following script statement to enable the mode:

//// Switch PL301_FAST2 to DDR Dual-channel mapping
setmem /320x00B00000 =0x1

However, that address does not respond and the interleaved behavior does not occur.  I've attached the spreadsheet, filled in for our memory configuration, for reference.

There are also various LPDDR2 init files available on this website that contain a line like this to set the register at 0x00B00000, but every one of them has the line commented out.

Where can I obtain documentation that details the procedure for enabling dual-channel LPDDR2 interleaving on i.MX6DQ?

Labels (2)
0 Kudos
1 Solution
705 Views
arthur_lai
Senior Contributor II

To enable dual-channel LPDDR2, you need to set to BOOT_CFG[5:4] by either setting it with IO or burning the eFuse.

For more detail, you can check chapter 5 on the reference manual. You can find the "DDR Memory Map" on the table for your boot media.

Arthur

View solution in original post

0 Kudos
1 Reply
706 Views
arthur_lai
Senior Contributor II

To enable dual-channel LPDDR2, you need to set to BOOT_CFG[5:4] by either setting it with IO or burning the eFuse.

For more detail, you can check chapter 5 on the reference manual. You can find the "DDR Memory Map" on the table for your boot media.

Arthur

0 Kudos