xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/msm/dsi-controller-main.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
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