[PATCH v2 00/12] Add MT8195 HDMI support

From: Guillaume Ranquet
Date: Fri Oct 14 2022 - 11:20:31 EST


Add support for HDMI Tx on MT8195.

This includes a split of the current "legacy" hdmi driver into a common
library of functions and a two dedicated compilation units with specific
code for mt8167 and another for the "new" mt8195 SoC.

Support for the new mt8195 hdmi phy and the dpi/drm_drv adjustements to
support hdmi.

Based on next-20221014

test branch with dts and various "in flight" patches available here:
https://gitlab.com/granquet/linux/-/tree/granquet/linux-next_HDMI

I haven't updated the vdosys/mmsys/ethdr and mutex patches in a while
in that test branch, they might be outdated..

To: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
To: Kishon Vijay Abraham I <kishon@xxxxxx>
To: Vinod Koul <vkoul@xxxxxxxxxx>
To: Rob Herring <robh+dt@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
To: Matthias Brugger <matthias.bgg@xxxxxxxxx>
To: Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx>
To: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
To: David Airlie <airlied@xxxxxxxxx>
To: Daniel Vetter <daniel@xxxxxxxx>
To: CK Hu <ck.hu@xxxxxxxxxxxx>
To: Jitao shi <jitao.shi@xxxxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx
Cc: linux-phy@xxxxxxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
Cc: mac.shen@xxxxxxxxxxxx
CC: stuart.lee@xxxxxxxxxxxx
Signed-off-by: Guillaume Ranquet <granquet@xxxxxxxxxxxx>
---
Changes in v2:
- Removed syscon requirement from the hdmi node
- Use as much as possible bit FIELD_PREP/FIELD_GET macros across all the
patches
- Make cec optional dynamically instead of hardcoded with a flag
- Renamed hdmi variants to v1 (legacy) and v2 (mt8195) while waiting for
a better name
- Rework hdmi v2 code to use a connector (same as v1)
- Remove "magic" 0x43 addr special handling in hdmi ddc code
- Link to v1: https://lore.kernel.org/r/20220919-v1-0-4844816c9808@xxxxxxxxxxxx

---
Guillaume Ranquet (12):
dt-bindings: phy: mediatek: hdmi-phy: Add mt8195 compatible
dt-bindings: display: mediatek: add MT8195 hdmi bindings
drm/mediatek: hdmi: use a regmap instead of iomem
drm/mediatek: extract common functions from the mtk hdmi driver
drm/mediatek: hdmi: make the cec dev optional
drm/mediatek: hdmi: add frame_colorimetry flag
drm/mediatek: hdmi: add v2 support
drm/mediatek: hdmi: v2: add audio support
phy: phy-mtk-hdmi: Add generic phy configure callback
phy: mediatek: add support for phy-mtk-hdmi-mt8195
dt-bindings: display: mediatek: dpi: Add compatible for MediaTek MT8195
drm/mediatek: dpi: Add mt8195 hdmi to DPI driver

.../bindings/display/mediatek/mediatek,dpi.yaml | 1 +
.../bindings/display/mediatek/mediatek,hdmi.yaml | 67 +-
.../display/mediatek/mediatek,mt8195-hdmi-ddc.yaml | 51 +
.../devicetree/bindings/phy/mediatek,hdmi-phy.yaml | 1 +
drivers/gpu/drm/mediatek/Makefile | 5 +-
drivers/gpu/drm/mediatek/mtk_dpi.c | 143 +-
drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 5 +
drivers/gpu/drm/mediatek/mtk_hdmi.c | 655 +-------
drivers/gpu/drm/mediatek/mtk_hdmi.h | 16 +
drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 477 ++++++
drivers/gpu/drm/mediatek/mtk_hdmi_common.h | 224 +++
drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c | 367 +++++
drivers/gpu/drm/mediatek/mtk_hdmi_regs_v2.h | 309 ++++
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c | 1592 ++++++++++++++++++++
drivers/gpu/drm/mediatek/mtk_hdmi_v2.h | 31 +
drivers/phy/mediatek/Makefile | 1 +
drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c | 546 +++++++
drivers/phy/mediatek/phy-mtk-hdmi-mt8195.h | 131 ++
drivers/phy/mediatek/phy-mtk-hdmi.c | 15 +
drivers/phy/mediatek/phy-mtk-hdmi.h | 2 +
20 files changed, 4004 insertions(+), 635 deletions(-)
---
base-commit: 98035e7c0bb29bf68a2f4b650656f3a3dd07a494
change-id: 20220919-hdmi_mtk

Best regards,
--
Guillaume Ranquet <granquet@xxxxxxxxxxxx>