13130c26aSBenjamin Gaignard# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
23130c26aSBenjamin Gaignard%YAML 1.2
33130c26aSBenjamin Gaignard---
43130c26aSBenjamin Gaignard$id: http://devicetree.org/schemas/display/st,stm32-dsi.yaml#
53130c26aSBenjamin Gaignard$schema: http://devicetree.org/meta-schemas/core.yaml#
63130c26aSBenjamin Gaignard
73130c26aSBenjamin Gaignardtitle: STMicroelectronics STM32 DSI host controller
83130c26aSBenjamin Gaignard
93130c26aSBenjamin Gaignardmaintainers:
10f4eedebdSPatrice Chotard  - Philippe Cornu <philippe.cornu@foss.st.com>
11f4eedebdSPatrice Chotard  - Yannick Fertre <yannick.fertre@foss.st.com>
123130c26aSBenjamin Gaignard
133130c26aSBenjamin Gaignarddescription:
143130c26aSBenjamin Gaignard  The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller.
153130c26aSBenjamin Gaignard
1624d59795SRob HerringallOf:
1724d59795SRob Herring  - $ref: dsi-controller.yaml#
1824d59795SRob Herring
193130c26aSBenjamin Gaignardproperties:
203130c26aSBenjamin Gaignard  compatible:
213130c26aSBenjamin Gaignard    const: st,stm32-dsi
223130c26aSBenjamin Gaignard
233130c26aSBenjamin Gaignard  reg:
243130c26aSBenjamin Gaignard    maxItems: 1
253130c26aSBenjamin Gaignard
263130c26aSBenjamin Gaignard  clocks:
273130c26aSBenjamin Gaignard    items:
283130c26aSBenjamin Gaignard      - description: Module Clock
293130c26aSBenjamin Gaignard      - description: DSI bus clock
303130c26aSBenjamin Gaignard      - description: Pixel clock
313130c26aSBenjamin Gaignard    minItems: 2
323130c26aSBenjamin Gaignard
333130c26aSBenjamin Gaignard  clock-names:
343130c26aSBenjamin Gaignard    items:
353130c26aSBenjamin Gaignard      - const: pclk
363130c26aSBenjamin Gaignard      - const: ref
373130c26aSBenjamin Gaignard      - const: px_clk
383130c26aSBenjamin Gaignard    minItems: 2
393130c26aSBenjamin Gaignard
403130c26aSBenjamin Gaignard  resets:
413130c26aSBenjamin Gaignard    maxItems: 1
423130c26aSBenjamin Gaignard
433130c26aSBenjamin Gaignard  reset-names:
443130c26aSBenjamin Gaignard    items:
453130c26aSBenjamin Gaignard      - const: apb
463130c26aSBenjamin Gaignard
473130c26aSBenjamin Gaignard  phy-dsi-supply:
483130c26aSBenjamin Gaignard    description:
493130c26aSBenjamin Gaignard      Phandle of the regulator that provides the supply voltage.
503130c26aSBenjamin Gaignard
513130c26aSBenjamin Gaignard  ports:
52b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
53b6755423SRob Herring
543130c26aSBenjamin Gaignard    properties:
553130c26aSBenjamin Gaignard      port@0:
56b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
573130c26aSBenjamin Gaignard        description:
583130c26aSBenjamin Gaignard          DSI input port node, connected to the ltdc rgb output port.
593130c26aSBenjamin Gaignard
603130c26aSBenjamin Gaignard      port@1:
61*8ec747e5SMarek Vasut        $ref: /schemas/graph.yaml#/$defs/port-base
62*8ec747e5SMarek Vasut        unevaluatedProperties: false
63*8ec747e5SMarek Vasut        description: |
64*8ec747e5SMarek Vasut          DSI output port node, connected to a panel or a bridge input port.
65*8ec747e5SMarek Vasut        properties:
66*8ec747e5SMarek Vasut          endpoint:
67*8ec747e5SMarek Vasut            $ref: /schemas/media/video-interfaces.yaml#
68*8ec747e5SMarek Vasut            unevaluatedProperties: false
69*8ec747e5SMarek Vasut            properties:
70*8ec747e5SMarek Vasut              data-lanes:
71*8ec747e5SMarek Vasut                minItems: 1
72*8ec747e5SMarek Vasut                items:
73*8ec747e5SMarek Vasut                  - const: 1
74*8ec747e5SMarek Vasut                  - const: 2
753130c26aSBenjamin Gaignard
763130c26aSBenjamin Gaignardrequired:
773130c26aSBenjamin Gaignard  - compatible
783130c26aSBenjamin Gaignard  - reg
793130c26aSBenjamin Gaignard  - clocks
803130c26aSBenjamin Gaignard  - clock-names
813130c26aSBenjamin Gaignard  - ports
823130c26aSBenjamin Gaignard
8324d59795SRob HerringunevaluatedProperties: false
843130c26aSBenjamin Gaignard
853130c26aSBenjamin Gaignardexamples:
863130c26aSBenjamin Gaignard  - |
873130c26aSBenjamin Gaignard    #include <dt-bindings/interrupt-controller/arm-gic.h>
883130c26aSBenjamin Gaignard    #include <dt-bindings/clock/stm32mp1-clks.h>
893130c26aSBenjamin Gaignard    #include <dt-bindings/reset/stm32mp1-resets.h>
903130c26aSBenjamin Gaignard    #include <dt-bindings/gpio/gpio.h>
913130c26aSBenjamin Gaignard    dsi: dsi@5a000000 {
923130c26aSBenjamin Gaignard        compatible = "st,stm32-dsi";
933130c26aSBenjamin Gaignard        reg = <0x5a000000 0x800>;
943130c26aSBenjamin Gaignard        clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
953130c26aSBenjamin Gaignard        clock-names = "pclk", "ref", "px_clk";
963130c26aSBenjamin Gaignard        resets = <&rcc DSI_R>;
973130c26aSBenjamin Gaignard        reset-names = "apb";
983130c26aSBenjamin Gaignard        phy-dsi-supply = <&reg18>;
993130c26aSBenjamin Gaignard
1003130c26aSBenjamin Gaignard        #address-cells = <1>;
1013130c26aSBenjamin Gaignard        #size-cells = <0>;
1023130c26aSBenjamin Gaignard
1033130c26aSBenjamin Gaignard        ports {
1043130c26aSBenjamin Gaignard              #address-cells = <1>;
1053130c26aSBenjamin Gaignard              #size-cells = <0>;
1063130c26aSBenjamin Gaignard
1073130c26aSBenjamin Gaignard              port@0 {
1083130c26aSBenjamin Gaignard                    reg = <0>;
1093130c26aSBenjamin Gaignard                    dsi_in: endpoint {
1103130c26aSBenjamin Gaignard                        remote-endpoint = <&ltdc_ep1_out>;
1113130c26aSBenjamin Gaignard                    };
1123130c26aSBenjamin Gaignard              };
1133130c26aSBenjamin Gaignard
1143130c26aSBenjamin Gaignard              port@1 {
1153130c26aSBenjamin Gaignard                    reg = <1>;
1163130c26aSBenjamin Gaignard                    dsi_out: endpoint {
1173130c26aSBenjamin Gaignard                        remote-endpoint = <&panel_in>;
1183130c26aSBenjamin Gaignard                    };
1193130c26aSBenjamin Gaignard              };
1203130c26aSBenjamin Gaignard        };
1213130c26aSBenjamin Gaignard
122b29f4889SRob Herring        panel@0 {
1233130c26aSBenjamin Gaignard              compatible = "orisetech,otm8009a";
1243130c26aSBenjamin Gaignard              reg = <0>;
1253130c26aSBenjamin Gaignard              reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
1263130c26aSBenjamin Gaignard              power-supply = <&v3v3>;
1273130c26aSBenjamin Gaignard
1283130c26aSBenjamin Gaignard              port {
1293130c26aSBenjamin Gaignard                    panel_in: endpoint {
1303130c26aSBenjamin Gaignard                        remote-endpoint = <&dsi_out>;
1313130c26aSBenjamin Gaignard                    };
1323130c26aSBenjamin Gaignard              };
1333130c26aSBenjamin Gaignard        };
1343130c26aSBenjamin Gaignard    };
1353130c26aSBenjamin Gaignard
1363130c26aSBenjamin Gaignard...
137