Good Morning,
I am using the SQ66 development board with the application_xvf3800_intdev-lr16-lin-spi.xe firmware. My setup includes an ESP32 (master) providing BCLK and LRCLK to the XVF3800. I receive processed audio data on DATA1 without issue at the expected 1.024 MHz. However, DATA2, which should route to the DAC, outputs at 24.05 MHz instead of the expected 1.024 MHz, preventing audible output to the speaker. I guess there should be some setting changed in firmware to enable speaker output to dac in int device conf ...
Kindly assist in enabling data2 output to enable DAC functionality.
Thanking you
Praveen
Unable to hear output audio on speaker using SQ66 Development Board Using XVF3800
-
- Junior Member
- Posts: 7
- Joined: Wed Oct 23, 2024 12:00 pm
-
Verified
- XCore Legend
- Posts: 1154
- Joined: Thu Dec 10, 2009 9:20 pm
- Location: Bristol, UK
(mod edit: moved to voice)
Technical Director @ XMOS. Opinions expressed are my own
-
- Junior Member
- Posts: 5
- Joined: Wed May 22, 2024 5:26 pm
Hi Praveen,
I see you've raised a ticket on xmos.com as well - I've provided a response there.
For other users: set appconfNUM_I2S_PINS_OUT to 2 and set USE_FAR_END_DSP in far_end_dsp.c to 1 as per the Programming Guide. Then, ensure your DAC is configured correctly - for the SQ66 board, in modules/fwk_xvf/modules/bsp/dac/dac3101/dac3101.c you will find the code that is run at startup to configure the DAC3101 chip on the SQ66 board.
Alter line 78 to read dac3101_reg_write(DAC3101_GPIO1_IO, 0x04) == 0 &&.
Insert before it:
dac3101_reg_write(DAC3101_CODEC_SEC_IF, 0x01) == 0 &&
Then in dac3101.h add
#define DAC3101_CODEC_SEC_IF 0x20
Recompile and flash, and you should then be able to control the far end DSP functionality using the AUDIO_MGR_FAR_END_DSP_ENABLE control command.
I'll note this one down as an area for improvement in our documentation as we don't make it very clear that the DAC needs reconfiguring to support this use case (use of DATA2 as a DAC input instead of DATA0).
I see you've raised a ticket on xmos.com as well - I've provided a response there.
For other users: set appconfNUM_I2S_PINS_OUT to 2 and set USE_FAR_END_DSP in far_end_dsp.c to 1 as per the Programming Guide. Then, ensure your DAC is configured correctly - for the SQ66 board, in modules/fwk_xvf/modules/bsp/dac/dac3101/dac3101.c you will find the code that is run at startup to configure the DAC3101 chip on the SQ66 board.
Alter line 78 to read dac3101_reg_write(DAC3101_GPIO1_IO, 0x04) == 0 &&.
Insert before it:
dac3101_reg_write(DAC3101_CODEC_SEC_IF, 0x01) == 0 &&
Then in dac3101.h add
#define DAC3101_CODEC_SEC_IF 0x20
Recompile and flash, and you should then be able to control the far end DSP functionality using the AUDIO_MGR_FAR_END_DSP_ENABLE control command.
I'll note this one down as an area for improvement in our documentation as we don't make it very clear that the DAC needs reconfiguring to support this use case (use of DATA2 as a DAC input instead of DATA0).