Documentation / devicetree / bindings / display / st,stm32-dsi.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

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 135 136
# 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@foss.st.com>
  - Yannick Fertre <yannick.fertre@foss.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

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

  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#/$defs/port-base
        unevaluatedProperties: false
        description: |
          DSI output port node, connected to a panel or a bridge input port.
        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false
            properties:
              data-lanes:
                minItems: 1
                items:
                  - const: 1
                  - const: 2

required:
  - 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@0 {
              compatible = "orisetech,otm8009a";
              reg = <0>;
              reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
              power-supply = <&v3v3>;
 
              port {
                    panel_in: endpoint {
                        remote-endpoint = <&dsi_out>;
                    };
              };
        };
    };

...