We are seeing nonsense output on CSI2 lanes when testsource is enabled by external processor. Here is the API called by the processor:
int MMWL_testSourceConfig(unsigned char deviceMap)
{
rlTestSource_t tsArgs = {0};
rlTestSourceEnable_t tsEnableArgs = {0};
int retVal = RL_RET_CODE_OK;
tsArgs.testObj[0].posX = 400;
tsArgs.testObj[0].posY = 300;
tsArgs.testObj[0].posZ = 0;
tsArgs.testObj[0].velX = 0;
tsArgs.testObj[0].velY = 0;
tsArgs.testObj[0].velZ = 0;
tsArgs.testObj[0].posXMin = -32700;
tsArgs.testObj[0].posYMin = 0;
tsArgs.testObj[0].posZMin = -32700;
tsArgs.testObj[0].posXMax = 32700;
tsArgs.testObj[0].posYMax = 32700;
tsArgs.testObj[0].posZMax = 32700;
tsArgs.testObj[0].sigLvl = 0;
tsArgs.testObj[1].posX = 32700;
tsArgs.testObj[1].posY = 32700;
tsArgs.testObj[1].posZ = 0;
tsArgs.testObj[1].velX = 0;
tsArgs.testObj[1].velY = 0;
tsArgs.testObj[1].velZ = 0;
tsArgs.testObj[1].posXMin = -32700;
tsArgs.testObj[1].posYMin = 0;
tsArgs.testObj[1].posZMin = -32700;
tsArgs.testObj[1].posXMax = 32700;
tsArgs.testObj[1].posYMax = 32700;
tsArgs.testObj[1].posZMax = 32700;
tsArgs.testObj[1].sigLvl = 0;
tsArgs.rxAntPos[0].antPosX = 0;
tsArgs.rxAntPos[0].antPosZ = 0;
tsArgs.rxAntPos[1].antPosX = 0;
tsArgs.rxAntPos[1].antPosZ = 0;
tsArgs.rxAntPos[2].antPosX = 0;
tsArgs.rxAntPos[2].antPosZ = 0;
tsArgs.rxAntPos[3].antPosX = 0;
tsArgs.rxAntPos[3].antPosZ = 0;
tsArgs.miscFunCtrl = 1;
retVal = rlSetTestSourceConfig(deviceMap, &tsArgs);
tsEnableArgs.tsEnable = 1U;
// tsEnableArgs.tsMode = 1U;
retVal = rlTestSourceEnable(deviceMap, &tsEnableArgs);
return retVal;
}
The output is supposed to be showing a target at R=5m. However the output data looks not to be matching the config. Also, we are not seeing any change in the output data when the x y z position of the target is changed in the API. The output seems to be fixed, regardless of the input.

