File tree Expand file tree Collapse file tree
drivers/media/platform/rockchip/isp1 Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3939/* GRF */
4040#define GRF_VI_CON0 0x430
4141#define ISP_CIF_DATA_WIDTH_MASK 0x60006000
42- #define ISP_CIF_DATA_WIDTH_12B (2 << 13 | 2 << 29)
42+ #define ISP_CIF_DATA_WIDTH_8B (0 << 13 | 3 << 29)
43+ #define ISP_CIF_DATA_WIDTH_10B (BIT(13) | 3 << 29)
44+ #define ISP_CIF_DATA_WIDTH_12B (2 << 13 | 3 << 29)
4345
4446/* ISP_CTRL */
4547#define CIF_ISP_CTRL_ISP_ENABLE BIT(0)
Original file line number Diff line number Diff line change @@ -306,17 +306,20 @@ static int rkisp1_config_dvp(struct rkisp1_device *dev)
306306{
307307 struct ispsd_in_fmt * in_fmt = & dev -> isp_sdev .in_fmt ;
308308 void __iomem * base = dev -> base_addr ;
309- u32 val , input_sel ;
309+ u32 val , input_sel , data_width ;
310310
311311 switch (in_fmt -> bus_width ) {
312312 case 8 :
313313 input_sel = CIF_ISP_ACQ_PROP_IN_SEL_8B_ZERO ;
314+ data_width = ISP_CIF_DATA_WIDTH_8B ;
314315 break ;
315316 case 10 :
316317 input_sel = CIF_ISP_ACQ_PROP_IN_SEL_10B_ZERO ;
318+ data_width = ISP_CIF_DATA_WIDTH_10B ;
317319 break ;
318320 case 12 :
319321 input_sel = CIF_ISP_ACQ_PROP_IN_SEL_12B ;
322+ data_width = ISP_CIF_DATA_WIDTH_12B ;
320323 break ;
321324 default :
322325 v4l2_err (& dev -> v4l2_dev , "Invalid bus width\n" );
@@ -329,11 +332,10 @@ static int rkisp1_config_dvp(struct rkisp1_device *dev)
329332 if (!IS_ERR (dev -> grf ) &&
330333 (dev -> isp_ver == ISP_V12 ||
331334 dev -> isp_ver == ISP_V13 ))
332- /* config isp cif 12bit datawidth */
333335 regmap_update_bits (dev -> grf ,
334336 GRF_VI_CON0 ,
335337 ISP_CIF_DATA_WIDTH_MASK ,
336- ISP_CIF_DATA_WIDTH_12B );
338+ data_width );
337339
338340 return 0 ;
339341}
You can’t perform that action at this time.
0 commit comments