I discovered there was a later version (6) of the U-boot patch for the Odroid C2, and also – after more research – found the reason for the compile error…
It turns out that the GIT version (May 5, 2016) of U-boot currently needs two patches..
The first one is to provide psci_system_reset for armv8, and details can be found here: http://article.gmane.org/gmane.comp.boot-loaders.u-boot/259967/
The second is the C2 support patch itself, which needs psci_system_reset to compile correctly, and details of version 6 of the patch can be found here: http://article.gmane.org/gmane.comp.boot-loaders.u-boot/259968/
After applying these two patches, and adding the Hardkernel binary in sd_fuse, then U-boot compiled and installed OK, but the C2 still failed to initialise:
BL2 Built : 11:44:26, Nov 25 2015. gxb gfb13a3b-c2 - jcao@wonton Board ID = 8 set vcck to 1100 mv set vddee to 1050 mv CPU clk: 1536MHz DDR channel setting: DDR0 Rank0+1 same DDR0: 2048MB(auto) @ 912MHz(2T)-13 DataBus test pass! AddrBus test pass! Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x000000b0 aml log : SIG CHK : 351 for address 0x01700000 reset... GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0; << repeated... >>
I had already found that the latest ‘mainline’ kernel code for the C2 (in linux-next) would not boot with the Hardkernel-supplied version of U- Boot, which is why this new/patched version is needed..
More info when I have made some more progress..
Robert Gadsdon. May 6, 2016.