Wake up using IR remote controller and HDMI CEC

The current ODROID-C2 U-Boot supports Wake-Up functionality after Power Off.
You can do Power-on ODROID-C2 using the power key of HK's Remote Controller and CEC source signal.
This functionality makes just 300mW power increase compared with the old U-Boot.

  • Ubuntu : Available with 3.14.79-82 (Sep 19, 2016) or higher version
  • Android : Available with Android v2.2 release (Sep 06, 2016) or higher version

And you can refer to the following wiki page to check U-Boot version on user space. Your U-Boot version should be same or higher than the above two release dates.
How to check Version

The ODROID user, Kwiboo implemented IR and CEC wake-up sequences for LibreELEC.
Thank you, Kwiboo!

http://forum.odroid.com/viewtopic.php?f=139&t=23073#p155601
https://github.com/hardkernel/u-boot/issues/26

The available IR remote key is power key of HK's IR remote controller.

Manufacturer Code : 0x4DB2
IR code of Power Button : 0xDC
Key Code : 0x23dc4db2

After power off using shutdown -P or poweroff, pushing Power Button will make ODROID-C2 wake-up and go booting process.

# shutdown -P
...
 
[   47.067156] reboot: Power down
INFO:    PSCI Affinity Map:
INFO:      AffInst: Level 0, MPID 0x0, State ON
INFO:      AffInst: Level 0, MPID 0x1, State ON
INFO:      AffInst: Level 0, MPID 0x2, State ON
INFO:      AffInst: Level 0, MPID 0x3, State ON
ERprocess cCEC cfg:0x2f
set vddee to 0x0352mv
->> Enter Power Off
...
 
->> Press Power Button
 
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;
TE: 91385
no sdio debug board detected 
 
BL2 Built : 11:44:26, Nov 25 2015. 
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
Run bl30...
Wait bl30...Done
Sending bl301.....OK. 
Run bl301...
chipidLoad bl33 from eMMC, src: 0x00034200, des: 0x01000000, size: 0x0006a6f0
 
secure task start!
high task start!
low task start!
NOTICE:  BL3-1: v1.0(debug):4d2e34d
NOTICE:  BL3-1: Built : 17:08:35, Oct 29 2015
INFO:    BL3-1: Initializing runtime services
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9
 
U-Boot 2015.01-00180-g1471870-dirty (Nov 08 2016 - 17:05:58)

If your monitor supports CEC functionalities, after power off, you can find HDMI-CEC ODROID-C2 component among the external inputs on your monitor as following.

To make the connection with ODROID-C2, select the HDMI-CEC ODROID-C2 source. Then, it makes ODROID-C2 will process the normal booting sequence.

The below diagram shows a wake-up sequence.


The relevant commits have been merged middle of August, 2016 and you can find the history on HK u-boot github.
https://github.com/hardkernel/u-boot/commits/odroidc2-v2015.01

But be warned, we've seperated bl301 firmware source code from u-boot repository because of the issue of build failure on other platforms except X86-64 and support issue of build root.
So, if you want to adjust the routine or change the key code by yourself, please refer to the following wiki page.

How to build u-boot with BL301

ODROID-C2 consumes only 0.3Watt approximately in the power-off state even the IR receiver and CEC blocks are alive.