lkml.org 
[lkml]   [2023]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v8 0/7] Initial support Cadence MHDP8501(HDMI/DP) for i.MX8MQ
    Date
    The patch set initial support Cadence MHDP8501(HDMI/DP) DRM bridge
    drivers and Cadence HDP-TX PHY(HDMI/DP) drivers for Freescale i.MX8MQ.

    The patch set compose of DRM bridge drivers and PHY drivers.

    Both of them need the followed two patches to pass build.
    drm: bridge: Cadence: convert mailbox functions to macro functions
    phy: Add HDMI configuration options

    DRM bridges driver patches:
    dt-bindings: display: bridge: Add Cadence MHDP850
    drm: bridge: Cadence: Add MHDP8501 DP/HDMI driver

    PHY driver patches:
    dt-bindings: phy: Add Freescale iMX8MQ DP and HDMI PHY
    phy: freescale: Add DisplayPort PHY driver for i.MX8MQ
    phy: freescale: Add HDMI PHY driver for i.MX8MQ

    v7->v8:
    MHDP8501 HDMI/DP:
    - Correct DT node name to "display-bridge".
    - Remove "cdns,mhdp8501" from mhdp8501 dt-binding doc.

    HDMI/DP PHY:
    - Introduced functions `wait_for_ack` and `wait_for_ack_clear` to handle
    waiting with acknowledgment bits set and cleared respectively.
    - Use FIELD_PRE() to set bitfields for both HDMI and DP PHY.

    v6->v7:
    MHDP8501 HDMI/DP:
    - Combine HDMI and DP driver into one mhdp8501 driver.
    Use the connector type to load the corresponding functions.
    - Remove connector init functions.
    - Add <linux/hdmi.h> in phy_hdmi.h to reuse ‘enum hdmi_colorspace’.

    HDMI/DP PHY:
    - Lowercase hex values
    - Fix parameters indent issue on some functions
    - Replace ‘udelay’ with ‘usleep_range’

    v5->v6:
    HDMI/DP bridge driver
    - 8501 is the part number of Cadence MHDP on i.MX8MQ.
    Use MHDP8501 to name hdmi/dp drivers and files.
    - Add compatible "fsl,imx8mq-mhdp8501-dp" for i.MX8MQ DP driver
    - Add compatible "fsl,imx8mq-mhdp8501-hdmi" for i.MX8MQ HDMI driver
    - Combine HDMI and DP dt-bindings into one file cdns,mhdp8501.yaml
    - Fix HDMI scrambling is not enable issue when driver working in 4Kp60
    mode.
    - Add HDMI/DP PHY API mailbox protect.

    HDMI/DP PHY driver:
    - Rename DP and HDMI PHY files and move to folder phy/freescale/
    - Remove properties num_lanes and link_rate from DP PHY driver.
    - Combine HDMI and DP dt-bindings into one file fsl,imx8mq-dp-hdmi-phy.yaml
    - Update compatible string to "fsl,imx8mq-dp-phy".
    - Update compatible string to "fsl,imx8mq-hdmi-phy".

    v4->v5:
    - Drop "clk" suffix in clock name.
    - Add output port property in the example of hdmi/dp.

    v3->v4:
    dt-bindings:
    - Correct dt-bindings coding style and address review comments.
    - Add apb_clk description.
    - Add output port for HDMI/DP connector
    PHY:
    - Alphabetically sorted in Kconfig and Makefile for DP and HDMI PHY
    - Remove unused registers define from HDMI and DP PHY drivers.
    - More description in phy_hdmi.h.
    - Add apb_clk to HDMI and DP phy driver.
    HDMI/DP:
    - Use get_unaligned_le32() to replace hardcode type conversion
    in HDMI AVI infoframe data fill function.
    - Add mailbox mutex lock in HDMI/DP driver for phy functions
    to reslove race conditions between HDMI/DP and PHY drivers.
    - Add apb_clk to both HDMI and DP driver.
    - Rename some function names and add prefix with "cdns_hdmi/cdns_dp".
    - Remove bpc 12 and 16 optional that not supported.

    v2->v3:
    Address comments for dt-bindings files.
    - Correct dts-bindings file names
    Rename phy-cadence-hdptx-dp.yaml to cdns,mhdp-imx8mq-dp.yaml
    Rename phy-cadence-hdptx-hdmi.yaml to cdns,mhdp-imx8mq-hdmi.yaml
    - Drop redundant words and descriptions.
    - Correct hdmi/dp node name.

    v2 is a completely different version compared to v1.
    Previous v1 can be available here [1].

    v1->v2:
    - Reuse Cadence mailbox access functions from mhdp8546 instead of
    rockchip DP.
    - Mailbox access functions be convert to marco functions
    that will be referenced by HDP-TX PHY(HDMI/DP) driver too.
    - Plain bridge instead of component driver.
    - Standalone Cadence HDP-TX PHY(HDMI/DP) driver.
    - Audio driver are removed from the patch set, it will be add in another
    patch set later.

    [1] https://patchwork.kernel.org/project/linux-rockchip/cover/cover.1590982881.git.Sandor.yu@nxp.com/

    Sandor Yu (7):
    drm: bridge: Cadence: convert mailbox functions to macro functions
    phy: Add HDMI configuration options
    dt-bindings: display: bridge: Add Cadence MHDP850
    drm: bridge: Cadence: Add MHDP8501 DP/HDMI driver
    dt-bindings: phy: Add Freescale iMX8MQ DP and HDMI PHY
    phy: freescale: Add DisplayPort PHY driver for i.MX8MQ
    phy: freescale: Add HDMI PHY driver for i.MX8MQ

    .../display/bridge/cdns,mhdp8501.yaml | 104 ++
    .../bindings/phy/fsl,imx8mq-dp-hdmi-phy.yaml | 53 +
    drivers/gpu/drm/bridge/cadence/Kconfig | 15 +
    drivers/gpu/drm/bridge/cadence/Makefile | 2 +
    .../drm/bridge/cadence/cdns-mhdp8501-core.c | 313 ++++++
    .../drm/bridge/cadence/cdns-mhdp8501-core.h | 410 ++++++++
    .../gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c | 780 ++++++++++++++
    .../drm/bridge/cadence/cdns-mhdp8501-hdmi.c | 674 ++++++++++++
    .../drm/bridge/cadence/cdns-mhdp8546-core.c | 195 +---
    .../drm/bridge/cadence/cdns-mhdp8546-core.h | 1 -
    drivers/phy/freescale/Kconfig | 18 +
    drivers/phy/freescale/Makefile | 2 +
    drivers/phy/freescale/phy-fsl-imx8mq-dp.c | 714 +++++++++++++
    drivers/phy/freescale/phy-fsl-imx8mq-hdmi.c | 955 ++++++++++++++++++
    include/drm/bridge/cdns-mhdp-mailbox.h | 240 +++++
    include/linux/phy/phy-hdmi.h | 24 +
    include/linux/phy/phy.h | 7 +-
    17 files changed, 4311 insertions(+), 196 deletions(-)
    create mode 100644 Documentation/devicetree/bindings/display/bridge/cdns,mhdp8501.yaml
    create mode 100644 Documentation/devicetree/bindings/phy/fsl,imx8mq-dp-hdmi-phy.yaml
    create mode 100644 drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-core.c
    create mode 100644 drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-core.h
    create mode 100644 drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c
    create mode 100644 drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c
    create mode 100644 drivers/phy/freescale/phy-fsl-imx8mq-dp.c
    create mode 100644 drivers/phy/freescale/phy-fsl-imx8mq-hdmi.c
    create mode 100644 include/drm/bridge/cdns-mhdp-mailbox.h
    create mode 100644 include/linux/phy/phy-hdmi.h

    --
    2.34.1

    \
     
     \ /
      Last update: 2023-08-08 18:23    [W:2.954 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site