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