This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] DS90UH941AS-Q1: How to configure FPD-Link III 94x audio

Part Number: DS90UH941AS-Q1

How do I configure audio for FPD-Link III 94x devices? 

  • This is a guide for configuring audio for an FPD-Link III 94x serializer. Once the serializer is configured, the connected deserializer should not need any additional setup with respect to audio.

    There are two different modes of audio transmission: FC (Forward Channel) GPIO and Data-Island modes.

    In Data-Island mode, audio will be sent across the FPD-Link during the blanking periods of the video stream. This mode allows the usage of all 4 Dx pins (DA, DB, DC, DD) and preserves the FC GPIO slots for other purposes. This mode is recommended for most applications.

    In FC GPIO mode, audio will be sent across the FPD-Link using the FC GPIO slots. The FC GPIO slots cannot be used for other purposes in this mode and at most DA and DB can be used for I2S audio (note that some deserializers may only support DA over FC GPIO transmission).FC GPIO audio should not be used when the D_GPIO are also used.

    Configuration: 

    If using Data-Island audio:

    • In GENERAL_CFG2 (0x04):
      • Set DE_GATE_RGB [4] to 1 to enable Data-Island audio transmission.
    • In DATAPATH_CTL (0x12):
      • Set I2S_TRANSPORT_SEL [1] to 0 to use Data-Island audio transmission.
    • In DATAPATH_CTL2 (0x1A):
      • Set I2S_SURROUND [0] based on the number of channels/Dx pins:
        • 0 = 2 or 4 channel I2S (DA, DB) or TDM.
        • 1 = 6 or 8 channel I2S (DA, DB, DC, DD).
    • (949 only) In BRIDGE_CFG (0x54):
      • Set AUDIO_MODE [1] to select the audio input source:
        • 0 = audio from HDMI.
        • 1 = audio from I2S/TDM pins (BCLK, WCLK, Dx).

    If using FC GPIO audio:

    • In DATAPATH_CTL (0x12):
      • Set I2S_TRANSPORT_SEL [1] to 1 to use FC GPIO audio transmission.
    • In DATAPATH_CTL2 (0x1A):
      • Set I2S_SURROUND [0] to 0 to select 2 or 4 channel I2S (DA, DB) or TDM.
    • (949 only) In BRIDGE_CFG (0x54):
      • Set AUDIO_MODE [1] to select the audio input source:
        • 0 = audio from HDMI.
        • 1 = audio from I2S/TDM pins (BCLK, WCLK, Dx).

    Example:

    8 channel I2S input on the BCLK, WCLK, DA, DB, DC, and DD pins of the DS90UH941AS-Q1 using Data-Island transmission.

    GENERAL_CFG2 = board.ReadI2C(SER_ADDR, 0x04)
    GENERAL_CFG2 = (GENERAL_CFG2 & 0xEF) | 0x10
    board.WriteI2C(SER_ADDR, 0x04, GENERAL_CFG2) # enable Data-Island audio
    DATAPATH_CTL = board.ReadI2C(SER_ADDR, 0x12)
    DATAPATH_CTL = (DATAPATH_CTL & 0xFD) | 0x00
    board.WriteI2C(SER_ADDR, 0x12, DATAPATH_CTL) # select Data-Island transmission
    DATAPATH_CTL2 = board.ReadI2C(SER_ADDR, 0x1A)
    DATAPATH_CTL2 = (DATAPATH_CTL2 & 0xFE) | 0x01
    board.WriteI2C(SER_ADDR, 0x12, DATAPATH_CTL2) # select 8 channel audio

    For questions related to 94x audio configuration, please start a new thread by clicking "ask a related question" at the top of the screen.