From 3be17bf8cc0647b0d6dc3cb79882d5580bab0a38 Mon Sep 17 00:00:00 2001 From: Ed Date: Mon, 22 Jan 2024 14:32:03 +0000 Subject: [PATCH] c_mclk_change -> c_audio_rate_change --- lib_xua/api/xua_audiohub.h | 34 +++++++++++------------ lib_xua/api/xua_buffer.h | 4 +-- lib_xua/api/xua_clocking.h | 22 +++++++-------- lib_xua/src/core/audiohub/xua_audiohub.xc | 8 +++--- lib_xua/src/core/buffer/ep/ep_buffer.xc | 16 +++++------ lib_xua/src/core/clocking/clockgen.xc | 10 +++---- lib_xua/src/core/main.xc | 15 +++++----- tests/test_sync_clk_basic/src/main.xc | 4 +-- 8 files changed, 56 insertions(+), 57 deletions(-) diff --git a/lib_xua/api/xua_audiohub.h b/lib_xua/api/xua_audiohub.h index c056d591..2f18960f 100644 --- a/lib_xua/api/xua_audiohub.h +++ b/lib_xua/api/xua_audiohub.h @@ -19,35 +19,35 @@ * This function drives I2S ports and handles samples to/from other digital * I/O threads. * - * \param c_aud Audio sample channel connected to the mixer() thread or the - * decouple() thread + * \param c_aud Audio sample channel connected to the mixer() thread or the + * decouple() thread * - * \param clk_audio_mclk Nullable clockblock to be clocked from master clock + * \param clk_audio_mclk Nullable clockblock to be clocked from master clock * - * \param clk_audio_bclk Nullable clockblock to be clocked from i2s bit clock + * \param clk_audio_bclk Nullable clockblock to be clocked from i2s bit clock * - * \param p_mclk_in Master clock inport port (must be 1-bit) + * \param p_mclk_in Master clock inport port (must be 1-bit) * - * \param p_lrclk Nullable port for I2S sample clock + * \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 + * \param p_i2s_dac Nullable array of ports for I2S data output lines * - * \param p_i2s_adc Nullable array of ports for I2S data input lines + * \param p_i2s_adc Nullable array of ports for I2S data input lines * - * \param i_SoftPll Interface to software PLL task + * \param i_SoftPll Interface to software PLL task * - * \param c_spdif_tx Channel connected to S/PDIF transmitter core from lib_spdif + * \param c_spdif_tx Channel connected to S/PDIF transmitter core from lib_spdif * - * \param c_dig Channel connected to the clockGen() thread for - * receiving/transmitting samples + * \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 + * \param dfuInterface Interface supporting DFU methods * - * \param c_pdm_in Channel for receiving decimated PDM samples + * \param c_pdm_in Channel for receiving decimated PDM samples */ void XUA_AudioHub(chanend ?c_aud, clock ?clk_audio_mclk, @@ -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 diff --git a/lib_xua/api/xua_buffer.h b/lib_xua/api/xua_buffer.h index 10539bfa..5f853133 100644 --- a/lib_xua/api/xua_buffer.h +++ b/lib_xua/api/xua_buffer.h @@ -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 diff --git a/lib_xua/api/xua_clocking.h b/lib_xua/api/xua_clocking.h index 2b64e7bf..4709bdad 100644 --- a/lib_xua/api/xua_clocking.h +++ b/lib_xua/api/xua_clocking.h @@ -20,17 +20,17 @@ void PllRefPinTask(server interface pll_ref_if i_pll_ref, out port p_sync); /** Clock generation and digital audio I/O handling. * - * \param c_spdif_rx channel connected to S/PDIF receive thread - * \param c_adat_rx channel connect to ADAT receive thread - * \param i_pll_ref interface to taslk that outputs clock signal to drive external frequency synthesizer - * \param c_audio channel connected to the audio() thread - * \param c_clk_ctl channel connected to Endpoint0() for configuration of the - * 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_spdif_rx channel connected to S/PDIF receive thread + * \param c_adat_rx channel connect to ADAT receive thread + * \param i_pll_ref interface to taslk that outputs clock signal to drive external frequency synthesizer + * \param c_audio channel connected to the audio() thread + * \param c_clk_ctl channel connected to Endpoint0() for configuration of the + * clock + * \param c_clk_int channel connected to the decouple() thread for clock + * interrupts + * \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 + * \param c_sw_pll channel used to communicate with software PLL task * */ void clockGen( streaming chanend ?c_spdif_rx, @@ -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 diff --git a/lib_xua/src/core/audiohub/xua_audiohub.xc b/lib_xua/src/core/audiohub/xua_audiohub.xc index b4a62e9e..ddc3e857 100755 --- a/lib_xua/src/core/audiohub/xua_audiohub.xc +++ b/lib_xua/src/core/audiohub/xua_audiohub.xc @@ -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 */ diff --git a/lib_xua/src/core/buffer/ep/ep_buffer.xc b/lib_xua/src/core/buffer/ep/ep_buffer.xc index a2697df2..504d9e2d 100644 --- a/lib_xua/src/core/buffer/ep/ep_buffer.xc +++ b/lib_xua/src/core/buffer/ep/ep_buffer.xc @@ -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) */ diff --git a/lib_xua/src/core/clocking/clockgen.xc b/lib_xua/src/core/clocking/clockgen.xc index 7673b298..88166a85 100644 --- a/lib_xua/src/core/clocking/clockgen.xc +++ b/lib_xua/src/core/clocking/clockgen.xc @@ -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 diff --git a/lib_xua/src/core/main.xc b/lib_xua/src/core/main.xc index 85cd0f29..2b5efdeb 100755 --- a/lib_xua/src/core/main.xc +++ b/lib_xua/src/core/main.xc @@ -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 diff --git a/tests/test_sync_clk_basic/src/main.xc b/tests/test_sync_clk_basic/src/main.xc index 49d216cf..79c5e1e7 100644 --- a/tests/test_sync_clk_basic/src/main.xc +++ b/tests/test_sync_clk_basic/src/main.xc @@ -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 ); }