# 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 <mripard@kernel.org>

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

  compatible:
    enum:
      - allwinner,sun6i-a31-mipi-dsi
      - allwinner,sun50i-a64-mipi-dsi

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2
    items:
      - description: Bus Clock
      - description: Module Clock

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

  resets:
    maxItems: 1

  vcc-dsi-supply:
    description: VCC-DSI power supply of the DSI encoder

  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
  - phys
  - phy-names
  - resets
  - vcc-dsi-supply
  - port

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun6i-a31-mipi-dsi

    then:
      properties:
        clocks:
          minItems: 2

      required:
        - clock-names

  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun50i-a64-mipi-dsi

    then:
      properties:
        clocks:
          minItems: 1

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";
        vcc-dsi-supply = <&reg_dcdc1>;
        #address-cells = <1>;
        #size-cells = <0>;

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

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

...
