diff options
| author | Narender Ankam <nankam@codeaurora.org> | 2021-03-19 12:58:10 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2021-03-30 09:04:50 -0700 |
| commit | 6001fc30e25bbb67ee6e60aa45cfaa545c024c4c (patch) | |
| tree | 70c9d6ecbc90399a9b553dde665659da571ce741 | |
| parent | b917daedaaa9ca3d36844369afb7121092cc50ad (diff) | |
msm: mdss: hdmi: finetune CEC_REFTIMER:REFTIMER
CEC Read and Write protocol and state machine uses 50us pulse
to ensure the CEC signaling adheres to the relatively slow protocol.
The reftimer to generate 50us is configured using
CEC_REFTIMER:REFTIMER.
Current value of REFTIMER is not properly configured to generate
50us pulse.
Finetune CEC_REFTIMER:REFTIMER from current value to slightly
higher value to generate 51us to ensure CEC Read and Write
logic are working properly without any CEC line errors.
Change-Id: I57e3f8e8197763b2a2c910b12705c232ad8eb1a8
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_hdmi_cec.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_cec.c b/drivers/video/fbdev/msm/mdss_hdmi_cec.c index 12a9267f3749..5fe3f710c29e 100644 --- a/drivers/video/fbdev/msm/mdss_hdmi_cec.c +++ b/drivers/video/fbdev/msm/mdss_hdmi_cec.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2017, 2020 The Linux Foundation. All rights reserved. +/* Copyright (c) 2010-2017,2020-2021, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -469,8 +469,12 @@ static int hdmi_cec_enable(void *input, bool enable) } if (enable) { - /* 19.2Mhz * 0.00005 us = 950 = 0x3B6 */ - DSS_REG_W(io, HDMI_CEC_REFTIMER, (0x3B6 & 0xFFF) | BIT(16)); + /* + * 19.2Mhz * 0.00005 us = 960 = 0x3C0 + * CEC Rd/Wr logic is properly working with + * finetuned value of 0x3D4 = 51 us. + */ + DSS_REG_W(io, HDMI_CEC_REFTIMER, (0x3D4 & 0xFFF) | BIT(16)); hdmi_hw_version = DSS_REG_R(io, HDMI_VERSION); if (hdmi_hw_version >= CEC_SUPPORTED_HW_VERSION) { |
