xref: /freebsd/sys/contrib/device-tree/Bindings/display/st,stm32mp25-lvds.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/display/st,stm32mp25-lvds.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: STMicroelectronics STM32 LVDS Display Interface Transmitter
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
11*0e8011faSEmmanuel Vadot  - Yannick Fertre <yannick.fertre@foss.st.com>
12*0e8011faSEmmanuel Vadot
13*0e8011faSEmmanuel Vadotdescription: |
14*0e8011faSEmmanuel Vadot  The STMicroelectronics STM32 LVDS Display Interface Transmitter handles the
15*0e8011faSEmmanuel Vadot  LVDS protocol: it maps the pixels received from the upstream Pixel-DMA (LTDC)
16*0e8011faSEmmanuel Vadot  onto the LVDS PHY.
17*0e8011faSEmmanuel Vadot
18*0e8011faSEmmanuel Vadot  It is composed of three sub blocks:
19*0e8011faSEmmanuel Vadot    - LVDS host: handles the LVDS protocol (FPD / OpenLDI) and maps its input
20*0e8011faSEmmanuel Vadot      pixels onto the data lanes of the PHY
21*0e8011faSEmmanuel Vadot    - LVDS PHY: parallelize the data and drives the LVDS data lanes
22*0e8011faSEmmanuel Vadot    - LVDS wrapper: handles top-level settings
23*0e8011faSEmmanuel Vadot
24*0e8011faSEmmanuel Vadot  The LVDS controller driver supports the following high-level features:
25*0e8011faSEmmanuel Vadot    - FDP-Link-I and OpenLDI (v0.95) protocols
26*0e8011faSEmmanuel Vadot    - Single-Link or Dual-Link operation
27*0e8011faSEmmanuel Vadot    - Single-Display or Double-Display (with the same content duplicated on both)
28*0e8011faSEmmanuel Vadot    - Flexible Bit-Mapping, including JEIDA and VESA
29*0e8011faSEmmanuel Vadot    - RGB888 or RGB666 output
30*0e8011faSEmmanuel Vadot    - Synchronous design, with one input pixel per clock cycle
31*0e8011faSEmmanuel Vadot
32*0e8011faSEmmanuel Vadotproperties:
33*0e8011faSEmmanuel Vadot  compatible:
34*0e8011faSEmmanuel Vadot    const: st,stm32mp25-lvds
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadot  "#clock-cells":
37*0e8011faSEmmanuel Vadot    const: 0
38*0e8011faSEmmanuel Vadot    description:
39*0e8011faSEmmanuel Vadot      Provides the internal LVDS PHY clock to the framework.
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot  reg:
42*0e8011faSEmmanuel Vadot    maxItems: 1
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel Vadot  clocks:
45*0e8011faSEmmanuel Vadot    items:
46*0e8011faSEmmanuel Vadot      - description: APB peripheral clock
47*0e8011faSEmmanuel Vadot      - description: Reference clock for the internal PLL
48*0e8011faSEmmanuel Vadot
49*0e8011faSEmmanuel Vadot  clock-names:
50*0e8011faSEmmanuel Vadot    items:
51*0e8011faSEmmanuel Vadot      - const: pclk
52*0e8011faSEmmanuel Vadot      - const: ref
53*0e8011faSEmmanuel Vadot
54*0e8011faSEmmanuel Vadot  resets:
55*0e8011faSEmmanuel Vadot    maxItems: 1
56*0e8011faSEmmanuel Vadot
57*0e8011faSEmmanuel Vadot  ports:
58*0e8011faSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
59*0e8011faSEmmanuel Vadot
60*0e8011faSEmmanuel Vadot    properties:
61*0e8011faSEmmanuel Vadot      port@0:
62*0e8011faSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
63*0e8011faSEmmanuel Vadot        description:
64*0e8011faSEmmanuel Vadot          LVDS input port node, connected to the LTDC RGB output port.
65*0e8011faSEmmanuel Vadot
66*0e8011faSEmmanuel Vadot      port@1:
67*0e8011faSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
68*0e8011faSEmmanuel Vadot        description:
69*0e8011faSEmmanuel Vadot          LVDS output port node, connected to a panel or bridge input port.
70*0e8011faSEmmanuel Vadot
71*0e8011faSEmmanuel Vadot    required:
72*0e8011faSEmmanuel Vadot      - port@0
73*0e8011faSEmmanuel Vadot      - port@1
74*0e8011faSEmmanuel Vadot
75*0e8011faSEmmanuel Vadotrequired:
76*0e8011faSEmmanuel Vadot  - compatible
77*0e8011faSEmmanuel Vadot  - "#clock-cells"
78*0e8011faSEmmanuel Vadot  - reg
79*0e8011faSEmmanuel Vadot  - clocks
80*0e8011faSEmmanuel Vadot  - clock-names
81*0e8011faSEmmanuel Vadot  - resets
82*0e8011faSEmmanuel Vadot  - ports
83*0e8011faSEmmanuel Vadot
84*0e8011faSEmmanuel VadotadditionalProperties: false
85*0e8011faSEmmanuel Vadot
86*0e8011faSEmmanuel Vadotexamples:
87*0e8011faSEmmanuel Vadot  - |
88*0e8011faSEmmanuel Vadot    #include <dt-bindings/clock/st,stm32mp25-rcc.h>
89*0e8011faSEmmanuel Vadot    #include <dt-bindings/reset/st,stm32mp25-rcc.h>
90*0e8011faSEmmanuel Vadot
91*0e8011faSEmmanuel Vadot    lvds: lvds@48060000 {
92*0e8011faSEmmanuel Vadot        compatible = "st,stm32mp25-lvds";
93*0e8011faSEmmanuel Vadot        reg = <0x48060000 0x2000>;
94*0e8011faSEmmanuel Vadot        #clock-cells = <0>;
95*0e8011faSEmmanuel Vadot        clocks = <&rcc CK_BUS_LVDS>, <&rcc CK_KER_LVDSPHY>;
96*0e8011faSEmmanuel Vadot        clock-names = "pclk", "ref";
97*0e8011faSEmmanuel Vadot        resets = <&rcc LVDS_R>;
98*0e8011faSEmmanuel Vadot
99*0e8011faSEmmanuel Vadot        ports {
100*0e8011faSEmmanuel Vadot            #address-cells = <1>;
101*0e8011faSEmmanuel Vadot            #size-cells = <0>;
102*0e8011faSEmmanuel Vadot
103*0e8011faSEmmanuel Vadot            port@0 {
104*0e8011faSEmmanuel Vadot                reg = <0>;
105*0e8011faSEmmanuel Vadot                lvds_in: endpoint {
106*0e8011faSEmmanuel Vadot                   remote-endpoint = <&ltdc_ep1_out>;
107*0e8011faSEmmanuel Vadot                };
108*0e8011faSEmmanuel Vadot            };
109*0e8011faSEmmanuel Vadot
110*0e8011faSEmmanuel Vadot            port@1 {
111*0e8011faSEmmanuel Vadot                reg = <1>;
112*0e8011faSEmmanuel Vadot                lvds_out0: endpoint {
113*0e8011faSEmmanuel Vadot                   remote-endpoint = <&lvds_panel_in>;
114*0e8011faSEmmanuel Vadot                };
115*0e8011faSEmmanuel Vadot            };
116*0e8011faSEmmanuel Vadot        };
117*0e8011faSEmmanuel Vadot    };
118*0e8011faSEmmanuel Vadot
119*0e8011faSEmmanuel Vadot...
120