We have a design that's facing EMI issues related to the HDMI output and I'd like to try adjusting the drive strength / slew rate on the HDMI lines to see if that helps. From looking at similar issues (381362, 303905), I've tried to follow the guidance in AN4671, but am not able to see a change in the output signals using an oscilloscope on the lines. I'm using memtool and running the commands below to change the TXTERM register. It looks like the TXTERM register is updating properly, but I see no difference in the output signals. Maybe I'm doing something wrong?
EDIT: Copied the corrected commands below.
root@host:~# ./memtool -8 0x123020 8 # check initial register settingsReading 0x8 count starting at address 0x00123020 0x00123020: 69 19 80 00 00 00 00 08 root@host:~# ./memtool -8 0x123021=0x19; ./memtool -8 0x123023=0x04; ./memtool -8 0x123026=0x10 # write TXTERM Writing 8-bit value 0x19 to address 0x00123021 Writing 8-bit value 0x4 to address 0x00123023 Writing 8-bit value 0x10 to address 0x00123026 root@host:~# ./memtool -8 0x123021=0x19; ./memtool -8 0x123026=0x01 # read TXTERM Writing 8-bit value 0x19 to address 0x00123021 Writing 8-bit value 0x1 to address 0x00123026 root@host:~# ./memtool -8 0x123020 8 Reading 0x8 count starting at address 0x00123020 0x00123020: 69 19 80 04 00 04 00 08
In order to make this change to happen directly in the HDMI module, it is updating the register configurations in the driver, compile and update the image, since the OS it is handling the HAL there is no way to update the registers of a module that it is already in use.
The other option that I think can also work, but I have never try it with HDMI, it is to put down the driver, this mean unregister the Module of the HDMI From the Kernel, then modify with Memtool and then register the module back. So this way the kernel owns the change already made.
Hope this helps.