Add MT8195 HDMI phy support
From: | Guillaume Ranquet <granquet-AT-baylibre.com> | |
To: | Chunfeng Yun <chunfeng.yun-AT-mediatek.com>, Vinod Koul <vkoul-AT-kernel.org>, Rob Herring <robh+dt-AT-kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>, Matthias Brugger <matthias.bgg-AT-gmail.com>, Chun-Kuang Hu <chunkuang.hu-AT-kernel.org>, Philipp Zabel <p.zabel-AT-pengutronix.de>, David Airlie <airlied-AT-gmail.com>, Daniel Vetter <daniel-AT-ffwll.ch>, CK Hu <ck.hu-AT-mediatek.com>, Jitao shi <jitao.shi-AT-mediatek.com> | |
Subject: | [PATCH v8 0/3] Add MT8195 HDMI phy support | |
Date: | Thu, 16 Feb 2023 17:02:24 +0100 | |
Message-ID: | <20220919-v8-0-a84c80468fe9@baylibre.com> | |
Cc: | linux-arm-kernel-AT-lists.infradead.org, linux-mediatek-AT-lists.infradead.org, linux-phy-AT-lists.infradead.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Krzysztof Kozlowski <krzysztof.kozlowski-AT-linaro.org>, AngeloGioacchino Del Regno <angelogioacchino.delregno-AT-collabora.com>, mac.shen-AT-mediatek.com, stuart.lee-AT-mediatek.com, Guillaume Ranquet <granquet-AT-baylibre.com> | |
Archive-link: | Article |
Add support for HDMI phy on MT8195. This is based on top of next-20230213 I'm sending v8 despite a pending question from Vinod [1] regarding some odd register writes for impendance. I'm trying to get some feedback from MediaTeK regarding the content of thse registers, but It may take some time... [1] : https://lore.kernel.org/all/Y+upK4nCCYlg+4dU@matsya/ Signed-off-by: Guillaume Ranquet <granquet@baylibre.com> --- Changes in v8: - Used GIGA / MEGA macros where applicable - Link to v7: https://lore.kernel.org/r/20220919-v7-0-b5b58c5ccc07@bayl... Changes in v7: - Removed lkp reported-by trailer - Fixed checkpatch --strict warnings/checks (besides two lines at 102 chars instead of 100) - Used constants where applicable as suggested by Vinod in v6 review - Link to v6: https://lore.kernel.org/r/20220919-v6-0-2f641c422cb6@bayl... Changes in v6: - Adapt clock bit ratio when TMDS is over 340M - Used sized integers for register read/writes - Removed useless comments - Shortened function names - Link to v5: https://lore.kernel.org/r/20220919-v5-0-f346444bc459@bayl... Changes in v5: - Fix compilation errors on 32 bits platform with no support for __udivdi3. Compile tested on mips with gcc-12 - Link to v4: https://lore.kernel.org/r/20220919-v4-0-bdc21e1307e9@bayl... Changes in v4: - Dedicated series for HDMI phy support (without the drm/ related changes) - Removed useless variable initializations in phy driver - Link to v3: https://lore.kernel.org/r/20220919-v3-0-a803f2660127@bayl... 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-8419dcf4f09d@bayl... 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@bayl... --- Guillaume Ranquet (3): dt-bindings: phy: mediatek: hdmi-phy: Add mt8195 compatible phy: phy-mtk-hdmi: Add generic phy configure callback phy: mediatek: add support for phy-mtk-hdmi-mt8195 .../devicetree/bindings/phy/mediatek,hdmi-phy.yaml | 1 + drivers/phy/mediatek/Makefile | 1 + drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c | 495 +++++++++++++++++++++ drivers/phy/mediatek/phy-mtk-hdmi-mt8195.h | 113 +++++ drivers/phy/mediatek/phy-mtk-hdmi.c | 15 + drivers/phy/mediatek/phy-mtk-hdmi.h | 3 + 6 files changed, 628 insertions(+) --- base-commit: 09e41676e35ab06e4bce8870ea3bf1f191c3cb90 change-id: 20220919-hdmi_mtk Best regards, -- Guillaume Ranquet <granquet@baylibre.com>