/**
 * @file   regs-pmu.h
 * @brief  PMU register file for driver
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 */

#ifndef __REGS_PMU_H__
#define __REGS_PMU_H__


#if defined(CONFIG_EXYNOS5433) || defined(CONFIG_EXYNOS7420) || defined(CONFIG_EXYNOS7580) ||\
	defined(CONFIG_EXYNOS8890) || defined(CONFIG_EXYNOS7870) || defined(CONFIG_EXYNOS7880)
#define PMU_SFR_BASE		(0x105C0000)
#else
#define PMU_SFR_BASE		(0x10040000)
#endif
#define MEDIA_OFFSET		(0x4000)

#define PMU_MEDIA_SFR_BASE	(PMU_SFR_BASE + MEDIA_OFFSET)

#define GSCL_CONFIGURATION	(0x00)
#define GSCL_STATUS		(0x04)

#if defined(CONFIG_EXYNOS5410)
#define MFC_CONFIGURATION	(0x60)
#define MFC_STATUS		(0x64)
#define DISP0_CONFIGURATION	(0xA0)
#define DISP0_STATUS		(0xA4)
#define DISP1_CONFIGURATION	(0xC0)
#define DISP1_STATUS		(0xC4)
#elif defined(CONFIG_EXYNOS5420) || defined(CONFIG_EXYNOS5422)
#define MFC_CONFIGURATION	(0x60)
#define MFC_STATUS		(0x64)
#define MFC_OPTION		(0x68)
#define DISP1_CONFIGURATION	(0xC0)
#define DISP1_STATUS		(0xC4)
#define DISP1_OPTION		(0xC8)
#define G2D_CONFIGURATION	(0x100)
#define G2D_STATUS		(0x104)
#define G2D_OPTION		(0x108)
#elif defined(CONFIG_EXYNOS5433) || defined(CONFIG_EXYNOS7420) || defined(CONFIG_EXYNOS7580) ||\
	defined(CONFIG_EXYNOS7870) || defined(CONFIG_EXYNOS7880)
#define G2D_CONFIGURATION	(0x120)
#define G2D_STATUS		(0x124)
#define G2D_OPTION		(0x128)
#define MFC_CONFIGURATION	(0x180)
#define MFC_STATUS		(0x184)
#define HEVC_CONFIGURATION	(0x1C0)
#define HEVC_STATUS		(0x1C4)
#define DISP_CONFIGURATION	(0x80)
#define DISP_STATUS		(0x84)
#endif
#endif /* __REGS_PMU_H__ */
