# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-mipi-dsi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A31 MIPI-DSI Controller Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <maxime.ripard@bootlin.com>

properties:
  "#address-cells": true
  "#size-cells": true

  compatible:
    const: allwinner,sun6i-a31-mipi-dsi

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: Module Clock

  clock-names:
    items:
      - const: bus
      - const: mod

  resets:
    maxItems: 1

  phys:
    maxItems: 1

  phy-names:
    const: dphy

  port:
    type: object
    description:
      A port node with endpoint definitions as defined in
      Documentation/devicetree/bindings/media/video-interfaces.txt. That
      port should be the input endpoint, usually coming from the
      associated TCON.

patternProperties:
  "^panel@[0-9]+$": true

required:
  - "#address-cells"
  - "#size-cells"
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - phys
  - phy-names
  - resets
  - port

additionalProperties: false

examples:
  - |
    dsi0: dsi@1ca0000 {
        compatible = "allwinner,sun6i-a31-mipi-dsi";
        reg = <0x01ca0000 0x1000>;
        interrupts = <0 89 4>;
        clocks = <&ccu 23>, <&ccu 96>;
        clock-names = "bus", "mod";
        resets = <&ccu 4>;
        phys = <&dphy0>;
        phy-names = "dphy";
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
                compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
                reg = <0>;
                power-gpios = <&pio 1 7 0>; /* PB07 */
                reset-gpios = <&r_pio 0 5 1>; /* PL05 */
                backlight = <&pwm_bl>;
        };

        port {
            dsi0_in_tcon0: endpoint {
                remote-endpoint = <&tcon0_out_dsi0>;
            };
        };
    };

...
