diff --git a/module_dfu/src/dfu.xc b/module_dfu/src/dfu.xc index 34985cc9..9c96b262 100644 --- a/module_dfu/src/dfu.xc +++ b/module_dfu/src/dfu.xc @@ -2,6 +2,7 @@ #include #include "devicedefines.h" +#ifndef NO_USB #include "xud.h" #include "usb_std_requests.h" @@ -580,4 +581,4 @@ int DFUDeviceRequests(XUD_ep ep0_out, XUD_ep &?ep0_in, USB_SetupPacket_t &sp, ch } return returnVal; } - +#endif /* NO_USB */ diff --git a/module_usb_audio/audio_io/audio_io.xc b/module_usb_audio/audio_io/audio_io.xc index 198ec462..023eb391 100755 --- a/module_usb_audio/audio_io/audio_io.xc +++ b/module_usb_audio/audio_io/audio_io.xc @@ -1048,8 +1048,10 @@ void SpdifTxWrapper(chanend c_spdif_tx) /* This function is a dummy version of the deliver thread that does not connect to the codec ports. It is used during DFU reset. */ +#if DFU [[distributable]] void DFUHandler(server interface i_dfu i, chanend ?c_user_cmd); +#endif #pragma select handler void testct_byref(chanend c, int &returnVal) diff --git a/module_usb_audio/audio_io/xua_audio.h b/module_usb_audio/audio_io/xua_audio.h index 0f7726b5..ee3fc213 100644 --- a/module_usb_audio/audio_io/xua_audio.h +++ b/module_usb_audio/audio_io/xua_audio.h @@ -3,7 +3,9 @@ #if __XC__ +#ifndef NO_USB #include "dfu_interface.h" +#endif typedef interface audManage_if { diff --git a/module_usb_audio/endpoint0/audiorequests.xc b/module_usb_audio/endpoint0/audiorequests.xc index e8691e50..8a19d5e0 100644 --- a/module_usb_audio/endpoint0/audiorequests.xc +++ b/module_usb_audio/endpoint0/audiorequests.xc @@ -2,7 +2,7 @@ * @brief Implements relevant requests from the USB Audio 2.0 Specification * @author Ross Owen, XMOS Semiconductor */ - +#ifndef NO_USB #include #include "xud.h" #include "usb_std_requests.h" @@ -1282,4 +1282,4 @@ XUD_Result_t AudioClassRequests_1(XUD_ep ep0_out, XUD_ep ep0_in, USB_SetupPacket return XUD_RES_ERR; } #endif - +#endif /* NO_USB */ diff --git a/module_usb_audio/endpoint0/endpoint0.c b/module_usb_audio/endpoint0/endpoint0.c index a675fabf..c2cc21e2 100755 --- a/module_usb_audio/endpoint0/endpoint0.c +++ b/module_usb_audio/endpoint0/endpoint0.c @@ -7,6 +7,7 @@ #include #include +#ifndef NO_USB #include "xud.h" /* XUD user defines and functions */ #include "usb_std_requests.h" #include "usbaudio20.h" /* Defines from USB Audio 2.0 spec */ @@ -801,3 +802,4 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, } } } +#endif /* NO_USB */ diff --git a/module_usb_audio/endpoint0/vendorrequests.c b/module_usb_audio/endpoint0/vendorrequests.c index e9361702..b1829f6a 100644 --- a/module_usb_audio/endpoint0/vendorrequests.c +++ b/module_usb_audio/endpoint0/vendorrequests.c @@ -1,4 +1,4 @@ - +#ifndef NO_USB #include "xud.h" #include "vendorrequests.h" @@ -31,3 +31,4 @@ void VendorRequests_Init(VENDOR_REQUESTS_PARAMS_DEC) } +#endif /* NO_USB */ diff --git a/module_usb_audio/flashlib_user.c b/module_usb_audio/flashlib_user.c index 834adee7..ce862964 100644 --- a/module_usb_audio/flashlib_user.c +++ b/module_usb_audio/flashlib_user.c @@ -1,8 +1,6 @@ +#ifdef DFU #include "devicedefines.h" #include "uac_hwresources.h" - -#ifdef DFU - #include #include #ifdef QUAD_SPI_FLASH diff --git a/module_usb_audio/main.xc b/module_usb_audio/main.xc index 2d46bddf..a8553744 100755 --- a/module_usb_audio/main.xc +++ b/module_usb_audio/main.xc @@ -12,11 +12,13 @@ #include #endif +#ifndef NO_USB #include "xud.h" /* XMOS USB Device Layer defines and functions */ +#include "endpoint0.h" +#endif #include "devicedefines.h" /* Device specific defines */ #include "uac_hwresources.h" -#include "endpoint0.h" #include "usb_buffer.h" #include "decouple.h" #ifdef MIDI @@ -48,8 +50,10 @@ #include "xua_pdm_mic.h" #endif +#ifdef DFU [[distributable]] void DFUHandler(server interface i_dfu i, chanend ?c_user_cmd); +#endif /* Audio I/O - Port declarations */ #if I2S_WIRES_DAC > 0 @@ -209,7 +213,7 @@ on tile [IAP_TILE] : struct r_i2c r_i2c = {PORT_I2C_SCL, PORT_I2C_SDA}; #endif #endif - +#ifndef NO_USB /* Endpoint type tables for XUD */ XUD_EpType epTypeTableOut[ENDPOINT_COUNT_OUT] = { XUD_EPTYPE_CTL | XUD_STATUS_ENABLE, XUD_EPTYPE_ISO, /* Audio */ @@ -249,7 +253,7 @@ XUD_EpType epTypeTableIn[ENDPOINT_COUNT_IN] = { XUD_EPTYPE_CTL | XUD_STATUS_ENAB #endif #endif }; - +#endif /* NO_USB */ void thread_speed() { @@ -270,6 +274,7 @@ void xscope_user_init() } #endif +#ifndef NO_USB /* Core USB Audio functions - must be called on the Tile connected to the USB Phy */ void usb_audio_core(chanend c_mix_out #ifdef MIDI @@ -402,6 +407,7 @@ VENDOR_REQUESTS_PARAMS_DEC_ //: } } +#endif /* NO_USB */ void usb_audio_io(chanend c_aud_in, chanend ?c_adc, #if defined(SPDIF_TX) && (SPDIF_TX_TILE != AUDIO_IO_TILE) diff --git a/module_usb_audio/reboot.xc b/module_usb_audio/reboot.xc index 461a8e95..d8ab2ef4 100644 --- a/module_usb_audio/reboot.xc +++ b/module_usb_audio/reboot.xc @@ -2,11 +2,12 @@ #include #include -#include "xud.h" - #define XS1_SU_PERIPH_USB_ID 0x1 -#if (XUD_SERIES_SUPPORT == XUD_X200_SERIES) +//Normally we would enumerate the XUD_SERIES_SUPPORT possibilities using defines in +//xud.h but we have hard coded them to remove dependancy of sc_xud + +#if (XUD_SERIES_SUPPORT == 4) #include "xs2_su_registers.h" #define XS2_SU_PERIPH_USB_ID 0x1 #define PLL_MASK 0x7FFFFFFF @@ -21,7 +22,7 @@ extern tileref tile[]; void device_reboot_aux(void) { -#if (XUD_SERIES_SUPPORT == XUD_U_SERIES) +#if (XUD_SERIES_SUPPORT == 1) /* Disconnect from bus */ unsigned data[] = {4}; write_periph_32(usb_tile, XS1_SU_PERIPH_USB_ID, XS1_SU_PER_UIFM_FUNC_CONTROL_NUM, 1, data); @@ -35,7 +36,7 @@ void device_reboot_aux(void) unsigned int tileId; unsigned int tileArrayLength; -#if (XUD_SERIES_SUPPORT == XUD_X200_SERIES) +#if (XUD_SERIES_SUPPORT == 4) /* Disconnect from bus */ unsigned data[] = {4}; write_periph_32(usb_tile, XS2_SU_PERIPH_USB_ID, XS1_GLX_PER_UIFM_FUNC_CONTROL_NUM, 1, data); diff --git a/module_usb_audio/uac_hwresources.h b/module_usb_audio/uac_hwresources.h index 13d1da2a..bf3c6c91 100644 --- a/module_usb_audio/uac_hwresources.h +++ b/module_usb_audio/uac_hwresources.h @@ -2,7 +2,9 @@ #ifndef _UAC_HWRESOURCES_H_ #define _UAC_HWRESOURCES_H_ +#ifndef NO_USB #include "xud.h" /* XMOS USB Device Layer defines and functions */ +#endif #if ((XUD_SERIES_SUPPORT != XUD_U_SERIES) && (XUD_SERIES_SUPPORT != XUD_X200_SERIES)) diff --git a/module_usb_audio/usb_buffer/decouple.xc b/module_usb_audio/usb_buffer/decouple.xc index 7bf378db..3ad34c28 100644 --- a/module_usb_audio/usb_buffer/decouple.xc +++ b/module_usb_audio/usb_buffer/decouple.xc @@ -1,3 +1,4 @@ +#ifndef NO_USB #include #include "xc_ptr.h" #include "devicedefines.h" @@ -1019,4 +1020,4 @@ void decouple(chanend c_mix_out #endif /* NUM_USB_CHAN_IN > 0 */ } } - +#endif /* NO_USB */ \ No newline at end of file diff --git a/module_usb_audio/usb_buffer/decouple_interrupt.c b/module_usb_audio/usb_buffer/decouple_interrupt.c index ef3e78f1..0e026740 100644 --- a/module_usb_audio/usb_buffer/decouple_interrupt.c +++ b/module_usb_audio/usb_buffer/decouple_interrupt.c @@ -1,3 +1,5 @@ +#ifndef NO_USB #include register_interrupt_handler(handle_audio_request, 1, 200) +#endif \ No newline at end of file diff --git a/module_usb_audio/usb_buffer/get_adc_counts.c b/module_usb_audio/usb_buffer/get_adc_counts.c index 1c0f46b1..a286c1d1 100644 --- a/module_usb_audio/usb_buffer/get_adc_counts.c +++ b/module_usb_audio/usb_buffer/get_adc_counts.c @@ -1,3 +1,4 @@ +#ifndef NO_USB #include "xud.h" extern XUD_BusSpeed_t g_curUsbSpeed; @@ -48,3 +49,5 @@ void GetADCCounts(unsigned samFreq, int *min, int *mid, int *max) } } +#endif /* NO_USB */ + diff --git a/module_usb_audio/usb_buffer/usb_buffer.xc b/module_usb_audio/usb_buffer/usb_buffer.xc index 3335c8c5..79d9fe36 100644 --- a/module_usb_audio/usb_buffer/usb_buffer.xc +++ b/module_usb_audio/usb_buffer/usb_buffer.xc @@ -1,4 +1,4 @@ - +#ifndef NO_USB #include #include @@ -957,3 +957,4 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, } } +#endif /* NO_USB */ \ No newline at end of file diff --git a/module_usb_audio/xuduser/xuduser.c b/module_usb_audio/xuduser/xuduser.c index 5df5f90e..f7259bb3 100644 --- a/module_usb_audio/xuduser/xuduser.c +++ b/module_usb_audio/xuduser/xuduser.c @@ -1,4 +1,4 @@ - +#ifndef NO_USB #include "devicedefines.h" #include "hostactive.h" #include "audiostream.h" @@ -22,3 +22,4 @@ void XUD_UserResume(void) UserHostActive(1); } } +#endif /* NO_USB */ \ No newline at end of file