I'm trying to clarify a couple points with regards to the GPMC memory controller on the AM263x. Specifically, how much memory can be addressed? The datasheet says we can address up to 4MB but based on the number of address lines and data lines for the various modes, we should be able to address much more than that. Need clarifications please. I have a few questions inline below highlighted in red.
AM263x Datasheet
General-Purpose Memory Controller (GPMC)
– 16-bit parallel data bus with 22-bit address bus
– Up to 4MB addressable memory space
Q1) Wouldn't this be 8MB addressable memory?
Summary of Table 6-64. GPMC0 Signal Descriptions
GPMC Pin |
MuxMode |
Non-MuxMode |
A21..A11 |
unused |
A21..A11 |
A10..A1 |
A26..A17 |
A10..A1 |
A0 |
unused |
A0 for 8-bit device |
AD15..AD0 |
A16..1 / D15..D0 |
D15..D0 |
|
- 26 address lines - 16 data lines |
- 22 address lines - 16 data lines |
Q2) In MuxMode, we have 26 address lines and 16 data lines, wouldn't this be 64M-words (128M-bytes)?
Q3) In non-MuxMode, we have 22 address lines and 16 data lines, wouldn't this be 4M-words (8M-bytes)? This is a repeat of Q1 above
AM263x TRM
Summary Table 13-165. GPMC Pin Multiplexing Options (don't care about NAND columns)
GPMC Pin |
Multiplexed Address Data 32-Bit Device |
Multiplexed Address Data 16-bit Device |
Non-multiplexed Address Data 16-Bit Device (incomplete 28-bit address range) |
Non-multiplexed Address data 8-Bit Device (incomplete 28-bit address range) |
A22..A11 |
Not used |
Not used |
A22..A11 |
A22..A11 |
A10..A1 |
Not used |
A26..A17 |
A10..A1 |
A10..A1 |
A0 |
Not used |
Not used |
Not used |
A0 |
AD31..AD26 |
D31..D26 |
Not used |
Not used |
Not used |
AD25..AD16 |
A27..A18 / D25..D16 |
Not used |
Not used |
Not used |
AD15..AD8 |
A17..A10 / D15..D8 |
A16..A9 / D15..D8 |
D15..D8 |
Not used |
AD7..AD0 |
A9..A2 / D7..D0 |
A8..A1 / D7..D0 |
D7..D0 |
D7..D0 |
|
26 address lines 32 data lines |
26 address lines 16 data lines |
22 address lines 16 data lines |
23 address lines 8 data lines |
Addressable Size |
256M-Bytes? *limited to 128MB |
128M-Bytes? |
8M-Bytes? |
8M-Bytes? |
Q4) What's wrong with these addressable size calculations based on number of address lines and data lines?
*Notes from TRM
- Even though GPMC supports total address space of 1GB, only 128MB are physically available in this device.
- GPMC0_DATA 0x00 2000 0000 to 0x00 27FF FFFF 128 MB External memory space region
Q5) In the figure, it references AD[31-16], those pin names don't exist, assuming these are A[31-16].