xref: /freebsd/sys/contrib/device-tree/Bindings/phy/fsl,imx8qm-lvds-phy.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b97ee269SEmmanuel Vadot%YAML 1.2
3*b97ee269SEmmanuel Vadot---
4*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/fsl,imx8qm-lvds-phy.yaml#
5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b97ee269SEmmanuel Vadot
7*b97ee269SEmmanuel Vadottitle: Mixel LVDS PHY for Freescale i.MX8qm SoC
8*b97ee269SEmmanuel Vadot
9*b97ee269SEmmanuel Vadotmaintainers:
10*b97ee269SEmmanuel Vadot  - Liu Ying <victor.liu@nxp.com>
11*b97ee269SEmmanuel Vadot
12*b97ee269SEmmanuel Vadotdescription: |
13*b97ee269SEmmanuel Vadot  The Mixel LVDS PHY IP block is found on Freescale i.MX8qm SoC.
14*b97ee269SEmmanuel Vadot  It converts two groups of four 7/10 bits of CMOS data into two
15*b97ee269SEmmanuel Vadot  groups of four data lanes of LVDS data streams. A phase-locked
16*b97ee269SEmmanuel Vadot  transmit clock is transmitted in parallel with each group of
17*b97ee269SEmmanuel Vadot  data streams over a fifth LVDS link. Every cycle of the transmit
18*b97ee269SEmmanuel Vadot  clock, 56/80 bits of input data are sampled and transmitted
19*b97ee269SEmmanuel Vadot  through the two groups of LVDS data streams. Together with the
20*b97ee269SEmmanuel Vadot  transmit clocks, the two groups of LVDS data streams form two
21*b97ee269SEmmanuel Vadot  LVDS channels.
22*b97ee269SEmmanuel Vadot
23*b97ee269SEmmanuel Vadot  The Mixel LVDS PHY found on Freescale i.MX8qm SoC is controlled
24*b97ee269SEmmanuel Vadot  by Control and Status Registers(CSR) module in the SoC. The CSR
25*b97ee269SEmmanuel Vadot  module, as a system controller, contains the PHY's registers.
26*b97ee269SEmmanuel Vadot
27*b97ee269SEmmanuel Vadotproperties:
28*b97ee269SEmmanuel Vadot  compatible:
29*b97ee269SEmmanuel Vadot    enum:
30*b97ee269SEmmanuel Vadot      - fsl,imx8qm-lvds-phy
31*b97ee269SEmmanuel Vadot      - mixel,28fdsoi-lvds-1250-8ch-tx-pll
32*b97ee269SEmmanuel Vadot
33*b97ee269SEmmanuel Vadot  "#phy-cells":
34*b97ee269SEmmanuel Vadot    const: 1
35*b97ee269SEmmanuel Vadot    description: |
36*b97ee269SEmmanuel Vadot      Cell allows setting the LVDS channel index of the PHY.
37*b97ee269SEmmanuel Vadot      Index 0 is for LVDS channel0 and index 1 is for LVDS channel1.
38*b97ee269SEmmanuel Vadot
39*b97ee269SEmmanuel Vadot  clocks:
40*b97ee269SEmmanuel Vadot    maxItems: 1
41*b97ee269SEmmanuel Vadot
42*b97ee269SEmmanuel Vadot  power-domains:
43*b97ee269SEmmanuel Vadot    maxItems: 1
44*b97ee269SEmmanuel Vadot
45*b97ee269SEmmanuel Vadotrequired:
46*b97ee269SEmmanuel Vadot  - compatible
47*b97ee269SEmmanuel Vadot  - "#phy-cells"
48*b97ee269SEmmanuel Vadot  - clocks
49*b97ee269SEmmanuel Vadot  - power-domains
50*b97ee269SEmmanuel Vadot
51*b97ee269SEmmanuel VadotadditionalProperties: false
52*b97ee269SEmmanuel Vadot
53*b97ee269SEmmanuel Vadotexamples:
54*b97ee269SEmmanuel Vadot  - |
55*b97ee269SEmmanuel Vadot    #include <dt-bindings/firmware/imx/rsrc.h>
56*b97ee269SEmmanuel Vadot    phy {
57*b97ee269SEmmanuel Vadot        compatible = "fsl,imx8qm-lvds-phy";
58*b97ee269SEmmanuel Vadot        #phy-cells = <1>;
59*b97ee269SEmmanuel Vadot        clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_PHY>;
60*b97ee269SEmmanuel Vadot        power-domains = <&pd IMX_SC_R_LVDS_0>;
61*b97ee269SEmmanuel Vadot    };
62