summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml
blob: 679daed4124ebc1ccc10a2cacc7744153e49cbd8 (plain)
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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/st,stm32-dsi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics STM32 DSI host controller

maintainers:
  - Philippe Cornu <philippe.cornu@st.com>
  - Yannick Fertre <yannick.fertre@st.com>

description:
  The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller.

allOf:
  - $ref: dsi-controller.yaml#

properties:
  compatible:
    const: st,stm32-dsi

  reg:
    maxItems: 1

  clocks:
    items:
      - description: Module Clock
      - description: DSI bus clock
      - description: Pixel clock
    minItems: 2
    maxItems: 3

  clock-names:
    items:
      - const: pclk
      - const: ref
      - const: px_clk
    minItems: 2
    maxItems: 3

  resets:
    maxItems: 1

  reset-names:
    items:
      - const: apb

  phy-dsi-supply:
    description:
      Phandle of the regulator that provides the supply voltage.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          DSI input port node, connected to the ltdc rgb output port.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          DSI output port node, connected to a panel or a bridge input port"

required:
  - "#address-cells"
  - "#size-cells"
  - compatible
  - reg
  - clocks
  - clock-names
  - ports

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/stm32mp1-clks.h>
    #include <dt-bindings/reset/stm32mp1-resets.h>
    #include <dt-bindings/gpio/gpio.h>
    dsi: dsi@5a000000 {
        compatible = "st,stm32-dsi";
        reg = <0x5a000000 0x800>;
        clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
        clock-names = "pclk", "ref", "px_clk";
        resets = <&rcc DSI_R>;
        reset-names = "apb";
        phy-dsi-supply = <&reg18>;

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

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

              port@0 {
                    reg = <0>;
                    dsi_in: endpoint {
                        remote-endpoint = <&ltdc_ep1_out>;
                    };
              };

              port@1 {
                    reg = <1>;
                    dsi_out: endpoint {
                        remote-endpoint = <&panel_in>;
                    };
              };
        };

        panel-dsi@0 {
              compatible = "orisetech,otm8009a";
              reg = <0>;
              reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
              power-supply = <&v3v3>;

              port {
                    panel_in: endpoint {
                        remote-endpoint = <&dsi_out>;
                    };
              };
        };
    };

...