ARM64 – Odroid C2 With Latest U-Boot and Kernel – Not Quite Yet..
I decided to check the latest linux-next tree for signs of Odroid C2 code, and there is some there – apparently for basic functionality.. Compiled OK, but when I tried to boot it, the Hardkernel-supplied version of U-Boot crashed:
odroidc2#ext4load mmc 0:1 ${loadaddr} /boot/uboot/Image 7748608 bytes read in 187 ms (39.5 MiB/s) odroidc2#ext4load mmc 0:1 ${dtb_loadaddr} /boot/uboot/meson-gxbb-odroidc2.dtb 27913 bytes read in 5 ms (5.3 MiB/s) odroidc2#booti ${loadaddr} - ${dtb_loadaddr} "Synchronous Abort" handler, esr 0x96000010 ELR: 77f4b734 LR: 77f4b728 x0 : 0000000077fa6c48 x1 : 0000000000080000 x2 : 000000000079b000 x3 : 000000000079b000 x4 : 000000000000006e x5 : 0000000011000000 x6 : 0000000077fa6b08 x7 : 0000000000000044 x8 : 0000000077f9a280 x9 : 0000000000000000 x10: 0000000073f386d8 x11: 0000000077f87000 x12: 000000000000000f x13: 0000000000000000 x14: 0000000000000000 x15: 0000000000000000 x16: 0000000000000000 x17: 0000000000000000 x18: 0000000073f38e28 x19: 0000000077fa6b08 x20: 0000000011000000 x21: 0000000073f3e6c0 x22: 0000000000000003 x23: 0000000073f3e6c8 x24: 0000000000000000 x25: 0000000077f9c2c0 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000000000 x29: 0000000073f38940
I then searched for a more ‘mainline’ version of U-Boot for the C2 and found some fairly recent patches mentioned here: http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/256647/
I created a patch (from the original newsgroup version of the message, rather than the – mangled – web text) and applied it to the latest -rc version of U-Boot..
After commenting out a reference to psci_system_reset that – as far as I could tell – no longer existed in the U-Boot code tree, I successfully compiled u-boot.bin, and – together with the sd_fuse Hardkernel binary content – installed it on the C2.
I tried to start the device, but got a constant stream of resets:
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; ( line repeated.. )
So… There is ‘mainline’ support for the C2 coming, but not quite there yet..
Robert Gadsdon April 26, 2016.
Hello, Robert
Did you build work u-boot for odroid c2?
Still not working… See latest article for details..
RG.
It looks like you need to “convert” kernel image to uImage format in order to boot mainline with hk uboot.
https://forum.odroid.com/viewtopic.php?f=135&t=22717&start=500
plus some fdt magic, see the rest of the thread.
The whole Odroid C2 situation is still a confused mess IMHO, especially getting HDMI etc to work… The Hardkernel version of U-Boot is severely limited, and everything is _supposed_ to work with the mainline version, which loads (unconverted) Image.
RG.