120 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/display/st,stm32mp25-lvds.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: STMicroelectronics STM32 LVDS Display Interface Transmitter8 9maintainers:10 - Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>11 - Yannick Fertre <yannick.fertre@foss.st.com>12 13description: |14 The STMicroelectronics STM32 LVDS Display Interface Transmitter handles the15 LVDS protocol: it maps the pixels received from the upstream Pixel-DMA (LTDC)16 onto the LVDS PHY.17 18 It is composed of three sub blocks:19 - LVDS host: handles the LVDS protocol (FPD / OpenLDI) and maps its input20 pixels onto the data lanes of the PHY21 - LVDS PHY: parallelize the data and drives the LVDS data lanes22 - LVDS wrapper: handles top-level settings23 24 The LVDS controller driver supports the following high-level features:25 - FDP-Link-I and OpenLDI (v0.95) protocols26 - Single-Link or Dual-Link operation27 - Single-Display or Double-Display (with the same content duplicated on both)28 - Flexible Bit-Mapping, including JEIDA and VESA29 - RGB888 or RGB666 output30 - Synchronous design, with one input pixel per clock cycle31 32properties:33 compatible:34 const: st,stm32mp25-lvds35 36 "#clock-cells":37 const: 038 description:39 Provides the internal LVDS PHY clock to the framework.40 41 reg:42 maxItems: 143 44 clocks:45 items:46 - description: APB peripheral clock47 - description: Reference clock for the internal PLL48 49 clock-names:50 items:51 - const: pclk52 - const: ref53 54 resets:55 maxItems: 156 57 ports:58 $ref: /schemas/graph.yaml#/properties/ports59 60 properties:61 port@0:62 $ref: /schemas/graph.yaml#/properties/port63 description:64 LVDS input port node, connected to the LTDC RGB output port.65 66 port@1:67 $ref: /schemas/graph.yaml#/properties/port68 description:69 LVDS output port node, connected to a panel or bridge input port.70 71 required:72 - port@073 - port@174 75required:76 - compatible77 - "#clock-cells"78 - reg79 - clocks80 - clock-names81 - resets82 - ports83 84additionalProperties: false85 86examples:87 - |88 #include <dt-bindings/clock/st,stm32mp25-rcc.h>89 #include <dt-bindings/reset/st,stm32mp25-rcc.h>90 91 lvds: lvds@48060000 {92 compatible = "st,stm32mp25-lvds";93 reg = <0x48060000 0x2000>;94 #clock-cells = <0>;95 clocks = <&rcc CK_BUS_LVDS>, <&rcc CK_KER_LVDSPHY>;96 clock-names = "pclk", "ref";97 resets = <&rcc LVDS_R>;98 99 ports {100 #address-cells = <1>;101 #size-cells = <0>;102 103 port@0 {104 reg = <0>;105 lvds_in: endpoint {106 remote-endpoint = <<dc_ep1_out>;107 };108 };109 110 port@1 {111 reg = <1>;112 lvds_out0: endpoint {113 remote-endpoint = <&lvds_panel_in>;114 };115 };116 };117 };118 119...120