forked from PAWPAW-Mirror/lib_xua
Looking at 384khz issues
This commit is contained in:
@@ -182,9 +182,9 @@ unsigned deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, chanend ?c_
|
|||||||
if(divide == 1)
|
if(divide == 1)
|
||||||
{
|
{
|
||||||
p_lrclk <: 0 @ tmp;
|
p_lrclk <: 0 @ tmp;
|
||||||
tmp += 30;
|
tmp += 100;
|
||||||
|
|
||||||
/* Prefill the ports so data starts to be input */
|
/* Since BCLK is free-running, setup outputs/inputs at a know point in the future */
|
||||||
#if (I2S_CHANS_DAC != 0)
|
#if (I2S_CHANS_DAC != 0)
|
||||||
#pragma loop unroll
|
#pragma loop unroll
|
||||||
for(int i = 0; i < I2S_WIRES_DAC; i++)
|
for(int i = 0; i < I2S_WIRES_DAC; i++)
|
||||||
@@ -197,17 +197,14 @@ unsigned deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, chanend ?c_
|
|||||||
|
|
||||||
|
|
||||||
#if (I2S_CHANS_ADC != 0)
|
#if (I2S_CHANS_ADC != 0)
|
||||||
p_i2s_adc[0] @ (tmp - 1) :> void;
|
for(int i = 0; i < I2S_WIRES_DAC; i++)
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if (I2S_CHANS_ADC != 0)
|
|
||||||
#pragma loop unroll
|
|
||||||
for(int i = 0; i < I2S_WIRES_ADC; i++)
|
|
||||||
{
|
{
|
||||||
|
//p_i2s_adc[0] @ (tmp - 1) :> void;
|
||||||
|
asm("setpt res[%0], %1"::"r"(p_i2s_adc[i]),"r"(tmp-1));
|
||||||
clearbuf(p_i2s_adc[i]);
|
clearbuf(p_i2s_adc[i]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -223,8 +220,31 @@ unsigned deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, chanend ?c_
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
p_lrclk <: 0x7FFFFFFF;
|
p_lrclk <: 0x7FFFFFFF;
|
||||||
p_bclk <: 0xAAAAAAAA;//32clks
|
switch (divide)
|
||||||
p_bclk <: 0xAAAAAAAA;
|
{
|
||||||
|
case 8:
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
p_bclk <: 0xF0F0F0F0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
p_bclk <: 0xCCCCCCCC;
|
||||||
|
p_bclk <: 0xCCCCCCCC;
|
||||||
|
p_bclk <: 0xCCCCCCCC;
|
||||||
|
p_bclk <: 0xCCCCCCCC;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
p_bclk <: 0xAAAAAAAA;
|
||||||
|
p_bclk <: 0xAAAAAAAA;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
/* CODEC is master */
|
/* CODEC is master */
|
||||||
@@ -371,7 +391,9 @@ unsigned deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, chanend ?c_
|
|||||||
p_bclk <: 0xAAAAAAAA;
|
p_bclk <: 0xAAAAAAAA;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
break;
|
{unsigned xxx = 0;
|
||||||
|
asm("out res[%0], %1",::"r"(XS1_PORT_8D),"r"(xxx));
|
||||||
|
}break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(everyOther)
|
else if(everyOther)
|
||||||
@@ -468,6 +490,9 @@ unsigned deliver(chanend c_out, chanend ?c_spd_out, unsigned divide, chanend ?c_
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
p_lrclk <: 0x80000000;
|
p_lrclk <: 0x80000000;
|
||||||
|
{unsigned xxx = 0x00;
|
||||||
|
asm("out res[%0], %1"::"r"(XS1_PORT_8D),"r"(xxx));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user