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-combiner.yaml# 5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b97ee269SEmmanuel Vadot 7*b97ee269SEmmanuel Vadottitle: Freescale i.MX8qm/qxp Pixel Combiner 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 Pixel Combiner takes two output streams from a 14*b97ee269SEmmanuel Vadot single display controller and manipulates the two streams to support a number 15*b97ee269SEmmanuel Vadot of modes(bypass, pixel combine, YUV444 to YUV422, split_RGB) configured as 16*b97ee269SEmmanuel Vadot either one screen, two screens, or virtual screens. The pixel combiner is 17*b97ee269SEmmanuel Vadot also responsible for generating some of the control signals for the pixel link 18*b97ee269SEmmanuel Vadot output channel. 19*b97ee269SEmmanuel Vadot 20*b97ee269SEmmanuel Vadotproperties: 21*b97ee269SEmmanuel Vadot compatible: 22*b97ee269SEmmanuel Vadot enum: 23*b97ee269SEmmanuel Vadot - fsl,imx8qm-pixel-combiner 24*b97ee269SEmmanuel Vadot - fsl,imx8qxp-pixel-combiner 25*b97ee269SEmmanuel Vadot 26*b97ee269SEmmanuel Vadot "#address-cells": 27*b97ee269SEmmanuel Vadot const: 1 28*b97ee269SEmmanuel Vadot 29*b97ee269SEmmanuel Vadot "#size-cells": 30*b97ee269SEmmanuel Vadot const: 0 31*b97ee269SEmmanuel Vadot 32*b97ee269SEmmanuel Vadot reg: 33*b97ee269SEmmanuel Vadot maxItems: 1 34*b97ee269SEmmanuel Vadot 35*b97ee269SEmmanuel Vadot clocks: 36*b97ee269SEmmanuel Vadot maxItems: 1 37*b97ee269SEmmanuel Vadot 38*b97ee269SEmmanuel Vadot clock-names: 39*b97ee269SEmmanuel Vadot const: apb 40*b97ee269SEmmanuel Vadot 41*b97ee269SEmmanuel Vadot power-domains: 42*b97ee269SEmmanuel Vadot maxItems: 1 43*b97ee269SEmmanuel Vadot 44*b97ee269SEmmanuel VadotpatternProperties: 45*b97ee269SEmmanuel Vadot "^channel@[0-1]$": 46*b97ee269SEmmanuel Vadot type: object 47*b97ee269SEmmanuel Vadot description: Represents a display stream of pixel combiner. 48*b97ee269SEmmanuel Vadot 49*b97ee269SEmmanuel Vadot properties: 50*b97ee269SEmmanuel Vadot "#address-cells": 51*b97ee269SEmmanuel Vadot const: 1 52*b97ee269SEmmanuel Vadot 53*b97ee269SEmmanuel Vadot "#size-cells": 54*b97ee269SEmmanuel Vadot const: 0 55*b97ee269SEmmanuel Vadot 56*b97ee269SEmmanuel Vadot reg: 57*b97ee269SEmmanuel Vadot description: The display stream index. 58*b97ee269SEmmanuel Vadot enum: [ 0, 1 ] 59*b97ee269SEmmanuel Vadot 60*b97ee269SEmmanuel Vadot port@0: 61*b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 62*b97ee269SEmmanuel Vadot description: Input endpoint of the display stream. 63*b97ee269SEmmanuel Vadot 64*b97ee269SEmmanuel Vadot port@1: 65*b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 66*b97ee269SEmmanuel Vadot description: Output endpoint of the display stream. 67*b97ee269SEmmanuel Vadot 68*b97ee269SEmmanuel Vadot required: 69*b97ee269SEmmanuel Vadot - "#address-cells" 70*b97ee269SEmmanuel Vadot - "#size-cells" 71*b97ee269SEmmanuel Vadot - reg 72*b97ee269SEmmanuel Vadot - port@0 73*b97ee269SEmmanuel Vadot - port@1 74*b97ee269SEmmanuel Vadot 75*b97ee269SEmmanuel Vadot additionalProperties: false 76*b97ee269SEmmanuel Vadot 77*b97ee269SEmmanuel Vadotrequired: 78*b97ee269SEmmanuel Vadot - compatible 79*b97ee269SEmmanuel Vadot - "#address-cells" 80*b97ee269SEmmanuel Vadot - "#size-cells" 81*b97ee269SEmmanuel Vadot - reg 82*b97ee269SEmmanuel Vadot - clocks 83*b97ee269SEmmanuel Vadot - clock-names 84*b97ee269SEmmanuel Vadot - power-domains 85*b97ee269SEmmanuel Vadot 86*b97ee269SEmmanuel VadotadditionalProperties: false 87*b97ee269SEmmanuel Vadot 88*b97ee269SEmmanuel Vadotexamples: 89*b97ee269SEmmanuel Vadot - | 90*b97ee269SEmmanuel Vadot #include <dt-bindings/clock/imx8-lpcg.h> 91*b97ee269SEmmanuel Vadot #include <dt-bindings/firmware/imx/rsrc.h> 92*b97ee269SEmmanuel Vadot pixel-combiner@56020000 { 93*b97ee269SEmmanuel Vadot compatible = "fsl,imx8qxp-pixel-combiner"; 94*b97ee269SEmmanuel Vadot #address-cells = <1>; 95*b97ee269SEmmanuel Vadot #size-cells = <0>; 96*b97ee269SEmmanuel Vadot reg = <0x56020000 0x10000>; 97*b97ee269SEmmanuel Vadot clocks = <&dc0_pixel_combiner_lpcg IMX_LPCG_CLK_4>; 98*b97ee269SEmmanuel Vadot clock-names = "apb"; 99*b97ee269SEmmanuel Vadot power-domains = <&pd IMX_SC_R_DC_0>; 100*b97ee269SEmmanuel Vadot 101*b97ee269SEmmanuel Vadot channel@0 { 102*b97ee269SEmmanuel Vadot #address-cells = <1>; 103*b97ee269SEmmanuel Vadot #size-cells = <0>; 104*b97ee269SEmmanuel Vadot reg = <0>; 105*b97ee269SEmmanuel Vadot 106*b97ee269SEmmanuel Vadot port@0 { 107*b97ee269SEmmanuel Vadot reg = <0>; 108*b97ee269SEmmanuel Vadot 109*b97ee269SEmmanuel Vadot dc0_pixel_combiner_ch0_dc0_dpu_disp0: endpoint { 110*b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_dpu_disp0_dc0_pixel_combiner_ch0>; 111*b97ee269SEmmanuel Vadot }; 112*b97ee269SEmmanuel Vadot }; 113*b97ee269SEmmanuel Vadot 114*b97ee269SEmmanuel Vadot port@1 { 115*b97ee269SEmmanuel Vadot reg = <1>; 116*b97ee269SEmmanuel Vadot 117*b97ee269SEmmanuel Vadot dc0_pixel_combiner_ch0_dc0_pixel_link0: endpoint { 118*b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_pixel_link0_dc0_pixel_combiner_ch0>; 119*b97ee269SEmmanuel Vadot }; 120*b97ee269SEmmanuel Vadot }; 121*b97ee269SEmmanuel Vadot }; 122*b97ee269SEmmanuel Vadot 123*b97ee269SEmmanuel Vadot channel@1 { 124*b97ee269SEmmanuel Vadot #address-cells = <1>; 125*b97ee269SEmmanuel Vadot #size-cells = <0>; 126*b97ee269SEmmanuel Vadot reg = <1>; 127*b97ee269SEmmanuel Vadot 128*b97ee269SEmmanuel Vadot port@0 { 129*b97ee269SEmmanuel Vadot reg = <0>; 130*b97ee269SEmmanuel Vadot 131*b97ee269SEmmanuel Vadot dc0_pixel_combiner_ch1_dc0_dpu_disp1: endpoint { 132*b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_dpu_disp1_dc0_pixel_combiner_ch1>; 133*b97ee269SEmmanuel Vadot }; 134*b97ee269SEmmanuel Vadot }; 135*b97ee269SEmmanuel Vadot 136*b97ee269SEmmanuel Vadot port@1 { 137*b97ee269SEmmanuel Vadot reg = <1>; 138*b97ee269SEmmanuel Vadot 139*b97ee269SEmmanuel Vadot dc0_pixel_combiner_ch1_dc0_pixel_link1: endpoint { 140*b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_pixel_link1_dc0_pixel_combiner_ch1>; 141*b97ee269SEmmanuel Vadot }; 142*b97ee269SEmmanuel Vadot }; 143*b97ee269SEmmanuel Vadot }; 144*b97ee269SEmmanuel Vadot }; 145