# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/renesas,cmm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas R-Car Color Management Module (CMM)

maintainers:
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  - Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
  - Jacopo Mondi <jacopo+renesas@jmondi.org>

description: |+
  Renesas R-Car color management module connected to R-Car DU video channels.
  It provides image enhancement functions such as 1-D look-up tables (LUT),
  3-D look-up tables (CLU), 1D-histogram generation (HGO), and color
  space conversion (CSC).

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - renesas,r8a7795-cmm
              - renesas,r8a7796-cmm
              - renesas,r8a77965-cmm
              - renesas,r8a77990-cmm
              - renesas,r8a77995-cmm
          - const: renesas,rcar-gen3-cmm
      - items:
          - const: renesas,rcar-gen2-cmm

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - resets
  - power-domains

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/r8a7796-cpg-mssr.h>
    #include <dt-bindings/power/r8a7796-sysc.h>

    cmm0: cmm@fea40000 {
         compatible = "renesas,r8a7796-cmm",
                      "renesas,rcar-gen3-cmm";
         reg = <0xfea40000 0x1000>;
         power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
         clocks = <&cpg CPG_MOD 711>;
         resets = <&cpg 711>;
    };
