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: 10cce65bb2SKrishna Manikandan - Krishna Manikandan <quic_mkrishn@quicinc.com> 114dbe55c9SKrishna Manikandan 124dbe55c9SKrishna ManikandanallOf: 134dbe55c9SKrishna Manikandan - $ref: "../dsi-controller.yaml#" 144dbe55c9SKrishna Manikandan 154dbe55c9SKrishna Manikandanproperties: 164dbe55c9SKrishna Manikandan compatible: 17*0c0f65c6SBryan O'Donoghue oneOf: 18*0c0f65c6SBryan O'Donoghue - items: 19*0c0f65c6SBryan O'Donoghue - enum: 20*0c0f65c6SBryan O'Donoghue - qcom,apq8064-dsi-ctrl 21*0c0f65c6SBryan O'Donoghue - qcom,msm8916-dsi-ctrl 22*0c0f65c6SBryan O'Donoghue - qcom,msm8953-dsi-ctrl 23*0c0f65c6SBryan O'Donoghue - qcom,msm8974-dsi-ctrl 24*0c0f65c6SBryan O'Donoghue - qcom,msm8996-dsi-ctrl 25*0c0f65c6SBryan O'Donoghue - qcom,msm8998-dsi-ctrl 26*0c0f65c6SBryan O'Donoghue - qcom,qcm2290-dsi-ctrl 27*0c0f65c6SBryan O'Donoghue - qcom,sc7180-dsi-ctrl 28*0c0f65c6SBryan O'Donoghue - qcom,sc7280-dsi-ctrl 29*0c0f65c6SBryan O'Donoghue - qcom,sdm660-dsi-ctrl 30*0c0f65c6SBryan O'Donoghue - qcom,sdm845-dsi-ctrl 31*0c0f65c6SBryan O'Donoghue - qcom,sm8150-dsi-ctrl 32*0c0f65c6SBryan O'Donoghue - qcom,sm8250-dsi-ctrl 33*0c0f65c6SBryan O'Donoghue - qcom,sm8350-dsi-ctrl 34*0c0f65c6SBryan O'Donoghue - qcom,sm8450-dsi-ctrl 35*0c0f65c6SBryan O'Donoghue - qcom,sm8550-dsi-ctrl 36*0c0f65c6SBryan O'Donoghue - const: qcom,mdss-dsi-ctrl 37*0c0f65c6SBryan O'Donoghue - items: 38*0c0f65c6SBryan O'Donoghue - enum: 39*0c0f65c6SBryan O'Donoghue - dsi-ctrl-6g-qcm2290 40*0c0f65c6SBryan O'Donoghue - const: qcom,mdss-dsi-ctrl 41*0c0f65c6SBryan O'Donoghue deprecated: true 424dbe55c9SKrishna Manikandan 434dbe55c9SKrishna Manikandan reg: 444dbe55c9SKrishna Manikandan maxItems: 1 454dbe55c9SKrishna Manikandan 464dbe55c9SKrishna Manikandan reg-names: 474dbe55c9SKrishna Manikandan const: dsi_ctrl 484dbe55c9SKrishna Manikandan 494dbe55c9SKrishna Manikandan interrupts: 504dbe55c9SKrishna Manikandan maxItems: 1 514dbe55c9SKrishna Manikandan 524dbe55c9SKrishna Manikandan clocks: 534dbe55c9SKrishna Manikandan items: 544dbe55c9SKrishna Manikandan - description: Display byte clock 554dbe55c9SKrishna Manikandan - description: Display byte interface clock 564dbe55c9SKrishna Manikandan - description: Display pixel clock 57654ffe4bSBryan O'Donoghue - description: Display core clock 584dbe55c9SKrishna Manikandan - description: Display AHB clock 594dbe55c9SKrishna Manikandan - description: Display AXI clock 604dbe55c9SKrishna Manikandan 614dbe55c9SKrishna Manikandan clock-names: 624dbe55c9SKrishna Manikandan items: 634dbe55c9SKrishna Manikandan - const: byte 644dbe55c9SKrishna Manikandan - const: byte_intf 654dbe55c9SKrishna Manikandan - const: pixel 664dbe55c9SKrishna Manikandan - const: core 674dbe55c9SKrishna Manikandan - const: iface 684dbe55c9SKrishna Manikandan - const: bus 694dbe55c9SKrishna Manikandan 704dbe55c9SKrishna Manikandan phys: 714dbe55c9SKrishna Manikandan maxItems: 1 724dbe55c9SKrishna Manikandan 734dbe55c9SKrishna Manikandan phy-names: 74c5415562SBryan O'Donoghue deprecated: true 754dbe55c9SKrishna Manikandan const: dsi 764dbe55c9SKrishna Manikandan 774dbe55c9SKrishna Manikandan "#address-cells": true 784dbe55c9SKrishna Manikandan 794dbe55c9SKrishna Manikandan "#size-cells": true 804dbe55c9SKrishna Manikandan 814dbe55c9SKrishna Manikandan syscon-sfpb: 824dbe55c9SKrishna Manikandan description: A phandle to mmss_sfpb syscon node (only for DSIv2). 834dbe55c9SKrishna Manikandan $ref: "/schemas/types.yaml#/definitions/phandle" 844dbe55c9SKrishna Manikandan 854dbe55c9SKrishna Manikandan qcom,dual-dsi-mode: 864dbe55c9SKrishna Manikandan type: boolean 874dbe55c9SKrishna Manikandan description: | 884dbe55c9SKrishna Manikandan Indicates if the DSI controller is driving a panel which needs 894dbe55c9SKrishna Manikandan 2 DSI links. 904dbe55c9SKrishna Manikandan 91061a9aeaSDmitry Baryshkov assigned-clocks: 92061a9aeaSDmitry Baryshkov maxItems: 2 93061a9aeaSDmitry Baryshkov description: | 94061a9aeaSDmitry Baryshkov Parents of "byte" and "pixel" for the given platform. 95061a9aeaSDmitry Baryshkov 96061a9aeaSDmitry Baryshkov assigned-clock-parents: 97061a9aeaSDmitry Baryshkov maxItems: 2 98061a9aeaSDmitry Baryshkov description: | 99061a9aeaSDmitry Baryshkov The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block. 100061a9aeaSDmitry Baryshkov 1014dbe55c9SKrishna Manikandan power-domains: 1024dbe55c9SKrishna Manikandan maxItems: 1 1034dbe55c9SKrishna Manikandan 1044dbe55c9SKrishna Manikandan operating-points-v2: true 1054dbe55c9SKrishna Manikandan 106bac4ccceSDmitry Baryshkov opp-table: 107bac4ccceSDmitry Baryshkov type: object 108bac4ccceSDmitry Baryshkov 1094dbe55c9SKrishna Manikandan ports: 1104dbe55c9SKrishna Manikandan $ref: "/schemas/graph.yaml#/properties/ports" 1114dbe55c9SKrishna Manikandan description: | 1124dbe55c9SKrishna Manikandan Contains DSI controller input and output ports as children, each 1134dbe55c9SKrishna Manikandan containing one endpoint subnode. 1144dbe55c9SKrishna Manikandan 1154dbe55c9SKrishna Manikandan properties: 1164dbe55c9SKrishna Manikandan port@0: 117b4db237eSRob Herring $ref: "/schemas/graph.yaml#/$defs/port-base" 118b4db237eSRob Herring unevaluatedProperties: false 1194dbe55c9SKrishna Manikandan description: | 1204dbe55c9SKrishna Manikandan Input endpoints of the controller. 1214dbe55c9SKrishna Manikandan properties: 1224dbe55c9SKrishna Manikandan endpoint: 1234dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 1244dbe55c9SKrishna Manikandan unevaluatedProperties: false 1254dbe55c9SKrishna Manikandan properties: 1264dbe55c9SKrishna Manikandan data-lanes: 1274dbe55c9SKrishna Manikandan maxItems: 4 1284dbe55c9SKrishna Manikandan minItems: 4 1294dbe55c9SKrishna Manikandan items: 1304dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 1314dbe55c9SKrishna Manikandan 1324dbe55c9SKrishna Manikandan port@1: 133b4db237eSRob Herring $ref: "/schemas/graph.yaml#/$defs/port-base" 134b4db237eSRob Herring unevaluatedProperties: false 1354dbe55c9SKrishna Manikandan description: | 1364dbe55c9SKrishna Manikandan Output endpoints of the controller. 1374dbe55c9SKrishna Manikandan properties: 1384dbe55c9SKrishna Manikandan endpoint: 1394dbe55c9SKrishna Manikandan $ref: /schemas/media/video-interfaces.yaml# 1404dbe55c9SKrishna Manikandan unevaluatedProperties: false 1414dbe55c9SKrishna Manikandan properties: 1424dbe55c9SKrishna Manikandan data-lanes: 1434dbe55c9SKrishna Manikandan maxItems: 4 1444dbe55c9SKrishna Manikandan minItems: 4 1454dbe55c9SKrishna Manikandan items: 1464dbe55c9SKrishna Manikandan enum: [ 0, 1, 2, 3 ] 1474dbe55c9SKrishna Manikandan 1484dbe55c9SKrishna Manikandan required: 1494dbe55c9SKrishna Manikandan - port@0 1504dbe55c9SKrishna Manikandan - port@1 1514dbe55c9SKrishna Manikandan 152adf6a3ebSBryan O'Donoghue vdd-supply: 153adf6a3ebSBryan O'Donoghue description: 154adf6a3ebSBryan O'Donoghue VDD regulator 155adf6a3ebSBryan O'Donoghue 156adf6a3ebSBryan O'Donoghue vddio-supply: 157adf6a3ebSBryan O'Donoghue description: 158adf6a3ebSBryan O'Donoghue VDD-IO regulator 159adf6a3ebSBryan O'Donoghue 160adf6a3ebSBryan O'Donoghue vdda-supply: 161adf6a3ebSBryan O'Donoghue description: 162adf6a3ebSBryan O'Donoghue VDDA regulator 163adf6a3ebSBryan O'Donoghue 1644dbe55c9SKrishna Manikandanrequired: 1654dbe55c9SKrishna Manikandan - compatible 1664dbe55c9SKrishna Manikandan - reg 1674dbe55c9SKrishna Manikandan - reg-names 1684dbe55c9SKrishna Manikandan - interrupts 1694dbe55c9SKrishna Manikandan - clocks 1704dbe55c9SKrishna Manikandan - clock-names 1714dbe55c9SKrishna Manikandan - phys 172061a9aeaSDmitry Baryshkov - assigned-clocks 173061a9aeaSDmitry Baryshkov - assigned-clock-parents 1744dbe55c9SKrishna Manikandan - ports 1754dbe55c9SKrishna Manikandan 1764dbe55c9SKrishna ManikandanadditionalProperties: false 1774dbe55c9SKrishna Manikandan 1784dbe55c9SKrishna Manikandanexamples: 1794dbe55c9SKrishna Manikandan - | 1804dbe55c9SKrishna Manikandan #include <dt-bindings/interrupt-controller/arm-gic.h> 1814dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,dispcc-sdm845.h> 1824dbe55c9SKrishna Manikandan #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1834dbe55c9SKrishna Manikandan #include <dt-bindings/power/qcom-rpmpd.h> 1844dbe55c9SKrishna Manikandan 1854dbe55c9SKrishna Manikandan dsi@ae94000 { 186*0c0f65c6SBryan O'Donoghue compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 1874dbe55c9SKrishna Manikandan reg = <0x0ae94000 0x400>; 1884dbe55c9SKrishna Manikandan reg-names = "dsi_ctrl"; 1894dbe55c9SKrishna Manikandan 1904dbe55c9SKrishna Manikandan #address-cells = <1>; 1914dbe55c9SKrishna Manikandan #size-cells = <0>; 1924dbe55c9SKrishna Manikandan 1934dbe55c9SKrishna Manikandan interrupt-parent = <&mdss>; 1944dbe55c9SKrishna Manikandan interrupts = <4>; 1954dbe55c9SKrishna Manikandan 1964dbe55c9SKrishna Manikandan clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1974dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1984dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1994dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_ESC0_CLK>, 2004dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AHB_CLK>, 2014dbe55c9SKrishna Manikandan <&dispcc DISP_CC_MDSS_AXI_CLK>; 2024dbe55c9SKrishna Manikandan clock-names = "byte", 2034dbe55c9SKrishna Manikandan "byte_intf", 2044dbe55c9SKrishna Manikandan "pixel", 2054dbe55c9SKrishna Manikandan "core", 2064dbe55c9SKrishna Manikandan "iface", 2074dbe55c9SKrishna Manikandan "bus"; 2084dbe55c9SKrishna Manikandan 2094dbe55c9SKrishna Manikandan phys = <&dsi0_phy>; 2104dbe55c9SKrishna Manikandan phy-names = "dsi"; 2114dbe55c9SKrishna Manikandan 212061a9aeaSDmitry Baryshkov assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 213061a9aeaSDmitry Baryshkov assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>; 214061a9aeaSDmitry Baryshkov 2154dbe55c9SKrishna Manikandan power-domains = <&rpmhpd SC7180_CX>; 2164dbe55c9SKrishna Manikandan operating-points-v2 = <&dsi_opp_table>; 2174dbe55c9SKrishna Manikandan 2184dbe55c9SKrishna Manikandan ports { 2194dbe55c9SKrishna Manikandan #address-cells = <1>; 2204dbe55c9SKrishna Manikandan #size-cells = <0>; 2214dbe55c9SKrishna Manikandan 2224dbe55c9SKrishna Manikandan port@0 { 2234dbe55c9SKrishna Manikandan reg = <0>; 2244dbe55c9SKrishna Manikandan dsi0_in: endpoint { 2254dbe55c9SKrishna Manikandan remote-endpoint = <&dpu_intf1_out>; 2264dbe55c9SKrishna Manikandan }; 2274dbe55c9SKrishna Manikandan }; 2284dbe55c9SKrishna Manikandan 2294dbe55c9SKrishna Manikandan port@1 { 2304dbe55c9SKrishna Manikandan reg = <1>; 2314dbe55c9SKrishna Manikandan dsi0_out: endpoint { 2324dbe55c9SKrishna Manikandan remote-endpoint = <&sn65dsi86_in>; 2334dbe55c9SKrishna Manikandan data-lanes = <0 1 2 3>; 2344dbe55c9SKrishna Manikandan }; 2354dbe55c9SKrishna Manikandan }; 2364dbe55c9SKrishna Manikandan }; 2374dbe55c9SKrishna Manikandan }; 2384dbe55c9SKrishna Manikandan... 239