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 adjustments to support hdmi. Based on next-20221104 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....@mediatek.com> To: Kishon Vijay Abraham I <kis...@ti.com> To: Vinod Koul <vk...@kernel.org> To: Rob Herring <robh...@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski...@linaro.org> To: Matthias Brugger <matthias....@gmail.com> To: Chun-Kuang Hu <chunkuang...@kernel.org> To: Philipp Zabel <p.za...@pengutronix.de> To: David Airlie <airl...@gmail.com> To: Daniel Vetter <dan...@ffwll.ch> To: CK Hu <ck...@mediatek.com> To: Jitao shi <jitao....@mediatek.com> Cc: linux-arm-ker...@lists.infradead.org Cc: linux-media...@lists.infradead.org Cc: linux-...@lists.infradead.org Cc: devicet...@vger.kernel.org Cc: linux-ker...@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: Krzysztof Kozlowski <krzysztof.kozlow...@linaro.org> Cc: AngeloGioacchino Del Regno <angelogioacchino.delre...@collabora.com> Cc: mac.s...@mediatek.com CC: stuart....@mediatek.com Signed-off-by: Guillaume Ranquet <granq...@baylibre.com> --- Changes in v3: - phy: Grouped register and bit definition together to add clarity - dt-bindings: Addressed comments - Link to v2: https://lore.kernel.org/r/20220919-v2-0-8419dcf4f...@baylibre.com 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-4844816c9...@baylibre.com --- 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 | 61 +- .../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 | 543 +++++++ drivers/phy/mediatek/phy-mtk-hdmi-mt8195.h | 109 ++ drivers/phy/mediatek/phy-mtk-hdmi.c | 15 + drivers/phy/mediatek/phy-mtk-hdmi.h | 2 + 20 files changed, 3976 insertions(+), 632 deletions(-) --- base-commit: 8d9826217c539e9dbc3472823dc536cff1d517a2 change-id: 20220919-hdmi_mtk Best regards, -- Guillaume Ranquet <granq...@baylibre.com>