Thanks to g4751 for doing the tests for Odroid-HC4. The tests for the Odroid-C2 were performed by myself. Tests were performed on Armbian 24.08 Official releases.
Fix is to add a section to the DTB to enable a recently (last year) added kernel driver "meson64-reboot" that is an updated version of the "odroid-reboot" in older kernels.
For Odroid-C2:
- save your existing DTB
- use DTC to convert DTB->DTS
- modify the DTS with the code below
- use DTC to convert DTS->DTB
- reboot (will fail because new DTB not loaded yet)
- POR (will now load the new DTB)
- log-in
- reboot should now work.
For Odroid-HC4:
- save your existing DTB
- use DTC to convert DTB->DTS
- modify the DTS with the code below
- use DTC to convert DTS->DTB
- reboot (will fail because new DTB not loaded yet)
- POR (will now load the new DTB)
- log-in
- reboot should now work.
Notes:
- As far as I know, only the Odroid -C4 has an Armbian patch to do the above automatically for each release.
- For others, updates may overwrite the DTB and you'll need to perform this fix again. In theory, DTB changes are fairly rare.