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: 10*cce65bb2SKrishna Manikandan - Krishna Manikandan <quic_mkrishn@quicinc.com> 114dbe55c9SKrishna Manikandan 124dbe55c9SKrishna ManikandanallOf: 134dbe55c9SKrishna Manikandan - $ref: "../dsi-controller.yaml#" 144dbe55c9SKrishna Manikandan 154dbe55c9SKrishna Manikandanproperties: 164dbe55c9SKrishna Manikandan compatible: 17201d4174SLoic Poulain enum: 18201d4174SLoic Poulain - qcom,mdss-dsi-ctrl 19201d4174SLoic Poulain - qcom,dsi-ctrl-6g-qcm2290 204dbe55c9SKrishna Manikandan 214dbe55c9SKrishna Manikandan reg: 224dbe55c9SKrishna Manikandan maxItems: 1 234dbe55c9SKrishna Manikandan 244dbe55c9SKrishna Manikandan reg-names: 254dbe55c9SKrishna Manikandan const: dsi_ctrl 264dbe55c9SKrishna Manikandan 274dbe55c9SKrishna Manikandan interrupts: 284dbe55c9SKrishna Manikandan maxItems: 1 294dbe55c9SKrishna Manikandan 304dbe55c9SKrishna Manikandan clocks: 314dbe55c9SKrishna Manikandan items: 324dbe55c9SKrishna Manikandan - description: Display byte clock 334dbe55c9SKrishna Manikandan - description: Display byte interface clock 344dbe55c9SKrishna Manikandan - description: Display pixel clock 354dbe55c9SKrishna Manikandan - description: Display escape clock 364dbe55c9SKrishna Manikandan - description: Display AHB clock 374dbe55c9SKrishna Manikandan - description: Display AXI clock 384dbe55c9SKrishna Manikandan 394dbe55c9SKrishna Manikandan clock-names: 404dbe55c9SKrishna Manikandan items: 414dbe55c9SKrishna Manikandan - const: byte 424dbe55c9SKrishna Manikandan - const: byte_intf 434dbe55c9SKrishna Manikandan - const: pixel 444dbe55c9SKrishna Manikandan - const: core 454dbe55c9SKrishna Manikandan - const: iface 464dbe55c9SKrishna Manikandan - const: bus 474dbe55c9SKrishna Manikandan 484dbe55c9SKrishna Manikandan phys: 494dbe55c9SKrishna Manikandan maxItems: 1 504dbe55c9SKrishna Manikandan 514dbe55c9SKrishna Manikandan phy-names: 524dbe55c9SKrishna Manikandan const: dsi 534dbe55c9SKrishna Manikandan 544dbe55c9SKrishna Manikandan "#address-cells": true 554dbe55c9SKrishna Manikandan 564dbe55c9SKrishna Manikandan "#size-cells": true 574dbe55c9SKrishna Manikandan 584dbe55c9SKrishna Manikandan syscon-sfpb: 594dbe55c9SKrishna Manikandan description: A phandle to mmss_sfpb syscon node (only for DSIv2). 604dbe55c9SKrishna Manikandan $ref: "/schemas/types.yaml#/definitions/phandle" 614dbe55c9SKrishna Manikandan 624dbe55c9SKrishna Manikandan qcom,dual-dsi-mode: 634dbe55c9SKrishna Manikandan type: boolean 644dbe55c9SKrishna Manikandan description: | 654dbe55c9SKrishna Manikandan Indicates if the DSI controller is driving a panel which needs 664dbe55c9SKrishna Manikandan 2 DSI links. 674dbe55c9SKrishna Manikandan 68061a9aeaSDmitry Baryshkov assigned-clocks: 69061a9aeaSDmitry Baryshkov minItems: 2 70061a9aeaSDmitry Baryshkov maxItems: 2 71061a9aeaSDmitry Baryshkov description: | 72061a9aeaSDmitry Baryshkov Parents of "byte" and "pixel" for the given platform. 73061a9aeaSDmitry Baryshkov 74061a9aeaSDmitry Baryshkov assigned-clock-parents: 75061a9aeaSDmitry Baryshkov minItems: 2 76061a9aeaSDmitry Baryshkov maxItems: 2 77061a9aeaSDmitry Baryshkov description: | 78061a9aeaSDmitry Baryshkov The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block. 79061a9aeaSDmitry Baryshkov 804dbe55c9SKrishna Manikandan power-domains: 814dbe55c9SKrishna Manikandan maxItems: 1 824dbe55c9SKrishna Manikandan 834dbe55c9SKrishna Manikandan operating-points-v2: true 844dbe55c9SKrishna Manikandan 854dbe55c9SKrishna Manikandan ports: 864dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/ports" 874dbe55c9SKrishna Manikandan description: | 884dbe55c9SKrishna Manikandan Contains DSI controller input and output ports as children, each 894dbe55c9SKrishna Manikandan containing one endpoint subnode. 904dbe55c9SKrishna Manikandan 914dbe55c9SKrishna Manikandan properties: 924dbe55c9SKrishna Manikandan port@0: 93b4db237eSRob Herring $ref: "/schemas/graph.yaml#/$defs/port-base" 94b4db237eSRob Herring unevaluatedProperties: false 954dbe55c9SKrishna Manikandan description: | 964dbe55c9SKrishna Manikandan Input endpoints of the controller. 974dbe55c9SKrishna Manikandan properties: 984dbe55c9SKrishna Manikandan endpoint: 994dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 1004dbe55c9SKrishna Manikandan unevaluatedProperties: false 1014dbe55c9SKrishna Manikandan properties: 1024dbe55c9SKrishna Manikandan data-lanes: 1034dbe55c9SKrishna Manikandan maxItems: 4 1044dbe55c9SKrishna Manikandan minItems: 4 1054dbe55c9SKrishna Manikandan items: 1064dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 1074dbe55c9SKrishna Manikandan 1084dbe55c9SKrishna Manikandan port@1: 109b4db237eSRob Herring $ref: "/schemas/graph.yaml#/$defs/port-base" 110b4db237eSRob Herring unevaluatedProperties: false 1114dbe55c9SKrishna Manikandan description: | 1124dbe55c9SKrishna Manikandan Output endpoints of the controller. 1134dbe55c9SKrishna Manikandan properties: 1144dbe55c9SKrishna Manikandan endpoint: 1154dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 1164dbe55c9SKrishna Manikandan unevaluatedProperties: false 1174dbe55c9SKrishna Manikandan properties: 1184dbe55c9SKrishna Manikandan data-lanes: 1194dbe55c9SKrishna Manikandan maxItems: 4 1204dbe55c9SKrishna Manikandan minItems: 4 1214dbe55c9SKrishna Manikandan items: 1224dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 1234dbe55c9SKrishna Manikandan 1244dbe55c9SKrishna Manikandan required: 1254dbe55c9SKrishna Manikandan - port@0 1264dbe55c9SKrishna Manikandan - port@1 1274dbe55c9SKrishna Manikandan 1284dbe55c9SKrishna Manikandanrequired: 1294dbe55c9SKrishna Manikandan - compatible 1304dbe55c9SKrishna Manikandan - reg 1314dbe55c9SKrishna Manikandan - reg-names 1324dbe55c9SKrishna Manikandan - interrupts 1334dbe55c9SKrishna Manikandan - clocks 1344dbe55c9SKrishna Manikandan - clock-names 1354dbe55c9SKrishna Manikandan - phys 1364dbe55c9SKrishna Manikandan - phy-names 137061a9aeaSDmitry Baryshkov - assigned-clocks 138061a9aeaSDmitry Baryshkov - assigned-clock-parents 1394dbe55c9SKrishna Manikandan - power-domains 1404dbe55c9SKrishna Manikandan - operating-points-v2 1414dbe55c9SKrishna Manikandan - ports 1424dbe55c9SKrishna Manikandan 1434dbe55c9SKrishna ManikandanadditionalProperties: false 1444dbe55c9SKrishna Manikandan 1454dbe55c9SKrishna Manikandanexamples: 1464dbe55c9SKrishna Manikandan - | 1474dbe55c9SKrishna Manikandan #include <dt-bindings/interrupt-controller/arm-gic.h> 1484dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 1494dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1504dbe55c9SKrishna Manikandan #include <dt-bindings/power/qcom-rpmpd.h> 1514dbe55c9SKrishna Manikandan 1524dbe55c9SKrishna Manikandan dsi@ae94000 { 1534dbe55c9SKrishna Manikandan compatible = "qcom,mdss-dsi-ctrl"; 1544dbe55c9SKrishna Manikandan reg = <0x0ae94000 0x400>; 1554dbe55c9SKrishna Manikandan reg-names = "dsi_ctrl"; 1564dbe55c9SKrishna Manikandan 1574dbe55c9SKrishna Manikandan #address-cells = <1>; 1584dbe55c9SKrishna Manikandan #size-cells = <0>; 1594dbe55c9SKrishna Manikandan 1604dbe55c9SKrishna Manikandan interrupt-parent = <&mdss>; 1614dbe55c9SKrishna Manikandan interrupts = <4>; 1624dbe55c9SKrishna Manikandan 1634dbe55c9SKrishna Manikandan clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1644dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1654dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1664dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1674dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AHB_CLK>, 1684dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AXI_CLK>; 1694dbe55c9SKrishna Manikandan clock-names = "byte", 1704dbe55c9SKrishna Manikandan "byte_intf", 1714dbe55c9SKrishna Manikandan "pixel", 1724dbe55c9SKrishna Manikandan "core", 1734dbe55c9SKrishna Manikandan "iface", 1744dbe55c9SKrishna Manikandan "bus"; 1754dbe55c9SKrishna Manikandan 1764dbe55c9SKrishna Manikandan phys = <&dsi0_phy>; 1774dbe55c9SKrishna Manikandan phy-names = "dsi"; 1784dbe55c9SKrishna Manikandan 179061a9aeaSDmitry Baryshkov assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 180061a9aeaSDmitry Baryshkov assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>; 181061a9aeaSDmitry Baryshkov 1824dbe55c9SKrishna Manikandan power-domains = <&rpmhpd SC7180_CX>; 1834dbe55c9SKrishna Manikandan operating-points-v2 = <&dsi_opp_table>; 1844dbe55c9SKrishna Manikandan 1854dbe55c9SKrishna Manikandan ports { 1864dbe55c9SKrishna Manikandan #address-cells = <1>; 1874dbe55c9SKrishna Manikandan #size-cells = <0>; 1884dbe55c9SKrishna Manikandan 1894dbe55c9SKrishna Manikandan port@0 { 1904dbe55c9SKrishna Manikandan reg = <0>; 1914dbe55c9SKrishna Manikandan dsi0_in: endpoint { 1924dbe55c9SKrishna Manikandan remote-endpoint = <&dpu_intf1_out>; 1934dbe55c9SKrishna Manikandan }; 1944dbe55c9SKrishna Manikandan }; 1954dbe55c9SKrishna Manikandan 1964dbe55c9SKrishna Manikandan port@1 { 1974dbe55c9SKrishna Manikandan reg = <1>; 1984dbe55c9SKrishna Manikandan dsi0_out: endpoint { 1994dbe55c9SKrishna Manikandan remote-endpoint = <&sn65dsi86_in>; 2004dbe55c9SKrishna Manikandan data-lanes = <0 1 2 3>; 2014dbe55c9SKrishna Manikandan }; 2024dbe55c9SKrishna Manikandan }; 2034dbe55c9SKrishna Manikandan }; 2044dbe55c9SKrishna Manikandan }; 2054dbe55c9SKrishna Manikandan... 206