The iMX7D reference design has two 512MB of RAM for a total of 1GB (math). With RAM costs on the cheap it is likely that your custom embedded platforms with the iMX7D will also have 1GB of RAM. But what happens when you are trying to cut costs, or just not over engineer and go with a single 512MB.
There are some tutorials online, but I couldn't find one that included all the changes that need to be made. So here I am.
There are some things to know before going further. I was using Das U-boot for my bootloader, and working with a linux kernel new enough to have DTS files (I think that happened in 3.7 for ARM architecture).
We'll start in u-boot and go up from there. The iMX7D DCD (Device Configuration Data) file is located in the board directory as imximage.cfg There are 5 values that need to be changed and they are, the Master Register and Address Map Registers 0/1/5/6. Search the iMX7D Reference Manuel for more information on each of the registers.
-DATA 4 0x307a0000 0x01040001