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/display/bridge/fsl,imx8qxp-pixel-link.yaml# 5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b97ee269SEmmanuel Vadot 7*b97ee269SEmmanuel Vadottitle: Freescale i.MX8qm/qxp Display Pixel Link 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 Freescale i.MX8qm/qxp Display Pixel Link(DPL) forms a standard 14*b97ee269SEmmanuel Vadot asynchronous linkage between pixel sources(display controller or 15*b97ee269SEmmanuel Vadot camera module) and pixel consumers(imaging or displays). 16*b97ee269SEmmanuel Vadot It consists of two distinct functions, a pixel transfer function and a 17*b97ee269SEmmanuel Vadot control interface. Multiple pixel channels can exist per one control channel. 18*b97ee269SEmmanuel Vadot This binding documentation is only for pixel links whose pixel sources are 19*b97ee269SEmmanuel Vadot display controllers. 20*b97ee269SEmmanuel Vadot 21*b97ee269SEmmanuel Vadot The i.MX8qm/qxp Display Pixel Link is accessed via System Controller Unit(SCU) 22*b97ee269SEmmanuel Vadot firmware. 23*b97ee269SEmmanuel Vadot 24*b97ee269SEmmanuel Vadotproperties: 25*b97ee269SEmmanuel Vadot compatible: 26*b97ee269SEmmanuel Vadot enum: 27*b97ee269SEmmanuel Vadot - fsl,imx8qm-dc-pixel-link 28*b97ee269SEmmanuel Vadot - fsl,imx8qxp-dc-pixel-link 29*b97ee269SEmmanuel Vadot 30*b97ee269SEmmanuel Vadot fsl,dc-id: 31*b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 32*b97ee269SEmmanuel Vadot description: | 33*b97ee269SEmmanuel Vadot u8 value representing the display controller index that the pixel link 34*b97ee269SEmmanuel Vadot connects to. 35*b97ee269SEmmanuel Vadot 36*b97ee269SEmmanuel Vadot fsl,dc-stream-id: 37*b97ee269SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8 38*b97ee269SEmmanuel Vadot description: | 39*b97ee269SEmmanuel Vadot u8 value representing the display controller stream index that the pixel 40*b97ee269SEmmanuel Vadot link connects to. 41*b97ee269SEmmanuel Vadot enum: [0, 1] 42*b97ee269SEmmanuel Vadot 43*b97ee269SEmmanuel Vadot ports: 44*b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 45*b97ee269SEmmanuel Vadot 46*b97ee269SEmmanuel Vadot properties: 47*b97ee269SEmmanuel Vadot port@0: 48*b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 49*b97ee269SEmmanuel Vadot description: The pixel link input port node from upstream video source. 50*b97ee269SEmmanuel Vadot 51*b97ee269SEmmanuel Vadot patternProperties: 52*b97ee269SEmmanuel Vadot "^port@[1-4]$": 53*b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 54*b97ee269SEmmanuel Vadot description: The pixel link output port node to downstream bridge. 55*b97ee269SEmmanuel Vadot 56*b97ee269SEmmanuel Vadot required: 57*b97ee269SEmmanuel Vadot - port@0 58*b97ee269SEmmanuel Vadot - port@1 59*b97ee269SEmmanuel Vadot - port@2 60*b97ee269SEmmanuel Vadot - port@3 61*b97ee269SEmmanuel Vadot - port@4 62*b97ee269SEmmanuel Vadot 63*b97ee269SEmmanuel VadotallOf: 64*b97ee269SEmmanuel Vadot - if: 65*b97ee269SEmmanuel Vadot properties: 66*b97ee269SEmmanuel Vadot compatible: 67*b97ee269SEmmanuel Vadot contains: 68*b97ee269SEmmanuel Vadot const: fsl,imx8qxp-dc-pixel-link 69*b97ee269SEmmanuel Vadot then: 70*b97ee269SEmmanuel Vadot properties: 71*b97ee269SEmmanuel Vadot fsl,dc-id: 72*b97ee269SEmmanuel Vadot const: 0 73*b97ee269SEmmanuel Vadot 74*b97ee269SEmmanuel Vadot - if: 75*b97ee269SEmmanuel Vadot properties: 76*b97ee269SEmmanuel Vadot compatible: 77*b97ee269SEmmanuel Vadot contains: 78*b97ee269SEmmanuel Vadot const: fsl,imx8qm-dc-pixel-link 79*b97ee269SEmmanuel Vadot then: 80*b97ee269SEmmanuel Vadot properties: 81*b97ee269SEmmanuel Vadot fsl,dc-id: 82*b97ee269SEmmanuel Vadot enum: [0, 1] 83*b97ee269SEmmanuel Vadot 84*b97ee269SEmmanuel Vadotrequired: 85*b97ee269SEmmanuel Vadot - compatible 86*b97ee269SEmmanuel Vadot - fsl,dc-id 87*b97ee269SEmmanuel Vadot - fsl,dc-stream-id 88*b97ee269SEmmanuel Vadot - ports 89*b97ee269SEmmanuel Vadot 90*b97ee269SEmmanuel VadotadditionalProperties: false 91*b97ee269SEmmanuel Vadot 92*b97ee269SEmmanuel Vadotexamples: 93*b97ee269SEmmanuel Vadot - | 94*b97ee269SEmmanuel Vadot dc0-pixel-link0 { 95*b97ee269SEmmanuel Vadot compatible = "fsl,imx8qxp-dc-pixel-link"; 96*b97ee269SEmmanuel Vadot fsl,dc-id = /bits/ 8 <0>; 97*b97ee269SEmmanuel Vadot fsl,dc-stream-id = /bits/ 8 <0>; 98*b97ee269SEmmanuel Vadot 99*b97ee269SEmmanuel Vadot ports { 100*b97ee269SEmmanuel Vadot #address-cells = <1>; 101*b97ee269SEmmanuel Vadot #size-cells = <0>; 102*b97ee269SEmmanuel Vadot 103*b97ee269SEmmanuel Vadot /* from dc0 pixel combiner channel0 */ 104*b97ee269SEmmanuel Vadot port@0 { 105*b97ee269SEmmanuel Vadot reg = <0>; 106*b97ee269SEmmanuel Vadot 107*b97ee269SEmmanuel Vadot dc0_pixel_link0_dc0_pixel_combiner_ch0: endpoint { 108*b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_pixel_combiner_ch0_dc0_pixel_link0>; 109*b97ee269SEmmanuel Vadot }; 110*b97ee269SEmmanuel Vadot }; 111*b97ee269SEmmanuel Vadot 112*b97ee269SEmmanuel Vadot /* to PXL2DPIs in MIPI/LVDS combo subsystems */ 113*b97ee269SEmmanuel Vadot port@1 { 114*b97ee269SEmmanuel Vadot #address-cells = <1>; 115*b97ee269SEmmanuel Vadot #size-cells = <0>; 116*b97ee269SEmmanuel Vadot reg = <1>; 117*b97ee269SEmmanuel Vadot 118*b97ee269SEmmanuel Vadot dc0_pixel_link0_mipi_lvds_0_pxl2dpi: endpoint@0 { 119*b97ee269SEmmanuel Vadot reg = <0>; 120*b97ee269SEmmanuel Vadot remote-endpoint = <&mipi_lvds_0_pxl2dpi_dc0_pixel_link0>; 121*b97ee269SEmmanuel Vadot }; 122*b97ee269SEmmanuel Vadot 123*b97ee269SEmmanuel Vadot dc0_pixel_link0_mipi_lvds_1_pxl2dpi: endpoint@1 { 124*b97ee269SEmmanuel Vadot reg = <1>; 125*b97ee269SEmmanuel Vadot remote-endpoint = <&mipi_lvds_1_pxl2dpi_dc0_pixel_link0>; 126*b97ee269SEmmanuel Vadot }; 127*b97ee269SEmmanuel Vadot }; 128*b97ee269SEmmanuel Vadot 129*b97ee269SEmmanuel Vadot /* unused */ 130*b97ee269SEmmanuel Vadot port@2 { 131*b97ee269SEmmanuel Vadot reg = <2>; 132*b97ee269SEmmanuel Vadot }; 133*b97ee269SEmmanuel Vadot 134*b97ee269SEmmanuel Vadot /* unused */ 135*b97ee269SEmmanuel Vadot port@3 { 136*b97ee269SEmmanuel Vadot reg = <3>; 137*b97ee269SEmmanuel Vadot }; 138*b97ee269SEmmanuel Vadot 139*b97ee269SEmmanuel Vadot /* to imaging subsystem */ 140*b97ee269SEmmanuel Vadot port@4 { 141*b97ee269SEmmanuel Vadot reg = <4>; 142*b97ee269SEmmanuel Vadot }; 143*b97ee269SEmmanuel Vadot }; 144*b97ee269SEmmanuel Vadot }; 145