Merge pull request #283 from xross/feature/adat

Feature/adat
This commit is contained in:
Ross Owen
2022-09-07 11:42:04 +01:00
committed by GitHub
14 changed files with 172 additions and 163 deletions

View File

@@ -1,6 +1,19 @@
lib_xua Change Log lib_xua Change Log
================== ==================
UNRELEASED
----------
* CHANGED: Define ADAT_RX renamed to XUA_ADAT_RX_EN
* CHANGED: Define ADAT_TX renamed to XUA_ADAT_TX_EN
* CHANGED: Define SPDIF_RX renamed to XUA_SPDIF_RX_EN
* FIXED: Intermittent underflow at MAX_FREQ on input stream start due to
insufficient packet buffering
* Changes to dependencies:
- lib_xud: 2.1.0 -> 2.2.0
3.2.0 3.2.0
----- -----
@@ -11,7 +24,6 @@ lib_xua Change Log
* FIXED: Incorrect conditional compilation of HID report code * FIXED: Incorrect conditional compilation of HID report code
* FIXED: Input/output descriptors written when input/output not enabled. * FIXED: Input/output descriptors written when input/output not enabled.
(Audio class 1.0 mode using XUA_USB_DESCRIPTOR_OVERWRITE_RATE_RES) (Audio class 1.0 mode using XUA_USB_DESCRIPTOR_OVERWRITE_RATE_RES)
* FIXED: Insufficient buffering of input packets
* Changes to dependencies: * Changes to dependencies:

View File

@@ -48,7 +48,7 @@ void XUA_AudioHub(chanend ?c_aud,
#if (XUA_SPDIF_TX_EN) //&& (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 (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
, chanend c_dig , chanend c_dig
#endif #endif
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1) #if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)

View File

