Adding a new driver for the MIPI CSI CD-PHY module v 0.5 embedded in
some Mediatek soc, such as the MT8365

This driver was adapted from 
https://patchwork.kernel.org/project/linux-mediatek/cover/20200708104023.3225-1-louis....@mediatek.com/

v1 can be found here: 
https://lore.kernel.org/all/20230403071929.360911-1-jstep...@baylibre.com/

v2 can be found here: 
https://lore.kernel.org/all/20230515090551.1251389-1-jstep...@baylibre.com/

v3 can be found here: 
https://lore.kernel.org/all/20230524083033.486490-1-jstep...@baylibre.com/

v4 can be found here: 
https://lore.kernel.org/linux-phy/20230620121928.1231745-1-jstep...@baylibre.com/

Changelog
Changes in v5:
- rebase on latest master scheduled for 6.8-rc1
- sort alphabetically CONFIG_PHY_MTK_MIPI_CSI_0_5 in Kconfig and Makefile
- put lines under 100 chars on one line

Changes in v4:
include/dt-bindings/phy/phy.h:
        - remove commit adding PHY_TYPE_CDPHY definition

Binding file:
        - use the standard phy-type property instead of a custom one so
          rename mediatek,phy-type -> phy-type
        - phy-type property is made optional: when present, describes the
          phy type and the operating mode
        - phy-cell is modified to accept a phy argument representing the
          phy operating mode if phy-type is not specified
        - adding new property num-lanes

Driver:
        - add a custom xlate function to handle phy cells
        - update probe function to retrieve the new value phy-type
          instead of the mediatek,phy-type
        - remove useless struct define `struct mtk_mipi_dphy;`
        - rename some functin/variable from `xx_dphy_xx` to `xx_cdphy_xx`
        - update probe function to read num-lanes property

Changes in v3:
Binding file:
        - rename compatible string
          mediatek,phy-mipi-csi-0-5 -> mediatek,mt8365-csi-rx
        - rename binding file to be as compatible string
        - change property mediatek,is_cdphy -> mediatek,phy-type using an
          enum value instead of boolean for scalability
        - remove status property from example nodes
        - rename example node name 'mipi_rx_csi0: mipi_rx_csi0@11c10000' ->
          'csi0_rx: phy@11c10000'
        - put reg address in lower case

include/dt-bindings/phy/phy.h:
        - add PHY_TYPE_CDPHY definition

Driver:
        - rename compatible string
        - rename property mediatek,is_cdphy -> mediatek,phy-type
        - rename CSIx* macro to CSIX* (x -> X)
        - fix style issue on the driver data structure
        - update MODULE_DESCRIPTION as suggested by Angelo
          and update the kconfig module description to match it
        - add dphy /cdphy eq tuning function to factor the code
          and increase readability
        - fix typo __PHY_MTK__MIPI_CSI__C_0_5_RX_REG_H_ -->
          __PHY_MTK_MIPI_CSI_V_0_5_RX_REG_H_
        - reword commit message to update my contributions
        - added missing copyright
        - added module name in Kconfig

Changes in v2:
        - fix all comments on bindings
        - move the binding chunk from driver to binding commit
        - fix dt_binding_check error (reported by DT_CHECKER_FLAGS)
        - use a more generic compatible string
        - add a new dt properties to simplify the driver
          "mediatek,is_cdphy"
        - rename the driver and the corresponding file to include
          version
        - drop of_match_ptr()
        - use devm_platform_ioremap_resource
        - use phy-mtk-io.h api instead of regmap
        - rework the driver to use dt nodes to declare PHY instead of an
          array in the driver
        - remove useless define for unused registers
        - remove support for CSI0A/B because it cannot be tested, and it
          simplifies the driver for a first review
        - edit commit message and bindings to be more descriptive about the
          hardware

Florian Sylvestre (1):
  dt-bindings: phy: add mediatek MIPI CD-PHY module v0.5

Phi-bang Nguyen (1):
  phy: mtk-mipi-csi: add driver for CSI phy

 .../bindings/phy/mediatek,mt8365-csi-rx.yaml  |  79 +++++
 MAINTAINERS                                   |   7 +
 drivers/phy/mediatek/Kconfig                  |  12 +
 drivers/phy/mediatek/Makefile                 |   2 +
 .../mediatek/phy-mtk-mipi-csi-0-5-rx-reg.h    |  62 ++++
 drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c   | 294 ++++++++++++++++++
 6 files changed, 456 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/phy/mediatek,mt8365-csi-rx.yaml
 create mode 100644 drivers/phy/mediatek/phy-mtk-mipi-csi-0-5-rx-reg.h
 create mode 100644 drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c

-- 
2.43.0

Reply via email to