xref: /openbmc/linux/Documentation/devicetree/bindings/display/msm/mdp4.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
192649241SDavid Heidelberg# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
292649241SDavid Heidelberg%YAML 1.2
392649241SDavid Heidelberg---
4*4334aec0SRob Herring$id: http://devicetree.org/schemas/display/msm/mdp4.yaml#
5*4334aec0SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
692649241SDavid Heidelberg
792649241SDavid Heidelbergtitle: Qualcomm Adreno/Snapdragon MDP4 display controller
892649241SDavid Heidelberg
992649241SDavid Heidelbergdescription: >
1092649241SDavid Heidelberg  MDP4 display controller found in SoCs like MSM8960, APQ8064 and MSM8660.
1192649241SDavid Heidelberg
1292649241SDavid Heidelbergmaintainers:
1392649241SDavid Heidelberg  - Rob Clark <robdclark@gmail.com>
1492649241SDavid Heidelberg
1592649241SDavid Heidelbergproperties:
1692649241SDavid Heidelberg  compatible:
1792649241SDavid Heidelberg    const: qcom,mdp4
1892649241SDavid Heidelberg
1992649241SDavid Heidelberg  clocks:
2092649241SDavid Heidelberg    minItems: 6
2192649241SDavid Heidelberg    maxItems: 6
2292649241SDavid Heidelberg
2392649241SDavid Heidelberg  clock-names:
2492649241SDavid Heidelberg    items:
2592649241SDavid Heidelberg      - const: core_clk
2692649241SDavid Heidelberg      - const: iface_clk
2792649241SDavid Heidelberg      - const: bus_clk
2892649241SDavid Heidelberg      - const: lut_clk
2992649241SDavid Heidelberg      - const: hdmi_clk
3092649241SDavid Heidelberg      - const: tv_clk
3192649241SDavid Heidelberg
3292649241SDavid Heidelberg  reg:
3392649241SDavid Heidelberg    maxItems: 1
3492649241SDavid Heidelberg
3592649241SDavid Heidelberg  interrupts:
3692649241SDavid Heidelberg    maxItems: 1
3792649241SDavid Heidelberg
3892649241SDavid Heidelberg  iommus:
394dd1be2fSDmitry Baryshkov    maxItems: 4
4092649241SDavid Heidelberg
4192649241SDavid Heidelberg  ports:
4292649241SDavid Heidelberg    $ref: /schemas/graph.yaml#/properties/ports
4392649241SDavid Heidelberg    properties:
4492649241SDavid Heidelberg      port@0:
4592649241SDavid Heidelberg        $ref: /schemas/graph.yaml#/properties/port
4692649241SDavid Heidelberg        description: LCDC/LVDS
4792649241SDavid Heidelberg
4892649241SDavid Heidelberg      port@1:
4992649241SDavid Heidelberg        $ref: /schemas/graph.yaml#/properties/port
5092649241SDavid Heidelberg        description: DSI1 Cmd / Video
5192649241SDavid Heidelberg
5292649241SDavid Heidelberg      port@2:
5392649241SDavid Heidelberg        $ref: /schemas/graph.yaml#/properties/port
5492649241SDavid Heidelberg        description: DSI2 Cmd / Video
5592649241SDavid Heidelberg
5692649241SDavid Heidelberg      port@3:
5792649241SDavid Heidelberg        $ref: /schemas/graph.yaml#/properties/port
5892649241SDavid Heidelberg        description: Digital TV
5992649241SDavid Heidelberg
6092649241SDavid Heidelberg  qcom,lcdc-align-lsb:
6192649241SDavid Heidelberg    type: boolean
6292649241SDavid Heidelberg    description: >
6392649241SDavid Heidelberg      Indication that LSB alignment should be used for LCDC.
6492649241SDavid Heidelberg      This is only valid for 18bpp panels.
6592649241SDavid Heidelberg
6692649241SDavid Heidelbergrequired:
6792649241SDavid Heidelberg  - compatible
6892649241SDavid Heidelberg  - reg
6992649241SDavid Heidelberg  - clocks
7092649241SDavid Heidelberg  - ports
7192649241SDavid Heidelberg
7292649241SDavid HeidelbergadditionalProperties: false
7392649241SDavid Heidelberg
7492649241SDavid Heidelbergexamples:
7592649241SDavid Heidelberg  - |
7692649241SDavid Heidelberg    mdp: mdp@5100000 {
7792649241SDavid Heidelberg        compatible = "qcom,mdp4";
7892649241SDavid Heidelberg        reg = <0x05100000 0xf0000>;
7992649241SDavid Heidelberg        interrupts = <0 75 0>;
8092649241SDavid Heidelberg        clock-names =
8192649241SDavid Heidelberg            "core_clk",
8292649241SDavid Heidelberg            "iface_clk",
8392649241SDavid Heidelberg            "bus_clk",
8492649241SDavid Heidelberg            "lut_clk",
8592649241SDavid Heidelberg            "hdmi_clk",
8692649241SDavid Heidelberg            "tv_clk";
8792649241SDavid Heidelberg        clocks =
8892649241SDavid Heidelberg            <&mmcc 77>,
8992649241SDavid Heidelberg            <&mmcc 86>,
9092649241SDavid Heidelberg            <&mmcc 102>,
9192649241SDavid Heidelberg            <&mmcc 75>,
9292649241SDavid Heidelberg            <&mmcc 97>,
9392649241SDavid Heidelberg            <&mmcc 12>;
9492649241SDavid Heidelberg
9592649241SDavid Heidelberg        ports {
9692649241SDavid Heidelberg            #address-cells = <1>;
9792649241SDavid Heidelberg            #size-cells = <0>;
9892649241SDavid Heidelberg
9992649241SDavid Heidelberg            port@0 {
10092649241SDavid Heidelberg                reg = <0>;
10192649241SDavid Heidelberg                mdp_lvds_out: endpoint {
10292649241SDavid Heidelberg                };
10392649241SDavid Heidelberg            };
10492649241SDavid Heidelberg
10592649241SDavid Heidelberg            port@1 {
10692649241SDavid Heidelberg                reg = <1>;
10792649241SDavid Heidelberg                mdp_dsi1_out: endpoint {
10892649241SDavid Heidelberg                };
10992649241SDavid Heidelberg            };
11092649241SDavid Heidelberg
11192649241SDavid Heidelberg            port@2 {
11292649241SDavid Heidelberg                reg = <2>;
11392649241SDavid Heidelberg                mdp_dsi2_out: endpoint {
11492649241SDavid Heidelberg                };
11592649241SDavid Heidelberg            };
11692649241SDavid Heidelberg
11792649241SDavid Heidelberg            port@3 {
11892649241SDavid Heidelberg                reg = <3>;
11992649241SDavid Heidelberg                mdp_dtv_out: endpoint {
12092649241SDavid Heidelberg                    remote-endpoint = <&hdmi_in>;
12192649241SDavid Heidelberg                };
12292649241SDavid Heidelberg            };
12392649241SDavid Heidelberg        };
12492649241SDavid Heidelberg    };
125