in usb audio firmware, the app_usb_aud_skc_su1 reuse DSD ports for I2S ports:
DSD ports:
<Port Location="XS1_PORT_1A" Name="PORT_DSD_CLK"/>
<Port Location="XS1_PORT_1C" Name="PORT_DSD_DAC0"/>
<Port Location="XS1_PORT_1D" Name="PORT_DSD_DAC1"/>
I2S ports:
<Port Location="XS1_PORT_1A" Name="PORT_I2S_BCLK"/>
<Port Location="XS1_PORT_1C" Name="PORT_I2S_LRCLK"/>
<Port Location="XS1_PORT_1D" Name="PORT_I2S_DAC0"/>
when set CODEC_MASTER=0, the DSD and I2S can work well.
but if set -DCODEC_MASTER=1 and -DDSD_CHANS_DAC=2, there is some error when compile:
sc_usb_audio/module_usb_audio/audio.xc:793:21: error: output to an input-designated port
p_lrclk <: 0;
^~~~~~~
sc_usb_audio/module_usb_audio/audio.xc:794:21: error: output to an input-designated port
p_bclk <: 0;
so how to cancel the ports reuse between DSD and I2S?
DSD ports could be reused for I2S ports, how to cansel this?
-
- Member++
- Posts: 30
- Joined: Tue Oct 11, 2016 7:08 am
-
- Respected Member
- Posts: 275
- Joined: Fri Mar 12, 2010 6:03 pm
I can build CODEC master with DSD successfully using these build options:and adding the following to xp_skc_su1.xn: What version of USB audio software version are you using?
Code: Select all
-DOUTPUT_FORMAT_COUNT=3 -DDSD_CHANS_DAC=2 -DCODEC_MASTER
Code: Select all
<Port Location="XS1_PORT_1A" Name="PORT_DSD_CLK"/>
<Port Location="XS1_PORT_1C" Name="PORT_DSD_DAC0"/>
<Port Location="XS1_PORT_1D" Name="PORT_DSD_DAC1"/>
-
- Member++
- Posts: 30
- Joined: Tue Oct 11, 2016 7:08 am
Hi Larry:
many thanks for your reply.
my firmware version is 6.15.2.
i have tried your setting, you should remove CODEC_MASTER setting as bellow:
//#define CODEC_MASTER 0 (customdefines.h of app_usb_aud_skc_su1)
otherwise your setting -DCODEC_MASTER=1 in Makefile don't take effect, so it compile well.
i tried remove CODEC_MASTER setting in customdefines.h, and set CODEC_MASTER=1 in Makefile,
it compile errors as i writed.
in our product, we want to take XMOS as I2S slave, we also need DSD feathure, so whether this can be implemented ?
here is my Makefile configure:
# Audio Class 2, No Input, Output, No MIDI, No SPDIF
XCC_FLAGS_2xoxxslave = $(BUILD_FLAGS) -DNUM_USB_CHAN_IN=0 -DI2S_CHANS_ADC=0 -DI2S_CHANS_DAC=2 -DSPDIF_TX=0 -DOUTPUT_FORMAT_COUNT=3 -DDSD_CHANS_DAC=2 -DCODEC_MASTER=1
INCLUDE_ONLY_IN_2xoxxslave =
many thanks for your reply.
my firmware version is 6.15.2.
i have tried your setting, you should remove CODEC_MASTER setting as bellow:
//#define CODEC_MASTER 0 (customdefines.h of app_usb_aud_skc_su1)
otherwise your setting -DCODEC_MASTER=1 in Makefile don't take effect, so it compile well.
i tried remove CODEC_MASTER setting in customdefines.h, and set CODEC_MASTER=1 in Makefile,
it compile errors as i writed.
in our product, we want to take XMOS as I2S slave, we also need DSD feathure, so whether this can be implemented ?
here is my Makefile configure:
# Audio Class 2, No Input, Output, No MIDI, No SPDIF
XCC_FLAGS_2xoxxslave = $(BUILD_FLAGS) -DNUM_USB_CHAN_IN=0 -DI2S_CHANS_ADC=0 -DI2S_CHANS_DAC=2 -DSPDIF_TX=0 -DOUTPUT_FORMAT_COUNT=3 -DDSD_CHANS_DAC=2 -DCODEC_MASTER=1
INCLUDE_ONLY_IN_2xoxxslave =
-
- Respected Member
- Posts: 275
- Joined: Fri Mar 12, 2010 6:03 pm
I noticed in other forum posts on this topic, others have pointed out that the current XMOS USB audio code only does DSD in CODEC slave mode (xCORE master).
Adding support for DSD in CODEC master mode may be relatively easy and largely come down to not doing DSD clock outputs. There is no word clock or sample alignment simply because DSD is a stream of 1-bit samples.
Adding support for DSD in CODEC master mode may be relatively easy and largely come down to not doing DSD clock outputs. There is no word clock or sample alignment simply because DSD is a stream of 1-bit samples.
-
- Member++
- Posts: 30
- Joined: Tue Oct 11, 2016 7:08 am
yes, i have got some reply from your colleague,
thanks a lot to you.
thanks a lot to you.