From 04b08c9213db98fcb4ed149c6d3db2b164512f3b Mon Sep 17 00:00:00 2001 From: xross Date: Tue, 27 Feb 2018 12:40:33 +0000 Subject: [PATCH] PDM hw resource dec moved to main --- lib_xua/src/core/main.xc | 22 +++++++++++++++++----- lib_xua/src/core/pdm_mics/pdm_mic.xc | 8 ++++---- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/lib_xua/src/core/main.xc b/lib_xua/src/core/main.xc index 43e6b35e..a3f6f4f6 100755 --- a/lib_xua/src/core/main.xc +++ b/lib_xua/src/core/main.xc @@ -185,21 +185,33 @@ on tile[SPDIF_TX_TILE] : clock clk_mst_spd = CLKBLK_SPDIF_TX; on tile[XUD_TILE] : clock clk_spd_rx = CLKBLK_SPDIF_RX; #endif +#if (NUM_PDM_MICS > 0) +in port p_pdm_clk = PORT_PDM_CLK; + +in buffered port:32 p_pdm_mics = PORT_PDM_DATA; +#if (PDM_TILE != AUDIO_IO_TILE) +/* If Mics and I2S are on the same tile we'll share an MCLK port */ +in port p_pdm_mclk = PORT_PDM_MCLK; +#endif +#endif + + + #if(XUD_SERIES_SUPPORT == XUD_L_SERIES) && defined(ADAT_RX) /* Cannot use default clock (CLKBLK_REF) for ADAT RX since it is tied to the 60MHz USB clock on G/L series parts. */ on tile[XUD_TILE] : clock clk_adat_rx = CLKBLK_ADAT_RX; #endif - -on tile[AUDIO_IO_TILE] : clock clk_audio_mclk = CLKBLK_MCLK; /* Master clock */ +on tile[AUDIO_IO_TILE] : clock clk_audio_mclk = CLKBLK_MCLK; /* Master clock */ #if(AUDIO_IO_TILE != XUD_TILE) && !defined(NO_USB) -on tile[XUD_TILE] : clock clk_audio_mclk2 = CLKBLK_MCLK; /* Master clock */ -on tile[XUD_TILE] : in port p_mclk_in2 = PORT_MCLK_IN2; +/* Separate clock/port for USB feedback calculation */ +on tile[XUD_TILE] : clock clk_audio_mclk_usb = CLKBLK_MCLK; /* Master clock */ +on tile[XUD_TILE] : in port p_mclk_in_usb = PORT_MCLK_IN_USB; #endif -on tile[AUDIO_IO_TILE] : clock clk_audio_bclk = CLKBLK_I2S_BIT; /* Bit clock */ +on tile[AUDIO_IO_TILE] : clock clk_audio_bclk = CLKBLK_I2S_BIT; /* Bit clock */ /* L/G Series needs a port to use for USB reset */ diff --git a/lib_xua/src/core/pdm_mics/pdm_mic.xc b/lib_xua/src/core/pdm_mics/pdm_mic.xc index 481187c8..b324bc51 100644 --- a/lib_xua/src/core/pdm_mics/pdm_mic.xc +++ b/lib_xua/src/core/pdm_mics/pdm_mic.xc @@ -21,13 +21,13 @@ #define MAX_DECIMATION_FACTOR (96000/(MIN_FREQ/AUD_TO_MICS_RATIO)) /* Hardware resources */ -/* TODO these should be in main.xc with the rest of the resources */ -in port p_pdm_clk = PORT_PDM_CLK; +extern in port p_pdm_clk; + +extern in buffered port:32 p_pdm_mics; -in buffered port:32 p_pdm_mics = PORT_PDM_DATA; #if (PDM_TILE != AUDIO_IO_TILE) /* If Mics and I2S are on the same tile we'll share an MCLK port */ -in port p_pdm_mclk = PORT_PDM_MCLK; +extern in port p_pdm_mclk; #else extern unsafe port p_mclk_in; #endif