forked from PAWPAW-Mirror/lib_xua
NUM_USB_CHAN_IN_A1 and NUM_USB_CHAN_OUT_A1 changed from A1 to _FS
This commit is contained in:
@@ -66,22 +66,22 @@
|
|||||||
#define MAX_FREQ_A1 MAX_FREQ
|
#define MAX_FREQ_A1 MAX_FREQ
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* For Audio Class 1.0 we always have at most 2 channels */
|
/* For Audio Class 1.0 and Full-speed Audio 2.0 we always have at most 2 channels */
|
||||||
#if (NUM_USB_CHAN_OUT > 2)
|
#if (NUM_USB_CHAN_OUT > 2)
|
||||||
#define NUM_USB_CHAN_OUT_A1 (2)
|
#define NUM_USB_CHAN_OUT_FS (2)
|
||||||
#else
|
#else
|
||||||
#define NUM_USB_CHAN_OUT_A1 (NUM_USB_CHAN_OUT)
|
#define NUM_USB_CHAN_OUT_FS (NUM_USB_CHAN_OUT)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (NUM_USB_CHAN_IN > 2)
|
#if (NUM_USB_CHAN_IN > 2)
|
||||||
#define NUM_USB_CHAN_IN_A1 (2)
|
#define NUM_USB_CHAN_IN_FS (2)
|
||||||
#else
|
#else
|
||||||
#define NUM_USB_CHAN_IN_A1 (NUM_USB_CHAN_IN)
|
#define NUM_USB_CHAN_IN_FS (NUM_USB_CHAN_IN)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Channel count defines for FS mode */
|
/* Channel count defines for Audio 1.0 mode */
|
||||||
#define NUM_USB_CHAN_OUT_FS (NUM_USB_CHAN_OUT_A1)
|
//#define NUM_USB_CHAN_OUT_A1 (NUM_USB_CHAN_OUT_FS)
|
||||||
#define NUM_USB_CHAN_IN_FS (NUM_USB_CHAN_IN_A1)
|
//#define NUM_USB_CHAN_IN_A1 (NUM_USB_CHAN_IN_FS)
|
||||||
|
|
||||||
|
|
||||||
#if defined(IO_EXPANSION) && (IO_EXPANSION == 0)
|
#if defined(IO_EXPANSION) && (IO_EXPANSION == 0)
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
outuint(c_audioControl, SET_CHAN_COUNT_OUT);
|
outuint(c_audioControl, SET_CHAN_COUNT_OUT);
|
||||||
outuint(c_audioControl, NUM_USB_CHAN_OUT_A1);
|
outuint(c_audioControl, NUM_USB_CHAN_OUT_FS);
|
||||||
}
|
}
|
||||||
#ifdef NATIVE_DSD
|
#ifdef NATIVE_DSD
|
||||||
if(g_dsdMode)
|
if(g_dsdMode)
|
||||||
@@ -324,7 +324,7 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
outuint(c_audioControl, SET_CHAN_COUNT_IN);
|
outuint(c_audioControl, SET_CHAN_COUNT_IN);
|
||||||
outuint(c_audioControl, NUM_USB_CHAN_IN_A1);
|
outuint(c_audioControl, NUM_USB_CHAN_IN_FS);
|
||||||
}
|
}
|
||||||
#ifdef ADAT_RX
|
#ifdef ADAT_RX
|
||||||
outuint(c_clk_ctl, SET_SMUX);
|
outuint(c_clk_ctl, SET_SMUX);
|
||||||
|
|||||||
@@ -13,13 +13,14 @@
|
|||||||
#define CLASS_TWO_PACKET_SIZE ((((MAX_FREQ+7999)/8000))+3) // Samples per channel
|
#define CLASS_TWO_PACKET_SIZE ((((MAX_FREQ+7999)/8000))+3) // Samples per channel
|
||||||
#define CLASS_ONE_PACKET_SIZE ((((MAX_FREQ_A1+999)/1000))+3) // Samples per channel
|
#define CLASS_ONE_PACKET_SIZE ((((MAX_FREQ_A1+999)/1000))+3) // Samples per channel
|
||||||
|
|
||||||
|
/* TODO user SLOTSIZE to potentially save memory */
|
||||||
|
#define BUFF_SIZE_OUT MAX(4 * CLASS_TWO_PACKET_SIZE * NUM_USB_CHAN_OUT, 4 * CLASS_ONE_PACKET_SIZE * NUM_USB_CHAN_OUT_FS)
|
||||||
|
#define BUFF_SIZE_IN MAX(4 * CLASS_TWO_PACKET_SIZE * NUM_USB_CHAN_IN, 4 * CLASS_ONE_PACKET_SIZE * NUM_USB_CHAN_IN_FS)
|
||||||
|
|
||||||
#define BUFF_SIZE_OUT MAX(4 * CLASS_TWO_PACKET_SIZE * NUM_USB_CHAN_OUT, 4 * CLASS_ONE_PACKET_SIZE * NUM_USB_CHAN_OUT_A1)
|
/* Maximum USB buffer size (1024 bytes + 1 word to store length) */
|
||||||
#define BUFF_SIZE_IN MAX(4 * CLASS_TWO_PACKET_SIZE * NUM_USB_CHAN_IN, 4 * CLASS_ONE_PACKET_SIZE * NUM_USB_CHAN_IN_A1)
|
|
||||||
|
|
||||||
#define MAX_USB_AUD_PACKET_SIZE 1028
|
#define MAX_USB_AUD_PACKET_SIZE 1028
|
||||||
|
|
||||||
#define OUT_BUFFER_PREFILL (MAX(NUM_USB_CHAN_OUT_A1*CLASS_ONE_PACKET_SIZE*3+4,NUM_USB_CHAN_OUT*CLASS_TWO_PACKET_SIZE*4+4)*1)
|
#define OUT_BUFFER_PREFILL (MAX(NUM_USB_CHAN_OUT_FS*CLASS_ONE_PACKET_SIZE*3+4,NUM_USB_CHAN_OUT*CLASS_TWO_PACKET_SIZE*4+4)*1)
|
||||||
#define IN_BUFFER_PREFILL (MAX(CLASS_ONE_PACKET_SIZE*3+4,CLASS_TWO_PACKET_SIZE*4+4)*2)
|
#define IN_BUFFER_PREFILL (MAX(CLASS_ONE_PACKET_SIZE*3+4,CLASS_TWO_PACKET_SIZE*4+4)*2)
|
||||||
|
|
||||||
/* Volume and mute tables */
|
/* Volume and mute tables */
|
||||||
@@ -37,7 +38,7 @@ unsigned g_numUsbChanOut = NUM_USB_CHAN_OUT;
|
|||||||
unsigned g_numUsbChanIn = NUM_USB_CHAN_IN;
|
unsigned g_numUsbChanIn = NUM_USB_CHAN_IN;
|
||||||
|
|
||||||
#define MAX_DEVICE_AUD_PACKET_SIZE_CLASS_TWO ((MAX_FREQ/8000+1)*NUM_USB_CHAN_IN*4)
|
#define MAX_DEVICE_AUD_PACKET_SIZE_CLASS_TWO ((MAX_FREQ/8000+1)*NUM_USB_CHAN_IN*4)
|
||||||
#define MAX_DEVICE_AUD_PACKET_SIZE_CLASS_ONE (((MAX_FREQ_A1/1000+1)*NUM_USB_CHAN_IN_A1*3)+4)
|
#define MAX_DEVICE_AUD_PACKET_SIZE_CLASS_ONE (((MAX_FREQ_A1/1000+1)*NUM_USB_CHAN_IN_FS*3)+4)
|
||||||
|
|
||||||
#define MAX_DEVICE_AUD_PACKET_SIZE (MAX(MAX_DEVICE_AUD_PACKET_SIZE_CLASS_ONE, MAX_DEVICE_AUD_PACKET_SIZE_CLASS_TWO))
|
#define MAX_DEVICE_AUD_PACKET_SIZE (MAX(MAX_DEVICE_AUD_PACKET_SIZE_CLASS_ONE, MAX_DEVICE_AUD_PACKET_SIZE_CLASS_TWO))
|
||||||
|
|
||||||
@@ -745,8 +746,8 @@ void decouple(chanend c_mix_out,
|
|||||||
|
|
||||||
if(usb_speed == XUD_SPEED_FS)
|
if(usb_speed == XUD_SPEED_FS)
|
||||||
{
|
{
|
||||||
g_numUsbChanOut = NUM_USB_CHAN_OUT_A1;
|
g_numUsbChanOut = NUM_USB_CHAN_OUT_FS;
|
||||||
g_numUsbChanIn = NUM_USB_CHAN_IN_A1;
|
g_numUsbChanIn = NUM_USB_CHAN_IN_FS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -804,7 +805,7 @@ void decouple(chanend c_mix_out,
|
|||||||
if (usb_speed == XUD_SPEED_HS)
|
if (usb_speed == XUD_SPEED_HS)
|
||||||
mid*=NUM_USB_CHAN_IN*SAMPLE_SUBSLOT_SIZE_HS;
|
mid*=NUM_USB_CHAN_IN*SAMPLE_SUBSLOT_SIZE_HS;
|
||||||
else
|
else
|
||||||
mid*=NUM_USB_CHAN_IN_A1*SAMPLE_SUBSLOT_SIZE_FS;
|
mid*=NUM_USB_CHAN_IN_FS*SAMPLE_SUBSLOT_SIZE_FS;
|
||||||
|
|
||||||
asm("stw %0, %1[0]"::"r"(mid),"r"(g_aud_to_host_zeros));
|
asm("stw %0, %1[0]"::"r"(mid),"r"(g_aud_to_host_zeros));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user