diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 3d6e5199..3ae78cc5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,20 +4,19 @@ lib_xua Change Log UNRELEASED ---------- - * FIXED: Device fails to enumerate when ADAT and S/PDIF transmit are enabled - * FIXED: Update software PLL at the correct rate for ADAT SMUX + * ADDED: MIDI unit and subsystem tests * CHANGED: Enable only the minimum number of ADAT input formats based for the supported sample frequencies + * CHANGED: Enabling ADAT tx enables different channel count interface alts, based on sample + rate + * CHANGED: Input audio buffer size and the condition to come out of underflow modified to + to fix buffer underflow in some configurations + * FIXED: Device fails to enumerate when ADAT and S/PDIF transmit are enabled + * FIXED: Update software PLL at the correct rate for ADAT S/MUX * FIXED: Incorrect internal input EP count for input only devices - * ADDED: MIDI unit and subsystem tests - * FIXED: ADAT Tx called too frequently - * CHANGED: ADAT Tx presents different channel count interfaces based on sample - rate - * CHANGED: aud_to_host buffer size and the condition to come out of underflow - in decoupler to fix buffer underflow seen in ADAT tests - * FIXED: Initialise SMUX based on DEFAULT_FREQ in clockgen - * FIXED: Update g_numUsbChan_Out to the number of channels for the selected - interface when receiving a set interface request over EP0 + * FIXED: Samples transferred to ADAT tx too frequently in TDM mode + * FIXED: S/MUX not initialised to a value based on DEFAULT_FREQ in clockgen + * FIXED: Trap when moving to DSD mode on XS3A based devices 4.0.0 ----- diff --git a/lib_xua/src/core/ports/audioports.xc b/lib_xua/src/core/ports/audioports.xc index fac58cbc..3f5fb57a 100644 --- a/lib_xua/src/core/ports/audioports.xc +++ b/lib_xua/src/core/ports/audioports.xc @@ -1,4 +1,4 @@ -// Copyright 2011-2023 XMOS LIMITED. +// Copyright 2011-2024 XMOS LIMITED. // This Software is subject to the terms of the XMOS Public Licence: Version 1. #include #include @@ -36,7 +36,10 @@ void ConfigAudioPorts( #ifdef __XS3A__ /* Increase drive strength of clock ports to 8mA */ asm volatile ("setc res[%0], %1" :: "r" (p_bclk), "r" (0x200006)); - asm volatile ("setc res[%0], %1" :: "r" (p_lrclk), "r" (0x200006)); + if(!isnull(p_lrclk)) + { + asm volatile ("setc res[%0], %1" :: "r" (p_lrclk), "r" (0x200006)); + } #endif /* Note this call to stop_clock() will pause forever if the port clocking the clock-block is not low.