aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/display/msm/mdp4.yaml
blob: 03ee09faa335f332259b64a42eefa3ec199b8e03 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/msm/mdp4.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Adreno/Snapdragon MDP4 display controller

description: >
  MDP4 display controller found in SoCs like MSM8960, APQ8064 and MSM8660.

maintainers:
  - Rob Clark <robdclark@gmail.com>

properties:
  compatible:
    const: qcom,mdp4

  clocks:
    minItems: 6
    maxItems: 8

  clock-names:
    minItems: 6
    items:
      - const: core_clk
      - const: iface_clk
      - const: bus_clk
      - const: lut_clk
      - const: hdmi_clk
      - const: tv_clk
      - const: lcdc_clk
      - const: pxo
        description: XO used to drive the internal LVDS PLL

  '#clock-cells':
    const: 0

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  iommus:
    maxItems: 4

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: LCDC/LVDS

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: DSI1 Cmd / Video

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description: DSI2 Cmd / Video

      port@3:
        $ref: /schemas/graph.yaml#/properties/port
        description: Digital TV

  qcom,lcdc-align-lsb:
    type: boolean
    description: >
      Indication that LSB alignment should be used for LCDC.
      This is only valid for 18bpp panels.

required:
  - compatible
  - reg
  - clocks
  - ports

additionalProperties: false

examples:
  - |
    mdp: mdp@5100000 {
        compatible = "qcom,mdp4";
        reg = <0x05100000 0xf0000>;
        interrupts = <0 75 0>;
        clock-names =
            "core_clk",
            "iface_clk",
            "bus_clk",
            "lut_clk",
            "hdmi_clk",
            "tv_clk";
        clocks =
            <&mmcc 77>,
            <&mmcc 86>,
            <&mmcc 102>,
            <&mmcc 75>,
            <&mmcc 97>,
            <&mmcc 12>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;
                mdp_lvds_out: endpoint {
                };
            };

            port@1 {
                reg = <1>;
                mdp_dsi1_out: endpoint {
                };
            };

            port@2 {
                reg = <2>;
                mdp_dsi2_out: endpoint {
                };
            };

            port@3 {
                reg = <3>;
                mdp_dtv_out: endpoint {
                    remote-endpoint = <&hdmi_in>;
                };
            };
        };
    };