|
|
Subscribe / Log in / New account

Support HDMI CEC on Qualcomm SoCs

From:  Arnaud Vrac <avrac-AT-freebox.fr>
To:  Rob Clark <robdclark-AT-gmail.com>, Hans Verkuil <hverkuil-cisco-AT-xs4all.nl>, Abhinav Kumar <quic_abhinavk-AT-quicinc.com>, Dmitry Baryshkov <dmitry.baryshkov-AT-linaro.org>, Sean Paul <sean-AT-poorly.run>, Andy Gross <agross-AT-kernel.org>, Bjorn Andersson <andersson-AT-kernel.org>, Konrad Dybcio <konrad.dybcio-AT-linaro.org>, Rob Herring <robh+dt-AT-kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>
Subject:  [PATCH 0/4] Support HDMI CEC on Qualcomm SoCs
Date:  Tue, 18 Apr 2023 20:10:42 +0200
Message-ID:  <20230418-msm8998-hdmi-cec-v1-0-176479fb2fce@freebox.fr>
Cc:  devicetree-AT-vger.kernel.org, linux-arm-msm-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org, Arnaud Vrac <avrac-AT-freebox.fr>, freedreno-AT-lists.freedesktop.org, linux-media-AT-vger.kernel.org
Archive-link:  Article

Some Qualcomm SoCs that support HDMI also support CEC, including MSM8996
and MSM8998. The hardware block can handle a single CEC logical address
and broadcast messages.

Port the CEC driver from downstream msm-4.4 kernel. It has been tested
on MSM8998 and passes the cec-compliance tool tests. The equivalent
downstream driver also passed CEC CTS tests using a Quantum Data QD882E
analyzer.

Some registers bitfield definitions were added to make the code clearer,
and those will also be proposed for upstream in the original xml file
from which the header was generated, in the mesa project.

Note HDMI support is not yet included upstream for MSM8998, I would
appreciate if someone can verify this driver at least works on MSM8996,
for which adding the pinctrl nodes for CEC should be sufficient.

Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
---
Arnaud Vrac (4):
      drm/msm: add some cec register bitfield details
      drm/msm: add hdmi cec support
      drm/msm: expose edid to hdmi cec adapter
      arm64: dts: qcom: msm8998: add hdmi cec pinctrl nodes

 arch/arm64/boot/dts/qcom/msm8998.dtsi  |  14 ++
 drivers/gpu/drm/msm/Kconfig            |   8 +
 drivers/gpu/drm/msm/Makefile           |   1 +
 drivers/gpu/drm/msm/hdmi/hdmi.c        |  15 ++
 drivers/gpu/drm/msm/hdmi/hdmi.h        |  18 +++
 drivers/gpu/drm/msm/hdmi/hdmi.xml.h    |  62 +++++++-
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c |   2 +
 drivers/gpu/drm/msm/hdmi/hdmi_cec.c    | 280 +++++++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/hdmi/hdmi_hpd.c    |  17 +-
 9 files changed, 412 insertions(+), 5 deletions(-)
---
base-commit: e3342532ecd39bbd9c2ab5b9001cec1589bc37e9
change-id: 20230418-msm8998-hdmi-cec-08b5890bf41e

Best regards,
-- 
Arnaud Vrac <avrac@freebox.fr>



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds