Documentation / devicetree / bindings / display / ste,mcde.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 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 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
# 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>;
      };
    };

...