Skip to content

HdmiTx Debug Guide


REVISION HISTORY

Revision No.
Description
Date
1.00
  • Initial release
  • 12/26/2023
    1.01
  • add vga & update ibopper
  • 12/02/2024
    1.02
  • update doc format
  • 06/09/2025
    1.03
  • add mhera debug register
  • 10/30/2025


    Preface

    The current HDMI specification is based on HDMI 1.4. The internal specifications of the company are as follows:

    • The HDMI input source originates from DISP, with internal hardware direct connection

    • Hot-plug detection is supported, and callback registration can be configured to return information to user mode

    • Only HDMI version 1.4 is supported. Therefore, the maximum resolution is limited to 4K@30fps

    • HDCP is not supported

    • I mode output (interlaced output) is not supported

    • CEC is not supported

    Regarding Video Output:

    • Only 8-bit video output is supported; 10-bit/12-bit is not supported

    • Output color domain supports YUV444/RGB444; YUV422 is not supported. If in DVI mode, only RGB444 is supported

    • Timing must be aligned with DISP settings

    • HDMI output is transmitted directly to the SINK via hardware. It cannot be dumped to memory

    Regarding Audio Output:

    • HDMI is hardware-directly connected to AO. HDMI can only output audio when the specific AO device is operating normally

    • HDMI audio attribute configuration must be aligned with AO settings, such as sample rate, bit depth, and other parameters

    • HDMI audio cannot be output independently; it must be output together with video

    • HDMI audio can only be output in HDMI mode; DVI mode does not support it


    1. Common Issues

    1.1 Black Screen with No Signal

    img

    Flow Method Exit Condition Next Step RD Required Information Reference FAQ
    A Find an HDMI cable that works normally for display and perform cross-test XX XX
    B Connect to a reference device and switch to this resolution to verify if display works XX XX
    C echo getEdid 0 > /proc/mi_modules/mi_hdmi/mi_hdmi0 Exit Condition 1 (NG): => Read value is all zeros, or error log appears in serial port during reading
    Exit Condition 2 (OK): => Parse the correctness of the EDID data, refer to HDMI EDID Parsing
    Exit Condition 1: => D
    Exit Condition 2: => F
    Read fail: img
    Normal read: img
    D Measure 5V signal Exit Condition 1 (NG): => 5V voltage cannot be measured at the board HDMI port
    Exit Condition 2 (Ok): => 5V voltage can be measured normally
    Exit Condition 1: => Hardware investigation
    Exit Condition 2: => E
    HDMI port pinout
    img
    E Measure HPD signal Exit Condition 1 (NG): => HPD voltage signal cannot be measured at the port
    Exit Condition 2 (OK): => HPD signal can be measured at the port
    Exit Condition 1: => Need to clarify display-side issues (e.g., test with reference device)
    Exit Condition 2: => H
    Same as above
    F cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1) Exit Condition 1 (NG): => Error log appears in serial port during reading or status is abnormal (see FAQ on the right)
    Exit Condition 2 (OK): => Disp end parameters are normal
    Exit Condition 1: => Disp RD investigation
    Exit Condition 2: => G
    Please preserve the scene and ask disp RD for assistance a. Whether frames are constantly being dropped, i.e., whether dropCnt is continuously accumulating
    b. Whether Interface is HDMI, whether timingInfo is correct, whether IrqCnt is accumulating
    img
    img
    G echo setMute Off > /proc/mi_modules/mi_hdmi/mi_hdmi0 Exit Condition 1: => Black screen persists
    Exit Condition 2: => Black screen disappears and picture appears
    Exit Condition 1: => H
    Exit Condition 2: => Muted, please ask customer to check configuration
    Here mute refers to the screen content being covered by pattern, typically pure black. Configuration refers to a mute switch in the MI interface; check if it was mistakenly enabled
    H cat /proc/mi_modules/mi_hdmi/mi_hdmi0
    cat /proc/mi_modules/mi_hdmi/debug_hal/cfg
    cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    Enable log: echo 7 > /proc/mi_modules/mi_hdmi/debug_level
    echo 0x9b0040 > /proc/mi_modules/mi_hdmi/debug_hal/dbgmg
    Provide serial port logs to RD for driver flow analysis; preserve the scene as much as possible to cooperate with RD experiments (if easily reproducible, enable logs before starting reproduction)

    1.2 Abnormal Display

    img

    Flow Method Exit Condition Next Step RD Required Information Reference FAQ
    A Test with other displays and test this display with other Tx devices Exit Condition 1: => Other displays also show abnormal picture
    Exit Condition 2: => Other displays show ok picture, this display shows abnormal picture
    Exit Condition 1: => B
    Exit Condition 2: => Display issue
    B Tiramisu/Muffin/Mochi/Mhera platforms:
    Enable pattern: riu_w 1150 7 e or 1160 7 e
    Disable pattern: riu_w 1150 7 1 or riu_w 1160 7 1
    Takoyaki/ibopper platforms:
    Enable pattern: riu_w 1128 7 e
    Disable pattern: riu_w 1128 7 1
    Exit Condition 1: => Picture remains abnormal
    Exit Condition 2: => Color vertical stripes are displayed
    Exit Condition 1: => C
    Exit Condition 2: => Disp RD investigation
    Please preserve the scene and ask disp Sw RD for assistance to check if disp timing settings have issues
    C cat /proc/mi_modules/mi_hdmi/mi_hdmi0
    cat /proc/mi_modules/mi_hdmi/debug_hal/cfg
    cat /proc/mi_modules/mi_disp/debug_hal/cfg
    ibopper: /customer/riu_r 1125;/customer/riu_r 1126
    mhera: /customer/riu_r 1458;/customer/riu_r 1459;/customer/riu_r 145a
    Provide serial port logs to Sw RD for analysis

    1.3 No Audio

    img

    Flow Method Exit Condition Next Step RD Required Information Reference FAQ
    A Replace with an HDMI cable that normally outputs sound XX XX
    B cat /proc/mi_modules/mi_hdmi/mi_hdmi0 Exit Condition 1 (DVI): => OutputMode in cat info is DVI
    Exit Condition 2 (HDMI): => OutputMode in cat info is HDMI
    Exit Condition 1: => DVI not supported
    Exit Condition 2: => C
    img
    C cat /proc/mi_modules/mi_ao/mi_ao0 Exit Condition 1: => Error log appears in serial port during reading or status is abnormal (see FAQ on the right)
    Exit Condition 2: => Status is normal (see FAQ screenshot on the right for 32K single audio hdmi output)
    Exit Condition 1: => Ao RD investigation
    Exit Condition 2: => D
    Enable AO log echo 7 > /proc/mi_modules/mi_ao/debug_level and provide serial port logs to Audio sw RD for analysis a. Whether MI If is HDMI
    b. Whether sample rate is set as expected and whether FrmCnt is accumulating
    img
    D echo setMute Off > /proc/mi_modules/mi_hdmi/mi_hdmi0 Exit Condition 1: => Audio output is present
    Exit Condition 2: => Audio still has no output
    Exit Condition 1: => Muted, please ask customer to configure according to API documentation
    Exit Condition 2: => E
    hdmi doc
    E cat /proc/mi_modules/mi_hdmi/mi_hdmi0
    cat /proc/mi_modules/mi_hdmi/debug_hal/cfg
    ibopper: /customer/riu_r 1125;/customer/riu_r 1126
    mhera: /customer/riu_r 1458;/customer/riu_r 1459;/customer/riu_r 145a
    Provide serial port logs to RD for analysis

    2. VGA

    1. The maximum VGA timing is 1080p@60Hz, with RGB888 format. The input source originates from DISP, with internal hardware direct connection, equivalent to one screen of DISP. There is no audio, CEC, etc., and EDID is not supported.

    2. The debug method is consistent with the HDMI display abnormality described above. Specific details are not repeated here. Only the VGA log enabling part is supplemented below.

      cat /proc/mi_modules/mi_disp/debug_hal/cfg
      cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
      
      Takoyaki/iBopper: /customer/riu_r 1127;/customer/riu_r 1128;/customer/riu_r 1129
      Tiramisu/Muffin/Mochi: /customer/riu_r 145b;/customer/riu_r 1150;/customer/riu_r 1151(/customer/riu_r 1160;/customer/riu_r 1161)
      Mhera: /customer/riu_r 1157;/customer/riu_r 1150;/customer/riu_r 1151(/customer/riu_r 1160;/customer/riu_r 1161)
      
      echo 0x800020f7 > /proc/mi_modules/mi_disp/debug_hal/dbgmg  //Enable HAL layer log; please input before enabling the application when reproducing the issue
      

    3. Summary of Commonly Used Commands

    1. Check hdmitx mi/mhal configuration information

      cat /proc/mi_modules/mi_hdmi/mi_hdmi0
      cat /proc/mi_modules/mi_hdmi/debug_hal/cfg
      
    2. Check disp configuration information

      cat /proc/mi_modules/mi_disp/debug_hal/cfg
      cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
      
    3. Dump hdmitx bank

      ibopper: /customer/riu_r 1125;/customer/riu_r 1126
      mhera: /customer/riu_r 1458;/customer/riu_r 1459;/customer/riu_r 145a
      bk1125:
      timing info: width(0x17 - 0x16)  height(0x19-0x18)
      bit0 of 0x01=<0 dvi,1 hdmi>
      bit13 of 0x01=<1 mute,0 unmute>
      
    4. Mute and unmute

      echo setMute On > /proc/mi_modules/mi_hdmi/mi_hdmi0
      echo setMute Off > /proc/mi_modules/mi_hdmi/mi_hdmi0
      
    5. Check Audio configuration information

      cat /proc/mi_modules/mi_ao/mi_ao0
      
    6. Force set hdmi/dvi mode

      echo setHdmiMode hdmi > /proc/mi_modules/mi_hdmi/mi_hdmi0
      echo setHdmiMode dvi > /proc/mi_modules/mi_hdmi/mi_hdmi0
      
    7. Get Edid

      //block0
      echo getEdid 0 > /proc/mi_modules/mi_hdmi/mi_hdmi0
      //block1
      echo getEdid 1 > /proc/mi_modules/mi_hdmi/mi_hdmi0
      
    8. Parse Edid

      echo parseEdid > /proc/mi_modules/mi_hdmi/mi_hdmi0