1*4dbe55c9SKrishna Manikandan# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause 2*4dbe55c9SKrishna Manikandan%YAML 1.2 3*4dbe55c9SKrishna Manikandan--- 4*4dbe55c9SKrishna Manikandan$id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml# 5*4dbe55c9SKrishna Manikandan$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4dbe55c9SKrishna Manikandan 7*4dbe55c9SKrishna Manikandantitle: Qualcomm Display DSI controller 8*4dbe55c9SKrishna Manikandan 9*4dbe55c9SKrishna Manikandanmaintainers: 10*4dbe55c9SKrishna Manikandan - Krishna Manikandan <mkrishn@codeaurora.org> 11*4dbe55c9SKrishna Manikandan 12*4dbe55c9SKrishna ManikandanallOf: 13*4dbe55c9SKrishna Manikandan - $ref: "../dsi-controller.yaml#" 14*4dbe55c9SKrishna Manikandan 15*4dbe55c9SKrishna Manikandanproperties: 16*4dbe55c9SKrishna Manikandan compatible: 17*4dbe55c9SKrishna Manikandan items: 18*4dbe55c9SKrishna Manikandan - const: qcom,mdss-dsi-ctrl 19*4dbe55c9SKrishna Manikandan 20*4dbe55c9SKrishna Manikandan reg: 21*4dbe55c9SKrishna Manikandan maxItems: 1 22*4dbe55c9SKrishna Manikandan 23*4dbe55c9SKrishna Manikandan reg-names: 24*4dbe55c9SKrishna Manikandan const: dsi_ctrl 25*4dbe55c9SKrishna Manikandan 26*4dbe55c9SKrishna Manikandan interrupts: 27*4dbe55c9SKrishna Manikandan maxItems: 1 28*4dbe55c9SKrishna Manikandan 29*4dbe55c9SKrishna Manikandan clocks: 30*4dbe55c9SKrishna Manikandan items: 31*4dbe55c9SKrishna Manikandan - description: Display byte clock 32*4dbe55c9SKrishna Manikandan - description: Display byte interface clock 33*4dbe55c9SKrishna Manikandan - description: Display pixel clock 34*4dbe55c9SKrishna Manikandan - description: Display escape clock 35*4dbe55c9SKrishna Manikandan - description: Display AHB clock 36*4dbe55c9SKrishna Manikandan - description: Display AXI clock 37*4dbe55c9SKrishna Manikandan 38*4dbe55c9SKrishna Manikandan clock-names: 39*4dbe55c9SKrishna Manikandan items: 40*4dbe55c9SKrishna Manikandan - const: byte 41*4dbe55c9SKrishna Manikandan - const: byte_intf 42*4dbe55c9SKrishna Manikandan - const: pixel 43*4dbe55c9SKrishna Manikandan - const: core 44*4dbe55c9SKrishna Manikandan - const: iface 45*4dbe55c9SKrishna Manikandan - const: bus 46*4dbe55c9SKrishna Manikandan 47*4dbe55c9SKrishna Manikandan phys: 48*4dbe55c9SKrishna Manikandan maxItems: 1 49*4dbe55c9SKrishna Manikandan 50*4dbe55c9SKrishna Manikandan phy-names: 51*4dbe55c9SKrishna Manikandan const: dsi 52*4dbe55c9SKrishna Manikandan 53*4dbe55c9SKrishna Manikandan "#address-cells": true 54*4dbe55c9SKrishna Manikandan 55*4dbe55c9SKrishna Manikandan "#size-cells": true 56*4dbe55c9SKrishna Manikandan 57*4dbe55c9SKrishna Manikandan syscon-sfpb: 58*4dbe55c9SKrishna Manikandan description: A phandle to mmss_sfpb syscon node (only for DSIv2). 59*4dbe55c9SKrishna Manikandan $ref: "/schemas/types.yaml#/definitions/phandle" 60*4dbe55c9SKrishna Manikandan 61*4dbe55c9SKrishna Manikandan qcom,dual-dsi-mode: 62*4dbe55c9SKrishna Manikandan type: boolean 63*4dbe55c9SKrishna Manikandan description: | 64*4dbe55c9SKrishna Manikandan Indicates if the DSI controller is driving a panel which needs 65*4dbe55c9SKrishna Manikandan 2 DSI links. 66*4dbe55c9SKrishna Manikandan 67*4dbe55c9SKrishna Manikandan power-domains: 68*4dbe55c9SKrishna Manikandan maxItems: 1 69*4dbe55c9SKrishna Manikandan 70*4dbe55c9SKrishna Manikandan operating-points-v2: true 71*4dbe55c9SKrishna Manikandan 72*4dbe55c9SKrishna Manikandan ports: 73*4dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/ports" 74*4dbe55c9SKrishna Manikandan description: | 75*4dbe55c9SKrishna Manikandan Contains DSI controller input and output ports as children, each 76*4dbe55c9SKrishna Manikandan containing one endpoint subnode. 77*4dbe55c9SKrishna Manikandan 78*4dbe55c9SKrishna Manikandan properties: 79*4dbe55c9SKrishna Manikandan port@0: 80*4dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/port" 81*4dbe55c9SKrishna Manikandan description: | 82*4dbe55c9SKrishna Manikandan Input endpoints of the controller. 83*4dbe55c9SKrishna Manikandan properties: 84*4dbe55c9SKrishna Manikandan endpoint: 85*4dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 86*4dbe55c9SKrishna Manikandan unevaluatedProperties: false 87*4dbe55c9SKrishna Manikandan properties: 88*4dbe55c9SKrishna Manikandan data-lanes: 89*4dbe55c9SKrishna Manikandan maxItems: 4 90*4dbe55c9SKrishna Manikandan minItems: 4 91*4dbe55c9SKrishna Manikandan items: 92*4dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 93*4dbe55c9SKrishna Manikandan 94*4dbe55c9SKrishna Manikandan port@1: 95*4dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/port" 96*4dbe55c9SKrishna Manikandan description: | 97*4dbe55c9SKrishna Manikandan Output endpoints of the controller. 98*4dbe55c9SKrishna Manikandan properties: 99*4dbe55c9SKrishna Manikandan endpoint: 100*4dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 101*4dbe55c9SKrishna Manikandan unevaluatedProperties: false 102*4dbe55c9SKrishna Manikandan properties: 103*4dbe55c9SKrishna Manikandan data-lanes: 104*4dbe55c9SKrishna Manikandan maxItems: 4 105*4dbe55c9SKrishna Manikandan minItems: 4 106*4dbe55c9SKrishna Manikandan items: 107*4dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 108*4dbe55c9SKrishna Manikandan 109*4dbe55c9SKrishna Manikandan required: 110*4dbe55c9SKrishna Manikandan - port@0 111*4dbe55c9SKrishna Manikandan - port@1 112*4dbe55c9SKrishna Manikandan 113*4dbe55c9SKrishna Manikandanrequired: 114*4dbe55c9SKrishna Manikandan - compatible 115*4dbe55c9SKrishna Manikandan - reg 116*4dbe55c9SKrishna Manikandan - reg-names 117*4dbe55c9SKrishna Manikandan - interrupts 118*4dbe55c9SKrishna Manikandan - clocks 119*4dbe55c9SKrishna Manikandan - clock-names 120*4dbe55c9SKrishna Manikandan - phys 121*4dbe55c9SKrishna Manikandan - phy-names 122*4dbe55c9SKrishna Manikandan - power-domains 123*4dbe55c9SKrishna Manikandan - operating-points-v2 124*4dbe55c9SKrishna Manikandan - ports 125*4dbe55c9SKrishna Manikandan 126*4dbe55c9SKrishna ManikandanadditionalProperties: false 127*4dbe55c9SKrishna Manikandan 128*4dbe55c9SKrishna Manikandanexamples: 129*4dbe55c9SKrishna Manikandan - | 130*4dbe55c9SKrishna Manikandan #include <dt-bindings/interrupt-controller/arm-gic.h> 131*4dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 132*4dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,gcc-sdm845.h> 133*4dbe55c9SKrishna Manikandan #include <dt-bindings/power/qcom-rpmpd.h> 134*4dbe55c9SKrishna Manikandan 135*4dbe55c9SKrishna Manikandan dsi@ae94000 { 136*4dbe55c9SKrishna Manikandan compatible = "qcom,mdss-dsi-ctrl"; 137*4dbe55c9SKrishna Manikandan reg = <0x0ae94000 0x400>; 138*4dbe55c9SKrishna Manikandan reg-names = "dsi_ctrl"; 139*4dbe55c9SKrishna Manikandan 140*4dbe55c9SKrishna Manikandan #address-cells = <1>; 141*4dbe55c9SKrishna Manikandan #size-cells = <0>; 142*4dbe55c9SKrishna Manikandan 143*4dbe55c9SKrishna Manikandan interrupt-parent = <&mdss>; 144*4dbe55c9SKrishna Manikandan interrupts = <4>; 145*4dbe55c9SKrishna Manikandan 146*4dbe55c9SKrishna Manikandan clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 147*4dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 148*4dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 149*4dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_ESC0_CLK>, 150*4dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AHB_CLK>, 151*4dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AXI_CLK>; 152*4dbe55c9SKrishna Manikandan clock-names = "byte", 153*4dbe55c9SKrishna Manikandan "byte_intf", 154*4dbe55c9SKrishna Manikandan "pixel", 155*4dbe55c9SKrishna Manikandan "core", 156*4dbe55c9SKrishna Manikandan "iface", 157*4dbe55c9SKrishna Manikandan "bus"; 158*4dbe55c9SKrishna Manikandan 159*4dbe55c9SKrishna Manikandan phys = <&dsi0_phy>; 160*4dbe55c9SKrishna Manikandan phy-names = "dsi"; 161*4dbe55c9SKrishna Manikandan 162*4dbe55c9SKrishna Manikandan power-domains = <&rpmhpd SC7180_CX>; 163*4dbe55c9SKrishna Manikandan operating-points-v2 = <&dsi_opp_table>; 164*4dbe55c9SKrishna Manikandan 165*4dbe55c9SKrishna Manikandan ports { 166*4dbe55c9SKrishna Manikandan #address-cells = <1>; 167*4dbe55c9SKrishna Manikandan #size-cells = <0>; 168*4dbe55c9SKrishna Manikandan 169*4dbe55c9SKrishna Manikandan port@0 { 170*4dbe55c9SKrishna Manikandan reg = <0>; 171*4dbe55c9SKrishna Manikandan dsi0_in: endpoint { 172*4dbe55c9SKrishna Manikandan remote-endpoint = <&dpu_intf1_out>; 173*4dbe55c9SKrishna Manikandan }; 174*4dbe55c9SKrishna Manikandan }; 175*4dbe55c9SKrishna Manikandan 176*4dbe55c9SKrishna Manikandan port@1 { 177*4dbe55c9SKrishna Manikandan reg = <1>; 178*4dbe55c9SKrishna Manikandan dsi0_out: endpoint { 179*4dbe55c9SKrishna Manikandan remote-endpoint = <&sn65dsi86_in>; 180*4dbe55c9SKrishna Manikandan data-lanes = <0 1 2 3>; 181*4dbe55c9SKrishna Manikandan }; 182*4dbe55c9SKrishna Manikandan }; 183*4dbe55c9SKrishna Manikandan }; 184*4dbe55c9SKrishna Manikandan }; 185*4dbe55c9SKrishna Manikandan... 186