Skip to content

Commit c8466a9

Browse files
Joonyoung Shimdaeinki
authored andcommitted
drm/exynos: add Exynos5433 decon driver
DECON(Display and Enhancement Controller) is new IP replacing FIMD in Exynos5433. This patch adds Exynos5433 decon driver. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
1 parent 9a09a69 commit c8466a9

File tree

6 files changed

+898
-0
lines changed

6 files changed

+898
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Device-Tree bindings for Samsung Exynos SoC display controller (DECON)
2+
3+
DECON (Display and Enhancement Controller) is the Display Controller for the
4+
Exynos series of SoCs which transfers the image data from a video memory
5+
buffer to an external LCD interface.
6+
7+
Required properties:
8+
- compatible: value should be "samsung,exynos5433-decon";
9+
- reg: physical base address and length of the DECON registers set.
10+
- interrupts: should contain a list of all DECON IP block interrupts in the
11+
order: VSYNC, LCD_SYSTEM. The interrupt specifier format
12+
depends on the interrupt controller used.
13+
- interrupt-names: should contain the interrupt names: "vsync", "lcd_sys"
14+
in the same order as they were listed in the interrupts
15+
property.
16+
- clocks: must include clock specifiers corresponding to entries in the
17+
clock-names property.
18+
- clock-names: list of clock names sorted in the same order as the clocks
19+
property. Must contain "aclk_decon", "aclk_smmu_decon0x",
20+
"aclk_xiu_decon0x", "pclk_smmu_decon0x", clk_decon_vclk",
21+
"sclk_decon_eclk"
22+
- ports: contains a port which is connected to mic node. address-cells and
23+
size-cells must 1 and 0, respectively.
24+
- port: contains an endpoint node which is connected to the endpoint in the mic
25+
node. The reg value muset be 0.
26+
- i80-if-timings: specify whether the panel which is connected to decon uses
27+
i80 lcd interface or mipi video interface. This node contains
28+
no timing information as that of fimd does. Because there is
29+
no register in decon to specify i80 interface timing value,
30+
it is not needed, but make it remain to use same kind of node
31+
in fimd and exynos7 decon.
32+
33+
Example:
34+
SoC specific DT entry:
35+
decon: decon@13800000 {
36+
compatible = "samsung,exynos5433-decon";
37+
reg = <0x13800000 0x2104>;
38+
clocks = <&cmu_disp CLK_ACLK_DECON>, <&cmu_disp CLK_ACLK_SMMU_DECON0X>,
39+
<&cmu_disp CLK_ACLK_XIU_DECON0X>,
40+
<&cmu_disp CLK_PCLK_SMMU_DECON0X>,
41+
<&cmu_disp CLK_SCLK_DECON_VCLK>,
42+
<&cmu_disp CLK_SCLK_DECON_ECLK>;
43+
clock-names = "aclk_decon", "aclk_smmu_decon0x", "aclk_xiu_decon0x",
44+
"pclk_smmu_decon0x", "sclk_decon_vclk", "sclk_decon_eclk";
45+
interrupt-names = "vsync", "lcd_sys";
46+
interrupts = <0 202 0>, <0 203 0>;
47+
48+
ports {
49+
#address-cells = <1>;
50+
#size-cells = <0>;
51+
52+
port@0 {
53+
reg = <0>;
54+
decon_to_mic: endpoint {
55+
remote-endpoint = <&mic_to_decon>;
56+
};
57+
};
58+
};
59+
};
60+
61+
Board specific DT entry:
62+
&decon {
63+
i80-if-timings {
64+
};
65+
};

drivers/gpu/drm/exynos/Kconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ config DRM_EXYNOS_FIMD
2424
help
2525
Choose this option if you want to use Exynos FIMD for DRM.
2626

27+
config DRM_EXYNOS5433_DECON
28+
bool "Exynos5433 DRM DECON"
29+
depends on DRM_EXYNOS
30+
help
31+
Choose this option if you want to use Exynos5433 DECON for DRM.
32+
2733
config DRM_EXYNOS7_DECON
2834
bool "Exynos7 DRM DECON"
2935
depends on DRM_EXYNOS && !FB_S3C

drivers/gpu/drm/exynos/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ exynosdrm-y := exynos_drm_drv.o exynos_drm_encoder.o \
1010

1111
exynosdrm-$(CONFIG_DRM_EXYNOS_IOMMU) += exynos_drm_iommu.o
1212
exynosdrm-$(CONFIG_DRM_EXYNOS_FIMD) += exynos_drm_fimd.o
13+
exynosdrm-$(CONFIG_DRM_EXYNOS5433_DECON) += exynos5433_drm_decon.o
1314
exynosdrm-$(CONFIG_DRM_EXYNOS7_DECON) += exynos7_drm_decon.o
1415
exynosdrm-$(CONFIG_DRM_EXYNOS_DPI) += exynos_drm_dpi.o
1516
exynosdrm-$(CONFIG_DRM_EXYNOS_DSI) += exynos_drm_dsi.o

0 commit comments

Comments
 (0)