# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/ste,mcde.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ST-Ericsson Multi Channel Display Engine MCDE

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

properties:
  compatible:
    const: ste,mcde

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    description: an array of the MCDE clocks
    items:
      - description: MCDECLK (main MCDE clock)
      - description: LCDCLK (LCD clock)
      - description: PLLDSI (HDMI clock)

  clock-names:
    items:
      - const: mcde
      - const: lcd
      - const: hdmi

  resets:
    maxItems: 1

  epod-supply:
    description: a phandle to the EPOD regulator

  vana-supply:
    description: a phandle to the analog voltage regulator

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description:
      A DPI port node

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

  ranges: true

patternProperties:
  "^dsi@[0-9a-f]+$":
    description: subnodes for the three DSI host adapters
    type: object
    $ref: dsi-controller.yaml#

    properties:
      compatible:
        const: ste,mcde-dsi

      reg:
        maxItems: 1

      vana-supply:
        description: a phandle to the analog voltage regulator

      clocks:
        description: phandles to the high speed and low power (energy save) clocks
          the high speed clock is not present on the third (dsi2) block, so it
          should only have the "lp" clock
        minItems: 1
        maxItems: 2

      clock-names:
        oneOf:
          - items:
              - const: hs
              - const: lp
          - items:
              - const: lp

    required:
      - compatible
      - reg
      - vana-supply
      - clocks
      - clock-names

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - epod-supply
  - vana-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/mfd/dbx500-prcmu.h>
    #include <dt-bindings/gpio/gpio.h>

    mcde@a0350000 {
      compatible = "ste,mcde";
      reg = <0xa0350000 0x1000>;
      interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
      epod-supply = <&db8500_b2r2_mcde_reg>;
      vana-supply = <&ab8500_ldo_ana_reg>;
      clocks = <&prcmu_clk PRCMU_MCDECLK>,
               <&prcmu_clk PRCMU_LCDCLK>,
               <&prcmu_clk PRCMU_PLLDSI>;
      clock-names = "mcde", "lcd", "hdmi";
      #address-cells = <1>;
      #size-cells = <1>;
      ranges;

      dsi0: dsi@a0351000 {
        compatible = "ste,mcde-dsi";
        reg = <0xa0351000 0x1000>;
        vana-supply = <&ab8500_ldo_ana_reg>;
        clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>;
        clock-names = "hs", "lp";
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
          compatible = "samsung,s6d16d0";
          reg = <0>;
          vdd1-supply = <&ab8500_ldo_aux1_reg>;
          reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
        };
      };

      dsi1: dsi@a0352000 {
        compatible = "ste,mcde-dsi";
        reg = <0xa0352000 0x1000>;
        vana-supply = <&ab8500_ldo_ana_reg>;
        clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>;
        clock-names = "hs", "lp";
        #address-cells = <1>;
        #size-cells = <0>;
      };

      dsi2: dsi@a0353000 {
        compatible = "ste,mcde-dsi";
        reg = <0xa0353000 0x1000>;
        vana-supply = <&ab8500_ldo_ana_reg>;
        /* This DSI port only has the Low Power / Energy Save clock */
        clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>;
        clock-names = "lp";
        #address-cells = <1>;
        #size-cells = <0>;
      };
    };

...
