diff options
-rw-r--r-- | drivers/media/i2c/adv7842.c | 12 | ||||
-rw-r--r-- | include/media/adv7842.h | 3 |
2 files changed, 12 insertions, 3 deletions
diff --git a/drivers/media/i2c/adv7842.c b/drivers/media/i2c/adv7842.c index 209b1753b701..e04fe3f80383 100644 --- a/drivers/media/i2c/adv7842.c +++ b/drivers/media/i2c/adv7842.c | |||
@@ -2693,9 +2693,15 @@ static int adv7842_core_init(struct v4l2_subdev *sd) | |||
2693 | /* disable I2C access to internal EDID ram from HDMI DDC ports */ | 2693 | /* disable I2C access to internal EDID ram from HDMI DDC ports */ |
2694 | rep_write_and_or(sd, 0x77, 0xf3, 0x00); | 2694 | rep_write_and_or(sd, 0x77, 0xf3, 0x00); |
2695 | 2695 | ||
2696 | hdmi_write(sd, 0x69, 0xa3); /* HPA manual */ | 2696 | if (pdata->hpa_auto) { |
2697 | /* HPA disable on port A and B */ | 2697 | /* HPA auto, HPA 0.5s after Edid set and Cable detect */ |
2698 | io_write_and_or(sd, 0x20, 0xcf, 0x00); | 2698 | hdmi_write(sd, 0x69, 0x5c); |
2699 | } else { | ||
2700 | /* HPA manual */ | ||
2701 | hdmi_write(sd, 0x69, 0xa3); | ||
2702 | /* HPA disable on port A and B */ | ||
2703 | io_write_and_or(sd, 0x20, 0xcf, 0x00); | ||
2704 | } | ||
2699 | 2705 | ||
2700 | /* LLC */ | 2706 | /* LLC */ |
2701 | io_write(sd, 0x19, 0x80 | pdata->llc_dll_phase); | 2707 | io_write(sd, 0x19, 0x80 | pdata->llc_dll_phase); |
diff --git a/include/media/adv7842.h b/include/media/adv7842.h index 39322091e8b0..924cbb8d004a 100644 --- a/include/media/adv7842.h +++ b/include/media/adv7842.h | |||
@@ -220,6 +220,9 @@ struct adv7842_platform_data { | |||
220 | unsigned sdp_free_run_cbar_en:1; | 220 | unsigned sdp_free_run_cbar_en:1; |
221 | unsigned sdp_free_run_force:1; | 221 | unsigned sdp_free_run_force:1; |
222 | 222 | ||
223 | /* HPA manual (0) or auto (1), affects HDMI register 0x69 */ | ||
224 | unsigned hpa_auto:1; | ||
225 | |||
223 | struct adv7842_sdp_csc_coeff sdp_csc_coeff; | 226 | struct adv7842_sdp_csc_coeff sdp_csc_coeff; |
224 | 227 | ||
225 | struct adv7842_sdp_io_sync_adjustment sdp_io_sync_625; | 228 | struct adv7842_sdp_io_sync_adjustment sdp_io_sync_625; |