在Android中使用HDMI-cec over i2c

时间:2015-11-10 14:59:45

标签: android hdmi

我有安卓电视盒cs918 q7与Android版本4.4.2,并有IT66121 hdmi控制器。至少没有驱动程序,但我可以使用i2ctools通过i2c-2在0x4c地址访问它。

root@rk3188:/ # i2cdump -f -y 2 0x4c
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 54 49 12 16 01 60 00 00 00 22 f8 f7 ff ff 72 00    TI???`..."??..r.
10: 91 a0 e0 20 00 f9 83 00 00 74 e0 03 00 00 ff 00    ??? .??..t??....
20: 00 ff 00 c5 30 9d 03 7a d8 3c 40 97 0f 11 81 4e    ...?0??z?<@????N
30: b7 bf 5f fd e3 f0 9e f5 15 dc f7 15 3b 14 8a 04    ??_?????????;???
40: 27 09 67 00 d3 17 00 00 4a 22 c8 10 2a a5 00 eb    '?g.??..J"??*?.?
50: 70 73 67 30 86 5b 5b f5 15 49 03 fe 00 94 5f c8    psg0?[[??I??.?_?
60: 93 02 18 18 1d 00 1f 00 10 30 00 ff ff ff ff ff    ?????.?.?0......
70: 01 1c 00 00 80 00 b8 05 b4 01 93 00 49 3c 18 04    ??..?.?????.I<??
80: 9f 3f d9 3c 10 3f 18 04 01 00 ff ff ff 9c 00 00    ???<?????....?..
90: 00 a9 e4 90 71 b4 a8 20 dd 34 43 38 2f 37 02 08    .???q?? ?4C8/7??
a0: 08 8c ce 31 84 04 c6 b8 00 2e 6c c4 62 a9 a5 e3    ???1????..l?b???
b0: 24 25 24 ff ff ff ff ff ff ff ff ff ff ff ff 00    $%$.............
c0: 01 02 19 08 c0 04 03 ff ff 00 00 ff ff 03 03 ff    ???????......??.
d0: 00 6c 00 ff ff ff ff 0e e7 ff ff ff ff ff ff ff    .l.....??.......
e0: c1 01 e4 00 00 00 00 20 00 ff ff ff 7f ff 00 ff    ???.... ....?...
f0: 00 ff ff 18 00 02 ff ff ff ff ff ff ff ff ff ff    ...?.?..........

由于manual表示0x0F地址用于启用cec,所以在写入0x00到0x0F之后我能够在i2c-2中看到新地址0x4e

1|root@rk3188:/ # i2cdetect -y -r 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- UU -- 4e --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

在i2cdump之后,我得到了我期望看到的内容:

root@rk3188:/ # i2cdump -f -y 2 0x4e
 No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: ff ff ff ff ff ff ff 00 48 20 00 14 59 50 ff ff    ........H .?YP..
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 42 9a f2 0e 00 00 00 00 00 ff ff ff    ....B???........
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................

从地址0x10到​​0x23,有CEC启动器寄存器 从地址0x30到0x43,有CEC跟随寄存器 最后的登记册是MISC。

to fire cec命令:在0x08寄存器中写入0x88。

所以一切看起来都不错,但是...我无法从追随者那里得到任何答案,除了CEC追随者收到的字节,只有当广播消息时才会收到。我做错了什么?或者可能在通信之前必须进行某种握手?也许CEC启动器寄存器0x22和0x23是错误的? 我想要的只是从我的应用程序开启/待机电视。

0 个答案:

没有答案