It seems my only two options to get 8GB of RAM is either connect 8x 8gb (1GB) DDR3/3L ICs or I was thinking I can just connect to a SODIMM module. If I get a non-ecc module all of the connections seem to make sense and have a direct mapping to the imx ddr physical interface.
The only things not provided directly by this interface are the Serial Presence Detect (SPD)/Temperature/Write Protect I2C interface, which seems to not actually be necessary for RAM operation, though I've connected that I2C bus to I2C0. I'm hoping there's a setting somewhere in the Yocto build that will allow me to specify that I'm using a SODIMM module with SPD so that Linux can make use of the memory timings in EEPROM on the SODIMM module (maybe somewhere in the kernel menuconfig?).
The only other thing that isn't clear to me is how to connect the On-Die Termination (ODT) connections. There are 2 ODT lines on the SODIMM module, and 2 ODT connections on the imx processor, however, in any reference design I look at (e.g., the imx6qpsabresd board) all of the DDR ICs connect to the same ODT line (DRAM_SDODT0) and leave the second ODT line (DRAM_SDODT1) unconnected. Should I do the same here, or connect one to each. I believe on the SODIMM module, ODT0 goes to one group of 4 ICs and ODT1 goes to the second group of 4. Is that because 4 RAM ICs is the limit for parallel connection of the termination line in the imx processor?
The attached screenshots show how I'm connecting the SODIMM module (the file names are just image numbers, not meant to imply there is more than one module; there is only one SODIMM).