1*4c5e180bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only
2*4c5e180bSKrzysztof Kozlowski%YAML 1.2
3*4c5e180bSKrzysztof Kozlowski---
4*4c5e180bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/display/samsung/samsung,exynos5433-mic.yaml#
5*4c5e180bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4c5e180bSKrzysztof Kozlowski
7*4c5e180bSKrzysztof Kozlowskititle: Samsung Exynos5433 SoC Mobile Image Compressor (MIC)
8*4c5e180bSKrzysztof Kozlowski
9*4c5e180bSKrzysztof Kozlowskimaintainers:
10*4c5e180bSKrzysztof Kozlowski  - Inki Dae <inki.dae@samsung.com>
11*4c5e180bSKrzysztof Kozlowski  - Joonyoung Shim <jy0922.shim@samsung.com>
12*4c5e180bSKrzysztof Kozlowski  - Seung-Woo Kim <sw0312.kim@samsung.com>
13*4c5e180bSKrzysztof Kozlowski  - Kyungmin Park <kyungmin.park@samsung.com>
14*4c5e180bSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
15*4c5e180bSKrzysztof Kozlowski
16*4c5e180bSKrzysztof Kozlowskidescription: |
17*4c5e180bSKrzysztof Kozlowski  MIC (Mobile Image Compressor) resides between DECON and MIPI DSI. MIPI DSI is
18*4c5e180bSKrzysztof Kozlowski  not capable of transferring high resoltuion frame data as DECON can send. MIC
19*4c5e180bSKrzysztof Kozlowski  solves this problem by compressing the frame data by 1/2 before it is
20*4c5e180bSKrzysztof Kozlowski  transferred through MIPI DSI. The compressed frame data must be uncompressed
21*4c5e180bSKrzysztof Kozlowski  in the panel PCB.
22*4c5e180bSKrzysztof Kozlowski
23*4c5e180bSKrzysztof Kozlowskiproperties:
24*4c5e180bSKrzysztof Kozlowski  compatible:
25*4c5e180bSKrzysztof Kozlowski    const: samsung,exynos5433-mic
26*4c5e180bSKrzysztof Kozlowski
27*4c5e180bSKrzysztof Kozlowski  clocks:
28*4c5e180bSKrzysztof Kozlowski    minItems: 2
29*4c5e180bSKrzysztof Kozlowski    maxItems: 2
30*4c5e180bSKrzysztof Kozlowski
31*4c5e180bSKrzysztof Kozlowski  clock-names:
32*4c5e180bSKrzysztof Kozlowski    items:
33*4c5e180bSKrzysztof Kozlowski      - const: pclk_mic0
34*4c5e180bSKrzysztof Kozlowski      - const: sclk_rgb_vclk_to_mic0
35*4c5e180bSKrzysztof Kozlowski
36*4c5e180bSKrzysztof Kozlowski  ports:
37*4c5e180bSKrzysztof Kozlowski    $ref: /schemas/graph.yaml#/properties/ports
38*4c5e180bSKrzysztof Kozlowski    description:
39*4c5e180bSKrzysztof Kozlowski      Contains a port which is connected to mic node.
40*4c5e180bSKrzysztof Kozlowski
41*4c5e180bSKrzysztof Kozlowski  power-domains:
42*4c5e180bSKrzysztof Kozlowski    maxItems: 1
43*4c5e180bSKrzysztof Kozlowski
44*4c5e180bSKrzysztof Kozlowski  reg:
45*4c5e180bSKrzysztof Kozlowski    maxItems: 1
46*4c5e180bSKrzysztof Kozlowski
47*4c5e180bSKrzysztof Kozlowski  samsung,disp-syscon:
48*4c5e180bSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
49*4c5e180bSKrzysztof Kozlowski    description:
50*4c5e180bSKrzysztof Kozlowski      Phandle to DISP system controller interface.
51*4c5e180bSKrzysztof Kozlowski
52*4c5e180bSKrzysztof Kozlowskirequired:
53*4c5e180bSKrzysztof Kozlowski  - compatible
54*4c5e180bSKrzysztof Kozlowski  - clocks
55*4c5e180bSKrzysztof Kozlowski  - clock-names
56*4c5e180bSKrzysztof Kozlowski  - ports
57*4c5e180bSKrzysztof Kozlowski  - reg
58*4c5e180bSKrzysztof Kozlowski  - samsung,disp-syscon
59*4c5e180bSKrzysztof Kozlowski
60*4c5e180bSKrzysztof KozlowskiadditionalProperties: false
61*4c5e180bSKrzysztof Kozlowski
62*4c5e180bSKrzysztof Kozlowskiexamples:
63*4c5e180bSKrzysztof Kozlowski  - |
64*4c5e180bSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5433.h>
65*4c5e180bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
66*4c5e180bSKrzysztof Kozlowski
67*4c5e180bSKrzysztof Kozlowski    image-processor@13930000 {
68*4c5e180bSKrzysztof Kozlowski        compatible = "samsung,exynos5433-mic";
69*4c5e180bSKrzysztof Kozlowski        reg = <0x13930000 0x48>;
70*4c5e180bSKrzysztof Kozlowski        clocks = <&cmu_disp CLK_PCLK_MIC0>,
71*4c5e180bSKrzysztof Kozlowski                 <&cmu_disp CLK_SCLK_RGB_VCLK_TO_MIC0>;
72*4c5e180bSKrzysztof Kozlowski        clock-names = "pclk_mic0",
73*4c5e180bSKrzysztof Kozlowski                      "sclk_rgb_vclk_to_mic0";
74*4c5e180bSKrzysztof Kozlowski        power-domains = <&pd_disp>;
75*4c5e180bSKrzysztof Kozlowski        samsung,disp-syscon = <&syscon_disp>;
76*4c5e180bSKrzysztof Kozlowski
77*4c5e180bSKrzysztof Kozlowski        ports {
78*4c5e180bSKrzysztof Kozlowski            #address-cells = <1>;
79*4c5e180bSKrzysztof Kozlowski            #size-cells = <0>;
80*4c5e180bSKrzysztof Kozlowski
81*4c5e180bSKrzysztof Kozlowski            port@0 {
82*4c5e180bSKrzysztof Kozlowski                reg = <0>;
83*4c5e180bSKrzysztof Kozlowski                mic_to_decon: endpoint {
84*4c5e180bSKrzysztof Kozlowski                    remote-endpoint = <&decon_to_mic>;
85*4c5e180bSKrzysztof Kozlowski                };
86*4c5e180bSKrzysztof Kozlowski            };
87*4c5e180bSKrzysztof Kozlowski
88*4c5e180bSKrzysztof Kozlowski            port@1 {
89*4c5e180bSKrzysztof Kozlowski                reg = <1>;
90*4c5e180bSKrzysztof Kozlowski                mic_to_dsi: endpoint {
91*4c5e180bSKrzysztof Kozlowski                    remote-endpoint = <&dsi_to_mic>;
92*4c5e180bSKrzysztof Kozlowski                };
93*4c5e180bSKrzysztof Kozlowski            };
94*4c5e180bSKrzysztof Kozlowski        };
95*4c5e180bSKrzysztof Kozlowski    };
96