xref: /freebsd/sys/contrib/device-tree/Bindings/display/msm/mdp4.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c9ccf3a3SEmmanuel Vadot%YAML 1.2
3c9ccf3a3SEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/mdp4.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
7c9ccf3a3SEmmanuel Vadottitle: Qualcomm Adreno/Snapdragon MDP4 display controller
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotdescription: >
10c9ccf3a3SEmmanuel Vadot  MDP4 display controller found in SoCs like MSM8960, APQ8064 and MSM8660.
11c9ccf3a3SEmmanuel Vadot
12c9ccf3a3SEmmanuel Vadotmaintainers:
13c9ccf3a3SEmmanuel Vadot  - Rob Clark <robdclark@gmail.com>
14c9ccf3a3SEmmanuel Vadot
15c9ccf3a3SEmmanuel Vadotproperties:
16c9ccf3a3SEmmanuel Vadot  compatible:
17c9ccf3a3SEmmanuel Vadot    const: qcom,mdp4
18c9ccf3a3SEmmanuel Vadot
19c9ccf3a3SEmmanuel Vadot  clocks:
20c9ccf3a3SEmmanuel Vadot    minItems: 6
21c9ccf3a3SEmmanuel Vadot    maxItems: 6
22c9ccf3a3SEmmanuel Vadot
23c9ccf3a3SEmmanuel Vadot  clock-names:
24c9ccf3a3SEmmanuel Vadot    items:
25c9ccf3a3SEmmanuel Vadot      - const: core_clk
26c9ccf3a3SEmmanuel Vadot      - const: iface_clk
27c9ccf3a3SEmmanuel Vadot      - const: bus_clk
28c9ccf3a3SEmmanuel Vadot      - const: lut_clk
29c9ccf3a3SEmmanuel Vadot      - const: hdmi_clk
30c9ccf3a3SEmmanuel Vadot      - const: tv_clk
31c9ccf3a3SEmmanuel Vadot
32c9ccf3a3SEmmanuel Vadot  reg:
33c9ccf3a3SEmmanuel Vadot    maxItems: 1
34c9ccf3a3SEmmanuel Vadot
35c9ccf3a3SEmmanuel Vadot  interrupts:
36c9ccf3a3SEmmanuel Vadot    maxItems: 1
37c9ccf3a3SEmmanuel Vadot
38c9ccf3a3SEmmanuel Vadot  iommus:
397ef62cebSEmmanuel Vadot    maxItems: 4
40c9ccf3a3SEmmanuel Vadot
41c9ccf3a3SEmmanuel Vadot  ports:
42c9ccf3a3SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
43c9ccf3a3SEmmanuel Vadot    properties:
44c9ccf3a3SEmmanuel Vadot      port@0:
45c9ccf3a3SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
46c9ccf3a3SEmmanuel Vadot        description: LCDC/LVDS
47c9ccf3a3SEmmanuel Vadot
48c9ccf3a3SEmmanuel Vadot      port@1:
49c9ccf3a3SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
50c9ccf3a3SEmmanuel Vadot        description: DSI1 Cmd / Video
51c9ccf3a3SEmmanuel Vadot
52c9ccf3a3SEmmanuel Vadot      port@2:
53c9ccf3a3SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
54c9ccf3a3SEmmanuel Vadot        description: DSI2 Cmd / Video
55c9ccf3a3SEmmanuel Vadot
56c9ccf3a3SEmmanuel Vadot      port@3:
57c9ccf3a3SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
58c9ccf3a3SEmmanuel Vadot        description: Digital TV
59c9ccf3a3SEmmanuel Vadot
60c9ccf3a3SEmmanuel Vadot  qcom,lcdc-align-lsb:
61c9ccf3a3SEmmanuel Vadot    type: boolean
62c9ccf3a3SEmmanuel Vadot    description: >
63c9ccf3a3SEmmanuel Vadot      Indication that LSB alignment should be used for LCDC.
64c9ccf3a3SEmmanuel Vadot      This is only valid for 18bpp panels.
65c9ccf3a3SEmmanuel Vadot
66c9ccf3a3SEmmanuel Vadotrequired:
67c9ccf3a3SEmmanuel Vadot  - compatible
68c9ccf3a3SEmmanuel Vadot  - reg
69c9ccf3a3SEmmanuel Vadot  - clocks
70c9ccf3a3SEmmanuel Vadot  - ports
71c9ccf3a3SEmmanuel Vadot
72c9ccf3a3SEmmanuel VadotadditionalProperties: false
73c9ccf3a3SEmmanuel Vadot
74c9ccf3a3SEmmanuel Vadotexamples:
75c9ccf3a3SEmmanuel Vadot  - |
76c9ccf3a3SEmmanuel Vadot    mdp: mdp@5100000 {
77c9ccf3a3SEmmanuel Vadot        compatible = "qcom,mdp4";
78c9ccf3a3SEmmanuel Vadot        reg = <0x05100000 0xf0000>;
79c9ccf3a3SEmmanuel Vadot        interrupts = <0 75 0>;
80c9ccf3a3SEmmanuel Vadot        clock-names =
81c9ccf3a3SEmmanuel Vadot            "core_clk",
82c9ccf3a3SEmmanuel Vadot            "iface_clk",
83c9ccf3a3SEmmanuel Vadot            "bus_clk",
84c9ccf3a3SEmmanuel Vadot            "lut_clk",
85c9ccf3a3SEmmanuel Vadot            "hdmi_clk",
86c9ccf3a3SEmmanuel Vadot            "tv_clk";
87c9ccf3a3SEmmanuel Vadot        clocks =
88c9ccf3a3SEmmanuel Vadot            <&mmcc 77>,
89c9ccf3a3SEmmanuel Vadot            <&mmcc 86>,
90c9ccf3a3SEmmanuel Vadot            <&mmcc 102>,
91c9ccf3a3SEmmanuel Vadot            <&mmcc 75>,
92c9ccf3a3SEmmanuel Vadot            <&mmcc 97>,
93c9ccf3a3SEmmanuel Vadot            <&mmcc 12>;
94c9ccf3a3SEmmanuel Vadot
95c9ccf3a3SEmmanuel Vadot        ports {
96c9ccf3a3SEmmanuel Vadot            #address-cells = <1>;
97c9ccf3a3SEmmanuel Vadot            #size-cells = <0>;
98c9ccf3a3SEmmanuel Vadot
99c9ccf3a3SEmmanuel Vadot            port@0 {
100c9ccf3a3SEmmanuel Vadot                reg = <0>;
101c9ccf3a3SEmmanuel Vadot                mdp_lvds_out: endpoint {
102c9ccf3a3SEmmanuel Vadot                };
103c9ccf3a3SEmmanuel Vadot            };
104c9ccf3a3SEmmanuel Vadot
105c9ccf3a3SEmmanuel Vadot            port@1 {
106c9ccf3a3SEmmanuel Vadot                reg = <1>;
107c9ccf3a3SEmmanuel Vadot                mdp_dsi1_out: endpoint {
108c9ccf3a3SEmmanuel Vadot                };
109c9ccf3a3SEmmanuel Vadot            };
110c9ccf3a3SEmmanuel Vadot
111c9ccf3a3SEmmanuel Vadot            port@2 {
112c9ccf3a3SEmmanuel Vadot                reg = <2>;
113c9ccf3a3SEmmanuel Vadot                mdp_dsi2_out: endpoint {
114c9ccf3a3SEmmanuel Vadot                };
115c9ccf3a3SEmmanuel Vadot            };
116c9ccf3a3SEmmanuel Vadot
117c9ccf3a3SEmmanuel Vadot            port@3 {
118c9ccf3a3SEmmanuel Vadot                reg = <3>;
119c9ccf3a3SEmmanuel Vadot                mdp_dtv_out: endpoint {
120c9ccf3a3SEmmanuel Vadot                    remote-endpoint = <&hdmi_in>;
121c9ccf3a3SEmmanuel Vadot                };
122c9ccf3a3SEmmanuel Vadot            };
123c9ccf3a3SEmmanuel Vadot        };
124c9ccf3a3SEmmanuel Vadot    };
125