This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Stephen,
Please pay attention to the XIP Boot note below. I will send your other questions to our expert.
In this device, during XIP Boot process, the ROM code does not multiplex high order address lines gpmc_a[27:13] to their address functions although the external memory device generally needs to see logic "0" on its higher order address bits to correctly address memory. Many of the high order address pads default to internal pull-down (IPD) active, however some pins default to internal pull-up (IPU) active and therefore will need to be driven or pulled low by external hardware for duration of XIP boot operation. See section XIP (NOR) Boot Options of Device Configurations chapter in the Device Data Manual for specific details about how the ROM configures pins for various XIP boot options. For those pins not specifically configured by the ROM, consult Data Manual table X-X “PINCNTL Registers MUXMODE Functions” to determine default pull state (IPD/IPU) of each address pin used gpmc_a[27:13].
Note that to counteract an internal pull up one should typically use an external 1k ohm pulldown resistor.
BR,
Viet
In terms of the implementation I believe you'll want to simply link all the u-boot code to the final address. The lowlevel init code in u-boot is position independent, i.e. it is assembly code, uses relative branches, etc. This is the same code talked about here:
http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_PSP_U-Boot#NOR_Support
You should be able to change the GPMC base address in that same code. I believe u-boot is setup such that it relocates itself to DDR in any case. Is that how you currently have it setup?
Hopefully this helps out a little bit. I'm on vacation and won't be available to answer any more questions on this issue until next week. I just wanted to give a quick pointer if possible.
Best regards,
Brad
Can you provide a link to the "device data manual." I can't seem to find this document. I've been using the data sheet (SPRS680B) and the technical Reference Manual (SPRUGX9).
Thanks.