I am using IMX6 SDK with the same RAM configuration as Sabre Ai board (i.e. 4 DDR IC's in x64 mode having 4 GBits capacity each). Each IC has 10 coulumns, 15 rows and 8 banks to store 16-bit words in each location. I am having trouble mapping this address space to the virtual address space as seen by the IMX6 (3840 MBytes ranging from 0x10000000 to 0xFFFFFFFF).
From "Table 44-4. Address decoding - bank interleaving off" of the IMX6 reference manual, I have found out the mapping for x32 system but even it has a little confusion. The 3 bits to address banks A[29:27] have initial value 3'b010 since RAM address range is starting from 0x10000000. How does this map to the zeroth bank? and how are all 8 banks accessed with this configuration?
Any help in this regard will be highly appreciated.