# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/display/bridge/fsl,imx8qxp-pixel-link.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale i.MX8qm/qxp Display Pixel Link maintainers: - Liu Ying description: | The Freescale i.MX8qm/qxp Display Pixel Link(DPL) forms a standard asynchronous linkage between pixel sources(display controller or camera module) and pixel consumers(imaging or displays). It consists of two distinct functions, a pixel transfer function and a control interface. Multiple pixel channels can exist per one control channel. This binding documentation is only for pixel links whose pixel sources are display controllers. The i.MX8qm/qxp Display Pixel Link is accessed via System Controller Unit(SCU) firmware. properties: compatible: enum: - fsl,imx8qm-dc-pixel-link - fsl,imx8qxp-dc-pixel-link fsl,dc-id: $ref: /schemas/types.yaml#/definitions/uint8 description: | u8 value representing the display controller index that the pixel link connects to. fsl,dc-stream-id: $ref: /schemas/types.yaml#/definitions/uint8 description: | u8 value representing the display controller stream index that the pixel link connects to. enum: [0, 1] ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: $ref: /schemas/graph.yaml#/properties/port description: The pixel link input port node from upstream video source. patternProperties: "^port@[1-4]$": $ref: /schemas/graph.yaml#/properties/port description: The pixel link output port node to downstream bridge. required: - port@0 - port@1 - port@2 - port@3 - port@4 allOf: - if: properties: compatible: contains: const: fsl,imx8qxp-dc-pixel-link then: properties: fsl,dc-id: const: 0 - if: properties: compatible: contains: const: fsl,imx8qm-dc-pixel-link then: properties: fsl,dc-id: enum: [0, 1] required: - compatible - fsl,dc-id - fsl,dc-stream-id - ports additionalProperties: false examples: - | dc0-pixel-link0 { compatible = "fsl,imx8qxp-dc-pixel-link"; fsl,dc-id = /bits/ 8 <0>; fsl,dc-stream-id = /bits/ 8 <0>; ports { #address-cells = <1>; #size-cells = <0>; /* from dc0 pixel combiner channel0 */ port@0 { reg = <0>; dc0_pixel_link0_dc0_pixel_combiner_ch0: endpoint { remote-endpoint = <&dc0_pixel_combiner_ch0_dc0_pixel_link0>; }; }; /* to PXL2DPIs in MIPI/LVDS combo subsystems */ port@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; dc0_pixel_link0_mipi_lvds_0_pxl2dpi: endpoint@0 { reg = <0>; remote-endpoint = <&mipi_lvds_0_pxl2dpi_dc0_pixel_link0>; }; dc0_pixel_link0_mipi_lvds_1_pxl2dpi: endpoint@1 { reg = <1>; remote-endpoint = <&mipi_lvds_1_pxl2dpi_dc0_pixel_link0>; }; }; /* unused */ port@2 { reg = <2>; }; /* unused */ port@3 { reg = <3>; }; /* to imaging subsystem */ port@4 { reg = <4>; }; }; };