Commit 561ab530 authored by Kamil Debski's avatar Kamil Debski Committed by Kukjin Kim

ARM: SAMSUNG: add G2D to plat-s5p and mach-exynos

G2D is a 2D graphics accelerator engine present in the s5p family
of Samsung SoCs. It is capable of bitblt and raster operations on
images having dimensions of up to 8000x8000.
Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent ed8d8aa1
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#define EXYNOS4_PA_FIMC2 0x11820000 #define EXYNOS4_PA_FIMC2 0x11820000
#define EXYNOS4_PA_FIMC3 0x11830000 #define EXYNOS4_PA_FIMC3 0x11830000
#define EXYNOS4_PA_G2D 0x12800000
#define EXYNOS4_PA_I2S0 0x03830000 #define EXYNOS4_PA_I2S0 0x03830000
#define EXYNOS4_PA_I2S1 0xE3100000 #define EXYNOS4_PA_I2S1 0xE3100000
#define EXYNOS4_PA_I2S2 0xE2A00000 #define EXYNOS4_PA_I2S2 0xE2A00000
...@@ -162,6 +164,7 @@ ...@@ -162,6 +164,7 @@
#define S5P_PA_FIMC1 EXYNOS4_PA_FIMC1 #define S5P_PA_FIMC1 EXYNOS4_PA_FIMC1
#define S5P_PA_FIMC2 EXYNOS4_PA_FIMC2 #define S5P_PA_FIMC2 EXYNOS4_PA_FIMC2
#define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3 #define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3
#define S5P_PA_G2D EXYNOS4_PA_G2D
#define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0 #define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0
#define S5P_PA_HDMI EXYNOS4_PA_HDMI #define S5P_PA_HDMI EXYNOS4_PA_HDMI
#define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY #define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY
......
...@@ -80,6 +80,11 @@ config S5P_DEV_FIMC3 ...@@ -80,6 +80,11 @@ config S5P_DEV_FIMC3
help help
Compile in platform device definitions for FIMC controller 3 Compile in platform device definitions for FIMC controller 3
config S5P_DEV_G2D
bool
help
Compile in platform device definitions for G2D device
config S5P_DEV_FIMD0 config S5P_DEV_FIMD0
bool bool
help help
......
...@@ -267,6 +267,34 @@ struct platform_device s5p_device_fimc3 = { ...@@ -267,6 +267,34 @@ struct platform_device s5p_device_fimc3 = {
}; };
#endif /* CONFIG_S5P_DEV_FIMC3 */ #endif /* CONFIG_S5P_DEV_FIMC3 */
/* G2D */
#ifdef CONFIG_S5P_DEV_G2D
static struct resource s5p_g2d_resource[] = {
[0] = {
.start = S5P_PA_G2D,
.end = S5P_PA_G2D + SZ_4K - 1,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = IRQ_2D,
.end = IRQ_2D,
.flags = IORESOURCE_IRQ,
},
};
struct platform_device s5p_device_g2d = {
.name = "s5p-g2d",
.id = 0,
.num_resources = ARRAY_SIZE(s5p_g2d_resource),
.resource = s5p_g2d_resource,
.dev = {
.dma_mask = &samsung_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
},
};
#endif /* CONFIG_S5P_DEV_G2D */
/* FIMD0 */ /* FIMD0 */
#ifdef CONFIG_S5P_DEV_FIMD0 #ifdef CONFIG_S5P_DEV_FIMD0
......
...@@ -79,6 +79,7 @@ extern struct platform_device s5p_device_fimc1; ...@@ -79,6 +79,7 @@ extern struct platform_device s5p_device_fimc1;
extern struct platform_device s5p_device_fimc2; extern struct platform_device s5p_device_fimc2;
extern struct platform_device s5p_device_fimc3; extern struct platform_device s5p_device_fimc3;
extern struct platform_device s5p_device_fimc_md; extern struct platform_device s5p_device_fimc_md;
extern struct platform_device s5p_device_g2d;
extern struct platform_device s5p_device_fimd0; extern struct platform_device s5p_device_fimd0;
extern struct platform_device s5p_device_hdmi; extern struct platform_device s5p_device_hdmi;
extern struct platform_device s5p_device_i2c_hdmiphy; extern struct platform_device s5p_device_i2c_hdmiphy;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment