Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Qualcomm Display DSI controller
0008 
0009 maintainers:
0010   - Krishna Manikandan <quic_mkrishn@quicinc.com>
0011 
0012 allOf:
0013   - $ref: "../dsi-controller.yaml#"
0014 
0015 properties:
0016   compatible:
0017     enum:
0018       - qcom,mdss-dsi-ctrl
0019       - qcom,dsi-ctrl-6g-qcm2290
0020 
0021   reg:
0022     maxItems: 1
0023 
0024   reg-names:
0025     const: dsi_ctrl
0026 
0027   interrupts:
0028     maxItems: 1
0029 
0030   clocks:
0031     items:
0032       - description: Display byte clock
0033       - description: Display byte interface clock
0034       - description: Display pixel clock
0035       - description: Display escape clock
0036       - description: Display AHB clock
0037       - description: Display AXI clock
0038 
0039   clock-names:
0040     items:
0041       - const: byte
0042       - const: byte_intf
0043       - const: pixel
0044       - const: core
0045       - const: iface
0046       - const: bus
0047 
0048   phys:
0049     maxItems: 1
0050 
0051   phy-names:
0052     const: dsi
0053 
0054   "#address-cells": true
0055 
0056   "#size-cells": true
0057 
0058   syscon-sfpb:
0059     description: A phandle to mmss_sfpb syscon node (only for DSIv2).
0060     $ref: "/schemas/types.yaml#/definitions/phandle"
0061 
0062   qcom,dual-dsi-mode:
0063     type: boolean
0064     description: |
0065       Indicates if the DSI controller is driving a panel which needs
0066       2 DSI links.
0067 
0068   assigned-clocks:
0069     minItems: 2
0070     maxItems: 2
0071     description: |
0072       Parents of "byte" and "pixel" for the given platform.
0073 
0074   assigned-clock-parents:
0075     minItems: 2
0076     maxItems: 2
0077     description: |
0078       The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.
0079 
0080   power-domains:
0081     maxItems: 1
0082 
0083   operating-points-v2: true
0084 
0085   ports:
0086     $ref: "/schemas/graph.yaml#/properties/ports"
0087     description: |
0088       Contains DSI controller input and output ports as children, each
0089       containing one endpoint subnode.
0090 
0091     properties:
0092       port@0:
0093         $ref: "/schemas/graph.yaml#/$defs/port-base"
0094         unevaluatedProperties: false
0095         description: |
0096           Input endpoints of the controller.
0097         properties:
0098           endpoint:
0099             $ref: /schemas/media/video-interfaces.yaml#
0100             unevaluatedProperties: false
0101             properties:
0102               data-lanes:
0103                 maxItems: 4
0104                 minItems: 4
0105                 items:
0106                   enum: [ 0, 1, 2, 3 ]
0107 
0108       port@1:
0109         $ref: "/schemas/graph.yaml#/$defs/port-base"
0110         unevaluatedProperties: false
0111         description: |
0112           Output endpoints of the controller.
0113         properties:
0114           endpoint:
0115             $ref: /schemas/media/video-interfaces.yaml#
0116             unevaluatedProperties: false
0117             properties:
0118               data-lanes:
0119                 maxItems: 4
0120                 minItems: 4
0121                 items:
0122                   enum: [ 0, 1, 2, 3 ]
0123 
0124     required:
0125       - port@0
0126       - port@1
0127 
0128 required:
0129   - compatible
0130   - reg
0131   - reg-names
0132   - interrupts
0133   - clocks
0134   - clock-names
0135   - phys
0136   - phy-names
0137   - assigned-clocks
0138   - assigned-clock-parents
0139   - power-domains
0140   - operating-points-v2
0141   - ports
0142 
0143 additionalProperties: false
0144 
0145 examples:
0146   - |
0147      #include <dt-bindings/interrupt-controller/arm-gic.h>
0148      #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
0149      #include <dt-bindings/clock/qcom,gcc-sdm845.h>
0150      #include <dt-bindings/power/qcom-rpmpd.h>
0151 
0152      dsi@ae94000 {
0153            compatible = "qcom,mdss-dsi-ctrl";
0154            reg = <0x0ae94000 0x400>;
0155            reg-names = "dsi_ctrl";
0156 
0157            #address-cells = <1>;
0158            #size-cells = <0>;
0159 
0160            interrupt-parent = <&mdss>;
0161            interrupts = <4>;
0162 
0163            clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
0164                     <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
0165                     <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
0166                     <&dispcc DISP_CC_MDSS_ESC0_CLK>,
0167                     <&dispcc DISP_CC_MDSS_AHB_CLK>,
0168                     <&dispcc DISP_CC_MDSS_AXI_CLK>;
0169            clock-names = "byte",
0170                          "byte_intf",
0171                          "pixel",
0172                          "core",
0173                          "iface",
0174                          "bus";
0175 
0176            phys = <&dsi0_phy>;
0177            phy-names = "dsi";
0178 
0179            assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
0180            assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>;
0181 
0182            power-domains = <&rpmhpd SC7180_CX>;
0183            operating-points-v2 = <&dsi_opp_table>;
0184 
0185            ports {
0186                   #address-cells = <1>;
0187                   #size-cells = <0>;
0188 
0189                   port@0 {
0190                           reg = <0>;
0191                           dsi0_in: endpoint {
0192                                    remote-endpoint = <&dpu_intf1_out>;
0193                           };
0194                   };
0195 
0196                   port@1 {
0197                           reg = <1>;
0198                           dsi0_out: endpoint {
0199                                    remote-endpoint = <&sn65dsi86_in>;
0200                                    data-lanes = <0 1 2 3>;
0201                           };
0202                   };
0203            };
0204      };
0205 ...