|
@@ -1624,8 +1624,6 @@ static void select_input(struct v4l2_subdev *sd,
|
|
|
/* deinterlacer enabled and 3D comb */
|
|
|
sdp_write_and_or(sd, 0x12, 0xf6, 0x09);
|
|
|
|
|
|
- sdp_write(sd, 0xdd, 0x08); /* free run auto */
|
|
|
-
|
|
|
break;
|
|
|
|
|
|
case ADV7842_MODE_COMP:
|
|
@@ -2538,7 +2536,14 @@ static int adv7842_core_init(struct v4l2_subdev *sd)
|
|
|
pdata->drive_strength.sync);
|
|
|
|
|
|
/* HDMI free run */
|
|
|
- cp_write(sd, 0xba, (pdata->hdmi_free_run_mode << 1) | 0x01);
|
|
|
+ cp_write_and_or(sd, 0xba, 0xfc, pdata->hdmi_free_run_enable |
|
|
|
+ (pdata->hdmi_free_run_mode << 1));
|
|
|
+
|
|
|
+ /* SPD free run */
|
|
|
+ sdp_write_and_or(sd, 0xdd, 0xf0, pdata->sdp_free_run_force |
|
|
|
+ (pdata->sdp_free_run_cbar_en << 1) |
|
|
|
+ (pdata->sdp_free_run_man_col_en << 2) |
|
|
|
+ (pdata->sdp_free_run_force << 3));
|
|
|
|
|
|
/* TODO from platform data */
|
|
|
cp_write(sd, 0x69, 0x14); /* Enable CP CSC */
|