Hello,
I am getting value of PI_DATA register(accessed through CSL_Aif2Obj) of Aif2 = 0 while configuring a cpri link
What does pi = 0 means?
Hope to see a repy from you soon.
Thanks and Regards,
Jeanne
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
I am getting value of PI_DATA register(accessed through CSL_Aif2Obj) of Aif2 = 0 while configuring a cpri link
What does pi = 0 means?
Hope to see a repy from you soon.
Thanks and Regards,
Jeanne
Hi,
captured Pi = 0 means the received frame boundary is exactly matched with AIF2 phy frame boundary timing which triggered by AT PHY timer. Or it also shows zero Pi value if RM status is not in frame sync status. If RM is not in frame sync, nothing will be captured on PI_DATA register.
Regards,
Albert
Hello Albert,
Thanks for the concise explanation.
I think mine is the second case i.e. RM would not be correctly configured.
Indeed, I had a working 4x CPRI link(index = 1) that supports 2 AxCs for 20 MHz LTE . Now,as I need to support 4 AxCs,i took the following approach - I used 2 4x links simultaneously such that each link would support 2 AxCs.
But as i configured the second 4x link (index = 3) along with the working cpri link(index = 1), the link 1 even stops working.
Output-
1) link 1 TM and RM status both incorrect (this is the link working earlier) - rmSyncStatus = 8, tmFrameStatus = 2
2) For the newly created link 3, rmSyncStatus = 1 , tmFrameStatus = 8 , but PIDATA = 0
I have performed following things to configure the second new 4x link (index = 3):
a)For new LINK 3 I have created two new Aif2 CPPI Rx uplink channels with channelNum 2 and 3 and opened 2 RX flows with flowIds 2 and 3 respectively . The destination uplink Aif2 Rx queue(hUlRxQlAif2,general purpose queue) is opened and is used by RX flowIds 2 and 3 .
b) Also,for link 3,I have opened 2 new Aif2 CPPI Tx downlink channels with channelNum 2 and 3.
c) Rest,like Link 1(earlier one), i have just replicated the configuration for the new Link 3 except for 1 change-
LINK 1 - PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL0; PdLinkSetup.PdPackDmaCh[0] = AIF2_CW_CHANNEL0;
LINK 3 - PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL2; PdLinkSetup.PdPackDmaCh[0] = AIF2_CW_CHANNEL2;
c) All rest of the configuration for LINK 1 and LINK 3 is kept common to both( And,it's same as in lte example aif2 project ).
Please advise if i missed anything while configuring the new cpri link 3 (which i configured almost similar to link 1 till yet).
In other words,what are the dissimilarities that exists in between 4x cpri link 1 and 4x cpri link 3 while configuring all aif2 components(,though both supports 2AxCs each, for 20MHz LTE bandwidth)? Please let me know if something left unclarified.
Hope to see a reply from you soon.
Regards,
Jeanne
that means your link3 channel configuration is wrong and it affects link1 egress channel operation and that's why the link1 TM shows wrong status and this also makes bad RM status by loopback operation.
I don't know the detail of your configuration, but when I reviewed your comments above, I found one thing weird.
LINK 1 - PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL0; PdLinkSetup.PdPackDmaCh[0] = AIF2_CW_CHANNEL0;
LINK 3 - PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL2; PdLinkSetup.PdPackDmaCh[0] = AIF2_CW_CHANNEL2;
this is wrong, because you assigned CW channel 2 to PePackDMACh[0] again. AIF2 supports total 4 channels for control channel and each channel can be assigned to each different link. it should be corrected like below.
LINK 1 - PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL0; PdLinkSetup.PdPackDmaCh[0] = AIF2_CW_CHANNEL0;
LINK 3 - PeLinkSetup.PePackDmaCh[2] = AIF2_CW_CHANNEL2; PdLinkSetup.PdPackDmaCh[2] = AIF2_CW_CHANNEL2;
Regards,
albert
Hello Albert,
I have seen the example aif2 file i.e. AIF_init.c for configuration of multiple links together. As observed, all the links are configured with this line " PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL0 " . Please confirm once on this(???).
So,by applying this above line and correcting one major thing in my code i.e.
To enable two 4x links LTE 30.70 Mbps, I have to do -
1) PeCommonSetup.ChIndex0[0] = 0; /* to configure 1st link AxC0 */
PeCommonSetup.ChIndex0[1] = 1; /* to configure 1st link AxC1 */
PeCommonSetup.ChIndex1[0] = 2; /* to configure 2nd link AxC0 */
PeCommonSetup.ChIndex1[1] = 3; /* to configure 2nd link AxC1 */
Am I correct here?
2) Other thing that i needed to ask is- Can the PIMAX and PIMIN values of 2 (enabled) links be same?
3) PeCommonSetup.PeAxcOffset field is an array of 6 for 6 links . So,Is it required to keep a difference in its value for both enabled links ? If yes, how we decide this field's value for both the links ?
4) Can there be a situation like - both links got up in working state, but, the link goes off after sometime. How is this possible? Could it be because of wrong queue(QMSS) configuration or it could be because of wrongly configured Aif2 hardware registers?
I request you to please guide me in my above 5 queries.
Thanks for all your support. Hope to see a reply from you soon.
Regards,
Jeanne
your questions shows your basic knowledge about AIF2 is not enough to cover those kind of complex setup.
you'd better spend more of your time reading UG more carefully and analyze example codes in the AIF2 LLD.
you can get most answers from the document and code and that's why we spent huge amount of time for UG and LLD.
Regards,
Albert
Hello Albert,
Ok, I will look once again UG,LLD in order to get detailed answers of my generic queries as you advised for.
But,after learning from UG and example project,I was just confirming on my above mentioned points like " 1) " and the other point of "As observed, all the links are configured with this line" PeLinkSetup.PePackDmaCh[0] = AIF2_CW_CHANNEL0 "
So,It was just to gain confidence on my procedure to build this interesting though complex setup.
That's why,if possible from your end, I would like to make a genuine request to just provide a yes/no(i.e. correct or not) on my above 5 queries. I will thereafter assuredly explore in detail all these queries on my own.
Apologies for the inconvenience.Hope to see a positive reply from you soon.
Regards
Jeanne
Hello Albert,
I have gone through the LLD and UG of Aif2 as being advised for in detail.
I got my answers to most of the queries and thereby,I got the 2 links(LINK 1 and LINK 3 ) both up in working state.
Thanks for the support. Now the only issue i am currently facing is that-
1) I have made 4 Aif2 Rx flows with flow id 0,1,2,3 . Each flow has its own Rx FDQ. Flow 0 and 1 are configured for link 1 (first link) and Flow 2 and 3 are configured for link 3(second link) .
2) All 4 flows are mapped to the same high priority accumulator queue as their receive destination queue.
3)So, I am getting now 4 interrupts at each (LTE) aif2 symbol tick.
4) When checked by running aif2 loopback through evm, it's found that - data part in the monolithic descriptor packet of flow 2 and flow 3 (of LINK 3) contains 0(NO DATA) . While, data part in the monolithic descriptor packet of flow 0 and flow 1 (of LINK 1) contains the expected data.
5) Aif2 input to 4 Tx queues(for 4 antenna carrier packets)- a monolithic descriptor in each queue carries the correct data.
Since,links are configured properly,that's why i think i am getting interrupt for each antenna data in accumulator queue(i.e.4 interrupts bcoz 2 antennas each,configured for both links).
But,why the antenna packets from LINK3 (second link) contains data = 0 ? Could yoy please suggest how to approach this issue?
Hope to see a positive reply from you soon.
Regards,
Jeanne
Show me your configuration (attach your file) so that I can find the problem.
Regards,
Albert
Hello Albert,
Apologies for replying late.
I just saw your last post/reply today itself. During the last few days, I analysed my above queries further in detail.
So, finally i am able to achieve 2 4x links(each supporting 2 AxCs) up in working state to support 20 MHz LTE 4x4 MIMO in Downlink.
Thanks for all your inspiring words and support .
Regards,
Jeanne