Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

AM625: [SysConfig] How to config MCASP1 Pin muxing for audio output to an external AMP codec.

Part Number: AM625
Other Parts Discussed in Thread: SYSCONFIG, TAS2505

Tool/software:

Hello TI

We face difficulty about bring up external AMP codec that connects to MCASP1 as in this thread: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412537/am625-register-simple-audio-card-failed/5427707#5427707 

Based on EVK reference schematic, we need to connect 4 four pins from MCASP1 for audio output;  from SOC AM6254 ALW to external AMP in our custom board.

We don't know how to config;  from the output audio direction of SoC to AMP, it should be OUTPUT from SoC.

But in Sysconfig, 

1)  Why it generated only 3 Pins? (not 4 Pins)

2)  Why they are  PIN_INPUT? (not PIN_OUTPUT; SOC to AMP)

3)  In our defaut SDK (9.0) that we use, the dts is as below and it works fine (audio has output to TLVxx codec, now we placed with TAS2505 in our custom board)

May you guide how to config the pins for our custom board (SoC (AM6254) -> i2s output -> AMP TAS2505 -> Speaker)? Thanks.

MCASP1_Pin_Muxing.pdf

BR,

       Paul

  • Additional info, our MCLK is from Oscillator ; not SoC.

  • Hello Paul,

    Thanks for reaching out to Texas Instruments E2E support forum.

    1)  Why it generated only 3 Pins? (not 4 Pins)

    Can you please try with the below configuration and let us know the results?

    With the above settings, I am able to configure the pins according to the above requirement. In your setting you have only configured 1 pin to be used.

    2)  Why they are  PIN_INPUT? (not PIN_OUTPUT; SOC to AMP)

    You are seeing the PIN_INPUT option because the Rx field is enabled by default.

    Hope the above information helps.

    Regards,

    Tushar

  • Hello Tusha, 

    1) I cannot find those pin mapping. Below is my .sysconfig file (20240807.syscfg)

        My current config is based our HW schematic as in MCASP1_Pin_Muxing.pdf

    2) RX field, i cannot uncleck; the option is disable to click. So by default it is RX.

    20240807.syscfg.txt
    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM62x" --package "ALW" --part "Default"
     * @versions {"tool":"1.20.0+3587"}
     */
    
    /**
     * These are the peripherals and settings in this configuration
     */
    const iCSI1                    = scripting.addPeripheral("CSI");
    iCSI1.$name                    = "CAM_CSI0";
    iCSI1.RXRCALIB.$used           = false;
    const iDSS1                    = scripting.addPeripheral("DSS");
    iDSS1.$name                    = "main_dss0";
    iDSS1.EXTPCLKIN.$used          = false;
    const iEPWM1                   = scripting.addPeripheral("EPWM");
    iEPWM1.$name                   = "EPWM0_BL";
    iEPWM1.A.pu_pd                 = "pu";
    iEPWM1.A.rx                    = false;
    iEPWM1.A.$assign               = "SPI0_CS0";
    iEPWM1.B.$used                 = false;
    iEPWM1.SOCA.$used              = false;
    iEPWM1.SOCB.$used              = false;
    iEPWM1.SYNCI.$used             = false;
    iEPWM1.SYNCO.$used             = false;
    iEPWM1.TZn_IN0.$used           = false;
    iEPWM1.TZn_IN1.$used           = false;
    iEPWM1.TZn_IN2.$used           = false;
    iEPWM1.TZn_IN3.$used           = false;
    iEPWM1.TZn_IN4.$used           = false;
    iEPWM1.TZn_IN5.$used           = false;
    const iI2C1                    = scripting.addPeripheral("I2C");
    iI2C1.$name                    = "main_i2c1";
    iI2C1.$assign                  = "I2C1";
    iI2C1.SCL.$assign              = "I2C1_SCL";
    iI2C1.SDA.$assign              = "I2C1_SDA";
    const iI2C2                    = scripting.addPeripheral("I2C");
    iI2C2.$name                    = "main_i2c0";
    const iMCAN1                   = scripting.addPeripheral("MCAN");
    iMCAN1.$name                   = "MAIN_MCAN0";
    const iMCASP1                  = scripting.addPeripheral("MCASP");
    iMCASP1.$name                  = "AUDIO_MCASP1";
    iMCASP1.$assign                = "MCASP1";
    iMCASP1.$pinGroup.AXR0.$assign = "GPMC0_WEn";
    iMCASP1.$pinGroup.AXR2.$assign = "GPMC0_ADVn_ALE";
    const iMCU_GPIO1               = scripting.addPeripheral("MCU_GPIO");
    iMCU_GPIO1["0"].rx             = false;
    iMCU_GPIO1["1"].rx             = false;
    iMCU_GPIO1["1"].$assign        = "MCU_SPI0_CS1";
    iMCU_GPIO1["1"].$used          = true;
    iMCU_GPIO1["2"].rx             = false;
    iMCU_GPIO1["3"].rx             = false;
    iMCU_GPIO1["3"].pu_pd          = "pd";
    iMCU_GPIO1["3"].$used          = true;
    iMCU_GPIO1["4"].rx             = false;
    iMCU_GPIO1["5"].rx             = false;
    iMCU_GPIO1["6"].rx             = false;
    iMCU_GPIO1["7"].rx             = false;
    iMCU_GPIO1["8"].rx             = false;
    iMCU_GPIO1["8"].pu_pd          = "pd";
    iMCU_GPIO1["8"].$assign        = "MCU_UART0_RTSn";
    iMCU_GPIO1["8"].$used          = true;
    iMCU_GPIO1["9"].rx             = false;
    iMCU_GPIO1["10"].rx            = false;
    iMCU_GPIO1["11"].rx            = false;
    iMCU_GPIO1["12"].rx            = false;
    iMCU_GPIO1["13"].rx            = false;
    iMCU_GPIO1["14"].rx            = false;
    iMCU_GPIO1["15"].rx            = false;
    iMCU_GPIO1["16"].rx            = false;
    iMCU_GPIO1["17"].rx            = false;
    iMCU_GPIO1["18"].rx            = false;
    iMCU_GPIO1["19"].rx            = false;
    iMCU_GPIO1["20"].rx            = false;
    iMCU_GPIO1["21"].rx            = false;
    iMCU_GPIO1["22"].rx            = false;
    iMCU_GPIO1["23"].rx            = false;
    iMCU_GPIO1.$name               = "MCU_GPIO0";
    iMCU_GPIO1.$assign             = "MCU_GPIO0";
    const iMCU_MCAN1               = scripting.addPeripheral("MCU_MCAN");
    iMCU_MCAN1.$name               = "MCU_MCAN1";
    iMCU_MCAN1.RX.$assign          = "MCU_MCAN0_RX";
    iMCU_MCAN1.TX.$assign          = "MCU_MCAN0_TX";
    const iMCU_MCAN2               = scripting.addPeripheral("MCU_MCAN");
    iMCU_MCAN2.$name               = "MCU_MCAN2";
    const iOSPI1                   = scripting.addPeripheral("OSPI");
    iOSPI1.$name                   = "MyOSPI1";
    iOSPI1.CLK.$used               = false;
    iOSPI1.CSn0.$used              = false;
    iOSPI1.CSn1.$used              = false;
    iOSPI1.CSn2.$used              = false;
    iOSPI1.CSn3.$used              = false;
    iOSPI1.D0.$used                = false;
    iOSPI1.D1.$used                = false;
    iOSPI1.D2.$used                = false;
    iOSPI1.D3.$used                = false;
    iOSPI1.D4.$used                = false;
    iOSPI1.D5.$used                = false;
    iOSPI1.D6.$used                = false;
    iOSPI1.D7.$used                = false;
    iOSPI1.DQS.$used               = false;
    const iUART1                   = scripting.addPeripheral("UART");
    iUART1.$name                   = "MAIN_UART4";
    iUART1.$assign                 = "USART4";
    iUART1.CTSn.rx                 = false;
    iUART1.CTSn.$used              = false;
    iUART1.DCDn.rx                 = false;
    iUART1.DCDn.$used              = false;
    iUART1.DSRn.rx                 = false;
    iUART1.DSRn.$used              = false;
    iUART1.DTRn.$used              = false;
    iUART1.RIn.rx                  = false;
    iUART1.RIn.$used               = false;
    iUART1.RTSn.$used              = false;
    iUART1.RXD.$assign             = "GPMC0_CSn2";
    iUART1.TXD.$assign             = "GPMC0_CSn3";
    const iUART2                   = scripting.addPeripheral("UART");
    iUART2.$name                   = "MIAN_UART6";
    iUART2.$assign                 = "USART6";
    iUART2.CTSn.rx                 = false;
    iUART2.CTSn.$used              = false;
    iUART2.DCDn.rx                 = false;
    iUART2.DCDn.$used              = false;
    iUART2.DSRn.rx                 = false;
    iUART2.DSRn.$used              = false;
    iUART2.DTRn.$used              = false;
    iUART2.RIn.rx                  = false;
    iUART2.RIn.$used               = false;
    iUART2.RTSn.$used              = false;
    const iWKUP_UART1              = scripting.addPeripheral("WKUP_UART");
    iWKUP_UART1.$name              = "touchscreen";
    iWKUP_UART1.$assign            = "WKUP_USART0";
    iWKUP_UART1.CTSn.rx            = false;
    iWKUP_UART1.CTSn.$used         = false;
    iWKUP_UART1.RTSn.$used         = false;
    iWKUP_UART1.RXD.$assign        = "WKUP_UART0_RXD";
    iWKUP_UART1.TXD.$assign        = "WKUP_UART0_TXD";
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    iCSI1.$suggestSolution           = "CSI_RX0";
    iCSI1.RXCLKN.$suggestSolution    = "CSI0_RXCLKN";
    iCSI1.RXCLKP.$suggestSolution    = "CSI0_RXCLKP";
    iCSI1.RXN0.$suggestSolution      = "CSI0_RXN0";
    iCSI1.RXN1.$suggestSolution      = "CSI0_RXN1";
    iCSI1.RXN2.$suggestSolution      = "CSI0_RXN2";
    iCSI1.RXN3.$suggestSolution      = "CSI0_RXN3";
    iCSI1.RXP0.$suggestSolution      = "CSI0_RXP0";
    iCSI1.RXP1.$suggestSolution      = "CSI0_RXP1";
    iCSI1.RXP2.$suggestSolution      = "CSI0_RXP2";
    iCSI1.RXP3.$suggestSolution      = "CSI0_RXP3";
    iDSS1.$suggestSolution           = "DSS0";
    iDSS1.VSYNC.$suggestSolution     = "VOUT0_VSYNC";
    iDSS1.HSYNC.$suggestSolution     = "VOUT0_HSYNC";
    iDSS1.PCLK.$suggestSolution      = "VOUT0_PCLK";
    iDSS1.DE.$suggestSolution        = "VOUT0_DE";
    iDSS1.DATA0.$suggestSolution     = "VOUT0_DATA0";
    iDSS1.DATA1.$suggestSolution     = "VOUT0_DATA1";
    iDSS1.DATA2.$suggestSolution     = "VOUT0_DATA2";
    iDSS1.DATA3.$suggestSolution     = "VOUT0_DATA3";
    iDSS1.DATA4.$suggestSolution     = "VOUT0_DATA4";
    iDSS1.DATA5.$suggestSolution     = "VOUT0_DATA5";
    iDSS1.DATA6.$suggestSolution     = "VOUT0_DATA6";
    iDSS1.DATA7.$suggestSolution     = "VOUT0_DATA7";
    iDSS1.DATA8.$suggestSolution     = "VOUT0_DATA8";
    iDSS1.DATA9.$suggestSolution     = "VOUT0_DATA9";
    iDSS1.DATA10.$suggestSolution    = "VOUT0_DATA10";
    iDSS1.DATA11.$suggestSolution    = "VOUT0_DATA11";
    iDSS1.DATA12.$suggestSolution    = "VOUT0_DATA12";
    iDSS1.DATA13.$suggestSolution    = "VOUT0_DATA13";
    iDSS1.DATA14.$suggestSolution    = "VOUT0_DATA14";
    iDSS1.DATA15.$suggestSolution    = "VOUT0_DATA15";
    iDSS1.DATA16.$suggestSolution    = "GPMC0_AD8";
    iDSS1.DATA17.$suggestSolution    = "GPMC0_AD9";
    iDSS1.DATA18.$suggestSolution    = "GPMC0_AD10";
    iDSS1.DATA19.$suggestSolution    = "GPMC0_AD11";
    iDSS1.DATA20.$suggestSolution    = "GPMC0_AD12";
    iDSS1.DATA21.$suggestSolution    = "GPMC0_AD13";
    iDSS1.DATA22.$suggestSolution    = "GPMC0_AD14";
    iDSS1.DATA23.$suggestSolution    = "GPMC0_AD15";
    iEPWM1.$suggestSolution          = "EHRPWM0";
    iI2C2.$suggestSolution           = "I2C0";
    iI2C2.SCL.$suggestSolution       = "I2C0_SCL";
    iI2C2.SDA.$suggestSolution       = "I2C0_SDA";
    iMCAN1.$suggestSolution          = "MCAN0";
    iMCAN1.RX.$suggestSolution       = "MCAN0_RX";
    iMCAN1.TX.$suggestSolution       = "MCAN0_TX";
    iMCASP1.ACLKX.$suggestSolution   = "GPMC0_BE0n_CLE";
    iMCASP1.AFSX.$suggestSolution    = "GPMC0_WAIT0";
    iMCU_GPIO1["3"].$suggestSolution = "MCU_SPI0_D0";
    iMCU_MCAN1.$suggestSolution      = "MCU_MCAN0";
    iMCU_MCAN2.$suggestSolution      = "MCU_MCAN1";
    iMCU_MCAN2.RX.$suggestSolution   = "MCU_MCAN1_RX";
    iMCU_MCAN2.TX.$suggestSolution   = "MCU_MCAN1_TX";
    iOSPI1.$suggestSolution          = "OSPI0";
    iUART2.RXD.$suggestSolution      = "GPMC0_WAIT1";
    iUART2.TXD.$suggestSolution      = "GPMC0_WPn";
    

  • Unable to uncheck Rx checkbox. Note, our SoC is AM6254 ALW

  • Hi Paul,

    ) I cannot find those pin mapping. Below is my .sysconfig file (20240807.syscfg)

    This above pinmux settings you can find in the AM62x_pinmux_data.c file.

    Please refer highlighted section in below image.

    2) RX field, i cannot uncleck; the option is disable to click. So by default it is RX.

    Yes, the option to uncheck Rx is disabled in Sysconfig Pinmux. So you will not be able to configure it from here.

    Regards,

    Tushar 

  • Hello Tushar

    1) Yes, i could see the tool generates all pin muxing.

    2) Why is it disabled to uncheck? It is i2s pin which is output pin from SoC AM62x to external AMP Codec.

       I am not sure but it should be OUTPUT (TX), nor RX. May you explain? 

  • Hello Paul,

    1) Yes, i could see the tool generates all pin muxing.

    Thanks for the above confirmation.

    2) Why is it disabled to uncheck? It is i2s pin which is output pin from SoC AM62x to external AMP Codec.

       I am not sure but it should be OUTPUT (TX), nor RX. May you explain? 

    Let me check the above details and revert back.

    Regards,

    Tushar

  • Hello Paul,

    From the datasheet I can see that M24 pin when configured as MCASP1_ACLKX have both input and output functionality.

    Please refer below image.

    For a workaround, save the pinmux file generated through sysconfig pinmux tool and then edit the pin_input value to pin_output. Meanwhile, I will check this internally with the team and update you why the Rx option is disabled in the tool.

    Regards,

    Tushar

  • Hello Tushar

    Yes, we used to try to configure "mannually" ACLKX, AFSX, and AXR0 as output based on  our custom board audio output senario [SoC (AM6254) -> i2s output -> AMP TAS2505 -> Speaker] but we failed to do audio code porting (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1401766/am625-request-tas2505trgerq1-audio-amp-sw-porting-support/5427798#5427798).

    So we concern about these pinmuxing configuration issue. 

    We want to know how to configure their pinmuxing for our audio configuration senario. Thanks.   

  • Hi Paul,

    So we concern about these pinmuxing configuration issue. 

    After trying the above suggested workaround, are you still facing the issue?

    Are you able to run the example provided within the SDK? 

    You can take reference from the out of box example provided as a part of MCU+SDK.

    Please refer MCASP_PLAYBACK 

    Regards,

    Tushar

  • Hello Tusar

    May I know any update from you about PIN Input/Output direction in the pinmuxing?

    I try mannually set them to OUTPUT but still do not work. 

    Note, In Sysconfig tool, by default and again, it dose not allow to set OUTPUT (all INPUT; the checkout box is gray).

    However, below is the default in SDK and audio output is normal in EVK AM62x.

    main_mcasp1_pins_default: main-mcasp1-pins-default {
    pinctrl-single,pins = <
    AM62X_IOPAD(0x090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */
    AM62X_IOPAD(0x098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */
    AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */
    AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */

    >;
    }; 

  • Hi Paul,

    I think the pinmuxing using sysconfig part is now clear. Currently the sysconfig doesn't provide option to disable the Rx parameter.

    For MCASP related query, I am routing your query to one of our team member for further comments. 

    Please expect response in a day or two.

    Regards,

    Tushar

  • However, below is the default in SDK and audio output is normal in EVK AM62x.

    main_mcasp1_pins_default: main-mcasp1-pins-default {
    pinctrl-single,pins = <
    AM62X_IOPAD(0x090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */
    AM62X_IOPAD(0x098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */
    AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */
    AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */

    >;

    Hi Paul,

    With the above pinmux you are able to output audio correctly? Is my understanding correct.

    What are you trying to configure using sysconfig tool? Also is the operating system Linux or RTOS in your testing?

    Best Regards,

    Suren

  • Hello Suren

    As you see in another thread (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412537/am625-register-simple-audio-card-failed/5462816#5462816), we are trying to port audio and we do not see output audio from SoC (MCASP1).

    So this ticket, we wanna make sure the pin config of MCASP1 is correct or not; specially these pins direction. Our custom board is Linux MCU+SDK 8.0。

  • Paul,

    I would suggest you to stick to one boot flow for playback (Either linux or RTOS) and based on that we can help debug the issue.

    Are you intending to play audio using RTOS? Is the linux side using speaker-test or alsa playback working fine?

    Best Regards,

    Suren

  • Hello Suren

    May you detail how to do "stick to one boot flow for playback "?

    We use aplay , also speaker-test, on AM62x SoC linux (our SDK is MCU SDK 9.0) shell prompt to play audio, and we expect to see audio output from the SoC via MCASP1 to external AMP.  (SOC[MCASP1]-> External APM [TAS2505]-> Speaker).

    We don't see any signal output from MCASP1 pins.

     

  • Hi Paul,

    Are you saying you are not seeing any signals on MCASP1? ACLKX, AFSX ? or just the data pins?

    Best Regards,

    Suren

  • hello Suren, 

    There is no signal output from these 3 pins.  Could you guide how to debug and fix this issue?

  • Hi Paul,

    If the codec is providing the clocks to McASP then you should be able to see the clocks on the ACLKX, AFSX. 

    Your configuration says sound_master is codec (tas2505). So you should probably check why codec is not able to provide these to MCASP pins.

    Best Regards,

    Suren

  • Hello Suren

    We want to config as below. Please guide.

    TAS2505 is an external AMP and we provide a clock to the AMP via an external crystal oscillator, this AMP will receive BCLK/WCLK/DIN from TI AM62x's MCASP1. 

    "If the codec is providing the clocks to McASP1 then you should be able to see the clocks on the ACLKX, AFSX. " 

    >> The codec does not provide clock to MCASP1. Our understanding is that, after the "simple-audio-card" driver is probed, MCASP1 will output ACLKX/AFSX/AXR0 signals to the codec AMP when we play audio (e.g with aplay music.wav command). But now we don't see any signal output from the MCASP1 (we measured those pins by oscilloscope) as descuss in https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412537/am625-register-simple-audio-card-failed/5465970#5465970

    In our senario, it seems MCASP1(Audio Source) is a master and TAS2505 is a slave (Audio Sink).

    Do we need to add any additional dts config for MCASP1? Thanks.

    "Your configuration says sound_master is codec (tas2505). So you should probably check why codec is not able to provide these to MCASP pins."

    >>May you guide how to debug the MCASP1 no output signal issue? 

  • FYI, alsamixer output

  • Hi Paul,

    If you want SoC to drive these clocks, then the pin mux has to have these lines as output and not as input. 

    Also, you would to do this in the DTS file:

    	sound_master: simple-audio-card,cpu {
    			sound-dai = <&mcasp1>;
    			system-clock-direction-out;
    		};

    Let me know if this helps.

    Best Regards,

    Suren

  • Hell Suren, 

    Below are the output of MCASP1 

    (1) ACLKX/BCLK

    (2)AFSX/WCLK

    (3) AXR0/DIN 

    But speaker has no audio sound output; only a very weak wave form.

    Any suggeston, please share. Thanks.

  • Hi Paul,

    Can you let me what values are you seeing on the ACLKX, AFSX? 

    Also did you add the system-direction-clock-out in the DTS?

    Best Regards,

    Suren

  • Hello Suren

    1. i play tone 2k (#aplay tone2k.wav), output of 

       ACLKX:5.670MHz

       AFSX: 44.13Khz

    2. Yes, we added the property in the dts,  then we could see the signal output from  ACLKX, AFSX, and ARXR0 while runing aplay.

    sound {
    status = "okay";
    compatible = "simple-audio-card";
    simple-audio-card,name = "TAS2505";
    simple-audio-card,dai-link@0 {
    format = "i2s";
    bitclock-master = <&sound_master>;
    frame-master = <&sound_master>;
    sound_master:cpu {
    clocks = <&clk_mcasp1>;
    sound-dai = <&mcasp1>;
    system-clock-direction-out;
    };

    codec {
    sound-dai = <&tas2505>;
    };
    };
    };

  • Hello Suren

    1. i play tone 2k (#aplay tone2k.wav), output of 

       ACLKX:5.670MHz

       AFSX: 44.13Khz

    Are they normal output when for 2k tone?

    2. Yes, we added the property in the dts,  then we could see the signal output from  ACLKX, AFSX, and ARXR0 while runing aplay.

    sound {
    status = "okay";
    compatible = "simple-audio-card";
    simple-audio-card,name = "TAS2505";
    simple-audio-card,dai-link@0 {
    format = "i2s";
    bitclock-master = <&sound_master>;
    frame-master = <&sound_master>;
    sound_master:cpu {
    clocks = <&clk_mcasp1>;
    sound-dai = <&mcasp1>;
    system-clock-direction-out;
    };

    codec {
    sound-dai = <&tas2505>;
    };
    };
    };

    This output audio issue is related with aplay command? please suggest.

  • Hi Paul,

    If you are able to probe the CLKS and Data lines and are seeing audio, can you check the connection from TAS2505 to speaker ?

    aplay -D plughw:0,0 -c 2 -r 48000 -f S16_LE  test.wav  does this command work?

    Best Regards,

    Suren

  • hello Suren, 

    Thank you very much for your support; we could hear the sound out put from speaker now after adjusting the AMP volume register.

    I think, we can close this ticket now.

  • Hi Paul,

    Glad to hear that you were able to get the audio working.

    Closing this thread.

    Best Regards,

    Suren