xref: /aosp_15_r20/cts/hostsidetests/hdmicec/README.md (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1*b7c941bbSAndroid Build Coastguard Worker# CEC CTS testing for Android TV devices
2*b7c941bbSAndroid Build Coastguard Worker
3*b7c941bbSAndroid Build Coastguard WorkerNOTE: CTS has two meanings here. HDMI defines a set of tests in the
4*b7c941bbSAndroid Build Coastguard Worker**Compliance Test Specification** of HDMI 1.4b
5*b7c941bbSAndroid Build Coastguard Worker__HDMI Compliance Test Specification 1.4b__ and
6*b7c941bbSAndroid Build Coastguard Worker**Android Compatibility Test Suite**.
7*b7c941bbSAndroid Build Coastguard Worker
8*b7c941bbSAndroid Build Coastguard WorkerThe Android Compatibility Test Suite includes specific tests from the HDMI
9*b7c941bbSAndroid Build Coastguard WorkerCompliance Test Specification as well as other Android specific tests.
10*b7c941bbSAndroid Build Coastguard Worker
11*b7c941bbSAndroid Build Coastguard Worker## Setup
12*b7c941bbSAndroid Build Coastguard Worker
13*b7c941bbSAndroid Build Coastguard Worker### Source devices
14*b7c941bbSAndroid Build Coastguard Worker
15*b7c941bbSAndroid Build Coastguard WorkerRunning these CTS tests requires a specific HDMI layout with a CEC adapter.
16*b7c941bbSAndroid Build Coastguard Worker
17*b7c941bbSAndroid Build Coastguard Worker*   Android TV source device, e.g. a playback device or an audio system
18*b7c941bbSAndroid Build Coastguard Worker*   CEC adapter, see [External CEC Adapter instructions](cec_adapter.md)
19*b7c941bbSAndroid Build Coastguard Worker*   Install `cec-client` binary, see [install instructions](cec_adapter.md#software)
20*b7c941bbSAndroid Build Coastguard Worker*   HDMI Display (aka a TV) with CEC disabled to avoid interference, or an HDMI fake plug
21*b7c941bbSAndroid Build Coastguard Worker
22*b7c941bbSAndroid Build Coastguard WorkerIt is recommended that the source device has an HDMI physical address of `1.0.0.0` while running
23*b7c941bbSAndroid Build Coastguard Workerthe tests. [DEPRECATED] In case the DUT takes a physical address other than `1.0.0.0` and this is
24*b7c941bbSAndroid Build Coastguard Workerunavoidable, the tests can be configured to expect a different physical address by appending these
25*b7c941bbSAndroid Build Coastguard Workerarguments to the tradefed command:
26*b7c941bbSAndroid Build Coastguard Worker```
27*b7c941bbSAndroid Build Coastguard Worker--module-arg CtsHdmiCecHostTestCases:set-option:cec-phy-addr:<address_in_decimal>
28*b7c941bbSAndroid Build Coastguard Worker```
29*b7c941bbSAndroid Build Coastguard WorkerThus, for a device that is taking an address `3.0.0.0`, pass `12288` as the `cec-phy-addr` argument.
30*b7c941bbSAndroid Build Coastguard Worker
31*b7c941bbSAndroid Build Coastguard WorkerThe CEC adapter may also be installed in-between the TV and the source device.
32*b7c941bbSAndroid Build Coastguard Worker
33*b7c941bbSAndroid Build Coastguard Worker![drawing](setup.png)
34*b7c941bbSAndroid Build Coastguard Worker
35*b7c941bbSAndroid Build Coastguard Worker### TV panel devices
36*b7c941bbSAndroid Build Coastguard Worker
37*b7c941bbSAndroid Build Coastguard WorkerRunning these CTS tests on TV panel devices requires an external CEC adapter.
38*b7c941bbSAndroid Build Coastguard Worker
39*b7c941bbSAndroid Build Coastguard Worker*   Android TV panel device
40*b7c941bbSAndroid Build Coastguard Worker*   CEC adapter, see [External CEC Adapter instructions](cec_adapter.md)
41*b7c941bbSAndroid Build Coastguard Worker*   Install `cec-client` binary, see [install instructions](cec_adapter.md#software)
42*b7c941bbSAndroid Build Coastguard Worker
43*b7c941bbSAndroid Build Coastguard WorkerIt is recommended to connect the CEC adapter to the HDMI ARC port of the TV device.
44*b7c941bbSAndroid Build Coastguard Worker
45*b7c941bbSAndroid Build Coastguard Worker### Automation
46*b7c941bbSAndroid Build Coastguard Worker
47*b7c941bbSAndroid Build Coastguard WorkerGiven the setup described above you can run this test module with the following commands:
48*b7c941bbSAndroid Build Coastguard Worker
49*b7c941bbSAndroid Build Coastguard Worker#### cts-tradefed
50*b7c941bbSAndroid Build Coastguard Worker
51*b7c941bbSAndroid Build Coastguard Worker```
52*b7c941bbSAndroid Build Coastguard Workercts-tradefed > run cts -m CtsHdmiCecHostTestCases
53*b7c941bbSAndroid Build Coastguard Worker```
54*b7c941bbSAndroid Build Coastguard Worker
55*b7c941bbSAndroid Build Coastguard Worker#### atest
56*b7c941bbSAndroid Build Coastguard Worker```
57*b7c941bbSAndroid Build Coastguard Workeratest CtsHdmiCecHostTestCases
58*b7c941bbSAndroid Build Coastguard Worker```
59*b7c941bbSAndroid Build Coastguard Worker
60*b7c941bbSAndroid Build Coastguard WorkerTo shard the test (distribute and run the tests on multiple devices), use this
61*b7c941bbSAndroid Build Coastguard Workercommand -
62*b7c941bbSAndroid Build Coastguard Worker```
63*b7c941bbSAndroid Build Coastguard Worker./cts-tradefed run commandAndExit cts --enable-token-sharding --shard-count 3 -m CtsHdmiCecHostTestCases
64*b7c941bbSAndroid Build Coastguard Worker```
65*b7c941bbSAndroid Build Coastguard Worker
66*b7c941bbSAndroid Build Coastguard WorkerThe shard count corresponds to the number of DUTs connected to the host.
67