Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

How to use ISPCCDC_SYN_MODE_DATSIZ_8_16

$
0
0

We currently try to use the OMAP 3530 for capturing YUV422 video data from an FPGA.

When configuring the ISP our v4l subdevice driver defines the following platform data:

        .interface    = ISP_INTERFACE_PARALLEL,
        .bus        = {
            .parallel    = {
                .width            = 8,
                .data_lane_shift    = 1,
                .clk_pol        = 0,
                .hdpol            = 0,
                .vdpol            = 1,
                .fldmode        = 0,   // progressive mode = 0, interlaced = 1
                .bridge            = 0x2, // bridge enabled: first byte is written to cam_d[7..0], second to cam_d[15..8]
                .is_bt656        = 0,
            },
        },
    },

(BTW: the documentation of isp_parallel_platform_data mentions ISPCTRL_PAR_BRIDGE_LENDIAN for the bridge attribute but in isp.c the value of bridge is shifted again by ISPCTRL_PAR_BRIDGE_SHIFT, so it seems not to be valid to specify ISPCTRL_PAR_BRIDGE_LENDIAN for bridge, but 0x2)

For width we specified 8, but actually I think the SYN_MODE.datasiz bits should be set to 0x0 as the technical reference manual mentions:

0x0: cam_d is 8 bits but the 8 to 16-bit bridge is enabled in the ISP_CTRL register.

The ispreg.h specifies  ISPCCDC_SYN_MODE_DATSIZ_8_16 but it's not used anywhere in the ISP kernel code and the width field of the platform data is only checked for values of 8,10,11 and 12 within ispccdc.c.


So how should we configure the ISP for 16bit YUV data in 8bit bridge mode such that the SYN_MODE register has the DATASIZ field set correctly to 0x0 instead of 0x7?


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>