I have android tv box cs918 q7 with android version 4.4.2, and there is IT66121 hdmi controller. At least there is no drivers for it but I can access it with i2ctools over i2c-2 at 0x4c address.
As http://rockchip.fr/radxa/IT66121_Reg...lease_V1.0.pdf says 0x0F address is for enableing cec, so after writing 0x00 to 0x0F i was able to see new address 0x4e in i2c-2
After i2cdump this addres i got what i expected to see:
from address 0x10 till 0x23 there is CEC Initiator Registers from address 0x30 till 0x43 there is CEC Follower Registers And last registers is MISC.
to fire cec command: in 0x08 register write 0x88.
So everything looks good but... i cant get any answer from follower, except CEC follower received bytes and only then when message is broadcasted. I`m doing something wrong? or maybe there must be some kind of handshake before comunication? and maybe CEC Initiator Register 0x22 and 0x23 is fault? That i want is just tu turn on/standby TVs from my app.
Code:
root@rk3188:/ # i2cdump -y -f 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 08 TI???`..."??..r? 10: 91 a0 e0 20 00 ff 83 c0 00 74 e0 03 00 40 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 ...?.?..........
Code:
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: -- -- -- -- -- -- -- --
Code:
root@rk3188:/ # i2cdump -y -f 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 ................
to fire cec command: in 0x08 register write 0x88.
So everything looks good but... i cant get any answer from follower, except CEC follower received bytes and only then when message is broadcasted. I`m doing something wrong? or maybe there must be some kind of handshake before comunication? and maybe CEC Initiator Register 0x22 and 0x23 is fault? That i want is just tu turn on/standby TVs from my app.