SNLA419 October   2022 TDP1204 , TMDS1204

 

  1.   Abstract
  2.   Trademarks
  3. 1Introduction
  4. 2Test Setup
  5. 3Test Procedure
    1. 3.1 AEQ Configuration
    2. 3.2 Verify AEQ Configuration
  6. 4AEQ Functional Tests
  7. 5Summary
  8. 6References

Verify AEQ Configuration

After writing to the registers, you should read back all registers to ensure that no errors occurred while writing to the device’s registers. The following code shows an Aardvark script that allows you to read back the I2C registers of the TMDS1204 to verify AEQ functionality.

<aardvark>
    <configure i2c="1" spi="1" gpio="0" tpower="1" pullups="0"/>
    <i2c_bitrate khz="100"/>
    
======Read TMDS x40 Status ======
<i2c_write addr="0x5E" count="0" radix="16">20</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>

======Read FRL Status ======
<i2c_write addr="0x5E" count="0" radix="16">31</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>

<i2c_write addr="0x5E" count="0" radix="16">35</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>

<i2c_write addr="0x5E" count="0" radix="16">41</i2c_write>/>
<i2c_read addr="0x5E" count="2" radix="16">00</i2c_read>/>


======Read AEQ Status ======
<i2c_write addr="0x5E" count="0" radix="16">50</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>

======Read AEQ Status ======
<i2c_write addr="0x5E" count="0" radix="16">51</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>

======Read EQ Levels ======
<i2c_write addr="0x5E" count="0" radix="16">15</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>
<i2c_write addr="0x5E" count="0" radix="16">17</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>
<i2c_write addr="0x5E" count="0" radix="16">19</i2c_write>/>
<i2c_read addr="0x5E" count="1" radix="16">00</i2c_read>/>


</aardvark>

After running this script in Batch Mode, you should see similar results as shown in the Table 3-1 in the Transaction Log at the bottom of the Aardvark GUI. Note, these results are expected results using an 8k4k display at 60 Hz as an example.

Table 3-1 Transaction Log Register Values
Register Offset Data
0x20h 0x00h
0x31h 0x36h
0x35h 0x00h
0x41h 0x00h 0x00h
0x50h 0x83h
0x51h 0x39h
0x15h, 0x17h & 0x19h 0x01h

The key registers to determine if the device is operating as needed for AEQ functionality, for the example of an 8k2k display at 60 Hz, are discussed below.

  • For register offset 0x20h, known as SCDC_TMDS_CONFIG, the expected read value is 0x00h which means that TMDS Bit Period to Clock Period Ratio is 1/10.
  • For register offset 0x31h, known as SCDC_SINK_CONFIG, the expected read value is 0x36h, which means that device supports maximum FFE level and data rate supported is 12 Gbps on 4 lanes.
  • For register offset 0x50h, known as AEQ_STATUS, the expected read value is 0x83h. When the first value is 0x8h this means that the AEQ algorithm is complete. The second value indicates the EQ level selected, which in this case is EQ level 3.