15956d97fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 75956d97fSEmmanuel Vadottitle: Qualcomm Display DSI controller 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Krishna Manikandan <quic_mkrishn@quicinc.com> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel VadotallOf: 135956d97fSEmmanuel Vadot - $ref: "../dsi-controller.yaml#" 145956d97fSEmmanuel Vadot 155956d97fSEmmanuel Vadotproperties: 165956d97fSEmmanuel Vadot compatible: 17c9ccf3a3SEmmanuel Vadot enum: 18c9ccf3a3SEmmanuel Vadot - qcom,mdss-dsi-ctrl 19c9ccf3a3SEmmanuel Vadot - qcom,dsi-ctrl-6g-qcm2290 205956d97fSEmmanuel Vadot 215956d97fSEmmanuel Vadot reg: 225956d97fSEmmanuel Vadot maxItems: 1 235956d97fSEmmanuel Vadot 245956d97fSEmmanuel Vadot reg-names: 255956d97fSEmmanuel Vadot const: dsi_ctrl 265956d97fSEmmanuel Vadot 275956d97fSEmmanuel Vadot interrupts: 285956d97fSEmmanuel Vadot maxItems: 1 295956d97fSEmmanuel Vadot 305956d97fSEmmanuel Vadot clocks: 315956d97fSEmmanuel Vadot items: 325956d97fSEmmanuel Vadot - description: Display byte clock 335956d97fSEmmanuel Vadot - description: Display byte interface clock 345956d97fSEmmanuel Vadot - description: Display pixel clock 35*8bab661aSEmmanuel Vadot - description: Display core clock 365956d97fSEmmanuel Vadot - description: Display AHB clock 375956d97fSEmmanuel Vadot - description: Display AXI clock 385956d97fSEmmanuel Vadot 395956d97fSEmmanuel Vadot clock-names: 405956d97fSEmmanuel Vadot items: 415956d97fSEmmanuel Vadot - const: byte 425956d97fSEmmanuel Vadot - const: byte_intf 435956d97fSEmmanuel Vadot - const: pixel 445956d97fSEmmanuel Vadot - const: core 455956d97fSEmmanuel Vadot - const: iface 465956d97fSEmmanuel Vadot - const: bus 475956d97fSEmmanuel Vadot 485956d97fSEmmanuel Vadot phys: 495956d97fSEmmanuel Vadot maxItems: 1 505956d97fSEmmanuel Vadot 515956d97fSEmmanuel Vadot phy-names: 52*8bab661aSEmmanuel Vadot deprecated: true 535956d97fSEmmanuel Vadot const: dsi 545956d97fSEmmanuel Vadot 555956d97fSEmmanuel Vadot "#address-cells": true 565956d97fSEmmanuel Vadot 575956d97fSEmmanuel Vadot "#size-cells": true 585956d97fSEmmanuel Vadot 595956d97fSEmmanuel Vadot syscon-sfpb: 605956d97fSEmmanuel Vadot description: A phandle to mmss_sfpb syscon node (only for DSIv2). 615956d97fSEmmanuel Vadot $ref: "/schemas/types.yaml#/definitions/phandle" 625956d97fSEmmanuel Vadot 635956d97fSEmmanuel Vadot qcom,dual-dsi-mode: 645956d97fSEmmanuel Vadot type: boolean 655956d97fSEmmanuel Vadot description: | 665956d97fSEmmanuel Vadot Indicates if the DSI controller is driving a panel which needs 675956d97fSEmmanuel Vadot 2 DSI links. 685956d97fSEmmanuel Vadot 69354d7675SEmmanuel Vadot assigned-clocks: 70354d7675SEmmanuel Vadot maxItems: 2 71354d7675SEmmanuel Vadot description: | 72354d7675SEmmanuel Vadot Parents of "byte" and "pixel" for the given platform. 73354d7675SEmmanuel Vadot 74354d7675SEmmanuel Vadot assigned-clock-parents: 75354d7675SEmmanuel Vadot maxItems: 2 76354d7675SEmmanuel Vadot description: | 77354d7675SEmmanuel Vadot The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block. 78354d7675SEmmanuel Vadot 795956d97fSEmmanuel Vadot power-domains: 805956d97fSEmmanuel Vadot maxItems: 1 815956d97fSEmmanuel Vadot 825956d97fSEmmanuel Vadot operating-points-v2: true 835956d97fSEmmanuel Vadot 84*8bab661aSEmmanuel Vadot opp-table: 85*8bab661aSEmmanuel Vadot type: object 86*8bab661aSEmmanuel Vadot 875956d97fSEmmanuel Vadot ports: 885956d97fSEmmanuel Vadot $ref: "/schemas/graph.yaml#/properties/ports" 895956d97fSEmmanuel Vadot description: | 905956d97fSEmmanuel Vadot Contains DSI controller input and output ports as children, each 915956d97fSEmmanuel Vadot containing one endpoint subnode. 925956d97fSEmmanuel Vadot 935956d97fSEmmanuel Vadot properties: 945956d97fSEmmanuel Vadot port@0: 95354d7675SEmmanuel Vadot $ref: "/schemas/graph.yaml#/$defs/port-base" 96354d7675SEmmanuel Vadot unevaluatedProperties: false 975956d97fSEmmanuel Vadot description: | 985956d97fSEmmanuel Vadot Input endpoints of the controller. 995956d97fSEmmanuel Vadot properties: 1005956d97fSEmmanuel Vadot endpoint: 1015956d97fSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 1025956d97fSEmmanuel Vadot unevaluatedProperties: false 1035956d97fSEmmanuel Vadot properties: 1045956d97fSEmmanuel Vadot data-lanes: 1055956d97fSEmmanuel Vadot maxItems: 4 1065956d97fSEmmanuel Vadot minItems: 4 1075956d97fSEmmanuel Vadot items: 1085956d97fSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 1095956d97fSEmmanuel Vadot 1105956d97fSEmmanuel Vadot port@1: 111354d7675SEmmanuel Vadot $ref: "/schemas/graph.yaml#/$defs/port-base" 112354d7675SEmmanuel Vadot unevaluatedProperties: false 1135956d97fSEmmanuel Vadot description: | 1145956d97fSEmmanuel Vadot Output endpoints of the controller. 1155956d97fSEmmanuel Vadot properties: 1165956d97fSEmmanuel Vadot endpoint: 1175956d97fSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 1185956d97fSEmmanuel Vadot unevaluatedProperties: false 1195956d97fSEmmanuel Vadot properties: 1205956d97fSEmmanuel Vadot data-lanes: 1215956d97fSEmmanuel Vadot maxItems: 4 1225956d97fSEmmanuel Vadot minItems: 4 1235956d97fSEmmanuel Vadot items: 1245956d97fSEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 1255956d97fSEmmanuel Vadot 1265956d97fSEmmanuel Vadot required: 1275956d97fSEmmanuel Vadot - port@0 1285956d97fSEmmanuel Vadot - port@1 1295956d97fSEmmanuel Vadot 1305956d97fSEmmanuel Vadotrequired: 1315956d97fSEmmanuel Vadot - compatible 1325956d97fSEmmanuel Vadot - reg 1335956d97fSEmmanuel Vadot - reg-names 1345956d97fSEmmanuel Vadot - interrupts 1355956d97fSEmmanuel Vadot - clocks 1365956d97fSEmmanuel Vadot - clock-names 1375956d97fSEmmanuel Vadot - phys 138354d7675SEmmanuel Vadot - assigned-clocks 139354d7675SEmmanuel Vadot - assigned-clock-parents 1405956d97fSEmmanuel Vadot - ports 1415956d97fSEmmanuel Vadot 1425956d97fSEmmanuel VadotadditionalProperties: false 1435956d97fSEmmanuel Vadot 1445956d97fSEmmanuel Vadotexamples: 1455956d97fSEmmanuel Vadot - | 1465956d97fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1475956d97fSEmmanuel Vadot #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 1485956d97fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1495956d97fSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 1505956d97fSEmmanuel Vadot 1515956d97fSEmmanuel Vadot dsi@ae94000 { 1525956d97fSEmmanuel Vadot compatible = "qcom,mdss-dsi-ctrl"; 1535956d97fSEmmanuel Vadot reg = <0x0ae94000 0x400>; 1545956d97fSEmmanuel Vadot reg-names = "dsi_ctrl"; 1555956d97fSEmmanuel Vadot 1565956d97fSEmmanuel Vadot #address-cells = <1>; 1575956d97fSEmmanuel Vadot #size-cells = <0>; 1585956d97fSEmmanuel Vadot 1595956d97fSEmmanuel Vadot interrupt-parent = <&mdss>; 1605956d97fSEmmanuel Vadot interrupts = <4>; 1615956d97fSEmmanuel Vadot 1625956d97fSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1635956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1645956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1655956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1665956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AHB_CLK>, 1675956d97fSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AXI_CLK>; 1685956d97fSEmmanuel Vadot clock-names = "byte", 1695956d97fSEmmanuel Vadot "byte_intf", 1705956d97fSEmmanuel Vadot "pixel", 1715956d97fSEmmanuel Vadot "core", 1725956d97fSEmmanuel Vadot "iface", 1735956d97fSEmmanuel Vadot "bus"; 1745956d97fSEmmanuel Vadot 1755956d97fSEmmanuel Vadot phys = <&dsi0_phy>; 1765956d97fSEmmanuel Vadot phy-names = "dsi"; 1775956d97fSEmmanuel Vadot 178354d7675SEmmanuel Vadot assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 179354d7675SEmmanuel Vadot assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>; 180354d7675SEmmanuel Vadot 1815956d97fSEmmanuel Vadot power-domains = <&rpmhpd SC7180_CX>; 1825956d97fSEmmanuel Vadot operating-points-v2 = <&dsi_opp_table>; 1835956d97fSEmmanuel Vadot 1845956d97fSEmmanuel Vadot ports { 1855956d97fSEmmanuel Vadot #address-cells = <1>; 1865956d97fSEmmanuel Vadot #size-cells = <0>; 1875956d97fSEmmanuel Vadot 1885956d97fSEmmanuel Vadot port@0 { 1895956d97fSEmmanuel Vadot reg = <0>; 1905956d97fSEmmanuel Vadot dsi0_in: endpoint { 1915956d97fSEmmanuel Vadot remote-endpoint = <&dpu_intf1_out>; 1925956d97fSEmmanuel Vadot }; 1935956d97fSEmmanuel Vadot }; 1945956d97fSEmmanuel Vadot 1955956d97fSEmmanuel Vadot port@1 { 1965956d97fSEmmanuel Vadot reg = <1>; 1975956d97fSEmmanuel Vadot dsi0_out: endpoint { 1985956d97fSEmmanuel Vadot remote-endpoint = <&sn65dsi86_in>; 1995956d97fSEmmanuel Vadot data-lanes = <0 1 2 3>; 2005956d97fSEmmanuel Vadot }; 2015956d97fSEmmanuel Vadot }; 2025956d97fSEmmanuel Vadot }; 2035956d97fSEmmanuel Vadot }; 2045956d97fSEmmanuel Vadot... 205