@@ -39,7 +39,7 @@ void XUA_Buffer(
chanend c_midi_to_host, chanend c_midi_to_host,
chanend c_midi, chanend c_midi,
#endif #endif
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
chanend ?c_int, chanend ?c_int,
chanend ?c_clk_int, chanend ?c_clk_int,
#endif #endif
@@ -67,7 +67,7 @@ void XUA_Buffer_Ep(chanend c_aud_out,
chanend c_midi_to_host, chanend c_midi_to_host,
chanend c_midi, chanend c_midi,
#endif #endif
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
chanend ?c_int, chanend ?c_int,
chanend ?c_clk_int, chanend ?c_clk_int,
#endif #endif

View File

@@ -371,8 +371,8 @@
/** /**
* @brief Enables ADAT Rx. Default: 0 (Disabled) * @brief Enables ADAT Rx. Default: 0 (Disabled)
*/ */
#ifndef ADAT_RX #ifndef XUA_ADAT_RX_EN
#define ADAT_RX (0) #define XUA_ADAT_RX_EN (0)
#endif #endif
/** /**
@@ -392,11 +392,11 @@
* @brief ADAT Rx first channel index. defines which channels ADAT will be input on. * @brief ADAT Rx first channel index. defines which channels ADAT will be input on.
* Note, indexed from 0. * Note, indexed from 0.
* *
* Default: NONE (Must be defined by app when ADAT_RX enabled) * Default: NONE (Must be defined by app when XUA_ADAT_RX_EN is true)
*/ */
#if (ADAT_RX) || defined(__DOXYGEN__) #if (XUA_ADAT_RX_EN) || defined(__DOXYGEN__)
#ifndef ADAT_RX_INDEX #ifndef ADAT_RX_INDEX
#error ADAT_RX_INDEX not defined and ADAT_RX defined #error ADAT_RX_INDEX not defined and XUA_ADAT_RX_EN is true
#define ADAT_RX_INDEX (0) /* Default define for doxygen */ #define ADAT_RX_INDEX (0) /* Default define for doxygen */
#endif #endif
@@ -405,7 +405,7 @@
#endif #endif
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
/* Setup input stream formats for ADAT */ /* Setup input stream formats for ADAT */
#if(MAX_FREQ > 96000) #if(MAX_FREQ > 96000)
@@ -1168,7 +1168,7 @@ enum USBEndpointNumber_In
ENDPOINT_NUMBER_IN_FEEDBACK, ENDPOINT_NUMBER_IN_FEEDBACK,
#endif #endif
ENDPOINT_NUMBER_IN_AUDIO, ENDPOINT_NUMBER_IN_AUDIO,
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
ENDPOINT_NUMBER_IN_INTERRUPT, /* Audio interrupt/status EP */ ENDPOINT_NUMBER_IN_INTERRUPT, /* Audio interrupt/status EP */
#endif #endif
#ifdef MIDI #ifdef MIDI
@@ -1242,9 +1242,9 @@ enum USBEndpointNumber_Out
#endif #endif
/* Length of clock unit/clock-selector units */ /* Length of clock unit/clock-selector units */
#if (XUA_SPDIF_RX_EN) && (ADAT_RX) #if (XUA_SPDIF_RX_EN) && (XUA_ADAT_RX_EN)
#define NUM_CLOCKS (3) #define NUM_CLOCKS (3)
#elif (XUA_SPDIF_RX_EN) || (ADAT_RX) #elif (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
#define NUM_CLOCKS (2) #define NUM_CLOCKS (2)
#else #else
#define NUM_CLOCKS (1) #define NUM_CLOCKS (1)
@@ -1472,7 +1472,7 @@ enum USBEndpointNumber_Out
#endif #endif
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC) #if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
#if (XUA_SPDIF_RX_EN|| ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
#error "Digital input streams not supported in Sync mode" #error "Digital input streams not supported in Sync mode"
#endif #endif
#endif #endif

View File

@@ -1,4 +1,4 @@
// Copyright 2018-2021 XMOS LIMITED. // Copyright 2018-2022 XMOS LIMITED.
// This Software is subject to the terms of the XMOS Public Licence: Version 1. // This Software is subject to the terms of the XMOS Public Licence: Version 1.
unsigned adatCounter = 0; unsigned adatCounter = 0;
@@ -11,7 +11,7 @@ static inline void TransferAdatTxSamples(chanend c_adat_out, const unsigned samp
/* Do some re-arranging for SMUX.. */ /* Do some re-arranging for SMUX.. */
unsafe unsafe
{ {
unsigned * unsafe samplesFromHostAdat = &samplesFromHost[ADAT_TX_INDEX]; unsigned * unsafe samplesFromHostAdat = (unsigned * unsafe) &samplesFromHost[ADAT_TX_INDEX];
/* Note, when smux == 1 this loop just does a straight 1:1 copy */ /* Note, when smux == 1 this loop just does a straight 1:1 copy */
//if(smux != 1) //if(smux != 1)
@@ -38,7 +38,7 @@ static inline void TransferAdatTxSamples(chanend c_adat_out, const unsigned samp
inuint(c_adat_out); inuint(c_adat_out);
/* Send buffer pointer over to ADAT core */ /* Send buffer pointer over to ADAT core */
volatile unsigned * unsafe samplePtr = &adatSamples; volatile unsigned * unsafe samplePtr = (unsigned * unsafe) &adatSamples;
outuint(c_adat_out, (unsigned) samplePtr); outuint(c_adat_out, (unsigned) samplePtr);
} }
#else #else

View File

@@ -23,7 +23,7 @@
#if (XUA_SPDIF_TX_EN) #if (XUA_SPDIF_TX_EN)
#include "spdif.h" #include "spdif.h"
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
#include "adat_tx.h" #include "adat_tx.h"
#ifndef ADAT_TX_USE_SHARED_BUFF #ifndef ADAT_TX_USE_SHARED_BUFF
#error Designed for ADAT tx shared buffer mode ONLY #error Designed for ADAT tx shared buffer mode ONLY
@@ -46,7 +46,7 @@
static unsigned samplesOut[MAX(NUM_USB_CHAN_OUT, I2S_CHANS_DAC)]; static unsigned samplesOut[MAX(NUM_USB_CHAN_OUT, I2S_CHANS_DAC)];
/* Two buffers for ADC data to allow for DAC and ADC I2S ports being offset */ /* Two buffers for ADC data to allow for DAC and ADC I2S ports being offset */
#define IN_CHAN_COUNT (I2S_CHANS_ADC + XUA_NUM_PDM_MICS + (8*ADAT_RX) + (2*XUA_SPDIF_RX_EN)) #define IN_CHAN_COUNT (I2S_CHANS_ADC + XUA_NUM_PDM_MICS + (8*XUA_ADAT_RX_EN) + (2*XUA_SPDIF_RX_EN))
static unsigned samplesIn[2][MAX(NUM_USB_CHAN_IN, IN_CHAN_COUNT)]; static unsigned samplesIn[2][MAX(NUM_USB_CHAN_IN, IN_CHAN_COUNT)];
@@ -63,11 +63,11 @@ static unsigned samplesIn[2][MAX(NUM_USB_CHAN_IN, IN_CHAN_COUNT)];
#pragma xta command "set required - 2000 ns" #pragma xta command "set required - 2000 ns"
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
extern buffered out port:32 p_adat_tx; extern buffered out port:32 p_adat_tx;
#endif #endif
#if defined(ADAT_TX) #if (XUA_ADAT_TX_EN)
extern clock clk_mst_spd; extern clock clk_mst_spd;
#endif #endif
@@ -86,7 +86,7 @@ unsigned dsdMode = DSD_MODE_OFF;
#include "audiohub_dsd.h" #include "audiohub_dsd.h"
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
#include "audiohub_adat.h" #include "audiohub_adat.h"
#endif #endif
@@ -208,12 +208,12 @@ static inline int HandleSampleClock(int frameCount, buffered _XUA_CLK_DIR port:3
#pragma unsafe arrays #pragma unsafe arrays
unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
, chanend c_adat_out , chanend c_adat_out
, unsigned adatSmuxMode , unsigned adatSmuxMode
#endif #endif
, unsigned divide, unsigned curSamFreq , unsigned divide, unsigned curSamFreq
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
, chanend c_dig_rx , chanend c_dig_rx
#endif #endif
#if (XUA_NUM_PDM_MICS > 0) #if (XUA_NUM_PDM_MICS > 0)
@@ -238,7 +238,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
#endif #endif
unsigned underflowWord = 0; unsigned underflowWord = 0;
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
adatCounter = 0; adatCounter = 0;
#endif #endif
@@ -296,7 +296,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
// Reinitialise user state before entering the main loop // Reinitialise user state before entering the main loop
UserBufferManagementInit(); UserBufferManagementInit();
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
unsafe{ unsafe{
//TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 0); //TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 0);
volatile unsigned * unsafe samplePtr = &samplesOut[ADAT_TX_INDEX]; volatile unsigned * unsafe samplePtr = &samplesOut[ADAT_TX_INDEX];
@@ -411,14 +411,14 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
} }
#endif // (I2S_CHANS_DAC != 0) #endif // (I2S_CHANS_DAC != 0)
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 1); TransferAdatTxSamples(c_adat_out, samplesOut, adatSmuxMode, 1);
#endif #endif
if(frameCount == 0) if(frameCount == 0)
{ {
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* Sync with clockgen */ /* Sync with clockgen */
inuint(c_dig_rx); inuint(c_dig_rx);
@@ -428,7 +428,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
asm("ldw %0, dp[g_digData]" :"=r"(samplesIn[readBuffNo][SPDIF_RX_INDEX + 0])); asm("ldw %0, dp[g_digData]" :"=r"(samplesIn[readBuffNo][SPDIF_RX_INDEX + 0]));
asm("ldw %0, dp[g_digData+4]":"=r"(samplesIn[readBuffNo][SPDIF_RX_INDEX + 1])); asm("ldw %0, dp[g_digData+4]":"=r"(samplesIn[readBuffNo][SPDIF_RX_INDEX + 1]));
#endif #endif
#if (ADAT_RX) #if (XUA_ADAT_RX_EN)
asm("ldw %0, dp[g_digData+8]" :"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX])); asm("ldw %0, dp[g_digData+8]" :"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX]));
asm("ldw %0, dp[g_digData+12]":"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX + 1])); asm("ldw %0, dp[g_digData+12]":"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX + 1]));
asm("ldw %0, dp[g_digData+16]":"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX + 2])); asm("ldw %0, dp[g_digData+16]":"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX + 2]));
@@ -439,7 +439,7 @@ unsigned static AudioHub_MainLoop(chanend ?c_out, chanend ?c_spd_out
asm("ldw %0, dp[g_digData+36]":"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX + 7])); asm("ldw %0, dp[g_digData+36]":"=r"(samplesIn[readBuffNo][ADAT_RX_INDEX + 7]));
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* Request digital data (with prefill) */ /* Request digital data (with prefill) */
outuint(c_dig_rx, 0); outuint(c_dig_rx, 0);
#endif #endif
@@ -668,7 +668,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
#if (XUA_SPDIF_TX_EN) //&& (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 (ADAT_RX || XUA_SPDIF_RX_EN) #if (XUA_ADAT_RX_EN || XUA_SPDIF_RX_EN)
, chanend c_dig_rx , chanend c_dig_rx
#endif #endif
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1) #if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)
@@ -679,12 +679,11 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
#endif #endif
) )
{ {
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
chan c_adat_out; chan c_adat_out;
unsigned adatSmuxMode = 0; unsigned adatSmuxMode = 0;
unsigned adatMultiple = 0; unsigned adatMultiple = 0;
#endif #endif
unsigned curSamFreq = DEFAULT_FREQ * AUD_TO_USB_RATIO; unsigned curSamFreq = DEFAULT_FREQ * AUD_TO_USB_RATIO;
unsigned curSamRes_DAC = STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS; /* Default to something reasonable */ unsigned curSamRes_DAC = STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS; /* Default to something reasonable */
unsigned curSamRes_ADC = STREAM_FORMAT_INPUT_1_RESOLUTION_BITS; /* Default to something reasonable - note, currently this never changes*/ unsigned curSamRes_ADC = STREAM_FORMAT_INPUT_1_RESOLUTION_BITS; /* Default to something reasonable - note, currently this never changes*/
@@ -708,7 +707,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
} }
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
/* Share SPDIF clk blk */ /* Share SPDIF clk blk */
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);
@@ -727,7 +726,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
if (((MCLK_441) % curSamFreq) == 0) if (((MCLK_441) % curSamFreq) == 0)
{ {
mClk = MCLK_441; mClk = MCLK_441;
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
/* Calculate ADAT SMUX mode (1, 2, 4) */ /* Calculate ADAT SMUX mode (1, 2, 4) */
adatSmuxMode = curSamFreq / 44100; adatSmuxMode = curSamFreq / 44100;
adatMultiple = mClk / 44100; adatMultiple = mClk / 44100;
@@ -736,7 +735,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
else if (((MCLK_48) % curSamFreq) == 0) else if (((MCLK_48) % curSamFreq) == 0)
{ {
mClk = MCLK_48; mClk = MCLK_48;
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
/* Calculate ADAT SMUX mode (1, 2, 4) */ /* Calculate ADAT SMUX mode (1, 2, 4) */
adatSmuxMode = curSamFreq / 48000; adatSmuxMode = curSamFreq / 48000;
adatMultiple = mClk / 48000; adatMultiple = mClk / 48000;
@@ -860,7 +859,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
par par
{ {
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
{ {
set_thread_fast_mode_on(); set_thread_fast_mode_on();
adat_tx_port(c_adat_out, p_adat_tx); adat_tx_port(c_adat_out, p_adat_tx);
@@ -879,7 +878,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
c_pdm_in <: curSamFreq / AUD_TO_MICS_RATIO; c_pdm_in <: curSamFreq / AUD_TO_MICS_RATIO;
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
// Configure ADAT parameters ... // Configure ADAT parameters ...
// //
// adat_oversampling = 256 for MCLK = 12M288 or 11M2896 // adat_oversampling = 256 for MCLK = 12M288 or 11M2896
@@ -899,12 +898,12 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
#else #else
, null , null
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
, c_adat_out , c_adat_out
, adatSmuxMode , adatSmuxMode
#endif #endif
, divide, curSamFreq , divide, curSamFreq
#if (ADAT_RX || XUA_SPDIF_RX_EN) #if (XUA_ADAT_RX_EN || XUA_SPDIF_RX_EN)
, c_dig_rx , c_dig_rx
#endif #endif
#if (XUA_NUM_PDM_MICS > 0) #if (XUA_NUM_PDM_MICS > 0)
@@ -964,7 +963,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
c_pdm_in <: 0; c_pdm_in <: 0;
#endif #endif
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
#ifdef ADAT_TX_USE_SHARED_BUFF #ifdef ADAT_TX_USE_SHARED_BUFF
/* Take out-standing handshake from ADAT core */ /* Take out-standing handshake from ADAT core */
inuint(c_adat_out); inuint(c_adat_out);

View File

@@ -45,7 +45,7 @@ unsigned g_speed = (AUDIO_CLASS == 2) ? (DEFAULT_FREQ/8000) << 16 : (DEFAULT_FRE
unsigned g_freqChange = 0; unsigned g_freqChange = 0;
unsigned feedbackValid = 0; unsigned feedbackValid = 0;
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* When digital Rx enabled we enable an interrupt EP to inform host about changes in clock validity */ /* When digital Rx enabled we enable an interrupt EP to inform host about changes in clock validity */
/* Interrupt EP report data */ /* Interrupt EP report data */
unsigned char g_intData[8] = unsigned char g_intData[8] =
@@ -102,7 +102,7 @@ void XUA_Buffer(
chanend c_midi_to_host, chanend c_midi_to_host,
chanend c_midi, chanend c_midi,
#endif #endif
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
chanend ?c_ep_int, chanend ?c_ep_int,
chanend ?c_clk_int, chanend ?c_clk_int,
#endif #endif
@@ -137,7 +137,7 @@ void XUA_Buffer(
c_midi_to_host, /* MIDI In */ // 4 c_midi_to_host, /* MIDI In */ // 4
c_midi, c_midi,
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* Audio Interrupt - only used for interrupts on external clock change */ /* Audio Interrupt - only used for interrupts on external clock change */
c_ep_int, c_ep_int,
c_clk_int, c_clk_int,
@@ -186,7 +186,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
chanend c_midi_to_host, chanend c_midi_to_host,
chanend c_midi, chanend c_midi,
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
chanend ?c_ep_int, chanend ?c_ep_int,
chanend ?c_clk_int, chanend ?c_clk_int,
#endif #endif
@@ -229,7 +229,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
XUD_ep ep_iap_ea_native_in = XUD_InitEp(c_iap_ea_native_in); XUD_ep ep_iap_ea_native_in = XUD_InitEp(c_iap_ea_native_in);
#endif #endif
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
XUD_ep ep_int = XUD_InitEp(c_ep_int); XUD_ep ep_int = XUD_InitEp(c_ep_int);
#endif #endif
@@ -381,7 +381,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
/* Wait for response from XUD and service relevant EP */ /* Wait for response from XUD and service relevant EP */
select select
{ {
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* Clocking thread wants to produce an interrupt... */ /* Clocking thread wants to produce an interrupt... */
case inuint_byref(c_clk_int, u_tmp): case inuint_byref(c_clk_int, u_tmp):
chkct(c_clk_int, XS1_CT_END); chkct(c_clk_int, XS1_CT_END);

View File

@@ -81,7 +81,7 @@ void PllRefPinTask(server interface pll_ref_if i_pll_ref, out port p_pll_ref)
} }
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
static int abs(int x) static int abs(int x)
{ {
if (x < 0) return -x; if (x < 0) return -x;
@@ -116,7 +116,7 @@ static void outInterrupt(chanend c_interruptControl, int value)
void VendorClockValidity(int valid); void VendorClockValidity(int valid);
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
static inline void setClockValidity(chanend c_interruptControl, int clkIndex, int valid, int currentClkMode) static inline void setClockValidity(chanend c_interruptControl, int clkIndex, int valid, int currentClkMode)
{ {
if (clockValid[clkIndex] != valid) if (clockValid[clkIndex] != valid)
@@ -125,7 +125,7 @@ static inline void setClockValidity(chanend c_interruptControl, int clkIndex, in
outInterrupt(c_interruptControl, clockId[clkIndex]); outInterrupt(c_interruptControl, clockId[clkIndex]);
#ifdef CLOCK_VALIDITY_CALL #ifdef CLOCK_VALIDITY_CALL
#if ADAT_RX #if (XUA_ADAT_RX_EN)
if (currentClkMode == CLOCK_ADAT && clkIndex == CLOCK_ADAT_INDEX) if (currentClkMode == CLOCK_ADAT && clkIndex == CLOCK_ADAT_INDEX)
{ {
VendorClockValidity(valid); VendorClockValidity(valid);
@@ -261,7 +261,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
unsigned levelTime; unsigned levelTime;
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
timer t_external; timer t_external;
#endif #endif
@@ -279,7 +279,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
unsigned spdifLeft = 0; unsigned spdifLeft = 0;
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
/* ADAT buffer state */ /* ADAT buffer state */
int adatSamples[MAX_ADAT_SAMPLES]; int adatSamples[MAX_ADAT_SAMPLES];
int adatWr = 0; int adatWr = 0;
@@ -311,7 +311,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
clockId[CLOCK_INTERNAL_INDEX] = ID_CLKSRC_INT; clockId[CLOCK_INTERNAL_INDEX] = ID_CLKSRC_INT;
clockValid[CLOCK_INTERNAL_INDEX] = 0; clockValid[CLOCK_INTERNAL_INDEX] = 0;
clockInt[CLOCK_INTERNAL_INDEX] = 0; clockInt[CLOCK_INTERNAL_INDEX] = 0;
#if ADAT_RX #if (XUA_ADAT_RX_EN)
clockFreq[CLOCK_ADAT_INDEX] = 0; clockFreq[CLOCK_ADAT_INDEX] = 0;
clockInt[CLOCK_ADAT_INDEX] = 0; clockInt[CLOCK_ADAT_INDEX] = 0;
clockValid[CLOCK_ADAT_INDEX] = 0; clockValid[CLOCK_ADAT_INDEX] = 0;
@@ -326,7 +326,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
spdifCounters.samplesPerTick = 0; spdifCounters.samplesPerTick = 0;
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
adatCounters.receivedSamples = 0; adatCounters.receivedSamples = 0;
adatCounters.samples = 0; adatCounters.samples = 0;
adatCounters.savedSamples = 0; adatCounters.savedSamples = 0;
@@ -346,7 +346,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
levelTime+= LEVEL_UPDATE_RATE; levelTime+= LEVEL_UPDATE_RATE;
#endif #endif
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
/* Fill channel */ /* Fill channel */
outuint(c_dig_rx, 1); outuint(c_dig_rx, 1);
#endif #endif
@@ -423,7 +423,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
case CLOCK_INTERNAL: case CLOCK_INTERNAL:
VendorClockValidity(1); VendorClockValidity(1);
break; break;
#if ADAT_RX #if (XUA_ADAT_RX_EN)
case CLOCK_ADAT: case CLOCK_ADAT:
VendorClockValidity(clockValid[CLOCK_ADAT_INDEX]); VendorClockValidity(clockValid[CLOCK_ADAT_INDEX]);
break; break;
@@ -454,7 +454,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
case SET_SMUX: case SET_SMUX:
smux = inuint(c_clk_ctl); smux = inuint(c_clk_ctl);
#if ADAT_RX #if (XUA_ADAT_RX_EN)
adatRd = 0; /* Reset adat FIFO */ adatRd = 0; /* Reset adat FIFO */
adatWr = 0; adatWr = 0;
adatSamps = 0; adatSamps = 0;
@@ -491,7 +491,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
#if (XUA_SPDIF_RX_EN) #if (XUA_SPDIF_RX_EN)
spdifCounters.receivedSamples = 0; spdifCounters.receivedSamples = 0;
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
adatCounters.receivedSamples = 0; adatCounters.receivedSamples = 0;
#endif #endif
@@ -505,7 +505,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
break; break;
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
case t_external when timerafter(timeNextClockDetection) :> void: case t_external when timerafter(timeNextClockDetection) :> void:
timeNextClockDetection += (LOCAL_CLOCK_INCREMENT); timeNextClockDetection += (LOCAL_CLOCK_INCREMENT);
@@ -516,7 +516,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
tmp = validSamples(spdifCounters, CLOCK_SPDIF_INDEX); tmp = validSamples(spdifCounters, CLOCK_SPDIF_INDEX);
setClockValidity(c_clk_int, CLOCK_SPDIF_INDEX, tmp, clkMode); setClockValidity(c_clk_int, CLOCK_SPDIF_INDEX, tmp, clkMode);
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
tmp = validSamples(adatCounters, CLOCK_ADAT_INDEX); tmp = validSamples(adatCounters, CLOCK_ADAT_INDEX);
setClockValidity(c_clk_int, CLOCK_ADAT_INDEX, tmp, clkMode); setClockValidity(c_clk_int, CLOCK_ADAT_INDEX, tmp, clkMode);
#endif #endif
@@ -609,7 +609,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
} }
break; break;
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
/* receive sample from ADAT rx thread (streaming channel with CT_END) */ /* receive sample from ADAT rx thread (streaming channel with CT_END) */
case inuint_byref(c_adat_rx, tmp): case inuint_byref(c_adat_rx, tmp):
/* record time of sample */ /* record time of sample */
@@ -722,7 +722,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* Mixer requests data */ /* Mixer requests data */
case inuint_byref(c_dig_rx, tmp): case inuint_byref(c_dig_rx, tmp):
#if (XUA_SPDIF_RX_EN) #if (XUA_SPDIF_RX_EN)
@@ -763,7 +763,7 @@ void clockGen (streaming chanend ?c_spdif_rx, chanend ?c_adat_rx, client interfa
} }
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
if (adatUnderflow) if (adatUnderflow)
{ {
/* ADAT underflowing, send out zero samples */ /* ADAT underflowing, send out zero samples */

View File

@@ -21,7 +21,7 @@ def genstrings(outputChanCount, chanString, portString, structureString, adc_dac
\"SPDIF 2\"\n\ \"SPDIF 2\"\n\
#endif\n\ #endif\n\
#endif\n\ #endif\n\
#if (({i} < ADAT_{p}_INDEX+8+1) && ({i} > ADAT_{p}_INDEX)) && (ADAT_{p})\n\ #if (({i} < ADAT_{p}_INDEX+8+1) && ({i} > ADAT_{p}_INDEX)) && (XUA_ADAT_{p}_EN)\n\
#if (({i} < SPDIF_{p}_INDEX+2+1) && ({i} > SPDIF_{p}_INDEX)) && (XUA_SPDIF_{p}_EN) || ({i} < I2S_CHANS_{adcdac}+1)\n\ #if (({i} < SPDIF_{p}_INDEX+2+1) && ({i} > SPDIF_{p}_INDEX)) && (XUA_SPDIF_{p}_EN) || ({i} < I2S_CHANS_{adcdac}+1)\n\
\"/\"\n\ \"/\"\n\
#endif\n\ #endif\n\

View File

@@ -22,7 +22,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((1 < ADAT_TX_INDEX+8+1) && (1 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((1 < ADAT_TX_INDEX+8+1) && (1 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((1 < SPDIF_TX_INDEX+2+1) && (1 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (1 < I2S_CHANS_DAC+1) #if ((1 < SPDIF_TX_INDEX+2+1) && (1 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (1 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -62,7 +62,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((2 < ADAT_TX_INDEX+8+1) && (2 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((2 < ADAT_TX_INDEX+8+1) && (2 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((2 < SPDIF_TX_INDEX+2+1) && (2 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (2 < I2S_CHANS_DAC+1) #if ((2 < SPDIF_TX_INDEX+2+1) && (2 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (2 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -102,7 +102,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((3 < ADAT_TX_INDEX+8+1) && (3 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((3 < ADAT_TX_INDEX+8+1) && (3 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((3 < SPDIF_TX_INDEX+2+1) && (3 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (3 < I2S_CHANS_DAC+1) #if ((3 < SPDIF_TX_INDEX+2+1) && (3 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (3 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -142,7 +142,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((4 < ADAT_TX_INDEX+8+1) && (4 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((4 < ADAT_TX_INDEX+8+1) && (4 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((4 < SPDIF_TX_INDEX+2+1) && (4 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (4 < I2S_CHANS_DAC+1) #if ((4 < SPDIF_TX_INDEX+2+1) && (4 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (4 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -182,7 +182,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((5 < ADAT_TX_INDEX+8+1) && (5 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((5 < ADAT_TX_INDEX+8+1) && (5 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((5 < SPDIF_TX_INDEX+2+1) && (5 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (5 < I2S_CHANS_DAC+1) #if ((5 < SPDIF_TX_INDEX+2+1) && (5 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (5 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -222,7 +222,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((6 < ADAT_TX_INDEX+8+1) && (6 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((6 < ADAT_TX_INDEX+8+1) && (6 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((6 < SPDIF_TX_INDEX+2+1) && (6 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (6 < I2S_CHANS_DAC+1) #if ((6 < SPDIF_TX_INDEX+2+1) && (6 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (6 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -262,7 +262,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((7 < ADAT_TX_INDEX+8+1) && (7 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((7 < ADAT_TX_INDEX+8+1) && (7 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((7 < SPDIF_TX_INDEX+2+1) && (7 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (7 < I2S_CHANS_DAC+1) #if ((7 < SPDIF_TX_INDEX+2+1) && (7 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (7 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -302,7 +302,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((8 < ADAT_TX_INDEX+8+1) && (8 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((8 < ADAT_TX_INDEX+8+1) && (8 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((8 < SPDIF_TX_INDEX+2+1) && (8 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (8 < I2S_CHANS_DAC+1) #if ((8 < SPDIF_TX_INDEX+2+1) && (8 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (8 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -342,7 +342,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((9 < ADAT_TX_INDEX+8+1) && (9 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((9 < ADAT_TX_INDEX+8+1) && (9 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((9 < SPDIF_TX_INDEX+2+1) && (9 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (9 < I2S_CHANS_DAC+1) #if ((9 < SPDIF_TX_INDEX+2+1) && (9 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (9 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -382,7 +382,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((10 < ADAT_TX_INDEX+8+1) && (10 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((10 < ADAT_TX_INDEX+8+1) && (10 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((10 < SPDIF_TX_INDEX+2+1) && (10 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (10 < I2S_CHANS_DAC+1) #if ((10 < SPDIF_TX_INDEX+2+1) && (10 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (10 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -422,7 +422,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((11 < ADAT_TX_INDEX+8+1) && (11 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((11 < ADAT_TX_INDEX+8+1) && (11 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((11 < SPDIF_TX_INDEX+2+1) && (11 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (11 < I2S_CHANS_DAC+1) #if ((11 < SPDIF_TX_INDEX+2+1) && (11 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (11 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -462,7 +462,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((12 < ADAT_TX_INDEX+8+1) && (12 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((12 < ADAT_TX_INDEX+8+1) && (12 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((12 < SPDIF_TX_INDEX+2+1) && (12 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (12 < I2S_CHANS_DAC+1) #if ((12 < SPDIF_TX_INDEX+2+1) && (12 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (12 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -502,7 +502,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((13 < ADAT_TX_INDEX+8+1) && (13 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((13 < ADAT_TX_INDEX+8+1) && (13 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((13 < SPDIF_TX_INDEX+2+1) && (13 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (13 < I2S_CHANS_DAC+1) #if ((13 < SPDIF_TX_INDEX+2+1) && (13 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (13 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -542,7 +542,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((14 < ADAT_TX_INDEX+8+1) && (14 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((14 < ADAT_TX_INDEX+8+1) && (14 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((14 < SPDIF_TX_INDEX+2+1) && (14 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (14 < I2S_CHANS_DAC+1) #if ((14 < SPDIF_TX_INDEX+2+1) && (14 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (14 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -582,7 +582,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((15 < ADAT_TX_INDEX+8+1) && (15 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((15 < ADAT_TX_INDEX+8+1) && (15 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((15 < SPDIF_TX_INDEX+2+1) && (15 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (15 < I2S_CHANS_DAC+1) #if ((15 < SPDIF_TX_INDEX+2+1) && (15 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (15 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -622,7 +622,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((16 < ADAT_TX_INDEX+8+1) && (16 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((16 < ADAT_TX_INDEX+8+1) && (16 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((16 < SPDIF_TX_INDEX+2+1) && (16 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (16 < I2S_CHANS_DAC+1) #if ((16 < SPDIF_TX_INDEX+2+1) && (16 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (16 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -662,7 +662,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((17 < ADAT_TX_INDEX+8+1) && (17 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((17 < ADAT_TX_INDEX+8+1) && (17 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((17 < SPDIF_TX_INDEX+2+1) && (17 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (17 < I2S_CHANS_DAC+1) #if ((17 < SPDIF_TX_INDEX+2+1) && (17 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (17 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -702,7 +702,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((18 < ADAT_TX_INDEX+8+1) && (18 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((18 < ADAT_TX_INDEX+8+1) && (18 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((18 < SPDIF_TX_INDEX+2+1) && (18 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (18 < I2S_CHANS_DAC+1) #if ((18 < SPDIF_TX_INDEX+2+1) && (18 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (18 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -742,7 +742,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((19 < ADAT_TX_INDEX+8+1) && (19 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((19 < ADAT_TX_INDEX+8+1) && (19 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((19 < SPDIF_TX_INDEX+2+1) && (19 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (19 < I2S_CHANS_DAC+1) #if ((19 < SPDIF_TX_INDEX+2+1) && (19 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (19 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -782,7 +782,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((20 < ADAT_TX_INDEX+8+1) && (20 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((20 < ADAT_TX_INDEX+8+1) && (20 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((20 < SPDIF_TX_INDEX+2+1) && (20 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (20 < I2S_CHANS_DAC+1) #if ((20 < SPDIF_TX_INDEX+2+1) && (20 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (20 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -822,7 +822,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((21 < ADAT_TX_INDEX+8+1) && (21 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((21 < ADAT_TX_INDEX+8+1) && (21 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((21 < SPDIF_TX_INDEX+2+1) && (21 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (21 < I2S_CHANS_DAC+1) #if ((21 < SPDIF_TX_INDEX+2+1) && (21 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (21 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -862,7 +862,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((22 < ADAT_TX_INDEX+8+1) && (22 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((22 < ADAT_TX_INDEX+8+1) && (22 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((22 < SPDIF_TX_INDEX+2+1) && (22 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (22 < I2S_CHANS_DAC+1) #if ((22 < SPDIF_TX_INDEX+2+1) && (22 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (22 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -902,7 +902,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((23 < ADAT_TX_INDEX+8+1) && (23 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((23 < ADAT_TX_INDEX+8+1) && (23 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((23 < SPDIF_TX_INDEX+2+1) && (23 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (23 < I2S_CHANS_DAC+1) #if ((23 < SPDIF_TX_INDEX+2+1) && (23 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (23 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -942,7 +942,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((24 < ADAT_TX_INDEX+8+1) && (24 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((24 < ADAT_TX_INDEX+8+1) && (24 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((24 < SPDIF_TX_INDEX+2+1) && (24 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (24 < I2S_CHANS_DAC+1) #if ((24 < SPDIF_TX_INDEX+2+1) && (24 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (24 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -982,7 +982,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((25 < ADAT_TX_INDEX+8+1) && (25 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((25 < ADAT_TX_INDEX+8+1) && (25 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((25 < SPDIF_TX_INDEX+2+1) && (25 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (25 < I2S_CHANS_DAC+1) #if ((25 < SPDIF_TX_INDEX+2+1) && (25 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (25 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1022,7 +1022,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((26 < ADAT_TX_INDEX+8+1) && (26 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((26 < ADAT_TX_INDEX+8+1) && (26 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((26 < SPDIF_TX_INDEX+2+1) && (26 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (26 < I2S_CHANS_DAC+1) #if ((26 < SPDIF_TX_INDEX+2+1) && (26 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (26 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1062,7 +1062,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((27 < ADAT_TX_INDEX+8+1) && (27 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((27 < ADAT_TX_INDEX+8+1) && (27 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((27 < SPDIF_TX_INDEX+2+1) && (27 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (27 < I2S_CHANS_DAC+1) #if ((27 < SPDIF_TX_INDEX+2+1) && (27 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (27 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1102,7 +1102,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((28 < ADAT_TX_INDEX+8+1) && (28 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((28 < ADAT_TX_INDEX+8+1) && (28 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((28 < SPDIF_TX_INDEX+2+1) && (28 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (28 < I2S_CHANS_DAC+1) #if ((28 < SPDIF_TX_INDEX+2+1) && (28 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (28 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1142,7 +1142,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((29 < ADAT_TX_INDEX+8+1) && (29 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((29 < ADAT_TX_INDEX+8+1) && (29 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((29 < SPDIF_TX_INDEX+2+1) && (29 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (29 < I2S_CHANS_DAC+1) #if ((29 < SPDIF_TX_INDEX+2+1) && (29 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (29 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1182,7 +1182,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((30 < ADAT_TX_INDEX+8+1) && (30 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((30 < ADAT_TX_INDEX+8+1) && (30 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((30 < SPDIF_TX_INDEX+2+1) && (30 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (30 < I2S_CHANS_DAC+1) #if ((30 < SPDIF_TX_INDEX+2+1) && (30 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (30 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1222,7 +1222,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((31 < ADAT_TX_INDEX+8+1) && (31 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((31 < ADAT_TX_INDEX+8+1) && (31 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((31 < SPDIF_TX_INDEX+2+1) && (31 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (31 < I2S_CHANS_DAC+1) #if ((31 < SPDIF_TX_INDEX+2+1) && (31 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (31 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1262,7 +1262,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((32 < ADAT_TX_INDEX+8+1) && (32 > ADAT_TX_INDEX)) && (ADAT_TX) #if ((32 < ADAT_TX_INDEX+8+1) && (32 > ADAT_TX_INDEX)) && (XUA_ADAT_TX_EN)
#if ((32 < SPDIF_TX_INDEX+2+1) && (32 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (32 < I2S_CHANS_DAC+1) #if ((32 < SPDIF_TX_INDEX+2+1) && (32 > SPDIF_TX_INDEX)) && (XUA_SPDIF_TX_EN) || (32 < I2S_CHANS_DAC+1)
"/" "/"
#endif #endif
@@ -1305,7 +1305,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((1 < ADAT_RX_INDEX+8+1) && (1 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((1 < ADAT_RX_INDEX+8+1) && (1 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((1 < SPDIF_RX_INDEX+2+1) && (1 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (1 < I2S_CHANS_ADC+1) #if ((1 < SPDIF_RX_INDEX+2+1) && (1 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (1 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1345,7 +1345,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((2 < ADAT_RX_INDEX+8+1) && (2 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((2 < ADAT_RX_INDEX+8+1) && (2 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((2 < SPDIF_RX_INDEX+2+1) && (2 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (2 < I2S_CHANS_ADC+1) #if ((2 < SPDIF_RX_INDEX+2+1) && (2 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (2 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1385,7 +1385,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((3 < ADAT_RX_INDEX+8+1) && (3 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((3 < ADAT_RX_INDEX+8+1) && (3 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((3 < SPDIF_RX_INDEX+2+1) && (3 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (3 < I2S_CHANS_ADC+1) #if ((3 < SPDIF_RX_INDEX+2+1) && (3 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (3 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1425,7 +1425,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((4 < ADAT_RX_INDEX+8+1) && (4 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((4 < ADAT_RX_INDEX+8+1) && (4 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((4 < SPDIF_RX_INDEX+2+1) && (4 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (4 < I2S_CHANS_ADC+1) #if ((4 < SPDIF_RX_INDEX+2+1) && (4 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (4 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1465,7 +1465,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((5 < ADAT_RX_INDEX+8+1) && (5 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((5 < ADAT_RX_INDEX+8+1) && (5 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((5 < SPDIF_RX_INDEX+2+1) && (5 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (5 < I2S_CHANS_ADC+1) #if ((5 < SPDIF_RX_INDEX+2+1) && (5 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (5 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1505,7 +1505,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((6 < ADAT_RX_INDEX+8+1) && (6 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((6 < ADAT_RX_INDEX+8+1) && (6 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((6 < SPDIF_RX_INDEX+2+1) && (6 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (6 < I2S_CHANS_ADC+1) #if ((6 < SPDIF_RX_INDEX+2+1) && (6 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (6 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1545,7 +1545,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((7 < ADAT_RX_INDEX+8+1) && (7 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((7 < ADAT_RX_INDEX+8+1) && (7 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((7 < SPDIF_RX_INDEX+2+1) && (7 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (7 < I2S_CHANS_ADC+1) #if ((7 < SPDIF_RX_INDEX+2+1) && (7 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (7 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1585,7 +1585,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((8 < ADAT_RX_INDEX+8+1) && (8 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((8 < ADAT_RX_INDEX+8+1) && (8 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((8 < SPDIF_RX_INDEX+2+1) && (8 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (8 < I2S_CHANS_ADC+1) #if ((8 < SPDIF_RX_INDEX+2+1) && (8 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (8 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1625,7 +1625,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((9 < ADAT_RX_INDEX+8+1) && (9 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((9 < ADAT_RX_INDEX+8+1) && (9 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((9 < SPDIF_RX_INDEX+2+1) && (9 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (9 < I2S_CHANS_ADC+1) #if ((9 < SPDIF_RX_INDEX+2+1) && (9 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (9 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1665,7 +1665,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((10 < ADAT_RX_INDEX+8+1) && (10 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((10 < ADAT_RX_INDEX+8+1) && (10 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((10 < SPDIF_RX_INDEX+2+1) && (10 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (10 < I2S_CHANS_ADC+1) #if ((10 < SPDIF_RX_INDEX+2+1) && (10 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (10 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1705,7 +1705,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((11 < ADAT_RX_INDEX+8+1) && (11 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((11 < ADAT_RX_INDEX+8+1) && (11 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((11 < SPDIF_RX_INDEX+2+1) && (11 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (11 < I2S_CHANS_ADC+1) #if ((11 < SPDIF_RX_INDEX+2+1) && (11 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (11 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1745,7 +1745,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((12 < ADAT_RX_INDEX+8+1) && (12 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((12 < ADAT_RX_INDEX+8+1) && (12 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((12 < SPDIF_RX_INDEX+2+1) && (12 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (12 < I2S_CHANS_ADC+1) #if ((12 < SPDIF_RX_INDEX+2+1) && (12 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (12 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1785,7 +1785,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((13 < ADAT_RX_INDEX+8+1) && (13 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((13 < ADAT_RX_INDEX+8+1) && (13 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((13 < SPDIF_RX_INDEX+2+1) && (13 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (13 < I2S_CHANS_ADC+1) #if ((13 < SPDIF_RX_INDEX+2+1) && (13 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (13 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1825,7 +1825,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((14 < ADAT_RX_INDEX+8+1) && (14 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((14 < ADAT_RX_INDEX+8+1) && (14 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((14 < SPDIF_RX_INDEX+2+1) && (14 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (14 < I2S_CHANS_ADC+1) #if ((14 < SPDIF_RX_INDEX+2+1) && (14 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (14 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1865,7 +1865,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((15 < ADAT_RX_INDEX+8+1) && (15 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((15 < ADAT_RX_INDEX+8+1) && (15 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((15 < SPDIF_RX_INDEX+2+1) && (15 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (15 < I2S_CHANS_ADC+1) #if ((15 < SPDIF_RX_INDEX+2+1) && (15 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (15 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1905,7 +1905,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((16 < ADAT_RX_INDEX+8+1) && (16 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((16 < ADAT_RX_INDEX+8+1) && (16 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((16 < SPDIF_RX_INDEX+2+1) && (16 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (16 < I2S_CHANS_ADC+1) #if ((16 < SPDIF_RX_INDEX+2+1) && (16 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (16 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1945,7 +1945,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((17 < ADAT_RX_INDEX+8+1) && (17 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((17 < ADAT_RX_INDEX+8+1) && (17 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((17 < SPDIF_RX_INDEX+2+1) && (17 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (17 < I2S_CHANS_ADC+1) #if ((17 < SPDIF_RX_INDEX+2+1) && (17 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (17 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -1985,7 +1985,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((18 < ADAT_RX_INDEX+8+1) && (18 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((18 < ADAT_RX_INDEX+8+1) && (18 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((18 < SPDIF_RX_INDEX+2+1) && (18 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (18 < I2S_CHANS_ADC+1) #if ((18 < SPDIF_RX_INDEX+2+1) && (18 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (18 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2025,7 +2025,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((19 < ADAT_RX_INDEX+8+1) && (19 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((19 < ADAT_RX_INDEX+8+1) && (19 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((19 < SPDIF_RX_INDEX+2+1) && (19 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (19 < I2S_CHANS_ADC+1) #if ((19 < SPDIF_RX_INDEX+2+1) && (19 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (19 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2065,7 +2065,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((20 < ADAT_RX_INDEX+8+1) && (20 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((20 < ADAT_RX_INDEX+8+1) && (20 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((20 < SPDIF_RX_INDEX+2+1) && (20 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (20 < I2S_CHANS_ADC+1) #if ((20 < SPDIF_RX_INDEX+2+1) && (20 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (20 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2105,7 +2105,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((21 < ADAT_RX_INDEX+8+1) && (21 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((21 < ADAT_RX_INDEX+8+1) && (21 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((21 < SPDIF_RX_INDEX+2+1) && (21 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (21 < I2S_CHANS_ADC+1) #if ((21 < SPDIF_RX_INDEX+2+1) && (21 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (21 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2145,7 +2145,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((22 < ADAT_RX_INDEX+8+1) && (22 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((22 < ADAT_RX_INDEX+8+1) && (22 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((22 < SPDIF_RX_INDEX+2+1) && (22 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (22 < I2S_CHANS_ADC+1) #if ((22 < SPDIF_RX_INDEX+2+1) && (22 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (22 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2185,7 +2185,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((23 < ADAT_RX_INDEX+8+1) && (23 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((23 < ADAT_RX_INDEX+8+1) && (23 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((23 < SPDIF_RX_INDEX+2+1) && (23 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (23 < I2S_CHANS_ADC+1) #if ((23 < SPDIF_RX_INDEX+2+1) && (23 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (23 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2225,7 +2225,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((24 < ADAT_RX_INDEX+8+1) && (24 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((24 < ADAT_RX_INDEX+8+1) && (24 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((24 < SPDIF_RX_INDEX+2+1) && (24 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (24 < I2S_CHANS_ADC+1) #if ((24 < SPDIF_RX_INDEX+2+1) && (24 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (24 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2265,7 +2265,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((25 < ADAT_RX_INDEX+8+1) && (25 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((25 < ADAT_RX_INDEX+8+1) && (25 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((25 < SPDIF_RX_INDEX+2+1) && (25 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (25 < I2S_CHANS_ADC+1) #if ((25 < SPDIF_RX_INDEX+2+1) && (25 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (25 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2305,7 +2305,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((26 < ADAT_RX_INDEX+8+1) && (26 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((26 < ADAT_RX_INDEX+8+1) && (26 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((26 < SPDIF_RX_INDEX+2+1) && (26 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (26 < I2S_CHANS_ADC+1) #if ((26 < SPDIF_RX_INDEX+2+1) && (26 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (26 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2345,7 +2345,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((27 < ADAT_RX_INDEX+8+1) && (27 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((27 < ADAT_RX_INDEX+8+1) && (27 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((27 < SPDIF_RX_INDEX+2+1) && (27 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (27 < I2S_CHANS_ADC+1) #if ((27 < SPDIF_RX_INDEX+2+1) && (27 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (27 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2385,7 +2385,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((28 < ADAT_RX_INDEX+8+1) && (28 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((28 < ADAT_RX_INDEX+8+1) && (28 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((28 < SPDIF_RX_INDEX+2+1) && (28 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (28 < I2S_CHANS_ADC+1) #if ((28 < SPDIF_RX_INDEX+2+1) && (28 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (28 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2425,7 +2425,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((29 < ADAT_RX_INDEX+8+1) && (29 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((29 < ADAT_RX_INDEX+8+1) && (29 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((29 < SPDIF_RX_INDEX+2+1) && (29 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (29 < I2S_CHANS_ADC+1) #if ((29 < SPDIF_RX_INDEX+2+1) && (29 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (29 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2465,7 +2465,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((30 < ADAT_RX_INDEX+8+1) && (30 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((30 < ADAT_RX_INDEX+8+1) && (30 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((30 < SPDIF_RX_INDEX+2+1) && (30 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (30 < I2S_CHANS_ADC+1) #if ((30 < SPDIF_RX_INDEX+2+1) && (30 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (30 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2505,7 +2505,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((31 < ADAT_RX_INDEX+8+1) && (31 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((31 < ADAT_RX_INDEX+8+1) && (31 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((31 < SPDIF_RX_INDEX+2+1) && (31 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (31 < I2S_CHANS_ADC+1) #if ((31 < SPDIF_RX_INDEX+2+1) && (31 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (31 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif
@@ -2545,7 +2545,7 @@
"SPDIF 2" "SPDIF 2"
#endif #endif
#endif #endif
#if ((32 < ADAT_RX_INDEX+8+1) && (32 > ADAT_RX_INDEX)) && (ADAT_RX) #if ((32 < ADAT_RX_INDEX+8+1) && (32 > ADAT_RX_INDEX)) && (XUA_ADAT_RX_EN)
#if ((32 < SPDIF_RX_INDEX+2+1) && (32 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (32 < I2S_CHANS_ADC+1) #if ((32 < SPDIF_RX_INDEX+2+1) && (32 > SPDIF_RX_INDEX)) && (XUA_SPDIF_RX_EN) || (32 < I2S_CHANS_ADC+1)
"/" "/"
#endif #endif

View File

@@ -92,7 +92,7 @@ typedef struct
#if XUA_SPDIF_RX_EN #if XUA_SPDIF_RX_EN
STR_TABLE_ENTRY(spdifClockSourceStr); /* iClockSource for external S/PDIF clock */ STR_TABLE_ENTRY(spdifClockSourceStr); /* iClockSource for external S/PDIF clock */
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
STR_TABLE_ENTRY(adatClockSourceStr); /* iClockSource for external S/PDIF clock */ STR_TABLE_ENTRY(adatClockSourceStr); /* iClockSource for external S/PDIF clock */
#endif #endif
#endif // AUDIO_CLASS == 2 #endif // AUDIO_CLASS == 2
@@ -363,10 +363,10 @@ StringDescTable_t g_strTable =
#if (AUDIO_CLASS == 2) #if (AUDIO_CLASS == 2)
.clockSelectorStr = XUA_CLOCK_SELECTOR_EMPTY_STRING, .clockSelectorStr = XUA_CLOCK_SELECTOR_EMPTY_STRING,
.internalClockSourceStr = XUA_INTERNAL_CLOCK_SELECTOR_EMPTY_STRING, .internalClockSourceStr = XUA_INTERNAL_CLOCK_SELECTOR_EMPTY_STRING,
#if XUA_SPDIF_RX_EN #if (XUA_SPDIF_RX_EN)
.spdifClockSourceStr = XUA_SPDIF_CLOCK_SOURCE_EMPTY_STRING, .spdifClockSourceStr = XUA_SPDIF_CLOCK_SOURCE_EMPTY_STRING,
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
.adatClockSourceStr = XUA_ADAT_CLOCK_SOURCE_EMPTY_STRING, .adatClockSourceStr = XUA_ADAT_CLOCK_SOURCE_EMPTY_STRING,
#endif #endif
#endif // AUDIO_CLASS == 2 #endif // AUDIO_CLASS == 2
@@ -656,10 +656,10 @@ typedef struct
/* Class Specific Audio Control Interface Header Descriptor */ /* Class Specific Audio Control Interface Header Descriptor */
UAC_Descriptor_Interface_AC_t Audio_ClassControlInterface; UAC_Descriptor_Interface_AC_t Audio_ClassControlInterface;
USB_Descriptor_Audio_ClockSource_t Audio_ClockSource; USB_Descriptor_Audio_ClockSource_t Audio_ClockSource;
#if XUA_SPDIF_RX_EN #if (XUA_SPDIF_RX_EN)
USB_Descriptor_Audio_ClockSource_t Audio_ClockSource_SPDIF; USB_Descriptor_Audio_ClockSource_t Audio_ClockSource_SPDIF;
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
USB_Descriptor_Audio_ClockSource_t Audio_ClockSource_ADAT; USB_Descriptor_Audio_ClockSource_t Audio_ClockSource_ADAT;
#endif #endif
USB_Descriptor_Audio_ClockSelector_t Audio_ClockSelector; USB_Descriptor_Audio_ClockSelector_t Audio_ClockSelector;
@@ -691,7 +691,7 @@ typedef struct
// USB_Descriptor_Audio_MixerUnit_t Audio_MixerUnit; // USB_Descriptor_Audio_MixerUnit_t Audio_MixerUnit;
unsigned char configDesc_MixerUnit[MIXER_LENGTH]; unsigned char configDesc_MixerUnit[MIXER_LENGTH];
#endif #endif
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
/* Interrupt EP */ /* Interrupt EP */
USB_Descriptor_Endpoint_t Audio_Int_Endpoint; USB_Descriptor_Endpoint_t Audio_Int_Endpoint;
#endif #endif
@@ -833,7 +833,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.bDescriptorType = USB_DESCTYPE_INTERFACE, .bDescriptorType = USB_DESCTYPE_INTERFACE,
.bInterfaceNumber = INTERFACE_NUMBER_AUDIO_CONTROL, .bInterfaceNumber = INTERFACE_NUMBER_AUDIO_CONTROL,
.bAlternateSetting = 0x00, /* Must be 0 */ .bAlternateSetting = 0x00, /* Must be 0 */
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
.bNumEndpoints = 0x01, /* 0 or 1 if optional interrupt endpoint is present */ .bNumEndpoints = 0x01, /* 0 or 1 if optional interrupt endpoint is present */
#else #else
.bNumEndpoints = 0x00, .bNumEndpoints = 0x00,
@@ -904,7 +904,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
}, },
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
/* Clock Source Descriptor (4.7.2.1) */ /* Clock Source Descriptor (4.7.2.1) */
.Audio_ClockSource_ADAT = .Audio_ClockSource_ADAT =
{ {
@@ -938,11 +938,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
.bClockID = ID_CLKSEL, .bClockID = ID_CLKSEL,
.bNrPins = NUM_CLOCKS, .bNrPins = NUM_CLOCKS,
.baCSourceId[0] = ID_CLKSRC_INT, /* baCSourceID */ .baCSourceId[0] = ID_CLKSRC_INT, /* baCSourceID */
#if XUA_SPDIF_RX_EN #if (XUA_SPDIF_RX_EN)
ID_CLKSRC_SPDIF, /* baCSourceID */ ID_CLKSRC_SPDIF, /* baCSourceID */
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
ID_CLKSRC_ADAT, /* baCSourceID */ ID_CLKSRC_ADAT, /* baCSourceID */
#endif #endif
.bmControl = 0x03, .bmControl = 0x03,
@@ -1394,7 +1394,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
}, },
#endif /* defined(MIXER) && (MAX_MIX_COUNT > 0) */ #endif /* defined(MIXER) && (MAX_MIX_COUNT > 0) */
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN)
/* Standard AS Interrupt Endpoint Descriptor (4.8.2.1): */ /* Standard AS Interrupt Endpoint Descriptor (4.8.2.1): */
.Audio_Int_Endpoint = .Audio_Int_Endpoint =
{ {

View File

@@ -341,7 +341,7 @@ int AudioClassRequests_2(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket_t &sp, c
setG_curSamFreqMultiplier(g_curSamFreq/(newMasterClock/512)); setG_curSamFreqMultiplier(g_curSamFreq/(newMasterClock/512));
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
/* Configure ADAT SMUX based on sample rate */ /* Configure ADAT SMUX based on sample rate */
outuint(c_clk_ctl, SET_SMUX); outuint(c_clk_ctl, SET_SMUX);
if(g_curSamFreq < 88200) if(g_curSamFreq < 88200)

View File

@@ -41,7 +41,7 @@
#include "SpdifReceive.h" #include "SpdifReceive.h"
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
#include "adat_rx.h" #include "adat_rx.h"
#endif #endif
@@ -138,15 +138,15 @@ on tile[AUDIO_IO_TILE] : in port p_mclk_in = PORT_MCLK_IN;
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
#if (XUA_SPDIF_TX_EN == 1) #if (XUA_SPDIF_TX_EN)
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
#ifdef ADAT_TX #if (XUA_ADAT_TX_EN)
on stdcore[AUDIO_IO_TILE] : buffered out port:32 p_adat_tx = PORT_ADAT_OUT; on stdcore[AUDIO_IO_TILE] : buffered out port:32 p_adat_tx = PORT_ADAT_OUT;
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
on stdcore[XUD_TILE] : buffered in port:32 p_adat_rx = PORT_ADAT_IN; on stdcore[XUD_TILE] : buffered in port:32 p_adat_rx = PORT_ADAT_IN;
#endif #endif
@@ -154,7 +154,7 @@ on stdcore[XUD_TILE] : buffered in port:32 p_adat_rx = PORT_ADAT_IN;
on tile[XUD_TILE] : buffered in port:4 p_spdif_rx = PORT_SPDIF_IN; on tile[XUD_TILE] : buffered in port:4 p_spdif_rx = PORT_SPDIF_IN;
#endif #endif
#if (XUA_SPDIF_RX_EN) || (ADAT_RX) || (XUA_SYNCMODE == XUA_SYNCMODE_SYNC) #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN) || (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
/* Reference to external clock multiplier */ /* Reference to external clock multiplier */
on tile[PLL_REF_TILE] : out port p_pll_ref = PORT_PLL_REF; on tile[PLL_REF_TILE] : out port p_pll_ref = PORT_PLL_REF;
#endif #endif
@@ -178,7 +178,7 @@ clock clk_pdm = on tile[PDM_TILE]:
on tile[MIDI_TILE] : clock clk_midi = CLKBLK_MIDI; on tile[MIDI_TILE] : clock clk_midi = CLKBLK_MIDI;
#endif #endif
#if XUA_SPDIF_TX_EN || defined(ADAT_TX) #if (XUA_SPDIF_TX_EN || XUA_ADAT_TX_EN)
on tile[SPDIF_TX_TILE] : clock clk_mst_spd = CLKBLK_SPDIF_TX; on tile[SPDIF_TX_TILE] : clock clk_mst_spd = CLKBLK_SPDIF_TX;
#endif #endif
@@ -236,7 +236,7 @@ XUD_EpType epTypeTableIn[ENDPOINT_COUNT_IN] = { XUD_EPTYPE_CTL | XUD_STATUS_ENAB
#if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP)
XUD_EPTYPE_ISO, /* Async feedback endpoint */ XUD_EPTYPE_ISO, /* Async feedback endpoint */
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
XUD_EPTYPE_BUL, XUD_EPTYPE_BUL,
#endif #endif
#ifdef MIDI #ifdef MIDI
@@ -355,7 +355,7 @@ VENDOR_REQUESTS_PARAMS_DEC_
c_xud_in[ENDPOINT_NUMBER_IN_MIDI], /* MIDI In */ // 4 c_xud_in[ENDPOINT_NUMBER_IN_MIDI], /* MIDI In */ // 4
c_midi, c_midi,
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
/* Audio Interrupt - only used for interrupts on external clock change */ /* Audio Interrupt - only used for interrupts on external clock change */
c_xud_in[ENDPOINT_NUMBER_IN_INTERRUPT], c_xud_in[ENDPOINT_NUMBER_IN_INTERRUPT],
c_clk_int, c_clk_int,
@@ -425,7 +425,7 @@ void usb_audio_io(chanend ?c_aud_in,
#endif #endif
, chanend c_pdm_pcm , chanend c_pdm_pcm
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
, client interface pll_ref_if i_pll_ref , client interface pll_ref_if i_pll_ref
#endif #endif
) )
@@ -434,7 +434,7 @@ void usb_audio_io(chanend ?c_aud_in,
chan c_mix_out; chan c_mix_out;
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
chan c_dig_rx; chan c_dig_rx;
#else #else
#define c_dig_rx null #define c_dig_rx null
@@ -481,7 +481,7 @@ void usb_audio_io(chanend ?c_aud_in,
#if (XUA_SPDIF_TX_EN) //&& (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 (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
, c_dig_rx , c_dig_rx
#endif #endif
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1) #if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)
@@ -497,7 +497,7 @@ void usb_audio_io(chanend ?c_aud_in,
xua_pdm_mic(c_ds_output, p_pdm_mics); xua_pdm_mic(c_ds_output, p_pdm_mics);
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
{ {
/* ClockGen must currently run on same tile as AudioHub due to shared memory buffer /* ClockGen must currently run on same tile as AudioHub due to shared memory buffer
* However, due to the use of an interface the pll reference signal port can be on another tile * However, due to the use of an interface the pll reference signal port can be on another tile
@@ -549,7 +549,7 @@ int main()
#define c_spdif_rx null #define c_spdif_rx null
#endif #endif
#if ADAT_RX #if (XUA_ADAT_RX_EN)
chan c_adat_rx; chan c_adat_rx;
#else #else
#define c_adat_rx null #define c_adat_rx null
@@ -559,7 +559,7 @@ int main()
chan c_spdif_tx; chan c_spdif_tx;
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
chan c_clk_ctl; chan c_clk_ctl;
chan c_clk_int; chan c_clk_int;
#else #else
@@ -581,7 +581,7 @@ int main()
#endif #endif
#endif #endif
#if ((XUA_SYNCMODE == XUA_SYNCMODE_SYNC) || XUA_SPDIF_RX_EN || ADAT_RX) #if ((XUA_SYNCMODE == XUA_SYNCMODE_SYNC) || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
interface pll_ref_if i_pll_ref; interface pll_ref_if i_pll_ref;
#endif #endif
@@ -591,7 +591,7 @@ int main()
{ {
USER_MAIN_CORES USER_MAIN_CORES
#if ((XUA_SYNCMODE == XUA_SYNCMODE_SYNC) || XUA_SPDIF_RX_EN || ADAT_RX) #if ((XUA_SYNCMODE == XUA_SYNCMODE_SYNC) || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
on tile[PLL_REF_TILE]: PllRefPinTask(i_pll_ref, p_pll_ref); on tile[PLL_REF_TILE]: PllRefPinTask(i_pll_ref, p_pll_ref);
#endif #endif
on tile[XUD_TILE]: on tile[XUD_TILE]:
@@ -647,7 +647,7 @@ int main()
#endif #endif
, c_pdm_pcm , c_pdm_pcm
#endif #endif
#if (XUA_SPDIF_RX_EN || ADAT_RX) #if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
, i_pll_ref , i_pll_ref
#endif #endif
); );
@@ -694,7 +694,7 @@ int main()
} }
#endif #endif
#if (ADAT_RX) #if (XUA_ADAT_RX_EN)
on stdcore[XUD_TILE] : on stdcore[XUD_TILE] :
{ {
set_thread_fast_mode_on(); set_thread_fast_mode_on();

View File

@@ -1,17 +1,15 @@
// Copyright 2015-2021 XMOS LIMITED. // Copyright 2015-2022 XMOS LIMITED.
// This Software is subject to the terms of the XMOS Public Licence: Version 1. // This Software is subject to the terms of the XMOS Public Licence: Version 1.
#ifndef _UAC_HWRESOURCES_H_ #ifndef _UAC_HWRESOURCES_H_
#define _UAC_HWRESOURCES_H_ #define _UAC_HWRESOURCES_H_
/* XUD_U_SERIES, XUD_X200_SERIES */
/* Note, U-series XUD uses clock blocks 4 and 5 - see XUD_Ports.xc */
#define CLKBLK_MIDI XS1_CLKBLK_REF; #define CLKBLK_MIDI XS1_CLKBLK_REF;
#define CLKBLK_SPDIF_TX XS1_CLKBLK_1 #define CLKBLK_SPDIF_TX XS1_CLKBLK_1
#define CLKBLK_SPDIF_RX XS1_CLKBLK_1 #define CLKBLK_SPDIF_RX XS1_CLKBLK_1
#define CLKBLK_MCLK XS1_CLKBLK_2 #define CLKBLK_MCLK XS1_CLKBLK_2
#define CLKBLK_FLASHLIB XS1_CLKBLK_3 /* Clock block for use by flash lib */ #define CLKBLK_FLASHLIB XS1_CLKBLK_3 /* Clock block for use by flash lib */
#define CLKBLK_ADAT_RX XS1_CLKBLK_REF /* Use REF for ADAT_RX on U/x200 series */ #define CLKBLK_ADAT_RX XS1_CLKBLK_REF /* Use REF for ADAT_RX on x200/AI series */
#define CLKBLK_I2S_BIT XS1_CLKBLK_3 #define CLKBLK_I2S_BIT XS1_CLKBLK_3
#endif /* _UAC_HWRESOURCES_H_ */ #endif /* _UAC_HWRESOURCES_H_ */