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: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
@@ -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 @@
|
|||||||
#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
|
|||||||
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 = {
|
|||||||
};
|
};
|
||||||
#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;
|
|||||||
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;
|
||||||
|
|||||||
Reference in New Issue
Block a user