mbox series

[v4,0/3] phy: freescale: Add i.MX8qm Mixel LVDS PHY support

Message ID 20220706034810.2352641-1-victor.liu@nxp.com
Headers show
Series phy: freescale: Add i.MX8qm Mixel LVDS PHY support | expand

Message

Liu Ying July 6, 2022, 3:48 a.m. UTC
Hi,

This series aims to add Freescale i.MX8qm LVDS PHY driver and dt-binding
support.

The PHY IP is from Mixel, Inc.
The PHY IP supports two LVDS PHYs, thus two LVDS channels.

Each LVDS PHY may work by itself to support a LVDS display device.

When two LVDS PHYs are enabled simultaneously, PHY configurations and reference
clock rate have to be the same since there is only one set of PHY registers.
In this case, the two LVDS PHYs are usually used to support a dual LVDS link
display device, one as master PHY and the other as slave PHY.

Patch 1/3 adds vendor prefix for the PHY IP vendor 'Mixel, Inc.'.
Patch 2/3 adds dt-binding for the PHY IP.
Patch 3/3 adds PHY driver support.

v3->v4:
* Use MEGA macro in patch 3/3. (Vinod)
* Check slave phy in ->power_off() and power off two phy synchronously
  in patch 3/3 when necessary. (Vinod)
* Use single line for error message in patch 3/3. (Vinod)
* Use pm_runtime_resume_and_get() instead of pm_runtime_get_sync()
  in patch 3/3. (Vinod)

v2->v3:
* Add Krzysztof's A-b tag on patch 1/3.
* Change compatible string from 'mixel,lvds-phy' to
  'mixel,28fdsoi-lvds-1250-8ch-tx-pll' in patch 1/3. (Krzysztof)
* Rename dt-binding file to 'fsl,imx8qm-lvds-phy.yaml'. (Krzysztof)

v1->v2:
* Document vendor prefix for the PHY IP vendor 'Mixel, Inc.'. (Krzysztof)
* Set fsl,imx8qm-lvds-phy' and 'mixel,lvds-phy' as compatible's enum. (Krzysztof)
* Skip 'clock-names' property. (Krzysztof)
* Drop 'This patch' from commit messages. (Krzysztof)
* Make dev_err_probe() function calls as one-liners. (Krzysztof)
* Drop unnecessary debug messages. (Krzysztof)


Liu Ying (3):
  dt-bindings: vendor-prefixes: Add prefix for Mixel, Inc.
  dt-bindings: phy: Add Freescale i.MX8qm Mixel LVDS PHY binding
  phy: freescale: Add i.MX8qm Mixel LVDS PHY support

 .../bindings/phy/fsl,imx8qm-lvds-phy.yaml     |  61 +++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 drivers/phy/freescale/Kconfig                 |   9 +
 drivers/phy/freescale/Makefile                |   1 +
 .../phy/freescale/phy-fsl-imx8qm-lvds-phy.c   | 450 ++++++++++++++++++
 5 files changed, 523 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/fsl,imx8qm-lvds-phy.yaml
 create mode 100644 drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c

Comments

Vinod Koul July 8, 2022, 5:13 a.m. UTC | #1
On 06-07-22, 11:48, Liu Ying wrote:
> Hi,
> 
> This series aims to add Freescale i.MX8qm LVDS PHY driver and dt-binding
> support.
> 
> The PHY IP is from Mixel, Inc.
> The PHY IP supports two LVDS PHYs, thus two LVDS channels.
> 
> Each LVDS PHY may work by itself to support a LVDS display device.
> 
> When two LVDS PHYs are enabled simultaneously, PHY configurations and reference
> clock rate have to be the same since there is only one set of PHY registers.
> In this case, the two LVDS PHYs are usually used to support a dual LVDS link
> display device, one as master PHY and the other as slave PHY.

Applied, thanks