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.

DS90UB949A-Q1EVM: I2S Output from Serializer and using I2S pins as normal GPIO

Part Number: DS90UB949A-Q1EVM

Hello TI members,

I am facing some issues related to I2S output from the Serializer device, right now I am using DS-949 based EVK kit. I want to feed the HDMI input to the Serializer and want to get the HDMI audio out from the Serializer through the below pins. MODE_0 = #1, MODE_1 = #1 

I have a 2-channel input (Stereo input), so just want the I2S_DA of the Serializer to give me HDMI audio output. After searching through the TI forums, I found that by default, without setting any registers of the Serializer, I can get the I2S audio output from I2S_DA after setting 0x55[6] = 1, and yes, I am getting output from I2S_DA. 

I have a few questions to ask about the above I2S things. 

1. How can I set the I2C_CLK of the Serializer which is coming out from the Serializer device and how I2S_CLK is set to give a particular frequency?
2. If I set MODE_1 = #5, i.e., External Bridge Control, then can I get the I2S output from the Serializer or not?
3. In the above, I just want the 2-channel output from the Serializer, so just using I2S_DA for the Serializer, rest the I2S_DB, and I2S_DC pins of I2S, I want to use them as a normal GPIO mode, as, mentioned below in datasheet

as these pins are shared by I2S pins, so when I am configuring them as GPIO output pins using 0x0E, 0x0F, and 0x10 register, I am not able to control the GPIO pins of I2S_DB, I2S_DC, and I2S_DD. Please share me how can I use them as normal GPIO output pins. 

Thank you.

Regards, 
Vivek Karna

  • Hey Vivek,

    I will review your request and get back to you, thanks. 

    Regards,
    Fadi A.

  • Hello Fadi,

    Is there something?

  • Hey Vivek,

    1. How can I set the I2C_CLK of the Serializer which is coming out from the Serializer device and how I2S_CLK is set to give a particular frequency?

    The frequency is set based on your sample rate and I2S data word size which come preset from the audio file. 

    2. If I set MODE_1 = #5, i.e., External Bridge Control, then can I get the I2S output from the Serializer or not?

    Yes, should be able to do that.

    3. In the above, I just want the 2-channel output from the Serializer, so just using I2S_DA for the Serializer, rest the I2S_DB, and I2S_DC pins of I2S, I want to use them as a normal GPIO mode, as, mentioned below in datasheet

    No you can't use the I2S/GPIO shared pins as GPIO when using HDMI audio function. You need to disable HDMI audio function (Register 0x55 bit 6 (HDMI_I2S_OUT) to be able to use them as GPIOs.

    Regards,
    Fadi A.

  • Hello Fadi,

    Thank you for the reply.

    Yes, should be able to do that.

    But, when I am setting the MODE_SEL1 = #5, then I am unable to get any I2S audio output from the Serializer, but I set the internal bridge control, i.e., MODE_SEL1 = #1, then I am getting the I2S signal out from the Serializer. Please confirm again, if it's working or not.

    No you can't use the I2S/GPIO shared pins as GPIO when using HDMI audio function. You need to disable HDMI audio function (Register 0x55 bit 6 (HDMI_I2S_OUT) to be able to use them as GPIOs.

    Ok. I got it. Can you please tell me other GPIO pins that I can use as an output pin from the Serializer?

    Thank you.

    Regards,
    Vivek Karna

  • Hey Vivek,

    I was out of office and for some reason I didn't see your response when I came back. Did you get the answers figured out here or you still need help?

    Regards,
    Fadi A.

  • Hello Fadi, 

    I have already shared my response please look into the mail chain.

    Thanks & Regards,
    Vivek Karna

    Hello Fadi,

    Thank you for the reply.

    Yes, should be able to do that.

    But, when I am setting the MODE_SEL1 = #5, then I am unable to get any I2S audio output from the Serializer, but I set the internal bridge control, i.e., MODE_SEL1 = #1, then I am getting the I2S signal out from the Serializer. Please confirm again, if it's working or not.

    No you can't use the I2S/GPIO shared pins as GPIO when using HDMI audio function. You need to disable HDMI audio function (Register 0x55 bit 6 (HDMI_I2S_OUT) to be able to use them as GPIOs.

    Ok. I got it. Can you please tell me other GPIO pins that I can use as an output pin from the Serializer?

    Thank you.

  • Hi Vivek,

    Ok I will review it and get back to you. thanks!

    Regards,
    Fadi A.

  • Hi Vivek.

    But, when I am setting the MODE_SEL1 = #5, then I am unable to get any I2S audio output from the Serializer, but I set the internal bridge control, i.e., MODE_SEL1 = #1, then I am getting the I2S signal out from the Serializer. Please confirm again, if it's working or not.

    The only difference between Mode_Sel1=#1 or #5 is that in #1 you are disabling EXT_CTL and in #5 you are enabling EXT_CTL. When this bit Is set, the internal bridge control function is disabled.  This disables initialization of the HDMI Receiver.  

    Ok. I got it. Can you please tell me other GPIO pins that I can use as an output pin from the Serializer?

    In normal operation, GPIO[3:0] may be used as general-purpose I/Os in either forward channel (outputs) or back channel (inputs) mode. GPIO and D_GPIO modes may be configured from the registers. The same registers configure either GPIO or D_GPIO, depending on the status of PORT1_SEL and PORT0_SEL bits (0x1E[1:0]). D_GPIO operation requires 2-lane FPD-Link III mode See Table 1 for GPIO enable and configuration

    For back channel config:

    The D_GPIO[3:0] pins can be configured to obtain different sampling rates depending on the mode as well as back channel frequency. These different modes are controlled by a compatible deserializer. Consult the appropriate deserializer datasheet for details on how to configure the back channel frequency. See Table 2 for details about D_GPIOs in various modes.

    For GPIO_REG[8:5] Configuration

    GPIO_REG[8:5] are register-only GPIOs and may be programmed as outputs or read as inputs through local register bits only. Where applicable, these bits are shared with I2S pins and will override I2S input if enabled into GPIO_REG mode. See Table 3 for GPIO enable and configuration

    Note - Local GPIO value may be configured and read either through local register access, or remote register access through the Bidirectional Control Channel. Configuration and state of these pins are not transported from serializer to deserializer, as is the case for GPIO[3:0].

    Those are all the GPIOs highlighted. 

    Regards,
    Fadi A.