14dbe55c9SKrishna Manikandan# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause 24dbe55c9SKrishna Manikandan%YAML 1.2 34dbe55c9SKrishna Manikandan--- 44dbe55c9SKrishna Manikandan$id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml# 54dbe55c9SKrishna Manikandan$schema: http://devicetree.org/meta-schemas/core.yaml# 64dbe55c9SKrishna Manikandan 74dbe55c9SKrishna Manikandantitle: Qualcomm Display DSI controller 84dbe55c9SKrishna Manikandan 94dbe55c9SKrishna Manikandanmaintainers: 104dbe55c9SKrishna Manikandan - Krishna Manikandan <mkrishn@codeaurora.org> 114dbe55c9SKrishna Manikandan 124dbe55c9SKrishna ManikandanallOf: 134dbe55c9SKrishna Manikandan - $ref: "../dsi-controller.yaml#" 144dbe55c9SKrishna Manikandan 154dbe55c9SKrishna Manikandanproperties: 164dbe55c9SKrishna Manikandan compatible: 174dbe55c9SKrishna Manikandan items: 184dbe55c9SKrishna Manikandan - const: qcom,mdss-dsi-ctrl 194dbe55c9SKrishna Manikandan 204dbe55c9SKrishna Manikandan reg: 214dbe55c9SKrishna Manikandan maxItems: 1 224dbe55c9SKrishna Manikandan 234dbe55c9SKrishna Manikandan reg-names: 244dbe55c9SKrishna Manikandan const: dsi_ctrl 254dbe55c9SKrishna Manikandan 264dbe55c9SKrishna Manikandan interrupts: 274dbe55c9SKrishna Manikandan maxItems: 1 284dbe55c9SKrishna Manikandan 294dbe55c9SKrishna Manikandan clocks: 304dbe55c9SKrishna Manikandan items: 314dbe55c9SKrishna Manikandan - description: Display byte clock 324dbe55c9SKrishna Manikandan - description: Display byte interface clock 334dbe55c9SKrishna Manikandan - description: Display pixel clock 344dbe55c9SKrishna Manikandan - description: Display escape clock 354dbe55c9SKrishna Manikandan - description: Display AHB clock 364dbe55c9SKrishna Manikandan - description: Display AXI clock 374dbe55c9SKrishna Manikandan 384dbe55c9SKrishna Manikandan clock-names: 394dbe55c9SKrishna Manikandan items: 404dbe55c9SKrishna Manikandan - const: byte 414dbe55c9SKrishna Manikandan - const: byte_intf 424dbe55c9SKrishna Manikandan - const: pixel 434dbe55c9SKrishna Manikandan - const: core 444dbe55c9SKrishna Manikandan - const: iface 454dbe55c9SKrishna Manikandan - const: bus 464dbe55c9SKrishna Manikandan 474dbe55c9SKrishna Manikandan phys: 484dbe55c9SKrishna Manikandan maxItems: 1 494dbe55c9SKrishna Manikandan 504dbe55c9SKrishna Manikandan phy-names: 514dbe55c9SKrishna Manikandan const: dsi 524dbe55c9SKrishna Manikandan 534dbe55c9SKrishna Manikandan "#address-cells": true 544dbe55c9SKrishna Manikandan 554dbe55c9SKrishna Manikandan "#size-cells": true 564dbe55c9SKrishna Manikandan 574dbe55c9SKrishna Manikandan syscon-sfpb: 584dbe55c9SKrishna Manikandan description: A phandle to mmss_sfpb syscon node (only for DSIv2). 594dbe55c9SKrishna Manikandan $ref: "/schemas/types.yaml#/definitions/phandle" 604dbe55c9SKrishna Manikandan 614dbe55c9SKrishna Manikandan qcom,dual-dsi-mode: 624dbe55c9SKrishna Manikandan type: boolean 634dbe55c9SKrishna Manikandan description: | 644dbe55c9SKrishna Manikandan Indicates if the DSI controller is driving a panel which needs 654dbe55c9SKrishna Manikandan 2 DSI links. 664dbe55c9SKrishna Manikandan 67*061a9aeaSDmitry Baryshkov assigned-clocks: 68*061a9aeaSDmitry Baryshkov minItems: 2 69*061a9aeaSDmitry Baryshkov maxItems: 2 70*061a9aeaSDmitry Baryshkov description: | 71*061a9aeaSDmitry Baryshkov Parents of "byte" and "pixel" for the given platform. 72*061a9aeaSDmitry Baryshkov 73*061a9aeaSDmitry Baryshkov assigned-clock-parents: 74*061a9aeaSDmitry Baryshkov minItems: 2 75*061a9aeaSDmitry Baryshkov maxItems: 2 76*061a9aeaSDmitry Baryshkov description: | 77*061a9aeaSDmitry Baryshkov The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block. 78*061a9aeaSDmitry Baryshkov 794dbe55c9SKrishna Manikandan power-domains: 804dbe55c9SKrishna Manikandan maxItems: 1 814dbe55c9SKrishna Manikandan 824dbe55c9SKrishna Manikandan operating-points-v2: true 834dbe55c9SKrishna Manikandan 844dbe55c9SKrishna Manikandan ports: 854dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/ports" 864dbe55c9SKrishna Manikandan description: | 874dbe55c9SKrishna Manikandan Contains DSI controller input and output ports as children, each 884dbe55c9SKrishna Manikandan containing one endpoint subnode. 894dbe55c9SKrishna Manikandan 904dbe55c9SKrishna Manikandan properties: 914dbe55c9SKrishna Manikandan port@0: 924dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/port" 934dbe55c9SKrishna Manikandan description: | 944dbe55c9SKrishna Manikandan Input endpoints of the controller. 954dbe55c9SKrishna Manikandan properties: 964dbe55c9SKrishna Manikandan endpoint: 974dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 984dbe55c9SKrishna Manikandan unevaluatedProperties: false 994dbe55c9SKrishna Manikandan properties: 1004dbe55c9SKrishna Manikandan data-lanes: 1014dbe55c9SKrishna Manikandan maxItems: 4 1024dbe55c9SKrishna Manikandan minItems: 4 1034dbe55c9SKrishna Manikandan items: 1044dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 1054dbe55c9SKrishna Manikandan 1064dbe55c9SKrishna Manikandan port@1: 1074dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/port" 1084dbe55c9SKrishna Manikandan description: | 1094dbe55c9SKrishna Manikandan Output endpoints of the controller. 1104dbe55c9SKrishna Manikandan properties: 1114dbe55c9SKrishna Manikandan endpoint: 1124dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 1134dbe55c9SKrishna Manikandan unevaluatedProperties: false 1144dbe55c9SKrishna Manikandan properties: 1154dbe55c9SKrishna Manikandan data-lanes: 1164dbe55c9SKrishna Manikandan maxItems: 4 1174dbe55c9SKrishna Manikandan minItems: 4 1184dbe55c9SKrishna Manikandan items: 1194dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 1204dbe55c9SKrishna Manikandan 1214dbe55c9SKrishna Manikandan required: 1224dbe55c9SKrishna Manikandan - port@0 1234dbe55c9SKrishna Manikandan - port@1 1244dbe55c9SKrishna Manikandan 1254dbe55c9SKrishna Manikandanrequired: 1264dbe55c9SKrishna Manikandan - compatible 1274dbe55c9SKrishna Manikandan - reg 1284dbe55c9SKrishna Manikandan - reg-names 1294dbe55c9SKrishna Manikandan - interrupts 1304dbe55c9SKrishna Manikandan - clocks 1314dbe55c9SKrishna Manikandan - clock-names 1324dbe55c9SKrishna Manikandan - phys 1334dbe55c9SKrishna Manikandan - phy-names 134*061a9aeaSDmitry Baryshkov - assigned-clocks 135*061a9aeaSDmitry Baryshkov - assigned-clock-parents 1364dbe55c9SKrishna Manikandan - power-domains 1374dbe55c9SKrishna Manikandan - operating-points-v2 1384dbe55c9SKrishna Manikandan - ports 1394dbe55c9SKrishna Manikandan 1404dbe55c9SKrishna ManikandanadditionalProperties: false 1414dbe55c9SKrishna Manikandan 1424dbe55c9SKrishna Manikandanexamples: 1434dbe55c9SKrishna Manikandan - | 1444dbe55c9SKrishna Manikandan #include <dt-bindings/interrupt-controller/arm-gic.h> 1454dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 1464dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1474dbe55c9SKrishna Manikandan #include <dt-bindings/power/qcom-rpmpd.h> 1484dbe55c9SKrishna Manikandan 1494dbe55c9SKrishna Manikandan dsi@ae94000 { 1504dbe55c9SKrishna Manikandan compatible = "qcom,mdss-dsi-ctrl"; 1514dbe55c9SKrishna Manikandan reg = <0x0ae94000 0x400>; 1524dbe55c9SKrishna Manikandan reg-names = "dsi_ctrl"; 1534dbe55c9SKrishna Manikandan 1544dbe55c9SKrishna Manikandan #address-cells = <1>; 1554dbe55c9SKrishna Manikandan #size-cells = <0>; 1564dbe55c9SKrishna Manikandan 1574dbe55c9SKrishna Manikandan interrupt-parent = <&mdss>; 1584dbe55c9SKrishna Manikandan interrupts = <4>; 1594dbe55c9SKrishna Manikandan 1604dbe55c9SKrishna Manikandan clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1614dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1624dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1634dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1644dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AHB_CLK>, 1654dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AXI_CLK>; 1664dbe55c9SKrishna Manikandan clock-names = "byte", 1674dbe55c9SKrishna Manikandan "byte_intf", 1684dbe55c9SKrishna Manikandan "pixel", 1694dbe55c9SKrishna Manikandan "core", 1704dbe55c9SKrishna Manikandan "iface", 1714dbe55c9SKrishna Manikandan "bus"; 1724dbe55c9SKrishna Manikandan 1734dbe55c9SKrishna Manikandan phys = <&dsi0_phy>; 1744dbe55c9SKrishna Manikandan phy-names = "dsi"; 1754dbe55c9SKrishna Manikandan 176*061a9aeaSDmitry Baryshkov assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 177*061a9aeaSDmitry Baryshkov assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>; 178*061a9aeaSDmitry Baryshkov 1794dbe55c9SKrishna Manikandan power-domains = <&rpmhpd SC7180_CX>; 1804dbe55c9SKrishna Manikandan operating-points-v2 = <&dsi_opp_table>; 1814dbe55c9SKrishna Manikandan 1824dbe55c9SKrishna Manikandan ports { 1834dbe55c9SKrishna Manikandan #address-cells = <1>; 1844dbe55c9SKrishna Manikandan #size-cells = <0>; 1854dbe55c9SKrishna Manikandan 1864dbe55c9SKrishna Manikandan port@0 { 1874dbe55c9SKrishna Manikandan reg = <0>; 1884dbe55c9SKrishna Manikandan dsi0_in: endpoint { 1894dbe55c9SKrishna Manikandan remote-endpoint = <&dpu_intf1_out>; 1904dbe55c9SKrishna Manikandan }; 1914dbe55c9SKrishna Manikandan }; 1924dbe55c9SKrishna Manikandan 1934dbe55c9SKrishna Manikandan port@1 { 1944dbe55c9SKrishna Manikandan reg = <1>; 1954dbe55c9SKrishna Manikandan dsi0_out: endpoint { 1964dbe55c9SKrishna Manikandan remote-endpoint = <&sn65dsi86_in>; 1974dbe55c9SKrishna Manikandan data-lanes = <0 1 2 3>; 1984dbe55c9SKrishna Manikandan }; 1994dbe55c9SKrishna Manikandan }; 2004dbe55c9SKrishna Manikandan }; 2014dbe55c9SKrishna Manikandan }; 2024dbe55c9SKrishna Manikandan... 203