forked from PAWPAW-Mirror/lib_xua
Resolving build issues with SPDIF on same core.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
* CODEC configuration functions.
|
* CODEC configuration functions.
|
||||||
*/
|
*/
|
||||||
void audio(chanend c_in,
|
void audio(chanend c_in,
|
||||||
#ifdef SPDIF_TX
|
#if defined(SPDIF_TX) && (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))
|
||||||
|
|||||||
@@ -817,33 +817,27 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SPDIF
|
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
void SpdifTxWrapper(chanend c_spdif_tx)
|
void SpdifTxWrapper(chanend c_spdif_tx)
|
||||||
{
|
{
|
||||||
unsigned portId;
|
unsigned portId;
|
||||||
#if SPDIF_TX_TILE == AUDIO_IO_TILE
|
|
||||||
SpdifTransmitPortConfig(p_spdif_tx, clk_mst_spd, p_mclk_in);
|
|
||||||
#error
|
|
||||||
#else
|
|
||||||
//configure_clock_src(clk, p_mclk);
|
//configure_clock_src(clk, p_mclk);
|
||||||
|
|
||||||
// TODO could share clock block here..
|
// TODO could share clock block here..
|
||||||
|
// NOTE, Assuming SPDIF tile == USB tile here..
|
||||||
asm("ldw %0, dp[p_mclk_in2]":"=r"(portId));
|
asm("ldw %0, dp[p_mclk_in2]":"=r"(portId));
|
||||||
asm("setclk res[%0], %1"::"r"(clk_mst_spd), "r"(portId));
|
asm("setclk res[%0], %1"::"r"(clk_mst_spd), "r"(portId));
|
||||||
configure_out_port_no_ready(p_spdif_tx, clk_mst_spd, 0);
|
configure_out_port_no_ready(p_spdif_tx, clk_mst_spd, 0);
|
||||||
set_clock_fall_delay(clk_mst_spd, 7);
|
set_clock_fall_delay(clk_mst_spd, 7);
|
||||||
start_clock(clk_mst_spd);
|
start_clock(clk_mst_spd);
|
||||||
#endif
|
|
||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
SpdifTransmit(p_spdif_tx, c_spdif_tx);
|
SpdifTransmit(p_spdif_tx, c_spdif_tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* This function is a dummy version of the deliver thread that does not
|
/* This function is a dummy version of the deliver thread that does not
|
||||||
connect to the codec ports. It is used during DFU reset. */
|
connect to the codec ports. It is used during DFU reset. */
|
||||||
unsigned static dummy_deliver(chanend c_out)
|
unsigned static dummy_deliver(chanend c_out)
|
||||||
@@ -897,7 +891,7 @@ unsigned static dummy_deliver(chanend c_out)
|
|||||||
#define SAMPLES_PER_PRINT 1
|
#define SAMPLES_PER_PRINT 1
|
||||||
|
|
||||||
void audio(chanend c_mix_out,
|
void audio(chanend c_mix_out,
|
||||||
#if SPDIF
|
#if defined(SPDIF_TX) && (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))
|
||||||
@@ -905,9 +899,9 @@ chanend c_dig_rx,
|
|||||||
#endif
|
#endif
|
||||||
chanend ?c_config, chanend ?c)
|
chanend ?c_config, chanend ?c)
|
||||||
{
|
{
|
||||||
//#ifdef SPDIF
|
#if defined (SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
||||||
// chan c_spdif_out;
|
chan c_spdif_out;
|
||||||
//endif
|
#endif
|
||||||
#ifdef ADAT_TX
|
#ifdef ADAT_TX
|
||||||
chan c_adat_out;
|
chan c_adat_out;
|
||||||
unsigned adatSmuxMode = 0;
|
unsigned adatSmuxMode = 0;
|
||||||
@@ -978,11 +972,10 @@ chanend ?c_config, chanend ?c)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
/* Configure ADAT/SPDIF tx ports */
|
/* Configure ADAT/SPDIF tx ports */
|
||||||
#ifdef SPDIF
|
#if defined(SPDIF_TX) && (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
|
||||||
|
|
||||||
|
|
||||||
/* Perform required CODEC/ADC/DAC initialisation */
|
/* Perform required CODEC/ADC/DAC initialisation */
|
||||||
AudioHwInit(c_config);
|
AudioHwInit(c_config);
|
||||||
|
|
||||||
@@ -1124,8 +1117,7 @@ chanend ?c_config, chanend ?c)
|
|||||||
par
|
par
|
||||||
{
|
{
|
||||||
|
|
||||||
#if 0
|
#if defined(SPDIF_TX) && (SPDIF_TX_TILE == AUDIO_IO_TILE)
|
||||||
//#ifdef SPDIF
|
|
||||||
{
|
{
|
||||||
set_thread_fast_mode_on();
|
set_thread_fast_mode_on();
|
||||||
SpdifTransmit(p_spdif_tx, c_spdif_out);
|
SpdifTransmit(p_spdif_tx, c_spdif_out);
|
||||||
@@ -1206,7 +1198,7 @@ chanend ?c_config, chanend ?c)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef SPDIF
|
#ifdef SPDIF_TX
|
||||||
/* Notify S/PDIF thread of impending new freq... */
|
/* Notify S/PDIF thread of impending new freq... */
|
||||||
outct(c_spdif_out, XS1_CT_END);
|
outct(c_spdif_out, XS1_CT_END);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ void usb_audio_core(chanend c_mix_out
|
|||||||
}
|
}
|
||||||
|
|
||||||
void usb_audio_io(chanend c_aud_in, chanend ?c_adc,
|
void usb_audio_io(chanend c_aud_in, chanend ?c_adc,
|
||||||
#ifdef SPDIF_TX
|
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
chanend c_spdif_tx,
|
chanend c_spdif_tx,
|
||||||
#endif
|
#endif
|
||||||
#ifdef MIXER
|
#ifdef MIXER
|
||||||
@@ -419,21 +419,18 @@ void usb_audio_io(chanend c_aud_in, chanend ?c_adc,
|
|||||||
{
|
{
|
||||||
thread_speed();
|
thread_speed();
|
||||||
#ifdef MIXER
|
#ifdef MIXER
|
||||||
audio(c_mix_out,
|
#define AUDIO_CHANNEL c_mix_out
|
||||||
#ifdef SPDIF_TX
|
#else
|
||||||
|
#define AUDIO_CHANNEL c_aud_in
|
||||||
|
#endif
|
||||||
|
audio(AUDIO_CHANNEL,
|
||||||
|
#if defined(SPDIF_TX) && (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)
|
||||||
c_dig_rx,
|
c_dig_rx,
|
||||||
#endif
|
#endif
|
||||||
c_aud_cfg, c_adc);
|
c_aud_cfg, c_adc);
|
||||||
#else
|
|
||||||
audio(c_aud_in,
|
|
||||||
#if defined(SPDIF_RX) || defined(ADAT_RX)
|
|
||||||
c_dig_rx,
|
|
||||||
#endif
|
|
||||||
c_aud_cfg, c_adc);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(SPDIF_RX) || defined(ADAT_RX)
|
#if defined(SPDIF_RX) || defined(ADAT_RX)
|
||||||
@@ -498,7 +495,7 @@ int main()
|
|||||||
#define c_adat_rx null
|
#define c_adat_rx null
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SPDIF_TX
|
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
chan c_spdif_tx;
|
chan c_spdif_tx;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -532,7 +529,7 @@ int main()
|
|||||||
);
|
);
|
||||||
|
|
||||||
on tile[AUDIO_IO_TILE]: usb_audio_io(c_mix_out, c_adc
|
on tile[AUDIO_IO_TILE]: usb_audio_io(c_mix_out, c_adc
|
||||||
#ifdef SPDIF_TX
|
#if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE)
|
||||||
, c_spdif_tx
|
, c_spdif_tx
|
||||||
#endif
|
#endif
|
||||||
#ifdef MIXER
|
#ifdef MIXER
|
||||||
@@ -541,7 +538,7 @@ int main()
|
|||||||
,c_aud_cfg, c_spdif_rx, c_adat_rx, c_clk_ctl, c_clk_int
|
,c_aud_cfg, c_spdif_rx, c_adat_rx, c_clk_ctl, c_clk_int
|
||||||
);
|
);
|
||||||
|
|
||||||
#ifdef SPDIF_TX
|
#if defined(SPDIF_TX) && (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