Hello community,
I just try to capture bt656 interlace data.
Each register setting are same as 2.1.1 BT.656 Interlace Setting in document i.MX6 IPU TVIN Application Note.
IPU_CSI_SENS_CONF 0x04000A30
IPU_CSI_SENS_FRM_SIZE 0x020C02CF
IPU_CSI_ACT_FRM_SIZE 0x01DF02CF
IPU_CSI_OUT_FRM_CTRL 0x00000003
IPU_CSI_CCIR_CODE_1 0x010D07DF
IPU_CSI_CCIR_CODE_2 0x00040596
IPU_CSI_CCIR_CODE_3 0x00FF0000
In this time capture data will be swapped each odd/even field.
Line 0 Line 1
Line 1 Line 0
Line 2 Line 3
Line 3 Line 2
Line 4 Line 5
Line 5 Line 4
Line 6 Line 7
Line 7 Line 6
So, we try to change IPU_CSI_CCIR_CODE_1 and IPU_CSI_CCIR_CODE_2 to change F bit setting.
IPU_CSI_CCIR_CODE_1 0x00040596
IPU_CSI_CCIR_CODE_2 0x010D07DF
As a result, capture data is more differ as following.
Line 0 Line 1
Line 1 Line x
Line 2 Line 3
Line 3 Line 0
Line 4 Line 5
Line 5 Line 2
Line 6 Line 7
Line 7 Line 4
to capture these signals.
Which register does it modify to setup capture start line?
Best regards,
Ishii.
Thanks Takayuki,
I had a look to RM and found that:
Register BASE ADDR : 0x02600000
IPU_CSI_SENS_CONF 0x02630000
IPU_CSI_SENS_FRM_SIZE 0x02630004
IPU_CSI_ACT_FRM_SIZE 0x02630008
IPU_CSI_OUT_FRM_CTRL 0x0263000C
IPU_CSI_CCIR_CODE_1 0x02630014
IPU_CSI_CCIR_CODE_2 0x02630018
IPU_CSI_CCIR_CODE_3 0x0263001C
How can you see these registers? Is there any way to see them on linux(yocto) without debugger?
Cheers
Hello umit kayacik,
Sorry my late reply.
To access IPU_CSI registers, you can use memtool command in /unit_tests directory.
But it can not use by module name like
> /unit_tests/memtools IPU1.CSI.*
In this time memtool command will hang-up in my environment.
So please try CSI reguster address directory.
> /unit_tests/memtools -32 0x02A30000 10
In default Linux BSP, IPU1 clock_gating is disable, so 0x026x_xxxx will be hung-up.
So to access 0x026x_xxxx registers, you must check CCGR3 register.
Best regards,
Ishii.
Hi Takayuki
i.MX6Q BT656 interlace capture is supported in linux, one can look at adv7180 driver:
linux/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
imx6qdl-sabreauto.dtsi\dts\boot\arm\arch - linux-imx - i.MX Linux kernel
unit test ..test/mxc_v4l2_test/mxc_v4l2_tvin.c
mxc_v4l2_tvin.c\mxc_v4l2_test\test - imx-test - i.MX Driver Test Application Software
Linux driver and description in sect.6.1.7 V4L2 Capture attached Linux Manual
drivers/media/platform/mxc/capture/adv7180.c
adv7180.c\capture\mxc\platform\media\drivers - linux-imx - i.MX Linux kernel
baremetal adv7180 example in i.MX6Q SDK in ..camera/test/adv7180_capture.c
(1.1.0_iMX6_Platform_SDK.zip can be found on SMP Enable in IMX6 )
BT656 mode description can be found in sect.18.5.2.3 BT656 mode iMX6_Firmware_Guide.pdf included in SDK
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------