[media] omap3isp: Support configurable HS/VS polarities
Add two fields to the ISP parallel platform data to set the HS and VS signals polarities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
75ccf268d5
commit
1752cd5d3e
@ -139,6 +139,10 @@ struct isp_reg {
|
|||||||
* 3 - CAMEXT[13:6] -> CAM[7:0]
|
* 3 - CAMEXT[13:6] -> CAM[7:0]
|
||||||
* @clk_pol: Pixel clock polarity
|
* @clk_pol: Pixel clock polarity
|
||||||
* 0 - Non Inverted, 1 - Inverted
|
* 0 - Non Inverted, 1 - Inverted
|
||||||
|
* @hs_pol: Horizontal synchronization polarity
|
||||||
|
* 0 - Active high, 1 - Active low
|
||||||
|
* @vs_pol: Vertical synchronization polarity
|
||||||
|
* 0 - Active high, 1 - Active low
|
||||||
* @bridge: CCDC Bridge input control
|
* @bridge: CCDC Bridge input control
|
||||||
* ISPCTRL_PAR_BRIDGE_DISABLE - Disable
|
* ISPCTRL_PAR_BRIDGE_DISABLE - Disable
|
||||||
* ISPCTRL_PAR_BRIDGE_LENDIAN - Little endian
|
* ISPCTRL_PAR_BRIDGE_LENDIAN - Little endian
|
||||||
@ -147,6 +151,8 @@ struct isp_reg {
|
|||||||
struct isp_parallel_platform_data {
|
struct isp_parallel_platform_data {
|
||||||
unsigned int data_lane_shift:2;
|
unsigned int data_lane_shift:2;
|
||||||
unsigned int clk_pol:1;
|
unsigned int clk_pol:1;
|
||||||
|
unsigned int hs_pol:1;
|
||||||
|
unsigned int vs_pol:1;
|
||||||
unsigned int bridge:4;
|
unsigned int bridge:4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1148,6 +1148,8 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
|
|||||||
omap3isp_configure_bridge(isp, ccdc->input, pdata, shift);
|
omap3isp_configure_bridge(isp, ccdc->input, pdata, shift);
|
||||||
|
|
||||||
ccdc->syncif.datsz = depth_out;
|
ccdc->syncif.datsz = depth_out;
|
||||||
|
ccdc->syncif.hdpol = pdata ? pdata->hs_pol : 0;
|
||||||
|
ccdc->syncif.vdpol = pdata ? pdata->vs_pol : 0;
|
||||||
ccdc_config_sync_if(ccdc, &ccdc->syncif);
|
ccdc_config_sync_if(ccdc, &ccdc->syncif);
|
||||||
|
|
||||||
/* CCDC_PAD_SINK */
|
/* CCDC_PAD_SINK */
|
||||||
@ -2256,8 +2258,6 @@ int omap3isp_ccdc_init(struct isp_device *isp)
|
|||||||
ccdc->syncif.fldout = 0;
|
ccdc->syncif.fldout = 0;
|
||||||
ccdc->syncif.fldpol = 0;
|
ccdc->syncif.fldpol = 0;
|
||||||
ccdc->syncif.fldstat = 0;
|
ccdc->syncif.fldstat = 0;
|
||||||
ccdc->syncif.hdpol = 0;
|
|
||||||
ccdc->syncif.vdpol = 0;
|
|
||||||
|
|
||||||
ccdc->clamp.oblen = 0;
|
ccdc->clamp.oblen = 0;
|
||||||
ccdc->clamp.dcsubval = 0;
|
ccdc->clamp.dcsubval = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user