|
#include "global.h"
|
#include <sru.h>
|
|
asm("#include <def21489.h>");
|
|
void clearDAIpins(void)
|
{
|
//------------------------------------------------------------------------
|
// Tie the pin buffer inputs LOW for all DAI pins. Even though
|
// these pins are inputs to the SHARC, tying unused pin buffer inputs
|
// LOW is "good coding style" to eliminate the possibility of
|
// termination artifacts internal to the IC. Note that signal
|
// integrity is degraded only with a few specific SRU combinations.
|
// In practice, this occurs VERY rarely, and these connections are
|
// typically unnecessary. This is GROUP D
|
SRU(LOW, DAI_PB01_I);
|
SRU(LOW, DAI_PB02_I);
|
SRU(LOW, DAI_PB03_I);
|
SRU(LOW, DAI_PB04_I);
|
SRU(LOW, DAI_PB05_I);
|
SRU(LOW, DAI_PB06_I);
|
SRU(LOW, DAI_PB07_I);
|
SRU(LOW, DAI_PB08_I);
|
SRU(LOW, DAI_PB09_I);
|
SRU(LOW, DAI_PB10_I);
|
SRU(LOW, DAI_PB11_I);
|
SRU(LOW, DAI_PB12_I);
|
SRU(LOW, DAI_PB13_I);
|
SRU(LOW, DAI_PB14_I);
|
SRU(LOW, DAI_PB15_I);
|
SRU(LOW, DAI_PB16_I);
|
SRU(LOW, DAI_PB17_I);
|
SRU(LOW, DAI_PB18_I);
|
SRU(LOW, DAI_PB19_I);
|
SRU(LOW, DAI_PB20_I);
|
|
//------------------------------------------------------------------------
|
// Tie the pin buffer enable inputs LOW for all DAI pins so
|
// that they are always input pins. This is GROUP F.
|
SRU(LOW, PBEN01_I);
|
SRU(LOW, PBEN02_I);
|
SRU(LOW, PBEN03_I);
|
SRU(LOW, PBEN04_I);
|
SRU(LOW, PBEN05_I);
|
SRU(LOW, PBEN06_I);
|
SRU(LOW, PBEN07_I);
|
SRU(LOW, PBEN08_I);
|
SRU(LOW, PBEN09_I);
|
SRU(LOW, PBEN10_I);
|
SRU(LOW, PBEN11_I);
|
SRU(LOW, PBEN12_I);
|
SRU(LOW, PBEN13_I);
|
SRU(LOW, PBEN14_I);
|
SRU(LOW, PBEN15_I);
|
SRU(LOW, PBEN16_I);
|
SRU(LOW, PBEN17_I);
|
SRU(LOW, PBEN18_I);
|
SRU(LOW, PBEN19_I);
|
SRU(LOW, PBEN20_I);
|
}
|
|
|
|
void InitDAI()
|
{
|
clearDAIpins();
|
|
#if defined(DSP818V2)
|
SRU(DAI_PB15_O, SPORT1_CLK_I); // DAIP7 (ABCLK) to SPORT1 CLK (RCLK)
|
SRU(DAI_PB15_O, SPORT0_CLK_I); // DAIP7 (ABCLK) to SPORT0 CLK (TCLK)
|
SRU(DAI_PB15_O, SPORT2_CLK_I); // DAIP7 (ABCLK) to SPORT2 CLK (TCLK)
|
SRU(DAI_PB15_O, SPORT3_CLK_I); // DAIP7 (ABCLK) to SPORT2 CLK (TCLK)
|
|
SRU(DAI_PB16_O, SPORT1_FS_I); // DAIP8 (ALRCLK) to SPORT1 FS (RFS1)
|
SRU(DAI_PB16_O, SPORT0_FS_I); // DAIP8 (ALRCLK) to SPORT0 FS (TFS0)
|
SRU(DAI_PB16_O, SPORT2_FS_I); // DAIP8 (ALRCLK) to SPORT2 FS (TFS2)
|
SRU(DAI_PB16_O, SPORT3_FS_I); // DAIP8 (ALRCLK) to SPORT2 FS (TFS2)
|
|
//For Dante CLK
|
SRU(DAI_PB15_O, SPORT4_CLK_I);
|
SRU(DAI_PB15_O, SPORT5_CLK_I);
|
SRU(DAI_PB15_O, SPORT6_CLK_I);
|
SRU(DAI_PB15_O, SPORT7_CLK_I);
|
|
//FOR Dante FS
|
SRU(DAI_PB16_O, SPORT4_FS_I);
|
SRU(DAI_PB16_O, SPORT5_FS_I);
|
SRU(DAI_PB16_O, SPORT6_FS_I);
|
SRU(DAI_PB16_O, SPORT7_FS_I);
|
|
//FOR Dante RX
|
SRU(DAI_PB17_O, SPORT5_DA_I);
|
SRU(DAI_PB18_O, SPORT5_DB_I);
|
SRU(DAI_PB14_O, SPORT7_DA_I);
|
SRU(DAI_PB20_O, SPORT7_DB_I);
|
|
//FOR Dante TX
|
SRU(HIGH, PBEN13_I);
|
SRU(SPORT4_DA_O, DAI_PB13_I); // DAIP12 (DSDATA1) to SPORT0 DA (TX)
|
SRU(HIGH, PBEN19_I);
|
SRU(SPORT4_DB_O, DAI_PB19_I); // DAIP11 (DSDATA2) to SPORT0 DB (TX)
|
|
|
SRU(HIGH, PBEN01_I);
|
SRU(SPORT6_DA_O, DAI_PB01_I); // DAIP10 (DSDATA3) to SPORT2 DA (TX)
|
SRU(HIGH, PBEN02_I);
|
SRU(SPORT6_DB_O, DAI_PB02_I); // DAIP09 (DSDATA4) to SPORT2 DB (TX)
|
#else
|
SRU(DAI_PB07_O, SPORT1_CLK_I); // DAIP7 (ABCLK) to SPORT1 CLK (RCLK)
|
SRU(DAI_PB07_O, SPORT0_CLK_I); // DAIP7 (ABCLK) to SPORT0 CLK (TCLK)
|
SRU(DAI_PB07_O, SPORT2_CLK_I); // DAIP7 (ABCLK) to SPORT2 CLK (TCLK)
|
SRU(DAI_PB07_O, SPORT3_CLK_I); // DAIP7 (ABCLK) to SPORT2 CLK (TCLK)
|
|
|
|
SRU(DAI_PB08_O, SPORT1_FS_I); // DAIP8 (ALRCLK) to SPORT1 FS (RFS1)
|
SRU(DAI_PB08_O, SPORT0_FS_I); // DAIP8 (ALRCLK) to SPORT0 FS (TFS0)
|
SRU(DAI_PB08_O, SPORT2_FS_I); // DAIP8 (ALRCLK) to SPORT2 FS (TFS2)
|
SRU(DAI_PB08_O, SPORT3_FS_I); // DAIP8 (ALRCLK) to SPORT2 FS (TFS2)
|
|
#endif
|
|
SRU(DAI_PB05_O, SPORT1_DA_I); // DAIP5 (ASDATA1) to SPORT1 DA (RX1A)
|
SRU(DAI_PB06_O, SPORT1_DB_I); // DAIP6 (ASDATA2) to SPORT1 DB (RX1B)
|
|
SRU(DAI_PB03_O, SPORT3_DA_I); // DAIP5 (ASDATA1) to SPORT1 DA (RX1A)
|
SRU(DAI_PB04_O, SPORT3_DB_I); // DAIP6 (ASDATA2) to SPORT1 DB (RX1B)
|
|
|
SRU(HIGH, PBEN12_I);
|
SRU(SPORT0_DA_O, DAI_PB12_I); // DAIP12 (DSDATA1) to SPORT0 DA (TX)
|
SRU(HIGH, PBEN11_I);
|
SRU(SPORT0_DB_O, DAI_PB11_I); // DAIP11 (DSDATA2) to SPORT0 DB (TX)
|
|
|
SRU(HIGH, PBEN10_I);
|
SRU(SPORT2_DA_O, DAI_PB10_I); // DAIP10 (DSDATA3) to SPORT2 DA (TX)
|
SRU(HIGH, PBEN09_I);
|
SRU(SPORT2_DB_O, DAI_PB09_I); // DAIP09 (DSDATA4) to SPORT2 DB (TX)
|
|
#ifdef DEMO_BOARD
|
//--------------------------------------------------------------------------
|
// Route SPI signals to AD1939 Control Port.
|
SRU(SPI_MOSI_O, DPI_PB01_I); //Connect MOSI to DPI PB1.
|
SRU(DPI_PB02_O, SPI_MISO_I); //Connect DPI PB2 to MISO.
|
SRU(SPI_CLK_O, DPI_PB03_I); //Connect SPI CLK to DPI PB3.
|
SRU(SPI_FLG0_O, DPI_PB04_I); //Connect SPI FLAG0 to DPI PB4.
|
|
SRU(SPI_MOSI_PBEN_O, DPI_PBEN01_I);
|
SRU(SPI_MISO_PBEN_O, DPI_PBEN02_I);
|
SRU(SPI_CLK_PBEN_O, DPI_PBEN03_I);
|
SRU(SPI_FLG0_PBEN_O, DPI_PBEN04_I);
|
#elif defined(DSP818V1)
|
SRU(DAI_PB13_O,PCG_EXTA_I);
|
SRU(HIGH, PBEN07_I);
|
SRU(PCG_CLKA_O,DAI_PB07_I);
|
SRU(HIGH, PBEN08_I);
|
SRU(PCG_FSA_O,DAI_PB08_I);
|
#elif defined(DSP818V2) && !defined(HAS_DANTE)
|
//route PCG
|
SRU(HIGH, PBEN08_I);
|
SRU(DAI_PB07_O,DAI_PB08_I);
|
SRU(DAI_PB07_O,PCG_EXTA_I);
|
SRU(HIGH, PBEN15_I);
|
SRU(PCG_CLKA_O,DAI_PB15_I);
|
SRU(HIGH, PBEN16_I);
|
SRU(PCG_FSA_O,DAI_PB16_I);
|
#endif
|
|
//spiB route.
|
|
|
SRU (LOW, DPI_PBEN07_I);
|
SRU (HIGH, DPI_PBEN08_I);
|
SRU (LOW, DPI_PBEN09_I);
|
SRU (LOW, DPI_PBEN10_I);
|
|
// SRU(SPIB_MOSI_PBEN_O, DPI_PBEN07_I);
|
// SRU(SPIB_MISO_PBEN_O, DPI_PBEN08_I);
|
// SRU(SPIB_CLK_PBEN_O, DPI_PBEN09_I);
|
// SRU(SPIB_FLG0_PBEN_O, DPI_PBEN10_I);
|
|
SRU(DPI_PB07_O,SPIB_MOSI_I);
|
SRU(SPIB_MISO_O,DPI_PB08_I); //Connect DPI PB2 to MISO.
|
SRU(DPI_PB09_O,SPIB_CLK_I); //Connect SPI CLK to DPI PB3.
|
SRU(DPI_PB10_O,SPIB_DS_I);
|
|
}
|