summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2f50b6c)
raw | patch | inline | side by side (parent: 2f50b6c)
author | Sebastien Tomas <s-tomas@ti.com> | |
Mon, 23 Dec 2013 17:03:07 +0000 (18:03 +0100) | ||
committer | Sebastien Tomas <s-tomas@ti.com> | |
Mon, 23 Dec 2013 17:03:07 +0000 (18:03 +0100) |
src/AIF_init.c | patch | blob | history |
diff --git a/src/AIF_init.c b/src/AIF_init.c
index aa5f396d90ec0946a5cbddd63622e07e8e8a2a6b..8a39ea1baf9719492b412c371dd11731daa635f4 100644 (file)
--- a/src/AIF_init.c
+++ b/src/AIF_init.c
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_1P92MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/1920);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_7P68MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/7680);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_15P36MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/15360);\r
+ if (hAif->linkConfig[i].sampleRate == AIF_SRATE_23P04MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720); // same as LTE15\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_30P72MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720);\r
} else {\r
dbmxPd = hAif->linkConfig[i].numPdAxC;\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_1P92MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/1920);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_7P68MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/7680);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_15P36MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/15360);\r
+ if (hAif->linkConfig[i].sampleRate == AIF_SRATE_23P04MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720); // same as LTE15\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_30P72MHZ) dbmxPd = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720);\r
}\r
else\r
PdLinkSetup[i].PdCpriDualBitMap.Dbm1Map[0] = 0x0;\r
PdLinkSetup[i].PdCpriDualBitMap.Dbm2Size = 0;\r
PdLinkSetup[i].PdCpriDualBitMap.Dbm2Map[0] = 0x0;\r
+ if (hAif->linkConfig[i].sampleRate == AIF_SRATE_23P04MHZ)\r
+ {\r
+ if (hAif->linkConfig[i].linkRate == 4)\r
+ {\r
+ PdLinkSetup[i].PdCpriDualBitMap.DbmX = 1; // forcing format to A0, A1,A0,A1,A0,A1,B,B\r
+ PdLinkSetup[i].PdCpriDualBitMap.DbmXBubble = 1;// bubbles of 2 AxC samples\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm1Mult = 0;//set n-1\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm1Size = 2;//set n-1\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm1Map[0] = 0x4;\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm2Size = 0;\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm2Map[0] = 0x0;\r
+ } else if (hAif->linkConfig[i].linkRate == 8)\r
+ {\r
+ PdLinkSetup[i].PdCpriDualBitMap.DbmX = 4; // forcing format to A0, A1,A2,A3,A4,A0, A1,A2,A3,A4,B A0, A1,A2,A3,A4\r
+ PdLinkSetup[i].PdCpriDualBitMap.DbmXBubble = 0;// bubbles of 1 AxC sample\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm1Mult = 0;//set n-1\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm1Size = 2;//set n-1\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm1Map[0] = 0x2;\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm2Size = 0;\r
+ PdLinkSetup[i].PdCpriDualBitMap.Dbm2Map[0] = 0x0;\r
+ }\r
+ }\r
\r
if (((superPacket == 0) && (hAif->mode == AIF_LTE_FDD_MODE)) || ((hAif->mode == AIF_LTE_WCDMA_MODE) && (hAif->linkConfig[i].mode == LTE)) || (hAif->mode == AIF_LTE_TDD_MODE))\r
{\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_1P92MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/1920);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_7P68MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/7680);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_15P36MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/15360);\r
+ if (hAif->linkConfig[i].sampleRate == AIF_SRATE_23P04MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720); // same as LTE20\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_30P72MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720);\r
}\r
\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_1P92MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/1920);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_7P68MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/7680);\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_15P36MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/15360);\r
+ if (hAif->linkConfig[i].sampleRate == AIF_SRATE_23P04MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720); // same as LTE20\r
if (hAif->linkConfig[i].sampleRate == AIF_SRATE_30P72MHZ) dbmxPe[i] = _bitc32(hAif->linkConfig[i].maskPattern[0]) * (hAif->linkConfig[i].linkRate*4*256*15/30720);\r
} else {\r
if ((CSL_AIF2_DATA_WIDTH_16_BIT==hAif->linkConfig[i].outboundDataWidth)||\r
PeLinkSetup[i].PeCpriDualBitMap.Dbm1Map[0] = 0x0;\r
PeLinkSetup[i].PeCpriDualBitMap.Dbm2Size = 0;\r
PeLinkSetup[i].PeCpriDualBitMap.Dbm2Map[0] = 0x0;\r
+\r
+ if (hAif->linkConfig[i].sampleRate == AIF_SRATE_23P04MHZ) {\r
+ if (hAif->linkConfig[i].linkRate == 4)\r
+ {\r
+ PeLinkSetup[i].PeCpriDualBitMap.DbmX = 1; // forcing format\r
+ PeLinkSetup[i].PeCpriDualBitMap.DbmXBubble = 1;//bubbles of 2 AxC samples\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm1Mult = 0;//set n-1\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm1Size = 2;//set n-1\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm1Map[0] = 0x4;\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm2Size = 0;\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm2Map[0] = 0x0;\r
+ } else if (hAif->linkConfig[i].linkRate == 8)\r
+ {\r
+ PeLinkSetup[i].PeCpriDualBitMap.DbmX = 4; // forcing format\r
+ PeLinkSetup[i].PeCpriDualBitMap.DbmXBubble = 0;//bubbles of 1 AxC sample\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm1Mult = 0;//set n-1\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm1Size = 2;//set n-1\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm1Map[0] = 0x2;\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm2Size = 0;\r
+ PeLinkSetup[i].PeCpriDualBitMap.Dbm2Map[0] = 0x0;\r
+ }\r
+ }\r
if (hAif->linkConfig[i].outboundDataType==CSL_AIF2_LINK_DATA_TYPE_RSA)\r
{\r
if (hAif->linkConfig[i].outboundDataWidth == CSL_AIF2_DATA_WIDTH_7_BIT) PeLinkSetup[i].CpriAxCPack = CSL_AIF2_CPRI_7BIT_SAMPLE;\r