162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/phy/fsl,imx8qm-lvds-phy.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Mixel LVDS PHY for Freescale i.MX8qm SoC
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Liu Ying <victor.liu@nxp.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The Mixel LVDS PHY IP block is found on Freescale i.MX8qm SoC.
1462306a36Sopenharmony_ci  It converts two groups of four 7/10 bits of CMOS data into two
1562306a36Sopenharmony_ci  groups of four data lanes of LVDS data streams. A phase-locked
1662306a36Sopenharmony_ci  transmit clock is transmitted in parallel with each group of
1762306a36Sopenharmony_ci  data streams over a fifth LVDS link. Every cycle of the transmit
1862306a36Sopenharmony_ci  clock, 56/80 bits of input data are sampled and transmitted
1962306a36Sopenharmony_ci  through the two groups of LVDS data streams. Together with the
2062306a36Sopenharmony_ci  transmit clocks, the two groups of LVDS data streams form two
2162306a36Sopenharmony_ci  LVDS channels.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  The Mixel LVDS PHY found on Freescale i.MX8qm SoC is controlled
2462306a36Sopenharmony_ci  by Control and Status Registers(CSR) module in the SoC. The CSR
2562306a36Sopenharmony_ci  module, as a system controller, contains the PHY's registers.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciproperties:
2862306a36Sopenharmony_ci  compatible:
2962306a36Sopenharmony_ci    enum:
3062306a36Sopenharmony_ci      - fsl,imx8qm-lvds-phy
3162306a36Sopenharmony_ci      - mixel,28fdsoi-lvds-1250-8ch-tx-pll
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  "#phy-cells":
3462306a36Sopenharmony_ci    const: 1
3562306a36Sopenharmony_ci    description: |
3662306a36Sopenharmony_ci      Cell allows setting the LVDS channel index of the PHY.
3762306a36Sopenharmony_ci      Index 0 is for LVDS channel0 and index 1 is for LVDS channel1.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  clocks:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  power-domains:
4362306a36Sopenharmony_ci    maxItems: 1
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_cirequired:
4662306a36Sopenharmony_ci  - compatible
4762306a36Sopenharmony_ci  - "#phy-cells"
4862306a36Sopenharmony_ci  - clocks
4962306a36Sopenharmony_ci  - power-domains
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciadditionalProperties: false
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciexamples:
5462306a36Sopenharmony_ci  - |
5562306a36Sopenharmony_ci    #include <dt-bindings/firmware/imx/rsrc.h>
5662306a36Sopenharmony_ci    phy {
5762306a36Sopenharmony_ci        compatible = "fsl,imx8qm-lvds-phy";
5862306a36Sopenharmony_ci        #phy-cells = <1>;
5962306a36Sopenharmony_ci        clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_PHY>;
6062306a36Sopenharmony_ci        power-domains = <&pd IMX_SC_R_LVDS_0>;
6162306a36Sopenharmony_ci    };
62