iMX53 platform:IPU Error - IPU_INT_STAT_5 = 0x00000001

cancel
Showing results for 
Search instead for 
Did you mean: 

iMX53 platform:IPU Error - IPU_INT_STAT_5 = 0x00000001

Jump to solution
3,356 Views
JianqingChen
Contributor II
My encode chip is ADV7180 and it provide some channel for CVBS or Y/C input signal and so on. When I switch the channel to Y/C signal from CVBS,then IPU have some error: IPU Error - IPU_INT_STAT_5 = 0x00000001. Is there anyone encount the problem?
Tags (2)
1 Solution
174 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Some reference code to support adv7180 in Android R10.3.2, there are still many issues, but basic function is OK.

For Android camera application, PAL/NTSC on the fly switch is not working, de-interlance is also not working. The unit test application "mxc_v4l2_tvin" can work in Android too, and all fuction is OK.

 

Hope it can give you some help.

View solution in original post

16 Replies
174 Views
zijunhu
Contributor I

i encount the problem too,but i can't how to resolve it

0 Kudos
174 Views
JianqingChen
Contributor II
Thank you for your reply."echo 1> / sys/class/graphics/fb2/blank"  Just turn off the video display, so after the video playback on the LCD and TV, how do I switch back to LCD from TV?
0 Kudos
174 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

You can try to disable the fb2 and re-enable it during swap.

echo 1> / sys/class/graphics/fb2/blank

0 Kudos
174 Views
JianqingChen
Contributor II

Recently  I am working on dual-display module in the IMX. 53 platform. Finished configuring Uboot, I entered to the serial console:

    

echo D: 720x576i-50> / sys/class/graphics/fb1/mode

    

echo 1> / sys/class/graphics/fb1/blank

    

echo 24> / sys/class/graphics/fb1/bits_per_pixel

    

echo 0> / sys/class/graphics/fb1/blank

    

setprop rw.VIDEO_TVOUT_DISPLAY 1

echo 2-layer-fb-bg> / sys/class/graphics/fb1/fsl_disp_property

At this point, the image can be displayed on the TV. But now I want to swap the image on LCD,then entered on the serial console:

    

echo 1-layer-fb> / sys/class/graphics/fb1/fsl_disp_property

    

echo 1> / sys/class/graphics/fb1/blank

setprop rw.VIDEO_TVOUT_DISPLAY 0

TV is turned off, howerver,the LCD image out the prompt message is:

 

Can not switch while fb2 (fb-fg) is on.

Find out the reasons is because

 swap only happen between DP-BG and DC, while DP-FG disable

Question: How do I swap the channel and display on the LCD?

0 Kudos
174 Views
JianqingChen
Contributor II

Grateful to Lee's guidance, I have to solve the problem, not screen scrolling when switching ADV7180 channel.

0 Kudos
175 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Some reference code to support adv7180 in Android R10.3.2, there are still many issues, but basic function is OK.

For Android camera application, PAL/NTSC on the fly switch is not working, de-interlance is also not working. The unit test application "mxc_v4l2_tvin" can work in Android too, and all fuction is OK.

 

Hope it can give you some help.

View solution in original post

174 Views
charleschang
Contributor III

Thank you, This patch fix my problem .

I just moved to BSP 10.4, the old version mxc_v4l2_tvin.c is not working.

after applying your patch, it works again.

0 Kudos
174 Views
JianqingChen
Contributor II

this is my program,not in android.

Qiang Li said:

For Android level, I have no idea too.

0 Kudos
174 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

For Android level, I have no idea too.

0 Kudos
174 Views
JianqingChen
Contributor II

I am working on the I.MX53 and Android platform, Video streaming is taking the Android framework, I switch the ADV7180 channels through a process in the external reference mxc_v4l2_tvin.c and delete the unwanted.For example type = V4L2_BUF_TYPE_VIDEO_OUTPUT,;ioctl (fd_output_v4l, VIDIOC_STREAMOFF, & type);But I did not succeed.

please give me some advices,thank you.
 
Qiang Li said:

You can reference to attached tvin test application, in function mxc_v4l_tvin_test(), it will check if input mode was changed between PAL and NTSC once per second, if changed, it will stop and restart the preview.

With the same code, you can also added code to check the adv7180 status register, if there is 'frame, scanline lost". Use the same code to stop and restart the preview.



chenjianqing said:

