1*f2a7fc8cSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*f2a7fc8cSGeert Uytterhoeven%YAML 1.2
3*f2a7fc8cSGeert Uytterhoeven---
4*f2a7fc8cSGeert Uytterhoeven$id: http://devicetree.org/schemas/media/renesas,imr.yaml#
5*f2a7fc8cSGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6*f2a7fc8cSGeert Uytterhoeven
7*f2a7fc8cSGeert Uytterhoeventitle: Renesas R-Car Image Renderer (Distortion Correction Engine)
8*f2a7fc8cSGeert Uytterhoeven
9*f2a7fc8cSGeert Uytterhoevenmaintainers:
10*f2a7fc8cSGeert Uytterhoeven  - Sergei Shtylyov <sergei.shtylyov@gmail.com>
11*f2a7fc8cSGeert Uytterhoeven
12*f2a7fc8cSGeert Uytterhoevendescription: |
13*f2a7fc8cSGeert Uytterhoeven  The image renderer, or the distortion correction engine, is a drawing
14*f2a7fc8cSGeert Uytterhoeven  processor with a simple instruction system capable of referencing video
15*f2a7fc8cSGeert Uytterhoeven  capture data or data in an external memory as 2D texture data and performing
16*f2a7fc8cSGeert Uytterhoeven  texture mapping and drawing with respect to any shape that is split into
17*f2a7fc8cSGeert Uytterhoeven  triangular objects.
18*f2a7fc8cSGeert Uytterhoeven
19*f2a7fc8cSGeert Uytterhoeven  The image renderer light extended 4 (IMR-LX4) is found in R-Car Gen3 SoCs.
20*f2a7fc8cSGeert Uytterhoeven
21*f2a7fc8cSGeert Uytterhoevenproperties:
22*f2a7fc8cSGeert Uytterhoeven  compatible:
23*f2a7fc8cSGeert Uytterhoeven    items:
24*f2a7fc8cSGeert Uytterhoeven      - enum:
25*f2a7fc8cSGeert Uytterhoeven          - renesas,r8a7795-imr-lx4 # R-Car H3
26*f2a7fc8cSGeert Uytterhoeven          - renesas,r8a7796-imr-lx4 # R-Car M3-W
27*f2a7fc8cSGeert Uytterhoeven      - const: renesas,imr-lx4      # R-Car Gen3
28*f2a7fc8cSGeert Uytterhoeven
29*f2a7fc8cSGeert Uytterhoeven  reg:
30*f2a7fc8cSGeert Uytterhoeven    maxItems: 1
31*f2a7fc8cSGeert Uytterhoeven
32*f2a7fc8cSGeert Uytterhoeven  interrupts:
33*f2a7fc8cSGeert Uytterhoeven    maxItems: 1
34*f2a7fc8cSGeert Uytterhoeven
35*f2a7fc8cSGeert Uytterhoeven  clocks:
36*f2a7fc8cSGeert Uytterhoeven    maxItems: 1
37*f2a7fc8cSGeert Uytterhoeven
38*f2a7fc8cSGeert Uytterhoeven  power-domains:
39*f2a7fc8cSGeert Uytterhoeven    maxItems: 1
40*f2a7fc8cSGeert Uytterhoeven
41*f2a7fc8cSGeert Uytterhoeven  resets:
42*f2a7fc8cSGeert Uytterhoeven    maxItems: 1
43*f2a7fc8cSGeert Uytterhoeven
44*f2a7fc8cSGeert Uytterhoevenrequired:
45*f2a7fc8cSGeert Uytterhoeven  - compatible
46*f2a7fc8cSGeert Uytterhoeven  - reg
47*f2a7fc8cSGeert Uytterhoeven  - interrupts
48*f2a7fc8cSGeert Uytterhoeven  - clocks
49*f2a7fc8cSGeert Uytterhoeven  - power-domains
50*f2a7fc8cSGeert Uytterhoeven  - resets
51*f2a7fc8cSGeert Uytterhoeven
52*f2a7fc8cSGeert UytterhoevenadditionalProperties: false
53*f2a7fc8cSGeert Uytterhoeven
54*f2a7fc8cSGeert Uytterhoevenexamples:
55*f2a7fc8cSGeert Uytterhoeven  - |
56*f2a7fc8cSGeert Uytterhoeven    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
57*f2a7fc8cSGeert Uytterhoeven    #include <dt-bindings/interrupt-controller/arm-gic.h>
58*f2a7fc8cSGeert Uytterhoeven    #include <dt-bindings/power/r8a7795-sysc.h>
59*f2a7fc8cSGeert Uytterhoeven
60*f2a7fc8cSGeert Uytterhoeven    imr-lx4@fe860000 {
61*f2a7fc8cSGeert Uytterhoeven            compatible = "renesas,r8a7795-imr-lx4", "renesas,imr-lx4";
62*f2a7fc8cSGeert Uytterhoeven            reg = <0xfe860000 0x2000>;
63*f2a7fc8cSGeert Uytterhoeven            interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
64*f2a7fc8cSGeert Uytterhoeven            clocks = <&cpg CPG_MOD 823>;
65*f2a7fc8cSGeert Uytterhoeven            power-domains = <&sysc R8A7795_PD_A3VC>;
66*f2a7fc8cSGeert Uytterhoeven            resets = <&cpg 823>;
67*f2a7fc8cSGeert Uytterhoeven    };
68