Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6001fc30 authored by Narender Ankam's avatar Narender Ankam Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarNarender Ankam <nankam@codeaurora.org>
parent b917daed
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
/* 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) {