Ti,
My team has a custom board based on the K2E EVM, with a AM5K2E chip and changes to DDR3, and some other peripherals.
I have followed the wiki at http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Exploring/ and been successful at compiling the keystone-linux boot monitor, linux kernel, and u-boot. I compiled each using the "k2e" evm configs, but had to make changes in u-boot for DDR3 register settings.
I am doing this all manually instead of using the MCSDK Linux images because of the peripheral changes.
I boot a two stage u-boot from SPI Flash successfully. Then I run the following commands to try and boot Linux, but it no output appears:
- tftp 82000000 arago-console-image.cpio.gz
- tftp 88000000 uImage
- tftp 87000000 k2e-evm.dtb
- tftp 0c140000 skern-k2e.bin
- mon_install 0c140000
- setenv bootargs 'console=ttyS0,115200n8 rootwait=1 earlyprintk rdinit=/sbin/init rw root=/dev/ram0 initrd=0x802000000,9M'
- bootm 88000000 - 87000000
Then u-boot runs its startup and finally prints "Starting Kernel ..." but nothing else prints out after that. How do I fix this?
Currently, NAND is not working on the board, so I have to do this just using MSMC and DDR.
Questions:
- I built u-boot using a branch of keystone-linux/u-boot called upstream/k2e_net (not master) for its legacy ethernet init. Is there a compatibility issue between this branch of u-boot and keystone-linux/linux?
- Our core clock is 100MHz. Do I need to make any changes to the Linux configs to reflect this?
- I built Linux from the master branch of keystone-linux/linux using make 'keystone2_defconfig' and 'make uImage' with no source changes. Is that correct?
- I made no changes to keystone-linux/boot-monitor and built using 'make k2e'. Is that correct?
- Your documentation uses 0x0c5f0000 for the boot monitor location, but that fails and 0c140000 seems to be the location for the k2e. Is that correct?
- Are my UART console settings messed up somehow?
- Do I need to make my own filesystem instead of using the canned image arago-console-image.cpio.gz from the mcsdk-linux project? (It's from 2013, and possibly outdated)