我有安卓电视盒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是错误的? 我想要的只是从我的应用程序开启/待机电视。