How to get HDMI packet data

Hello everyone.

I want to pass HDMI2.0 compliance test.
so I tried to check HDMI packet data(HDMI specification ver1.4 Table5-8 Packet Types’s data) using devmem2 beforehand.
I succeed check following packets.

  • Audio Clock Regeneration
  • General Control
  • Vendor-Specific InfoFrame
  • AVI InfoFrame
  • Audio InfoFrame
    But others packet is not found .

How to check others packet data in TX2 developer board ?
Especially I want to read following packet data.

  • Null (5.3.2 in HDMI 1.4 specifications )
  • Audio Sample (5.3.4 in HDMI 1.4 specifications )
  • ACP (5.3.7 in HDMI 1.4 specifications )
  • ISRC1 (5.3.8 in HDMI 1.4 specifications )
  • ISRC2 (5.3.9 in HDMI 1.4 specifications )

thank you.

yasuhiro_yamamoto,

May I ask how do you use devmem2 to read the such data? Do you see any guidance in our document?

WayneWWW

Thank you for reply.

Which is the document you say?
I looked through TRM( especially chapter 25 ).
Please tell me if I make any mistakes.

[How to use devmem2 ]
I used devmem2 in the following steps.
*System is L4T Sample Root File System 28.2.

  1. Connect TX2 developer board(HDMI port) and LCD monitor.
  2. Display ubuntu desktop screen.
  3. Sound a test sound source.
    == Read packet data from TX2 ==
  4. Use my customized devmem2.

e.g. SOR_NV_PDISP_SOR_HDMI_AVI_INFOFRAME

#define MAP_SIZE 4096UL
#define MAP_MASK (MAP_SIZE - 1)
#define BASE_ADDR 0x15540000
#define AVI_INFO_OFFSET_ADDR 0x288
#define AVI_INFO_LEN 0x14
    
    ......
 fd = open("/dev/mem", O_RDWR | O_SYNC)) 
 map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, BASE_ADDR & ~MAP_MASK);

 for(offset = AVI_INFO_OFFSET_ADDR ; offset < AVI_INFO_OFFSET_ADDR+AVI_INFO_LEN;){
       alignment = (map_base + offset) % 8;
       addr = map_base + map_base + offset - alignment;
       memcpy(&reg_data,addr,8);
       printf("%x ",reg_data);
       offset = offset + 4;
 }

yasuhiro_yamamoto,

Sorry that I am not familiar with the full process of HDMI 2.0 compliance test. Is getting HDMI packet through software a necessary instruction?

In fact, latest rel-28.2.1 should be able to pass HDMI compliance test but with some condition (no HDCP, no YUV mode)

Hello WayneWWW.

I’m not saying that HDMI compliance test does not pass.I got HDMI packet data using protocol analyzer.

This question purpose is following
When HDMI compliance test(e.g Test ID 7-19 Packet Types) failed, I want to know what is TX2’s output packet settings wrong.

yasuhiro_yamamoto,

Seems no such usecase in Nvidia before. If we failed to pass HDMI compliance test, it is usually to use HDMI analyzer.

Thank you for your response.

OK.
I will use HDMI protocol analyzer when the test is failed.