drm/exynos: mic: add MIC driver
authorHyungwon Hwang <human.hwang@samsung.com>
Fri, 12 Jun 2015 12:59:02 +0000 (21:59 +0900)
committerInki Dae <inki.dae@samsung.com>
Mon, 22 Jun 2015 11:04:56 +0000 (20:04 +0900)
MIC(Mobile image compressor) is newly added IP in Exynos5433. MIC
resides between decon and mipi dsim, and compresses frame data by 50%.
With dsi, not display port, to send frame data to the panel, the
bandwidth is not enough. That is why this compressor is introduced.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Documentation/devicetree/bindings/video/exynos-mic.txt [new file with mode: 0644]
drivers/gpu/drm/exynos/Kconfig
drivers/gpu/drm/exynos/Makefile
drivers/gpu/drm/exynos/exynos_drm_drv.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_mic.c [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/video/exynos-mic.txt b/Documentation/devicetree/bindings/video/exynos-mic.txt
new file mode 100644 (file)
index 0000000..0fba2ee
--- /dev/null
@@ -0,0 +1,51 @@
+Device-Tree bindings for Samsung Exynos SoC mobile image compressor (MIC)
+
+MIC (mobile image compressor) resides between decon and mipi dsi. Mipi dsi is
+not capable to transfer 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.
+
+Required properties:
+- compatible: value should be "samsung,exynos5433-mic".
+- reg: physical base address and length of the MIC registers set and system
+       register of mic.
+- clocks: must include clock specifiers corresponding to entries in the
+         clock-names property.
+- clock-names: list of clock names sorted in the same order as the clocks
+              property. Must contain "pclk_mic0", "sclk_rgb_vclk_to_mic0".
+- samsung,disp-syscon: the reference node for syscon for DISP block.
+- ports: contains a port which is connected to decon node and dsi node.
+        address-cells and size-cells must 1 and 0, respectively.
+- port: contains an endpoint node which is connected to the endpoint in the
+       decon node or dsi node. The reg value must be 0 and 1 respectively.
+
+Example:
+SoC specific DT entry:
+mic: mic@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";
+       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>;
+                       };
+               };
+       };
+};
Simple merge
Simple merge