type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
ioctl(fd_output_v4l, VIDIOC_STREAMOFF, &type);

type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ioctl(fd_capture_v4l, VIDIOC_STREAMOFF, &type);

for (j = 0; j < g_output_num_buffers; j++) {
munmap(output_buffers[j].start, output_buffers[j].length);
}
for (j = 0; j < g_capture_num_buffers; j++) {
munmap(capture_buffers[j].start, capture_buffers[j].length);
}

 

from above ,I added the command VIDIOC_STREAMOFF in myself program,and then send the VIDIOC_REQBUFS and VIDIOC_STREAMON,but there no image.I want know how it do reset the idmac and how it work. Thank you very much!

 



Qiang Li said:

0 Kudos
174 Views
JianqingChen
Contributor II

I reference to the application,and delete some about output program.Finnally,I am fail.This my program,please give my some advices.

Qiang Li said:

You can reference to attached tvin test application, in function mxc_v4l_tvin_test(), it will check if input mode was changed between PAL and NTSC once per second, if changed, it will stop and restart the preview.

With the same code, you can also added code to check the adv7180 status register, if there is 'frame, scanline lost". Use the same code to stop and restart the preview.



chenjianqing said:

type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
ioctl(fd_output_v4l, VIDIOC_STREAMOFF, &type);

type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ioctl(fd_capture_v4l, VIDIOC_STREAMOFF, &type);

for (j = 0; j < g_output_num_buffers; j++) {
munmap(output_buffers[j].start, output_buffers[j].length);
}
for (j = 0; j < g_capture_num_buffers; j++) {
munmap(capture_buffers[j].start, capture_buffers[j].length);
}

 

from above ,I added the command VIDIOC_STREAMOFF in myself program,and then send the VIDIOC_REQBUFS and VIDIOC_STREAMON,but there no image.I want know how it do reset the idmac and how it work. Thank you very much!

 



Qiang Li said:

0 Kudos
174 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

You can reference to attached tvin test application, in function mxc_v4l_tvin_test(), it will check if input mode was changed between PAL and NTSC once per second, if changed, it will stop and restart the preview.

With the same code, you can also added code to check the adv7180 status register, if there is 'frame, scanline lost". Use the same code to stop and restart the preview.



chenjianqing said:

type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
ioctl(fd_output_v4l, VIDIOC_STREAMOFF, &type);

type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ioctl(fd_capture_v4l, VIDIOC_STREAMOFF, &type);

for (j = 0; j < g_output_num_buffers; j++) {
munmap(output_buffers[j].start, output_buffers[j].length);
}
for (j = 0; j < g_capture_num_buffers; j++) {
munmap(capture_buffers[j].start, capture_buffers[j].length);
}

 

from above ,I added the command VIDIOC_STREAMOFF in myself program,and then send the VIDIOC_REQBUFS and VIDIOC_STREAMON,but there no image.I want know how it do reset the idmac and how it work. Thank you very much!

 



Qiang Li said:

0 Kudos
174 Views
JianqingChen
Contributor II

type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
ioctl(fd_output_v4l, VIDIOC_STREAMOFF, &type);

type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ioctl(fd_capture_v4l, VIDIOC_STREAMOFF, &type);

for (j = 0; j < g_output_num_buffers; j++) {
munmap(output_buffers[j].start, output_buffers[j].length);
}
for (j = 0; j < g_capture_num_buffers; j++) {
munmap(capture_buffers[j].start, capture_buffers[j].length);
}

 

from above ,I added the command VIDIOC_STREAMOFF in myself program,and then send the VIDIOC_REQBUFS and VIDIOC_STREAMON,but there no image.I want know how it do reset the idmac and how it work. Thank you very much!

 



Qiang Li said:

0 Kudos
174 Views
qiang_li-mpu_se
NXP Employee
NXP Employee
0 Kudos
174 Views
JianqingChen
Contributor II
Thanks for reply.But when I switch ADV7180 channel and IPU Error - IPU_INT_STAT_5 = 0x00000001 happened,then my camera is rolling at short time,finnally, it resume normal.So I need to solve the problem ,please give me some suggest.
0 Kudos
174 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

This should be normal information, the interrupt means there is New Frame before end-of-frame error interrupt on IPU channel 0 (CSI), when you switchs the input source on adv7180, it can't make sure the switch happpens after a full frame was transfered and before a new frame.

But I think this will not impact the function, CSI can re-sync it.

0 Kudos