summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml
blob: 327a14d85df85e6fba3c9bcdd1405e68434ba3b6 (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
131
132
133
134
# 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:
    type: object
    description:
      A node containing DSI input & output port nodes with endpoint
      definitions as documented in
      Documentation/devicetree/bindings/media/video-interfaces.txt
      Documentation/devicetree/bindings/graph.txt
    properties:
      port@0:
        type: object
        description:
          DSI input port node, connected to the ltdc rgb output port.

      port@1:
        type: object
        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>;
                    };
              };
        };
    };

...