xref: /freebsd/sys/contrib/device-tree/Bindings/display/st,stm32-dsi.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/st,stm32-dsi.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: STMicroelectronics STM32 DSI host controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Philippe Cornu <philippe.cornu@foss.st.com>
118cc087a1SEmmanuel Vadot  - Yannick Fertre <yannick.fertre@foss.st.com>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription:
14c66ec88fSEmmanuel Vadot  The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller.
15c66ec88fSEmmanuel Vadot
166be33864SEmmanuel VadotallOf:
176be33864SEmmanuel Vadot  - $ref: dsi-controller.yaml#
186be33864SEmmanuel Vadot
19c66ec88fSEmmanuel Vadotproperties:
20c66ec88fSEmmanuel Vadot  compatible:
21c66ec88fSEmmanuel Vadot    const: st,stm32-dsi
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot  reg:
24c66ec88fSEmmanuel Vadot    maxItems: 1
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  clocks:
27c66ec88fSEmmanuel Vadot    items:
28c66ec88fSEmmanuel Vadot      - description: Module Clock
29c66ec88fSEmmanuel Vadot      - description: DSI bus clock
30c66ec88fSEmmanuel Vadot      - description: Pixel clock
31c66ec88fSEmmanuel Vadot    minItems: 2
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clock-names:
34c66ec88fSEmmanuel Vadot    items:
35c66ec88fSEmmanuel Vadot      - const: pclk
36c66ec88fSEmmanuel Vadot      - const: ref
37c66ec88fSEmmanuel Vadot      - const: px_clk
38c66ec88fSEmmanuel Vadot    minItems: 2
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot  resets:
41c66ec88fSEmmanuel Vadot    maxItems: 1
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot  reset-names:
44c66ec88fSEmmanuel Vadot    items:
45c66ec88fSEmmanuel Vadot      - const: apb
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  phy-dsi-supply:
48c66ec88fSEmmanuel Vadot    description:
49c66ec88fSEmmanuel Vadot      Phandle of the regulator that provides the supply voltage.
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot  ports:
525def4c47SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
535def4c47SEmmanuel Vadot
54c66ec88fSEmmanuel Vadot    properties:
55c66ec88fSEmmanuel Vadot      port@0:
565def4c47SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
57c66ec88fSEmmanuel Vadot        description:
58c66ec88fSEmmanuel Vadot          DSI input port node, connected to the ltdc rgb output port.
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot      port@1:
61*7ef62cebSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
62*7ef62cebSEmmanuel Vadot        unevaluatedProperties: false
63*7ef62cebSEmmanuel Vadot        description: |
64*7ef62cebSEmmanuel Vadot          DSI output port node, connected to a panel or a bridge input port.
65*7ef62cebSEmmanuel Vadot        properties:
66*7ef62cebSEmmanuel Vadot          endpoint:
67*7ef62cebSEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
68*7ef62cebSEmmanuel Vadot            unevaluatedProperties: false
69*7ef62cebSEmmanuel Vadot            properties:
70*7ef62cebSEmmanuel Vadot              data-lanes:
71*7ef62cebSEmmanuel Vadot                minItems: 1
72*7ef62cebSEmmanuel Vadot                items:
73*7ef62cebSEmmanuel Vadot                  - const: 1
74*7ef62cebSEmmanuel Vadot                  - const: 2
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel Vadotrequired:
77c66ec88fSEmmanuel Vadot  - compatible
78c66ec88fSEmmanuel Vadot  - reg
79c66ec88fSEmmanuel Vadot  - clocks
80c66ec88fSEmmanuel Vadot  - clock-names
81c66ec88fSEmmanuel Vadot  - ports
82c66ec88fSEmmanuel Vadot
836be33864SEmmanuel VadotunevaluatedProperties: false
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadotexamples:
86c66ec88fSEmmanuel Vadot  - |
87c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
88c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/stm32mp1-clks.h>
89c66ec88fSEmmanuel Vadot    #include <dt-bindings/reset/stm32mp1-resets.h>
90c66ec88fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
91c66ec88fSEmmanuel Vadot    dsi: dsi@5a000000 {
92c66ec88fSEmmanuel Vadot        compatible = "st,stm32-dsi";
93c66ec88fSEmmanuel Vadot        reg = <0x5a000000 0x800>;
94c66ec88fSEmmanuel Vadot        clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
95c66ec88fSEmmanuel Vadot        clock-names = "pclk", "ref", "px_clk";
96c66ec88fSEmmanuel Vadot        resets = <&rcc DSI_R>;
97c66ec88fSEmmanuel Vadot        reset-names = "apb";
98c66ec88fSEmmanuel Vadot        phy-dsi-supply = <&reg18>;
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot        #address-cells = <1>;
101c66ec88fSEmmanuel Vadot        #size-cells = <0>;
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot        ports {
104c66ec88fSEmmanuel Vadot              #address-cells = <1>;
105c66ec88fSEmmanuel Vadot              #size-cells = <0>;
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot              port@0 {
108c66ec88fSEmmanuel Vadot                    reg = <0>;
109c66ec88fSEmmanuel Vadot                    dsi_in: endpoint {
110c66ec88fSEmmanuel Vadot                        remote-endpoint = <&ltdc_ep1_out>;
111c66ec88fSEmmanuel Vadot                    };
112c66ec88fSEmmanuel Vadot              };
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel Vadot              port@1 {
115c66ec88fSEmmanuel Vadot                    reg = <1>;
116c66ec88fSEmmanuel Vadot                    dsi_out: endpoint {
117c66ec88fSEmmanuel Vadot                        remote-endpoint = <&panel_in>;
118c66ec88fSEmmanuel Vadot                    };
119c66ec88fSEmmanuel Vadot              };
120c66ec88fSEmmanuel Vadot        };
121c66ec88fSEmmanuel Vadot
122e67e8565SEmmanuel Vadot        panel@0 {
123c66ec88fSEmmanuel Vadot              compatible = "orisetech,otm8009a";
124c66ec88fSEmmanuel Vadot              reg = <0>;
125c66ec88fSEmmanuel Vadot              reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
126c66ec88fSEmmanuel Vadot              power-supply = <&v3v3>;
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot              port {
129c66ec88fSEmmanuel Vadot                    panel_in: endpoint {
130c66ec88fSEmmanuel Vadot                        remote-endpoint = <&dsi_out>;
131c66ec88fSEmmanuel Vadot                    };
132c66ec88fSEmmanuel Vadot              };
133c66ec88fSEmmanuel Vadot        };
134c66ec88fSEmmanuel Vadot    };
135c66ec88fSEmmanuel Vadot
136c66ec88fSEmmanuel Vadot...
137