forked from PAWPAW-Mirror/lib_xua
SPDIF_TX and XUA_DFU_EN changes for build
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
* CODEC configuration functions.
|
* CODEC configuration functions.
|
||||||
*/
|
*/
|
||||||
void XUA_AudioHub(chanend ?c_aud
|
void XUA_AudioHub(chanend ?c_aud
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
, chanend c_spdif_tx
|
, chanend c_spdif_tx
|
||||||
#endif
|
#endif
|
||||||
#if(defined(SPDIF_RX) || defined(ADAT_RX))
|
#if(defined(SPDIF_RX) || defined(ADAT_RX))
|
||||||
|
|||||||
@@ -299,13 +299,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Enables SPDIF Tx. Default: 0 (Disabled)
|
* @brief Enables SPDIF Tx. Default: 0 (Disabled)
|
||||||
*/
|
*/
|
||||||
#ifndef SPDIF_TX
|
#ifndef XUA_SPDIF_TX_EN
|
||||||
#define SPDIF_TX (0)
|
#define XUA_SPDIF_TX_EN (0)
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Tidy up old SPDIF usage */
|
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX == 0)
|
|
||||||
#undef SPDIF_TX
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* @file audio.xc
|
* @file xua_audiohub.xc
|
||||||
* @brief XMOS L1/L2 USB 2,0 Audio Reference Design. Audio Functions.
|
* @brief XMOS USB 2.0 Audio Reference Design. Audio Functions.
|
||||||
* @author Ross Owen, XMOS Semiconductor Ltd
|
* @author Ross Owen, XMOS Semiconductor Ltd
|
||||||
*
|
*
|
||||||
* This thread handles I2S and pars an additional SPDIF Tx thread. It forwards samples to the SPDIF Tx thread.
|
* This thread handles I2S and pars an additional SPDIF Tx thread. It forwards samples to the SPDIF Tx thread.
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
#include "audioports.h"
|
#include "audioports.h"
|
||||||
#include "audiohw.h"
|
#include "audiohw.h"
|
||||||
#include "mic_array_conf.h"
|
#include "mic_array_conf.h"
|
||||||
#ifdef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN)
|
||||||
#include "SpdifTransmit.h"
|
#include "SpdifTransmit.h"
|
||||||
#endif
|
#endif
|
||||||
#ifdef ADAT_TX
|
#ifdef ADAT_TX
|
||||||
@@ -103,7 +103,7 @@ unsigned dsdMode = DSD_MODE_OFF;
|
|||||||
extern unsafe port p_mclk_in;
|
extern unsafe port p_mclk_in;
|
||||||
extern in port p_mclk_in2;
|
extern in port p_mclk_in2;
|
||||||
|
|
||||||
#ifdef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN)
|
||||||
extern buffered out port:32 p_spdif_tx;
|
extern buffered out port:32 p_spdif_tx;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -816,7 +816,7 @@ unsigned static deliver(chanend ?c_out, chanend ?c_spd_out
|
|||||||
/* Request digital data (with prefill) */
|
/* Request digital data (with prefill) */
|
||||||
outuint(c_dig_rx, 0);
|
outuint(c_dig_rx, 0);
|
||||||
#endif
|
#endif
|
||||||
#if defined(SPDIF_TX) && (NUM_USB_CHAN_OUT > 0)
|
#if (XUA_SPDIF_TX_EN) && (NUM_USB_CHAN_OUT > 0)
|
||||||
outuint(c_spd_out, samplesOut[SPDIF_TX_INDEX]); /* Forward sample to S/PDIF Tx thread */
|
outuint(c_spd_out, samplesOut[SPDIF_TX_INDEX]); /* Forward sample to S/PDIF Tx thread */
|
||||||
unsigned sample = samplesOut[SPDIF_TX_INDEX + 1];
|
unsigned sample = samplesOut[SPDIF_TX_INDEX + 1];
|
||||||
outuint(c_spd_out, sample); /* Forward sample to S/PDIF Tx thread */
|
outuint(c_spd_out, sample); /* Forward sample to S/PDIF Tx thread */
|
||||||
@@ -1023,7 +1023,7 @@ unsigned static deliver(chanend ?c_out, chanend ?c_spd_out
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
void SpdifTxWrapper(chanend c_spdif_tx)
|
void SpdifTxWrapper(chanend c_spdif_tx)
|
||||||
{
|
{
|
||||||
unsigned portId;
|
unsigned portId;
|
||||||
@@ -1102,7 +1102,7 @@ static void dummy_deliver(chanend ?c_out, unsigned &command)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void XUA_AudioHub(chanend ?c_mix_out
|
void XUA_AudioHub(chanend ?c_mix_out
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
chanend c_spdif_out,
|
chanend c_spdif_out,
|
||||||
#endif
|
#endif
|
||||||
#if (defined(ADAT_RX) || defined(SPDIF_RX))
|
#if (defined(ADAT_RX) || defined(SPDIF_RX))
|
||||||
@@ -1116,7 +1116,7 @@ chanend c_dig_rx,
|
|||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
#if defined (SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
||||||
chan c_spdif_out;
|
chan c_spdif_out;
|
||||||
#endif
|
#endif
|
||||||
#ifdef ADAT_TX
|
#ifdef ADAT_TX
|
||||||
@@ -1155,12 +1155,12 @@ chanend c_dig_rx,
|
|||||||
configure_clock_src(clk_mst_spd, p_mclk_in);
|
configure_clock_src(clk_mst_spd, p_mclk_in);
|
||||||
configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0);
|
configure_out_port_no_ready(p_adat_tx, clk_mst_spd, 0);
|
||||||
set_clock_fall_delay(clk_mst_spd, 7);
|
set_clock_fall_delay(clk_mst_spd, 7);
|
||||||
#ifndef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN == 0)
|
||||||
start_clock(clk_mst_spd);
|
start_clock(clk_mst_spd);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
/* Configure ADAT/SPDIF tx ports */
|
/* Configure ADAT/SPDIF tx ports */
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
||||||
SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in);
|
SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1307,7 +1307,7 @@ chanend c_dig_rx,
|
|||||||
par
|
par
|
||||||
{
|
{
|
||||||
|
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
||||||
{
|
{
|
||||||
set_thread_fast_mode_on();
|
set_thread_fast_mode_on();
|
||||||
SpdifTransmit(p_spdif_tx, c_spdif_out);
|
SpdifTransmit(p_spdif_tx, c_spdif_out);
|
||||||
@@ -1321,7 +1321,7 @@ chanend c_dig_rx,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#ifdef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN)
|
||||||
/* Communicate master clock and sample freq to S/PDIF thread */
|
/* Communicate master clock and sample freq to S/PDIF thread */
|
||||||
outuint(c_spdif_out, curSamFreq);
|
outuint(c_spdif_out, curSamFreq);
|
||||||
outuint(c_spdif_out, mClk);
|
outuint(c_spdif_out, mClk);
|
||||||
@@ -1346,7 +1346,7 @@ chanend c_dig_rx,
|
|||||||
outuint(c_adat_out, adatSmuxMode);
|
outuint(c_adat_out, adatSmuxMode);
|
||||||
#endif
|
#endif
|
||||||
command = deliver(c_mix_out
|
command = deliver(c_mix_out
|
||||||
#ifdef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN)
|
||||||
, c_spdif_out
|
, c_spdif_out
|
||||||
#else
|
#else
|
||||||
, null
|
, null
|
||||||
@@ -1412,7 +1412,7 @@ chanend c_dig_rx,
|
|||||||
|
|
||||||
#endif /* NO_USB */
|
#endif /* NO_USB */
|
||||||
|
|
||||||
#ifdef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN)
|
||||||
/* Notify S/PDIF task of impending new freq... */
|
/* Notify S/PDIF task of impending new freq... */
|
||||||
outct(c_spdif_out, XS1_CT_END);
|
outct(c_spdif_out, XS1_CT_END);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
#include "xua.h" /* Device specific defines */
|
#include "xua.h" /* Device specific defines */
|
||||||
#ifndef EXCLUDE_USB_AUDIO_MAIN
|
#ifndef EXCLUDE_USB_AUDIO_MAIN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -137,7 +137,7 @@ unsafe
|
|||||||
on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT;
|
on tile[XUD_TILE] : in port p_for_mclk_count = PORT_MCLK_COUNT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SPDIF_TX
|
#if (XUA_SPDIF_TX_EN == 1)
|
||||||
on tile[SPDIF_TX_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT;
|
on tile[SPDIF_TX_TILE] : buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -423,7 +423,7 @@ VENDOR_REQUESTS_PARAMS_DEC_
|
|||||||
#endif /* NO_USB */
|
#endif /* NO_USB */
|
||||||
|
|
||||||
void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
|
void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
chanend c_spdif_tx,
|
chanend c_spdif_tx,
|
||||||
#endif
|
#endif
|
||||||
#ifdef MIXER
|
#ifdef MIXER
|
||||||
@@ -433,7 +433,7 @@ void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
|
|||||||
chanend ?c_adat_rx,
|
chanend ?c_adat_rx,
|
||||||
chanend ?c_clk_ctl,
|
chanend ?c_clk_ctl,
|
||||||
chanend ?c_clk_int
|
chanend ?c_clk_int
|
||||||
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0)
|
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)
|
||||||
, server interface i_dfu ?dfuInterface
|
, server interface i_dfu ?dfuInterface
|
||||||
#endif
|
#endif
|
||||||
#if (NUM_PDM_MICS > 0)
|
#if (NUM_PDM_MICS > 0)
|
||||||
@@ -469,7 +469,7 @@ void usb_audio_io(chanend ?c_aud_in, chanend ?c_adc,
|
|||||||
#define AUDIO_CHANNEL c_aud_in
|
#define AUDIO_CHANNEL c_aud_in
|
||||||
#endif
|
#endif
|
||||||
XUA_AudioHub(AUDIO_CHANNEL
|
XUA_AudioHub(AUDIO_CHANNEL
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
c_spdif_tx,
|
c_spdif_tx,
|
||||||
#endif
|
#endif
|
||||||
#if defined(SPDIF_RX) || defined(ADAT_RX)
|
#if defined(SPDIF_RX) || defined(ADAT_RX)
|
||||||
@@ -545,7 +545,7 @@ int main()
|
|||||||
#define c_adat_rx null
|
#define c_adat_rx null
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
chan c_spdif_tx;
|
chan c_spdif_tx;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -617,7 +617,7 @@ int main()
|
|||||||
p_mclk_in = p_mclk_in_;
|
p_mclk_in = p_mclk_in_;
|
||||||
}
|
}
|
||||||
usb_audio_io(c_mix_out, c_adc
|
usb_audio_io(c_mix_out, c_adc
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
, c_spdif_tx
|
, c_spdif_tx
|
||||||
#endif
|
#endif
|
||||||
#ifdef MIXER
|
#ifdef MIXER
|
||||||
@@ -633,7 +633,7 @@ int main()
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
#if (XUA_SPDIF_TX_EN) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
on tile[SPDIF_TX_TILE]:
|
on tile[SPDIF_TX_TILE]:
|
||||||
{
|
{
|
||||||
thread_speed();
|
thread_speed();
|
||||||
|
|||||||
Reference in New Issue
Block a user