Our custom board is running hdmi compliance fail on test item 7.2 (source low amplitude) for all lane. We follow the application note of interface tuning and compliance test guide (DA-09326-001_v1.7) to adjust the registers. The register of drive current (0x15580138) is useful to adjust the signal amplitude. The higher driving current, the larger signal amplitude. But even we set the driving current value to maximum (value = 0x47), the low voltage level is still higher than spec. We also try the pre-emphasis control (0x15580148) and the bandgap voltage level (0x15580598), but these two registers don’t change the signal.
The spec. voltage is 2.9V
The test result as below
driving current register low signal level
Please give us some suggestion.
Hi, please refer to the HDMI spec: The low voltage level is determined by the current source of the HDMI Source and the termination resistance at the sink. The termination resistance and the characteristic impedance of the cable (Z0) must be matched.
Termination Supply Voltage, AVcc = 3.3 V +/-5%
Termination Resistance, RT = 50 ohm +/-10%
If tuning drive strength can not make it in range, it might be impedance matching problem which means your PCB is out of the layout request listed in OEM DG.
Ok, we’ll check the trace impedance.
Another question is when we found the register, how can we set it in the system?
The tuning guide should have the info of using 3rdparty tools like devmem2 to modify the register.
Sorry I didn’t write clearly enough.
I know I may use devmem2 to modify the register while testing.
After we get a tuned value that can pass the test, how can we save this register value so that the system will load the value when next time system boot.
For example, the default register of 0x15580138 is 0x333A3A3A. If we got new value 0x35404040 should be used, how to make it as default?
From DA-09326-001_v1.7 page 37, seems there are different settings for different resolution. We want to know which file to modify, from driver file or device tree.
I see. Sorry that didn’t get your purpose. Please put your change in tegra186-soc-prod.dtsi.
You will see 2 sor. SOR0 maps to HDMI_DP0 while SOR1 to HDMI_DP1.
Thanks. I got the place to modify.