[PATCH v6 0/3] Add MT8195 HDMI phy support

From: Guillaume Ranquet
Date: Fri Jan 27 2023 - 11:16:29 EST


Add support for HDMI phy on MT8195.

This is based on top of next-20221128

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: 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 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@xxxxxxxxxxxx

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@xxxxxxxxxxxx

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@xxxxxxxxxxxx

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@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 (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 | 517 +++++++++++++++++++++
drivers/phy/mediatek/phy-mtk-hdmi-mt8195.h | 111 +++++
drivers/phy/mediatek/phy-mtk-hdmi.c | 15 +
drivers/phy/mediatek/phy-mtk-hdmi.h | 3 +
6 files changed, 648 insertions(+)
---
base-commit: e2f86c02fdc96ca29ced53221a3cbf50aa6f8b49
change-id: 20220919-hdmi_mtk

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