c_mclk_change -> c_audio_rate_change
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
*
|
||||
* \param p_lrclk Nullable port for I2S sample clock
|
||||
*
|
||||
* \param p_bclk Nullable port for I2S bit
|
||||
* \param p_bclk Nullable port for I2S bit clock
|
||||
*
|
||||
* \param p_i2s_dac Nullable array of ports for I2S data output lines
|
||||
*
|
||||
@@ -43,7 +43,7 @@
|
||||
* \param c_dig Channel connected to the clockGen() thread for
|
||||
* receiving/transmitting samples
|
||||
*
|
||||
* \param c_mclk_change Channel notifying ep_buffer of an mclk frequency change and sync for stable clock
|
||||
* \param c_audio_rate_change Channel notifying ep_buffer of an mclk frequency change and sync for stable clock
|
||||
*
|
||||
* \param dfuInterface Interface supporting DFU methods
|
||||
*
|
||||
@@ -67,7 +67,7 @@ void XUA_AudioHub(chanend ?c_aud,
|
||||
, chanend c_dig
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN || defined(__DOXYGEN__))
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#endif
|
||||
#if (((XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)) || defined(__DOXYGEN__))
|
||||
, server interface i_dfu ?dfuInterface
|
||||
|
||||
@@ -53,7 +53,7 @@ void XUA_Buffer(
|
||||
#endif
|
||||
, chanend c_aud
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC) || defined(__DOYXGEN__)
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#if (!XUA_USE_SW_PLL) || defined(__DOXYGEN__)
|
||||
, client interface pll_ref_if i_pll_ref
|
||||
#endif
|
||||
@@ -89,7 +89,7 @@ void XUA_Buffer_Ep(chanend c_aud_out,
|
||||
, chanend c_buff_ctrl
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC) || defined(__DOYXGEN__)
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#if (!XUA_USE_SW_PLL) || defined(__DOXYGEN__)
|
||||
, client interface pll_ref_if i_pll_ref
|
||||
#endif
|
||||
|
||||
@@ -28,7 +28,7 @@ void PllRefPinTask(server interface pll_ref_if i_pll_ref, out port p_sync);
|
||||
* clock
|
||||
* \param c_clk_int channel connected to the decouple() thread for clock
|
||||
* interrupts
|
||||
* \param c_mclk_change channel to notify of master clock change
|
||||
* \param c_audio_rate_change channel to notify of master clock change
|
||||
* \param p_for_mclk_count_aud port used for counting mclk and providing a timestamp
|
||||
* \param c_sw_pll channel used to communicate with software PLL task
|
||||
*
|
||||
@@ -39,7 +39,7 @@ void clockGen( streaming chanend ?c_spdif_rx,
|
||||
chanend c_audio,
|
||||
chanend c_clk_ctl,
|
||||
chanend c_clk_int,
|
||||
chanend c_mclk_change
|
||||
chanend c_audio_rate_change
|
||||
#if XUA_USE_SW_PLL
|
||||
, port p_for_mclk_count_aud
|
||||
, chanend c_sw_pll
|
||||
|
||||
@@ -643,7 +643,7 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
||||
, chanend c_dig_rx
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#endif
|
||||
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)
|
||||
, server interface i_dfu ?dfuInterface
|
||||
@@ -811,11 +811,11 @@ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, clock ?clk_audio_bclk,
|
||||
AudioHwConfig(curFreq, mClk, dsdMode, curSamRes_DAC, curSamRes_ADC);
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
|
||||
/* Notify clockgen of new mCLk */
|
||||
c_mclk_change <: mClk;
|
||||
c_mclk_change <: curFreq;
|
||||
c_audio_rate_change <: mClk;
|
||||
c_audio_rate_change <: curFreq;
|
||||
|
||||
/* Wait for ACK back from clockgen or ep_buffer to signal clocks all good */
|
||||
c_mclk_change :> int _;
|
||||
c_audio_rate_change :> int _;
|
||||
#endif
|
||||
|
||||
/* User should unmute audio hardware */
|
||||
|
||||
@@ -105,7 +105,7 @@ void XUA_Buffer(
|
||||
#endif
|
||||
, chanend c_aud
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#if(XUA_USE_SW_PLL)
|
||||
, chanend c_sw_pll
|
||||
#else
|
||||
@@ -146,7 +146,7 @@ void XUA_Buffer(
|
||||
, c_buff_ctrl
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
, c_mclk_change
|
||||
, c_audio_rate_change
|
||||
#if(XUA_USE_SW_PLL)
|
||||
, c_sw_pll
|
||||
#else
|
||||
@@ -201,7 +201,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
|
||||
, chanend c_buff_ctrl
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#if (XUA_USE_SW_PLL)
|
||||
, chanend c_sw_pll
|
||||
#else
|
||||
@@ -1025,10 +1025,10 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
|
||||
#endif /* ifdef MIDI */
|
||||
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
case c_mclk_change :> u_tmp:
|
||||
printstr("c_mclk_change\n");
|
||||
case c_audio_rate_change :> u_tmp:
|
||||
printstr("c_audio_rate_change\n");
|
||||
unsigned selected_mclk_rate = u_tmp;
|
||||
c_mclk_change :> u_tmp; /* Sample rate is discarded as only care about mclk */
|
||||
c_audio_rate_change :> u_tmp; /* Sample rate is discarded as only care about mclk */
|
||||
#if (XUA_USE_SW_PLL)
|
||||
sw_pll_pfd_init(&sw_pll_pfd,
|
||||
sof_rate_hz / controller_rate_hz, /* How often the PFD is invoked */
|
||||
@@ -1038,7 +1038,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
|
||||
restart_sigma_delta(c_sw_pll, selected_mclk_rate);
|
||||
/* Delay ACK until sw_pll says it is ready */
|
||||
#else
|
||||
c_mclk_change <: 0; /* ACK back to audio to release I2S immediately */
|
||||
c_audio_rate_change <: 0; /* ACK back to audio to release I2S immediately */
|
||||
#endif /* XUA_USE_SW_PLL */
|
||||
break;
|
||||
|
||||
@@ -1046,7 +1046,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
|
||||
/* This is fired when sw_pll has completed initialising a new mclk_rate */
|
||||
case inuint_byref(c_sw_pll, u_tmp):
|
||||
printstr("SWPLL synch\n");
|
||||
c_mclk_change <: 0; /* ACK back to audio to release */
|
||||
c_audio_rate_change <: 0; /* ACK back to audio to release */
|
||||
|
||||
break;
|
||||
#endif /* (XUA_USE_SW_PLL) */
|
||||
|
||||
@@ -222,7 +222,7 @@ void clockGen ( streaming chanend ?c_spdif_rx,
|
||||
chanend c_dig_rx,
|
||||
chanend c_clk_ctl,
|
||||
chanend c_clk_int,
|
||||
chanend c_mclk_change
|
||||
chanend c_audio_rate_change
|
||||
#if XUA_USE_SW_PLL
|
||||
, port p_for_mclk_count_aud
|
||||
, chanend c_sw_pll
|
||||
@@ -525,7 +525,7 @@ void clockGen ( streaming chanend ?c_spdif_rx,
|
||||
This happens only on SDM restart and only once */
|
||||
if(require_ack_to_audio)
|
||||
{
|
||||
c_mclk_change <: tmp;
|
||||
c_audio_rate_change <: tmp;
|
||||
require_ack_to_audio = 0;
|
||||
}
|
||||
break;
|
||||
@@ -533,8 +533,8 @@ void clockGen ( streaming chanend ?c_spdif_rx,
|
||||
|
||||
#if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
|
||||
/* Receive notification of audio streaming settings change and store */
|
||||
case c_mclk_change :> selected_mclk_rate:
|
||||
c_mclk_change :> selected_sample_rate;
|
||||
case c_audio_rate_change :> selected_mclk_rate:
|
||||
c_audio_rate_change :> selected_sample_rate;
|
||||
#if XUA_USE_SW_PLL
|
||||
mclks_per_sample = selected_mclk_rate / selected_sample_rate;
|
||||
restart_sigma_delta(c_sw_pll, selected_mclk_rate);
|
||||
@@ -543,7 +543,7 @@ void clockGen ( streaming chanend ?c_spdif_rx,
|
||||
require_ack_to_audio = 1;
|
||||
#else
|
||||
/* Send ACK immediately as we are good to go if not using SW_PLL */
|
||||
c_mclk_change <: 0;
|
||||
c_audio_rate_change <: 0;
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -316,7 +316,7 @@ void usb_audio_io(chanend ?c_aud_in,
|
||||
, client interface pll_ref_if i_pll_ref
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
, chanend c_mclk_change
|
||||
, chanend c_audio_rate_change
|
||||
#endif
|
||||
#if ((XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN) && XUA_USE_SW_PLL)
|
||||
, port p_for_mclk_count_aud
|
||||
@@ -330,10 +330,9 @@ void usb_audio_io(chanend ?c_aud_in,
|
||||
|
||||
#if (XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
|
||||
chan c_dig_rx;
|
||||
chan c_mclk_change; /* Notification of new mclk freq to clockgen */
|
||||
chan c_audio_rate_change; /* Notification of new mclk freq to clockgen and synch */
|
||||
#if XUA_USE_SW_PLL
|
||||
/* Connect p_for_mclk_count_aud to clk_audio_mclk so we can count mclks/timestamp in digital rx*/
|
||||
|
||||
unsigned x = 0;
|
||||
asm("ldw %0, dp[clk_audio_mclk]":"=r"(x));
|
||||
asm("setclk res[%0], %1"::"r"(p_for_mclk_count_aud), "r"(x));
|
||||
@@ -385,7 +384,7 @@ void usb_audio_io(chanend ?c_aud_in,
|
||||
, c_dig_rx
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN)
|
||||
, c_mclk_change
|
||||
, c_audio_rate_change
|
||||
#endif
|
||||
#if (XUD_TILE != 0) && (AUDIO_IO_TILE == 0) && (XUA_DFU_EN == 1)
|
||||
, dfuInterface
|
||||
@@ -412,7 +411,7 @@ void usb_audio_io(chanend ?c_aud_in,
|
||||
c_dig_rx,
|
||||
c_clk_ctl,
|
||||
c_clk_int,
|
||||
c_mclk_change
|
||||
c_audio_rate_change
|
||||
#if XUA_USE_SW_PLL
|
||||
, p_for_mclk_count_aud
|
||||
, c_sw_pll
|
||||
@@ -502,7 +501,7 @@ int main()
|
||||
chan c_sw_pll;
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
chan c_mclk_change; /* Notification of new mclk freq to ep_buffer */
|
||||
chan c_audio_rate_change; /* Notification of new mclk freq to ep_buffer */
|
||||
#endif
|
||||
chan c_sof;
|
||||
chan c_xud_out[ENDPOINT_COUNT_OUT]; /* Endpoint channels for XUD */
|
||||
@@ -596,7 +595,7 @@ int main()
|
||||
#endif
|
||||
, c_mix_out
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
, c_mclk_change
|
||||
, c_audio_rate_change
|
||||
#if (!XUA_USE_SW_PLL)
|
||||
, i_pll_ref
|
||||
#else
|
||||
@@ -641,7 +640,7 @@ int main()
|
||||
, i_pll_ref
|
||||
#endif
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
, c_mclk_change
|
||||
, c_audio_rate_change
|
||||
#endif
|
||||
#if ((XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN) && XUA_USE_SW_PLL)
|
||||
, p_for_mclk_count_audio
|
||||
|
||||
@@ -173,7 +173,7 @@ int main()
|
||||
chan c_in[EP_COUNT_IN];
|
||||
chan c_sof;
|
||||
chan c_aud_ctl;
|
||||
chan c_mclk_change;
|
||||
chan c_audio_rate_change;
|
||||
|
||||
interface pll_ref_if i_pll_ref;
|
||||
|
||||
@@ -186,7 +186,7 @@ int main()
|
||||
|
||||
XUA_Buffer_Ep(c_out[1], /* USB Audio Out*/
|
||||
c_in[1], /* USB Audio In */
|
||||
c_sof, c_aud_ctl, p_off_mclk, c_mclk_change, i_pll_ref
|
||||
c_sof, c_aud_ctl, p_off_mclk, c_audio_rate_change, i_pll_ref
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user