# 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 - Yannick Fertre description: The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller. 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" patternProperties: "^(panel|panel-dsi)@[0-9]$": type: object description: A node containing the panel or bridge description as documented in Documentation/devicetree/bindings/display/mipi-dsi-bus.txt properties: port: type: object description: Panel or bridge port node, connected to the DSI output port (port@1) "#address-cells": const: 1 "#size-cells": const: 0 required: - "#address-cells" - "#size-cells" - compatible - reg - clocks - clock-names - ports additionalProperties: false examples: - | #include #include #include #include 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 = <®18>; #address-cells = <1>; #size-cells = <0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dsi_in: endpoint { remote-endpoint = <<dc_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>; }; }; }; }; ...