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:
103130c26aSBenjamin Gaignard  - Philippe Cornu <philippe.cornu@st.com>
113130c26aSBenjamin Gaignard  - Yannick Fertre <yannick.fertre@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    maxItems: 3
333130c26aSBenjamin Gaignard
343130c26aSBenjamin Gaignard  clock-names:
353130c26aSBenjamin Gaignard    items:
363130c26aSBenjamin Gaignard      - const: pclk
373130c26aSBenjamin Gaignard      - const: ref
383130c26aSBenjamin Gaignard      - const: px_clk
393130c26aSBenjamin Gaignard    minItems: 2
403130c26aSBenjamin Gaignard    maxItems: 3
413130c26aSBenjamin Gaignard
423130c26aSBenjamin Gaignard  resets:
433130c26aSBenjamin Gaignard    maxItems: 1
443130c26aSBenjamin Gaignard
453130c26aSBenjamin Gaignard  reset-names:
463130c26aSBenjamin Gaignard    items:
473130c26aSBenjamin Gaignard      - const: apb
483130c26aSBenjamin Gaignard
493130c26aSBenjamin Gaignard  phy-dsi-supply:
503130c26aSBenjamin Gaignard    description:
513130c26aSBenjamin Gaignard      Phandle of the regulator that provides the supply voltage.
523130c26aSBenjamin Gaignard
533130c26aSBenjamin Gaignard  ports:
54*b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
55*b6755423SRob Herring
563130c26aSBenjamin Gaignard    properties:
573130c26aSBenjamin Gaignard      port@0:
58*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
593130c26aSBenjamin Gaignard        description:
603130c26aSBenjamin Gaignard          DSI input port node, connected to the ltdc rgb output port.
613130c26aSBenjamin Gaignard
623130c26aSBenjamin Gaignard      port@1:
63*b6755423SRob Herring        $ref: /schemas/graph.yaml#/properties/port
643130c26aSBenjamin Gaignard        description:
653130c26aSBenjamin Gaignard          DSI output port node, connected to a panel or a bridge input port"
663130c26aSBenjamin Gaignard
673130c26aSBenjamin Gaignardrequired:
683130c26aSBenjamin Gaignard  - "#address-cells"
693130c26aSBenjamin Gaignard  - "#size-cells"
703130c26aSBenjamin Gaignard  - compatible
713130c26aSBenjamin Gaignard  - reg
723130c26aSBenjamin Gaignard  - clocks
733130c26aSBenjamin Gaignard  - clock-names
743130c26aSBenjamin Gaignard  - ports
753130c26aSBenjamin Gaignard
7624d59795SRob HerringunevaluatedProperties: false
773130c26aSBenjamin Gaignard
783130c26aSBenjamin Gaignardexamples:
793130c26aSBenjamin Gaignard  - |
803130c26aSBenjamin Gaignard    #include <dt-bindings/interrupt-controller/arm-gic.h>
813130c26aSBenjamin Gaignard    #include <dt-bindings/clock/stm32mp1-clks.h>
823130c26aSBenjamin Gaignard    #include <dt-bindings/reset/stm32mp1-resets.h>
833130c26aSBenjamin Gaignard    #include <dt-bindings/gpio/gpio.h>
843130c26aSBenjamin Gaignard    dsi: dsi@5a000000 {
853130c26aSBenjamin Gaignard        compatible = "st,stm32-dsi";
863130c26aSBenjamin Gaignard        reg = <0x5a000000 0x800>;
873130c26aSBenjamin Gaignard        clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
883130c26aSBenjamin Gaignard        clock-names = "pclk", "ref", "px_clk";
893130c26aSBenjamin Gaignard        resets = <&rcc DSI_R>;
903130c26aSBenjamin Gaignard        reset-names = "apb";
913130c26aSBenjamin Gaignard        phy-dsi-supply = <&reg18>;
923130c26aSBenjamin Gaignard
933130c26aSBenjamin Gaignard        #address-cells = <1>;
943130c26aSBenjamin Gaignard        #size-cells = <0>;
953130c26aSBenjamin Gaignard
963130c26aSBenjamin Gaignard        ports {
973130c26aSBenjamin Gaignard              #address-cells = <1>;
983130c26aSBenjamin Gaignard              #size-cells = <0>;
993130c26aSBenjamin Gaignard
1003130c26aSBenjamin Gaignard              port@0 {
1013130c26aSBenjamin Gaignard                    reg = <0>;
1023130c26aSBenjamin Gaignard                    dsi_in: endpoint {
1033130c26aSBenjamin Gaignard                        remote-endpoint = <&ltdc_ep1_out>;
1043130c26aSBenjamin Gaignard                    };
1053130c26aSBenjamin Gaignard              };
1063130c26aSBenjamin Gaignard
1073130c26aSBenjamin Gaignard              port@1 {
1083130c26aSBenjamin Gaignard                    reg = <1>;
1093130c26aSBenjamin Gaignard                    dsi_out: endpoint {
1103130c26aSBenjamin Gaignard                        remote-endpoint = <&panel_in>;
1113130c26aSBenjamin Gaignard                    };
1123130c26aSBenjamin Gaignard              };
1133130c26aSBenjamin Gaignard        };
1143130c26aSBenjamin Gaignard
1153130c26aSBenjamin Gaignard        panel-dsi@0 {
1163130c26aSBenjamin Gaignard              compatible = "orisetech,otm8009a";
1173130c26aSBenjamin Gaignard              reg = <0>;
1183130c26aSBenjamin Gaignard              reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
1193130c26aSBenjamin Gaignard              power-supply = <&v3v3>;
1203130c26aSBenjamin Gaignard
1213130c26aSBenjamin Gaignard              port {
1223130c26aSBenjamin Gaignard                    panel_in: endpoint {
1233130c26aSBenjamin Gaignard                        remote-endpoint = <&dsi_out>;
1243130c26aSBenjamin Gaignard                    };
1253130c26aSBenjamin Gaignard              };
1263130c26aSBenjamin Gaignard        };
1273130c26aSBenjamin Gaignard    };
1283130c26aSBenjamin Gaignard
1293130c26aSBenjamin Gaignard...
1303130c26aSBenjamin Gaignard
131