diff options
author | Sangwook Lee <sangwook.lee@linaro.org> | 2012-05-08 11:45:22 +0100 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2012-09-18 14:26:10 +0530 |
commit | 4339b54223006d0c2f67a467245432dccde594bb (patch) | |
tree | 68d361c02fdeb2f8a35c638456ffd16a70b42995 | |
parent | a9e6aed2a8e5fe785cd40dc96a96820e3cfce5b1 (diff) |
ARM: EXYNOS: Add platform support for G3D
Added Power Domain functions for G3D(Mali) Exynos 4210
Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
-rw-r--r-- | arch/arm/mach-exynos/include/mach-exynos/map.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/pm_domains.c | 5 | ||||
-rw-r--r-- | arch/arm/plat-samsung/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/plat-samsung/devs.c | 19 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat-samsung/devs.h | 1 |
5 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/include/mach-exynos/map.h b/arch/arm/mach-exynos/include/mach-exynos/map.h index 8bd40dd50ab..a79aade9070 100644 --- a/arch/arm/mach-exynos/include/mach-exynos/map.h +++ b/arch/arm/mach-exynos/include/mach-exynos/map.h @@ -39,6 +39,8 @@ #define EXYNOS4_PA_G2D 0x12800000 +#define EXYNOS4_PA_G3D 0x13000000 + #define EXYNOS4_PA_I2S0 0x03830000 #define EXYNOS4_PA_I2S1 0xE3100000 #define EXYNOS4_PA_I2S2 0xE2A00000 @@ -246,6 +248,7 @@ #define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3 #define S5P_PA_JPEG EXYNOS4_PA_JPEG #define S5P_PA_G2D EXYNOS4_PA_G2D +#define S5P_PA_G3D EXYNOS4_PA_G3D #define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0 #define S5P_PA_HDMI EXYNOS4_PA_HDMI #define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index 08a42f2e033..cfae825e933 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c @@ -191,6 +191,11 @@ static __init int exynos4_pm_init_power_domain(void) #ifdef CONFIG_S5P_DEV_G2D exynos_pm_add_dev_to_genpd(&s5p_device_g2d, &exynos4_pd_lcd0); #endif +#ifdef CONFIG_S5P_DEV_G3D + /* MALI requires the PD to be always on. */ + exynos4_pd_g3d.pd.power_off = NULL; + exynos_pm_add_dev_to_genpd(&s5p_device_g3d, &exynos4_pd_g3d); +#endif #ifdef CONFIG_S5P_DEV_JPEG exynos_pm_add_dev_to_genpd(&s5p_device_jpeg, &exynos4_pd_cam); #endif diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 9c3b90c3538..9e7b40e2402 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig @@ -371,6 +371,11 @@ config S5P_DEV_G2D help Compile in platform device definitions for G2D device +config S5P_DEV_G3D + bool + help + Compile in platform device definitions for G3D device + config S5P_DEV_I2C_HDMIPHY bool help diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index de205e6fd9b..1f82fc23b0f 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c @@ -290,6 +290,25 @@ struct platform_device s5p_device_g2d = { }; #endif /* CONFIG_S5P_DEV_G2D */ +/* G3D */ + +#ifdef CONFIG_S5P_DEV_G3D +static struct resource s5p_g3d_resource[] = { + [0] = DEFINE_RES_MEM(S5P_PA_G3D, SZ_256K), +}; + +struct platform_device s5p_device_g3d = { + .name = "s5p-g3d", + .id = 0, + .num_resources = ARRAY_SIZE(s5p_g3d_resource), + .resource = s5p_g3d_resource, + .dev = { + .dma_mask = &samsung_device_dma_mask, + .coherent_dma_mask = DMA_BIT_MASK(32), + }, +}; +#endif /* CONFIG_S5P_DEV_G3D */ + #ifdef CONFIG_S5P_DEV_JPEG static struct resource s5p_jpeg_resource[] = { [0] = DEFINE_RES_MEM(S5P_PA_JPEG, SZ_4K), diff --git a/arch/arm/plat-samsung/include/plat-samsung/devs.h b/arch/arm/plat-samsung/include/plat-samsung/devs.h index 5da4b4f38f4..5037810463e 100644 --- a/arch/arm/plat-samsung/include/plat-samsung/devs.h +++ b/arch/arm/plat-samsung/include/plat-samsung/devs.h @@ -83,6 +83,7 @@ extern struct platform_device s5p_device_fimc3; extern struct platform_device s5p_device_fimc_md; extern struct platform_device s5p_device_jpeg; extern struct platform_device s5p_device_g2d; +extern struct platform_device s5p_device_g3d; extern struct platform_device s5p_device_fimd0; extern struct platform_device s5p_device_hdmi; extern struct platform_device s5p_device_i2c_hdmiphy; |