Other Parts Discussed in Thread: TDA4VM
Tool/software:
Hi, TI experts,
We want to reset csirx on our tda4ve board by following below steps:
CameraFxns_4_to_1.streamOff(0);
appLogWaitMsecs(1);
/* Stop streams only if this is last active Virtual context */
*((volatile unsigned int *)(0x04504100)) = 0x02;
/* Stop all virtual channel */
/* VC0 */
regval = *((volatile unsigned int *)(0x04500020));
*((volatile unsigned int *)(0x04500020)) = (regval & 0x7FFFFFFF);
/* VC1 */
regval = *((volatile unsigned int *)(0x04500040));
*((volatile unsigned int *)(0x04500040)) = (regval & 0x7FFFFFFF);/* VC2 */
regval = *((volatile unsigned int *)(0x04500060));
*((volatile unsigned int *)(0x04500060)) = (regval & 0x7FFFFFFF);
/* VC3 */
regval = *((volatile unsigned int *)(0x04500080));
*((volatile unsigned int *)(0x04500080)) = (regval & 0x7FFFFFFF);
appLogWaitMsecs(10);
/* assert pixel interface reset */
regval = *((volatile unsigned int *)(0x04500010));
*((volatile unsigned int *)(0x04500010)) = (regval & 0xFFFFFFFE);
/* reset streams before configuration */
*((volatile unsigned int *)(0x04504100)) = 0x10;
regval = *((volatile unsigned int *)(0x04504104));
/* Wait for stream to become IDLE */
while (((regval & (1 << 8))!= 0x0U) && ((regval & (0xF << 4)) != 0x0U))
{
regval = *((volatile unsigned int *)(0x04504104));
}
/* Enable DMA context for PSIL thread */
/* VC0 */
regval = *((volatile unsigned int *)(0x04500020));
*((volatile unsigned int *)(0x04500020)) = (regval | 0x80000000);
/* VC1 */
regval = *((volatile unsigned int *)(0x04500040));
*((volatile unsigned int *)(0x04500040)) = (regval | 0x80000000);
/* VC2 */
regval = *((volatile unsigned int *)(0x04500060));
*((volatile unsigned int *)(0x04500060)) = (regval | 0x80000000);
/* VC3 */
regval = *((volatile unsigned int *)(0x04500080));
*((volatile unsigned int *)(0x04500080)) = (regval | 0x80000000);
/* start streams */
*((volatile unsigned int *)(0x04504100)) = 0x01;
appLogWaitMsecs(10);
CameraFxns_4_to_1.streamOn(0);
buy afther doing above steps, the streams can not be recover.
can you help to find what was wrong?
log was attached below:
root@j721s2-evm:/# ./teSuccess to init SerDes!, cost time: 3349 ms st-csirx-reset.sh ----------frame rate: 0.00 Installing i2c module... [ 22.597404] i2c_dev: i2c /dev entries driver may be you want to run: detect: i2cdetect -y -r 0 read: i2ctransfer -f -y 0 w2@0x42 0x01 0xfc r1 write: i2ctransfer -f -y 0 w3@0x42 0x00 0x01 0x14 i2c_dev 20480 0 /dev/mem opened. Memory mapped at address 0xffff99f82000. Read at address 0x04504100 (0xffff99f82100): 0x00000001 Write at address 0x04504100 (0xffff99f82100): 0x00000002, readback 0x00000002 /dev/mem opened. Memory mapped at address 0xffff80041000. Read at address 0x04500020 (0xffff80041020): 0x8C00001E Write at address 0x04500020 (0xffff80041020): 0x0C00001E, readback 0x0C00001E Original value: 0x8C00001E New value: 0x0C00001E /dev/mem opened. Memory mapped at address 0xffff894b9000. Read at address 0x04500040 (0xffff894b9040): 0x8C00005E Write at address 0x04500040 (0xffff894b9040): 0x0C00005E, readback 0x0C00005E Original value: 0x8C00005E New value: 0x0C00005E /dev/mem opened. Memory mapped at address 0xffffa92e2000. Read at address 0x04500060 (0xffffa92e2060): 0x8C00009E Write at address 0x04500060 (0xffffa92e2060): 0x0C00009E, readback 0x0C00009E Original value: 0x8C00009E New value: 0x0C00009E /dev/mem opened. Memory mapped at address 0xffff99678000. Read at address 0x04500080 (0xffff99678080): 0x8C0000DE Write at address 0x04500080 (0xffff99678080): 0x0C0000DE, readback 0x0C0000DE Original value: 0x8C0000DE New value: 0x0C0000DE /dev/mem opened. Memory mapped at address 0xffffa8d78000. Read at address 0x04504100 (0xffffa8d78100): 0x00000002 Write at address 0x04504100 (0xffffa8d78100): 0x00000010, readback 0x00000010 /dev/mem opened. Memory mapped at address 0xffff82161000. Read at address 0x04500010 (0xffff82161010): 0x00000E01 Write at address 0x04500010 (0xffff82161010): 0x00000E00, readback 0x00000E00 Original value: 0x00000E01 New value: 0x00000E00 ���ڵȴ�������λ ----------frame rate: 11.24 /dev/mem opened. Memory mapped at address 0xffffa1113000. Read at address 0x04500020 (0xffffa1113020): 0x0C00001E Write at address 0x04500020 (0xffffa1113020): 0x8C00001E, readback 0x8C00001E Original value: 0x0C00001E New value: 0x8C00001E /dev/mem opened. Memory mapped at address 0xffff8bf1c000. Read at address 0x04500040 (0xffff8bf1c040): 0x0C00005E Write at address 0x04500040 (0xffff8bf1c040): 0x8C00005E, readback 0x8C00005E Original value: 0x0C00005E New value: 0x8C00005E /dev/mem opened. Memory mapped at address 0xffffa1a97000. Read at address 0x04500060 (0xffffa1a97060): 0x0C00009E Write at address 0x04500060 (0xffffa1a97060): 0x8C00009E, readback 0x8C00009E Original value: 0x0C00009E New value: 0x8C00009E /dev/mem opened. Memory mapped at address 0xffffbbb4e000. Read at address 0x04500080 (0xffffbbb4e080): 0x0C0000DE Write at address 0x04500080 (0xffffbbb4e080): 0x8C0000DE, readback 0x8C0000DE Original value: 0x0C0000DE New value: 0x8C0000DE /dev/mem opened. Memory mapped at address 0xffffac850000. Read at address 0x04504100 (0xffffac850100): 0x00000000 Write at address 0x04504100 (0xffffac850100): 0x00000001, readback 0x00000001 root@j721s2-evm:/# root@j721s2-evm:/# root@j721s2-evm:/#
Our SDK version is 9.2
Thanks