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

title: Samsung Exynos5433 SoC Mobile Image Compressor (MIC)

maintainers:
  - Inki Dae <inki.dae@samsung.com>
  - Seung-Woo Kim <sw0312.kim@samsung.com>
  - Kyungmin Park <kyungmin.park@samsung.com>
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |
  MIC (Mobile Image Compressor) resides between DECON and MIPI DSI. MIPI DSI is
  not capable of transferring high resoltuion frame data as DECON can send. MIC
  solves this problem by compressing the frame data by 1/2 before it is
  transferred through MIPI DSI. The compressed frame data must be uncompressed
  in the panel PCB.

properties:
  compatible:
    const: samsung,exynos5433-mic

  clocks:
    minItems: 2
    maxItems: 2

  clock-names:
    items:
      - const: pclk_mic0
      - const: sclk_rgb_vclk_to_mic0

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    description:
      Contains a port which is connected to mic node.

  power-domains:
    maxItems: 1

  reg:
    maxItems: 1

  samsung,disp-syscon:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Phandle to DISP system controller interface.

required:
  - compatible
  - clocks
  - clock-names
  - ports
  - reg
  - samsung,disp-syscon

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/exynos5433.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    image-processor@13930000 {
        compatible = "samsung,exynos5433-mic";
        reg = <0x13930000 0x48>;
        clocks = <&cmu_disp CLK_PCLK_MIC0>,
                 <&cmu_disp CLK_SCLK_RGB_VCLK_TO_MIC0>;
        clock-names = "pclk_mic0",
                      "sclk_rgb_vclk_to_mic0";
        power-domains = <&pd_disp>;
        samsung,disp-syscon = <&syscon_disp>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;
                mic_to_decon: endpoint {
                    remote-endpoint = <&decon_to_mic>;
                };
            };

            port@1 {
                reg = <1>;
                mic_to_dsi: endpoint {
                    remote-endpoint = <&dsi_to_mic>;
                };
            };
        };
    };
