Documentation / devicetree / bindings / display / renesas,shmobile-lcdc.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/renesas,shmobile-lcdc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas SH-Mobile LCD Controller (LCDC)

maintainers:
  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  - Geert Uytterhoeven <geert+renesas@glider.be>

properties:
  compatible:
    enum:
      - renesas,r8a7740-lcdc # R-Mobile A1
      - renesas,sh73a0-lcdc  # SH-Mobile AG5

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 5
    description:
      Only the functional clock is mandatory.
      Some of the optional clocks are model-dependent (e.g. "video" (a.k.a.
      "vou" or "dv_clk") is available on R-Mobile A1 only).

  clock-names:
    minItems: 1
    items:
      - const: fck
      - enum: [ media, lclk, hdmi, video ]
      - enum: [ media, lclk, hdmi, video ]
      - enum: [ media, lclk, hdmi, video ]
      - enum: [ media, lclk, hdmi, video ]

  power-domains:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: LCD port (R-Mobile A1 and SH-Mobile AG5)
        unevaluatedProperties: false

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: HDMI port (R-Mobile A1 LCDC1 and SH-Mobile AG5)
        unevaluatedProperties: false

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description: MIPI-DSI port (SH-Mobile AG5)
        unevaluatedProperties: false

    required:
      - port@0

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - power-domains
  - ports

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: renesas,r8a7740-lcdc
    then:
      properties:
        ports:
          properties:
            port@2: false

  - if:
      properties:
        compatible:
          contains:
            const: renesas,sh73a0-lcdc
    then:
      properties:
        ports:
          required:
            - port@1
            - port@2

examples:
  - |
    #include <dt-bindings/clock/r8a7740-clock.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
    lcd-controller@fe940000 {
        compatible = "renesas,r8a7740-lcdc";
        reg = <0xfe940000 0x4000>;
        interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&mstp1_clks R8A7740_CLK_LCDC0>,
                 <&cpg_clocks R8A7740_CLK_M3>, <&lcdlclk0_clk>,
                 <&vou_clk>;
        clock-names = "fck", "media", "lclk", "video";
        power-domains = <&pd_a4lc>;
 
        ports {
            #address-cells = <1>;
            #size-cells = <0>;
 
            port@0 {
                reg = <0>;
 
                lcdc0_rgb: endpoint {
                };
            };
        };
    };