All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rahul Sharma <rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
To: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	thomas.ab-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	joshi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	pankaj.dubey-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	yg1004.jang-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	arun.kk-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	r.sh.open-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Rahul Sharma
	<rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Subject: [PATCH 7/7] clk/exynos5260: add clock file for exynos5260
Date: Fri, 06 Dec 2013 21:26:31 +0530	[thread overview]
Message-ID: <1386345391-23482-8-git-send-email-rahul.sharma@samsung.com> (raw)
In-Reply-To: <1386345391-23482-1-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

Add support for exynos5260 clocks in clock driver.

Signed-off-by: Rahul Sharma <rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Signed-off-by: Pankaj Dubey <pankaj.dubey-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Signed-off-by: Young-Gun Jang <yg1004.jang-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
---
 .../devicetree/bindings/clock/exynos5260-clock.txt |  228 ++
 drivers/clk/samsung/Makefile                       |    1 +
 drivers/clk/samsung/clk-exynos5260.c               | 2661 ++++++++++++++++++++
 drivers/clk/samsung/clk-exynos5260.h               |  496 ++++
 include/dt-bindings/clk/exynos5260-clk.h           |  169 ++
 5 files changed, 3555 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/exynos5260-clock.txt
 create mode 100644 drivers/clk/samsung/clk-exynos5260.c
 create mode 100644 drivers/clk/samsung/clk-exynos5260.h
 create mode 100644 include/dt-bindings/clk/exynos5260-clk.h

diff --git a/Documentation/devicetree/bindings/clock/exynos5260-clock.txt b/Documentation/devicetree/bindings/clock/exynos5260-clock.txt
new file mode 100644
index 0000000..b5c021c
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/exynos5260-clock.txt
@@ -0,0 +1,228 @@
+* Samsung Exynos5260 Clock Controller
+
+The Exynos5260 clock controller encalsulate all CMUs which are
+instantiaited independently from the device-tree. As a whole,
+these CMUs generates and supplies clocks to various controllers
+within the Exynos5260 SoC.
+
+Required Properties:
+
+- compatible: should be one of the following.
+  - First compatible should be one of the following
+		"exynos5260-cmu-all"
+		"exynos5260-cmu-top"
+		"exynos5260-cmu-peri"
+		"exynos5260-cmu-egl"
+		"exynos5260-cmu-kfc"
+		"exynos5260-cmu-g2d"
+		"exynos5260-cmu-mif"
+		"exynos5260-cmu-mfc"
+		"exynos5260-cmu-g3d"
+		"exynos5260-cmu-fsys"
+		"exynos5260-cmu-aud"
+		"exynos5260-cmu-isp"
+		"exynos5260-cmu-gscl"
+		"exynos5260-cmu-disp"
+  - Second compatible should be "samsung,exynos5260-clock".
+
+- reg: physical base address of the controller and length of memory mapped
+  region.
+
+- #clock-cells: should be 1.
+
+The following is the list of clocks generated by the each controller. Each
+clock is assigned a MACRO constant. These constants are defined in
+"dt-bindings/clk/exynos5260-clk.h". DT client nodes use this MACRO to specify
+the clock which they consume.
+
+-----------------------
+  CMU_TOP clocks
+-----------------------
+
+  FIN_PLL
+  TOP_FOUT_DISP_PLL
+  TOP_FOUT_AUD_PLL
+  TOP_SCLK_MMC0
+  TOP_SCLK_MMC1
+  TOP_SCLK_MMC2
+  TOP_SCLK_HDMIPHY
+  TOP_SCLK_FIMD1
+  TOP_MOUT_FIMD1
+  TOP_MOUT_DISP_PLL
+
+-----------------------
+  CMU_EGL clocks
+-----------------------
+
+  EGL_FOUT_EGL_PLL
+  EGL_FOUT_EGL_DPLL
+
+-----------------------
+  CMU_KFC clocks
+-----------------------
+
+  KFC_FOUT_KFC_PLL
+
+-----------------------
+  CMU_MIF clocks
+-----------------------
+
+  MIF_FOUT_MEM_PLL
+  MIF_FOUT_BUS_PLL
+  MIF_FOUT_MEDIA_PLL
+
+-----------------------
+  CMU_G3D clocks
+-----------------------
+
+  G3D_FOUT_G3D_PLL
+  G3D_ACLK_G3D
+
+-----------------------
+  CMU_AUD clocks
+-----------------------
+
+  AUD_SCLK_AUD_UART
+  AUD_SCLK_PCM
+  AUD_ACLK_SRAMC
+  AUD_ACLK_DMAC
+  AUD_PCLK_AUD_UART
+  AUD_PCLK_PCM
+  AUD_PCLK_I2S
+  AUD_PCLK_DMAC
+
+-----------------------
+  CMU_MFC clocks
+-----------------------
+
+  MFC_ACLK_MFC
+  MFC_PCLK_MFC
+  MFC_PCLK_SMMU_MFC0
+  MFC_PCLK_SMMU_MFC1
+
+-----------------------
+  CMU_GSCL clocks
+-----------------------
+
+  GSCL_ACLK_GSCL0
+  GSCL_ACLK_GSCL1
+  GSCL_PCLK_GSCL0
+  GSCL_PCLK_GSCL1
+  GSCL_PCLK_SMMU_GSCL0
+  GSCL_PCLK_SMMU_GSCL1
+
+-----------------------
+  CMU_FSYS clocks
+-----------------------
+
+  FSYS_HCLK_TSI
+  FSYS_PCLK_GPIO
+  FSYS_HCLK_USBHOST20
+  FSYS_ACLK_USBDRD30
+  FSYS_ACLK_PDMA0
+  FSYS_ACLK_RTIC
+  FSYS_PCLK_SMMU_RTIC
+  FSYS_PHYCLK_USBDRD30
+  FSYS_PHYCLK_USBHOST20
+  FSYS_HCLK_MMC0
+  FSYS_HCLK_MMC1
+  FSYS_HCLK_MMC2
+  FSYS_HCLK_SROMC
+
+-----------------------
+  CMU_PERI clocks
+-----------------------
+
+  PERI_PCLK_ADC
+  PERI_PCLK_TMU1
+  PERI_PCLK_TMU0
+  PERI_PCLK_SPI0
+  PERI_PCLK_SPI1
+  PERI_PCLK_SPI2
+  PERI_PCLK_I2S1
+  PERI_PCLK_PWM
+  PERI_PCLK_SPDIF
+  PERI_PCLK_ABB
+  PERI_PCLK_MCT
+  PERI_PCLK_HSIC0
+  PERI_PCLK_HSIC1
+  PERI_PCLK_HSIC2
+  PERI_PCLK_HSIC3
+  PERI_PCLK_UART0
+  PERI_PCLK_UART1
+  PERI_PCLK_UART2
+  PERI_PCLK_PCM1
+  PERI_PCLK_WDT_EGL
+  PERI_PCLK_WDT_KFC
+  PERI_PCLK_CHIPID
+  PERI_CLK_TMU0
+  PERI_CLK_TMU1
+  PERI_CLK_TMU2
+  PERI_CLK_TMU3
+  PERI_CLK_TMU4
+  PERI_PCLK_I2C4
+  PERI_PCLK_I2C5
+  PERI_PCLK_I2C6
+  PERI_PCLK_I2C7
+  PERI_PCLK_I2C8
+  PERI_PCLK_I2C9
+  PERI_PCLK_I2C10
+  PERI_PCLK_I2C11
+  PERI_PCLK_TOP_RTC
+  PERI_SCLK_RTC
+  PERI_SCLK_UART0
+  PERI_SCLK_UART1
+  PERI_SCLK_UART2
+  PERI_SCLK_SPDIF
+  PERI_SCLK_SPI0
+  PERI_SCLK_SPI1
+  PERI_SCLK_SPI2
+  PERI_SCLK_I2S
+  PERI_SCLK_PCM1
+
+-----------------------
+  CMU_DISP clocks
+-----------------------
+
+  DISP_SCLK_HDMI
+  DISP_SCLK_PIXEL
+  DISP_ACLK_MIXER
+  DISP_ACLK_HDMI
+  DISP_ACLK_FIMD1
+  DISP_PCLK_SMMU_TV
+  DISP_PCLK_SMMU_FIMD1M1
+  DISP_PCLK_SMMU_FIMD1M0
+  DISP_PCLK_DSIM1
+  DISP_PCLK_HDMIPHY
+  DISP_PCLK_HDMI
+  DISP_DP
+  DISP_MOUT_HDMI_PHY_PIXEL
+
+-----------------------
+  CMU_G2D clocks
+-----------------------
+
+  G2D_ACLK_MDMA
+  G2D_NR_CLK
+
+Example 1: An example of a clock controller node is listed below.
+
+	cmu_disp: clock-controller@0x14550000 {
+		compatible = "exynos5260-cmu-disp", "samsung,exynos5260-clock";
+		reg = <0x14550000 0x10000>;
+		#clock-cells = <1>;
+	};
+
+Example 2: UART controller node that consumes the clock generated by the
+		peri clock controller. Refer to the standard clock bindings for
+		information about 'clocks' and 'clock-names' property.
+
+	serial@12C00000 {
+		compatible = "samsung,exynos4210-uart";
+		reg = <0x12C00000 0x100>;
+		interrupts = <0 146 0>;
+		clocks = <&cmu_peri PERI_PCLK_UART0>, <&cmu_peri PERI_SCLK_UART0>;
+		clock-names = "uart", "clk_uart_baud0";
+		status = "disabled";
+	};
+
diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
index 8eb4799..f791b31 100644
--- a/drivers/clk/samsung/Makefile
+++ b/drivers/clk/samsung/Makefile
@@ -5,6 +5,7 @@
 obj-$(CONFIG_COMMON_CLK)	+= clk.o clk-pll.o
 obj-$(CONFIG_ARCH_EXYNOS4)	+= clk-exynos4.o
 obj-$(CONFIG_SOC_EXYNOS5250)	+= clk-exynos5250.o
+obj-$(CONFIG_SOC_EXYNOS5260)	+= clk-exynos5260.o
 obj-$(CONFIG_SOC_EXYNOS5420)	+= clk-exynos5420.o
 obj-$(CONFIG_SOC_EXYNOS5440)	+= clk-exynos5440.o
 obj-$(CONFIG_ARCH_EXYNOS)	+= clk-exynos-audss.o
diff --git a/drivers/clk/samsung/clk-exynos5260.c b/drivers/clk/samsung/clk-exynos5260.c
new file mode 100644
index 0000000..c5814ad
--- /dev/null
+++ b/drivers/clk/samsung/clk-exynos5260.c
@@ -0,0 +1,2661 @@
+/*
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Common Clock Framework support for Exynos5260 SoC.
+*/
+
+#include <linux/clk.h>
+#include <linux/clkdev.h>
+#include <linux/clk-provider.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/syscore_ops.h>
+
+#include "clk-exynos5260.h"
+#include "clk.h"
+#include "clk-pll.h"
+
+#include <dt-bindings/clk/exynos5260-clk.h>
+
+static LIST_HEAD(clock_reg_cache_list);
+
+struct exynos5260_clock_reg_cache {
+	struct list_head node;
+	void __iomem *reg_base;
+	struct samsung_clk_reg_dump *rdump;
+	unsigned int rd_num;
+};
+
+#ifdef CONFIG_PM_SLEEP
+
+/*
+ * list of controller registers to be saved and restored during a
+ * suspend/resume cycle.
+*/
+
+static struct samsung_clk_reg_dump exynos5260_aud_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_AUD
+*/
+	{ MUX_SEL_AUD, 0},
+	{ DIV_AUD0, 0},
+	{ DIV_AUD1, 0},
+	{ EN_ACLK_AUD, 0},
+	{ EN_PCLK_AUD, 0},
+	{ EN_SCLK_AUD, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_disp_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_DISP
+*/
+	{ MUX_SEL_DISP0, 0},
+	{ MUX_SEL_DISP1, 0},
+	{ MUX_SEL_DISP2, 0},
+	{ MUX_SEL_DISP3, 0},
+	{ MUX_SEL_DISP4, 0},
+	{ DIV_DISP, 0},
+	{ EN_ACLK_DISP, 0},
+	{ EN_PCLK_DISP, 0},
+	{ EN_SCLK_DISP0, 0},
+	{ EN_SCLK_DISP1, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_egl_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_EGL
+*/
+	{ EGL_PLL_LOCK, 0},
+	{ EGL_PLL_CON0, 0},
+	{ EGL_PLL_CON1, 0},
+	{ EGL_PLL_FREQ_DET, 0},
+
+	{ MUX_SEL_EGL, 0},
+	{ MUX_ENABLE_EGL, 0},
+	{ DIV_EGL, 0},
+	{ DIV_EGL_PLL_FDET, 0},
+	{ EN_ACLK_EGL, 0},
+	{ EN_PCLK_EGL, 0},
+	{ EN_SCLK_EGL, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_fsys_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_FSYS
+*/
+	{ MUX_SEL_FSYS0, 0},
+	{ MUX_SEL_FSYS1, 0},
+	{ EN_ACLK_FSYS, 0},
+	{ EN_ACLK_FSYS_SECURE_RTIC, 0},
+	{ EN_ACLK_FSYS_SECURE_SMMU_RTIC, 0},
+	{ EN_SCLK_FSYS, 0},
+	{ EN_IP_FSYS, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_g2d_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_G2D
+*/
+	{ MUX_SEL_G2D, 0},
+	{ MUX_STAT_G2D, 0},
+	{ DIV_G2D, 0},
+	{ EN_ACLK_G2D, 0},
+	{ EN_ACLK_G2D_SECURE_SSS, 0},
+	{ EN_ACLK_G2D_SECURE_SLIM_SSS, 0},
+	{ EN_ACLK_G2D_SECURE_SMMU_SLIM_SSS, 0},
+	{ EN_ACLK_G2D_SECURE_SMMU_SSS, 0},
+	{ EN_ACLK_G2D_SECURE_SMMU_MDMA, 0},
+	{ EN_ACLK_G2D_SECURE_SMMU_G2D, 0},
+	{ EN_PCLK_G2D, 0},
+	{ EN_PCLK_G2D_SECURE_SMMU_SLIM_SSS, 0},
+	{ EN_PCLK_G2D_SECURE_SMMU_SSS, 0},
+	{ EN_PCLK_G2D_SECURE_SMMU_MDMA, 0},
+	{ EN_PCLK_G2D_SECURE_SMMU_G2D, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_g3d_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_G3D
+*/
+	{ G3D_PLL_LOCK, 0},
+	{ G3D_PLL_CON0, 0},
+	{ G3D_PLL_CON1, 0},
+	{ G3D_PLL_FDET, 0},
+	{ MUX_SEL_G3D, 0},
+	{ DIV_G3D, 0},
+	{ DIV_G3D_PLL_FDET, 0},
+	{ EN_ACLK_G3D, 0},
+	{ EN_PCLK_G3D, 0},
+	{ EN_SCLK_G3D, 0},
+	{ EN_IP_G3D, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_gscl_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_GSCL
+*/
+	{ MUX_SEL_GSCL, 0},
+	{ DIV_GSCL, 0},
+	{ EN_ACLK_GSCL, 0},
+	{ EN_ACLK_GSCL_FIMC, 0},
+	{ EN_ACLK_GSCL_SECURE_SMMU_GSCL0, 0},
+	{ EN_ACLK_GSCL_SECURE_SMMU_GSCL1, 0},
+	{ EN_ACLK_GSCL_SECURE_SMMU_MSCL0, 0},
+	{ EN_ACLK_GSCL_SECURE_SMMU_MSCL1, 0},
+	{ EN_PCLK_GSCL, 0},
+	{ EN_PCLK_GSCL_FIMC, 0},
+	{ EN_PCLK_GSCL_SECURE_SMMU_GSCL0, 0},
+	{ EN_PCLK_GSCL_SECURE_SMMU_GSCL1, 0},
+	{ EN_PCLK_GSCL_SECURE_SMMU_MSCL0, 0},
+	{ EN_PCLK_GSCL_SECURE_SMMU_MSCL1, 0},
+	{ EN_SCLK_GSCL, 0},
+	{ EN_SCLK_GSCL_FIMC, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_isp_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_ISP
+*/
+	{ MUX_SEL_ISP0, 0},
+	{ MUX_SEL_ISP1, 0},
+	{ DIV_ISP, 0},
+	{ EN_ACLK_ISP0, 0},
+	{ EN_ACLK_ISP1, 0},
+	{ EN_PCLK_ISP0, 0},
+	{ EN_PCLK_ISP1, 0},
+	{ EN_SCLK_ISP, 0},
+	{ EN_IP_ISP0, 0},
+	{ EN_IP_ISP1, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_kfc_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_KFC
+*/
+	{ KFC_PLL_LOCK, 0},
+	{ KFC_PLL_CON0, 0},
+	{ KFC_PLL_CON1, 0},
+	{ KFC_PLL_FDET, 0},
+	{ MUX_SEL_KFC0, 0},
+	{ MUX_SEL_KFC2, 0},
+	{ DIV_KFC, 0},
+	{ DIV_KFC_PLL_FDET, 0},
+	{ EN_ACLK_KFC, 0},
+	{ EN_PCLK_KFC, 0},
+	{ EN_SCLK_KFC, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_mfc_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_MFC
+*/
+	{ MUX_SEL_MFC, 0},
+	{ DIV_MFC, 0},
+	{ EN_ACLK_MFC, 0},
+	{ EN_ACLK_SECURE_SMMU2_MFC, 0},
+	{ EN_PCLK_MFC, 0},
+	{ EN_PCLK_SECURE_SMMU2_MFC, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_mif_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_MIF
+*/
+	{ MEM_PLL_LOCK, 0},
+	{ BUS_PLL_LOCK, 0},
+	{ MEDIA_PLL_LOCK, 0},
+	{ MEM_PLL_CON0, 0},
+	{ MEM_PLL_CON1, 0},
+	{ MEM_PLL_FDET, 0},
+	{ BUS_PLL_CON0, 0},
+	{ BUS_PLL_CON1, 0},
+	{ BUS_PLL_FDET, 0},
+	{ MEDIA_PLL_CON0, 0},
+	{ MEDIA_PLL_CON1, 0},
+	{ MEDIA_PLL_FDET, 0},
+	{ MUX_SEL_MIF, 0},
+	{ DIV_MIF, 0},
+	{ DIV_MIF_PLL_FDET, 0},
+	{ EN_ACLK_MIF, 0},
+	{ EN_ACLK_MIF_SECURE_DREX1_TZ, 0},
+	{ EN_ACLK_MIF_SECURE_DREX0_TZ, 0},
+	{ EN_ACLK_MIF_SECURE_INTMEM, 0},
+	{ EN_PCLK_MIF, 0},
+	{ EN_PCLK_MIF_SECURE_MONOCNT, 0},
+	{ EN_PCLK_MIF_SECURE_RTC_APBIF, 0},
+	{ EN_PCLK_MIF_SECURE_DREX1_TZ, 0},
+	{ EN_PCLK_MIF_SECURE_DREX0_TZ, 0},
+	{ EN_SCLK_MIF, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_peri_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_PERI
+*/
+	{ MUX_SEL_PERI, 0},
+	{ MUX_SEL_PERI1, 0},
+	{ DIV_PERI, 0},
+	{ EN_PCLK_PERI0, 0},
+	{ EN_PCLK_PERI1, 0},
+	{ EN_PCLK_PERI2, 0},
+	{ EN_PCLK_PERI3, 0},
+	{ EN_PCLK_PERI_SECURE_CHIPID, 0},
+	{ EN_PCLK_PERI_SECURE_PROVKEY0, 0},
+	{ EN_PCLK_PERI_SECURE_PROVKEY1, 0},
+	{ EN_PCLK_PERI_SECURE_SECKEY, 0},
+	{ EN_PCLK_PERI_SECURE_ANTIRBKCNT, 0},
+	{ EN_PCLK_PERI_SECURE_TOP_RTC, 0},
+	{ EN_PCLK_PERI_SECURE_TZPC, 0},
+	{ EN_SCLK_PERI, 0},
+	{ EN_SCLK_PERI_SECURE_TOP_RTC, 0},
+};
+
+static struct samsung_clk_reg_dump exynos5260_top_clk_regs[] __initdata = {
+/*
+ *Registers for CMU_TOP
+*/
+	{ DISP_PLL_LOCK, 0},
+	{ AUD_PLL_LOCK, 0},
+	{ DISP_PLL_CON0, 0},
+	{ DISP_PLL_CON1, 0},
+	{ DISP_PLL_FDET, 0},
+	{ AUD_PLL_CON0, 0},
+	{ AUD_PLL_CON1, 0},
+	{ AUD_PLL_CON2, 0},
+	{ AUD_PLL_FDET, 0},
+	{ MUX_SEL_TOP_PLL0, 0},
+	{ MUX_SEL_TOP_MFC, 0},
+	{ MUX_SEL_TOP_G2D, 0},
+	{ MUX_SEL_TOP_GSCL, 0},
+	{ MUX_SEL_TOP_ISP10, 0},
+	{ MUX_SEL_TOP_ISP11, 0},
+	{ MUX_SEL_TOP_DISP0, 0},
+	{ MUX_SEL_TOP_DISP1, 0},
+	{ MUX_SEL_TOP_BUS, 0},
+	{ MUX_SEL_TOP_PERI0, 0},
+	{ MUX_SEL_TOP_PERI1, 0},
+	{ MUX_SEL_TOP_FSYS, 0},
+	{ DIV_TOP_G2D_MFC, 0},
+	{ DIV_TOP_GSCL_ISP0, 0},
+	{ DIV_TOP_ISP10, 0},
+	{ DIV_TOP_ISP11, 0},
+	{ DIV_TOP_DISP, 0},
+	{ DIV_TOP_BUS, 0},
+	{ DIV_TOP_PERI0, 0},
+	{ DIV_TOP_PERI1, 0},
+	{ DIV_TOP_PERI2, 0},
+	{ DIV_TOP_FSYS0, 0},
+	{ DIV_TOP_FSYS1, 0},
+	{ DIV_TOP_HPM, 0},
+	{ DIV_TOP_PLL_FDET, 0},
+	{ EN_ACLK_TOP, 0},
+	{ EN_SCLK_TOP, 0},
+};
+
+static int exynos5260_clk_suspend(void)
+{
+	struct exynos5260_clock_reg_cache *cache;
+
+	list_for_each_entry(cache, &clock_reg_cache_list, node)
+		samsung_clk_save(cache->reg_base, cache->rdump,
+				cache->rd_num);
+
+	return 0;
+}
+
+static void exynos5260_clk_resume(void)
+{
+	struct exynos5260_clock_reg_cache *cache;
+
+	list_for_each_entry(cache, &clock_reg_cache_list, node)
+		samsung_clk_restore(cache->reg_base, cache->rdump,
+				cache->rd_num);
+}
+
+static struct syscore_ops exynos5260_clk_syscore_ops = {
+	.suspend = exynos5260_clk_suspend,
+	.resume = exynos5260_clk_resume,
+};
+
+static void exynos5260_clk_sleep_init(void __iomem *reg_base,
+			struct samsung_clk_reg_dump *rdump,
+			unsigned long nr_rdump)
+{
+	struct exynos5260_clock_reg_cache *reg_cache;
+
+	reg_cache = kzalloc(sizeof(struct exynos5260_clock_reg_cache),
+			GFP_KERNEL);
+	if (!reg_cache)
+		panic("could not allocate register cache.\n");
+
+	reg_cache->reg_base = reg_base;
+	reg_cache->rdump = rdump;
+	reg_cache->rd_num = nr_rdump;
+	list_add_tail(&reg_cache->node, &clock_reg_cache_list);
+
+	register_syscore_ops(&exynos5260_clk_syscore_ops);
+
+	exynos5260_clk_suspend();
+}
+
+#else
+static void exynos5260_clk_sleep_init(void) {}
+#endif
+
+/*
+ * List of parent clocks for muses in CMU_AUD
+*/
+PNAME(mout_aud_pll_user_p) = {"fin_pll", "fout_aud_pll"};
+PNAME(mout_sclk_aud_i2s_p) = {"mout_aud_pll_user", "ioclk_audcdclk0_user"};
+PNAME(mout_sclk_aud_pcm_p) = {"mout_aud_pll_user", "ioclk_audcdclk0_user"};
+
+/*
+ * List of parent clocks for muses in CMU_DISP
+*/
+PNAME(mout_phyclk_dptx_phy_ch3_txd_clk_user_p) = {"fin_pll",
+			"phyclk_dptx_phy_ch3_txd_clk"};
+PNAME(mout_phyclk_dptx_phy_ch2_txd_clk_user_p) = {"fin_pll",
+			"phyclk_dptx_phy_ch2_txd_clk"};
+PNAME(mout_phyclk_dptx_phy_ch1_txd_clk_user_p) = {"fin_pll",
+			"phyclk_dptx_phy_ch1_txd_clk"};
+PNAME(mout_phyclk_dptx_phy_ch0_txd_clk_user_p) = {"fin_pll",
+			"phyclk_dptx_phy_ch0_txd_clk"};
+
+PNAME(mout_aclk_disp_222_user_p) = {"fin_pll", "dout_aclk_disp_222"};
+PNAME(mout_sclk_disp_pixel_user_p) = {"fin_pll", "dout_sclk_disp_pixel"};
+PNAME(mout_aclk_disp_333_user_p) = {"fin_pll", "dout_aclk_disp_333"};
+PNAME(mout_phyclk_hdmi_phy_tmds_clko_user_p) = {"fin_pll",
+			"phyclk_hdmi_phy_tmds_clko"};
+PNAME(mout_phyclk_hdmi_phy_ref_clko_user_p) = {"fin_pll",
+			"phyclk_hdmi_phy_ref_clko"};
+PNAME(mout_phyclk_hdmi_phy_pixel_clko_user_p) = {"fin_pll",
+			"phyclk_hdmi_phy_pixel_clko"};
+PNAME(mout_phyclk_hdmi_link_o_tmds_clkhi_user_p) = {"fin_pll",
+			"phyclk_hdmi_link_o_tmds_clkhi"};
+PNAME(mout_phyclk_mipi_dphy_4l_m_txbyte_clkhs_p) = {"fin_pll",
+			"phyclk_mipi_dphy_4l_m_txbyte_clkhs"};
+PNAME(mout_phyclk_dptx_phy_o_ref_clk_24m_user_p) = {"fin_pll",
+			"phyclk_dptx_phy_o_ref_clk_24m"};
+PNAME(mout_phyclk_dptx_phy_clk_div2_user_p) = {"fin_pll",
+			"phyclk_dptx_phy_clk_div2"};
+PNAME(mout_sclk_dsim1_tx_clk_esc_clk_user_p) = {"fin_pll",
+			"sclk_dsim1_txclkescclk"};
+PNAME(mout_sclk_dsim1_tx_clk_esc3_user_p) = {"fin_pll",
+			"sclk_dsim1_txclkesc3"};
+PNAME(mout_sclk_dsim1_tx_clk_esc2_user_p) = {"fin_pll",
+			"sclk_dsim1_txclkesc2"};
+PNAME(mout_sclk_dsim1_tx_clk_esc1_user_p) = {"fin_pll",
+			"sclk_dsim1_txclkesc1"};
+PNAME(mout_sclk_dsim1_tx_clk_esc0_user_p) = {"fin_pll",
+			"sclk_dsim1_txclkesc0"};
+PNAME(mout_sclk_hdmi_pixel_p) = {"mout_sclk_disp_pixel_user",
+			"mout_aclk_disp_222_user"};
+PNAME(mout_phyclk_mipi_dphy_4lmrxclk_esc0_user_p) = {"fin_pll",
+			"phyclk_mipi_dphy_4l_m_rxclkesc0"};
+PNAME(mout_sclk_hdmi_spdif_p) = {"fin_pll", "ioclk_spdif_extclk",
+			"dout_aclk_peri_aud", "phyclk_hdmi_phy_ref_cko"};
+
+/*
+ * List of parent clocks for muses in CMU_EGL
+*/
+PNAME(mout_egl_b_p) = {"mout_egl_pll", "dout_bus_pll"};
+PNAME(mout_egl_pll_p) = {"fin_pll", "fout_egl_pll"};
+
+/*
+ * List of parent clocks for muses in CMU_FSYS
+*/
+PNAME(mout_phyclk_usbhost20_phyclk_user_p) = {"fin_pll",
+			"phyclk_usbhost20_phy_phyclock"};
+PNAME(mout_phyclk_usbhost20_freeclk_user_p) = {"fin_pll",
+			"phyclk_usbhost20_phy_freeclk"};
+PNAME(mout_phyclk_usbhost20_clk48mohci_user_p) = {"fin_pll",
+			"phyclk_usbhost20_phy_clk48mohci"};
+PNAME(mout_phyclk_usbdrd30_pipe_pclk_user_p) = {"fin_pll",
+			"phyclk_usbdrd30_udrd30_pipe_pclk"};
+PNAME(mout_phyclk_usbdrd30_phyclock_user_p) = {"fin_pll",
+			"phyclk_usbdrd30_udrd30_phyclock"};
+
+/*
+ * List of parent clocks for muses in CMU_G2D
+*/
+PNAME(mout_aclk_g2d_333_user_p) = {"fin_pll", "dout_aclk_g2d_333"};
+
+/*
+ * List of parent clocks for muses in CMU_G3D
+*/
+PNAME(mout_g3d_pll_p) = {"fin_pll", "fout_g3d_pll"};
+
+/*
+ * List of parent clocks for muses in CMU_GSCL
+*/
+PNAME(mout_aclk_gscl_333_user_p) = {"fin_pll", "fout_aud_pll"};
+PNAME(mout_aclk_m2m_400_user_p) = {"fin_pll", "dout_aclk_gscl_400"};
+PNAME(mout_aclk_gscl_fimc_user_p) = {"fin_pll", "dout_aclk_gscl_400"};
+PNAME(mout_aclk_csis_p) = {"dout_aclk_csis_200", "mout_aclk_gscl_fimc_user"};
+
+/*
+ * List of parent clocks for muses in CMU_ISP
+*/
+PNAME(mout_isp_400_user_p) = {"fin_pll", "dout_aclk_isp1_400"};
+PNAME(mout_isp_266_user_p)	 = {"fin_pll", "dout_aclk_isp1_266"};
+
+/*
+ * List of parent clocks for muses in CMU_KFC
+*/
+PNAME(mout_kfc_pll_p) = {"fin_pll", "fout_kfc_pll"};
+PNAME(mout_kfc_p)	 = {"mout_kfc_pll", "dout_media_pll"};
+
+/*
+ * List of parent clocks for muses in CMU_MFC
+*/
+PNAME(mout_aclk_mfc_333_user_p) = {"fin_pll", "dout_aclk_mfc_333"};
+
+/*
+ * List of parent clocks for muses in CMU_MIF
+*/
+PNAME(mout_mem_pll_p) = {"fin_pll", "fout_mem_pll"};
+PNAME(mout_bus_pll_p) = {"fin_pll", "fout_bus_pll"};
+PNAME(mout_media_pll_p) = {"fin_pll", "fout_media_pll"};
+PNAME(mout_mif_drex_p) = {"dout_mem_pll", "dout_bus_pll"};
+PNAME(mout_mif_drex2x_p) = {"dout_mem_pll", "dout_bus_pll"};
+PNAME(mout_clkm_phy_p) = {"mout_mif_drex", "dout_media_pll"};
+PNAME(mout_clk2x_phy_p) = {"mout_mif_drex2x", "dout_media_pll"};
+
+/*
+ * List of parent clocks for muses in CMU_PERI
+*/
+PNAME(mout_sclk_pcm_p) = {"ioclk_pcm_extclk", "fin_pll", "dout_aclk_peri_aud",
+			"phyclk_hdmi_phy_ref_cko"};
+PNAME(mout_sclk_i2scod_p) = {"ioclk_i2s_cdclk", "fin_pll", "dout_aclk_peri_aud",
+			"phyclk_hdmi_phy_ref_cko"};
+PNAME(mout_sclk_spdif_p) = {"ioclk_spdif_extlk", "fin_pll",
+			"dout_aclk_peri_aud", "phyclk_hdmi_phy_ref_cko"};
+
+/*
+ * List of parent clocks for muses in CMU_TOP
+*/
+PNAME(mout_memtop_pll_user_p) = {"fin_pll", "dout_mem_pll"};
+PNAME(mout_bustop_pll_user_p) = {"fin_pll", "dout_bus_pll"};
+PNAME(mout_mediatop_pll_user_p) = {"fin_pll", "dout_media_pll"};
+PNAME(mout_audtop_pll_user_p) = {"fin_pll", "mout_aud_pll"};
+PNAME(mout_aud_pll_p) = {"fin_pll", "fout_aud_pll"};
+PNAME(mout_disp_pll_p) = {"fin_pll", "fout_disp_pll"};
+
+PNAME(mout_mfc_bustop_333_p) = {"mout_bustop_pll_user", "mout_disp_pll"};
+PNAME(mout_aclk_mfc_333_p) = {"mout_mediatop_pll_user", "mout_mfc_bustop_333"};
+
+PNAME(mout_g2d_bustop_333_p) = {"mout_bustop_pll_user", "mout_disp_pll"};
+PNAME(mout_aclk_g2d_333_p) = {"mout_mediatop_pll_user", "mout_g2d_bustop_333"};
+
+PNAME(mout_gscl_bustop_333_p) = {"mout_bustop_pll_user", "mout_disp_pll"};
+PNAME(mout_aclk_gscl_333_p) = {"mout_mediatop_pll_user",
+			"mout_gscl_bustop_333"};
+PNAME(mout_m2m_mediatop_400_p) = {"mout_mediatop_pll_user", "mout_disp_pll"};
+PNAME(mout_aclk_gscl_400_p) = {"mout_bustop_pll_user",
+			"mout_m2m_mediatop_400"};
+PNAME(mout_gscl_bustop_fimc_p) = {"mout_bustop_pll_user", "mout_disp_pll"};
+PNAME(mout_aclk_gscl_fimc_p) = {"mout_mediatop_pll_user",
+			"mout_gscl_bustop_fimc"};
+
+PNAME(mout_isp1_media_266_p) = {"mout_mediatop_pll_user",
+			"mout_memtop_pll_user"};
+PNAME(mout_aclk_isp1_266_p) = {"mout_bustop_pll_user", "mout_isp1_media_266"};
+PNAME(mout_isp1_media_400_p) = {"mout_mediatop_pll_user", "mout_disp_pll"};
+PNAME(mout_aclk_isp1_400_p) = {"mout_bustop_pll_user", "mout_isp1_media_400"};
+
+PNAME(mout_sclk_isp_spi_p) = {"fin_pll", "mout_bustop_pll_user"};
+PNAME(mout_sclk_isp_uart_p) = {"fin_pll", "mout_bustop_pll_user"};
+PNAME(mout_sclk_isp_sensor_p) = {"fin_pll", "mout_bustop_pll_user"};
+
+PNAME(mout_disp_disp_333_p) = {"mout_disp_pll", "mout_bustop_pll_user"};
+PNAME(mout_aclk_disp_333_p) = {"mout_mediatop_pll_user", "mout_disp_disp_333"};
+PNAME(mout_disp_disp_222_p) = {"mout_disp_pll", "mout_bustop_pll_user"};
+PNAME(mout_aclk_disp_222_p) = {"mout_mediatop_pll_user", "mout_disp_disp_222"};
+PNAME(mout_disp_media_pixel_p) = {"mout_mediatop_pll_user",
+			"mout_bustop_pll_user"};
+PNAME(mout_sclk_disp_pixel_p) = {"mout_disp_pll", "mout_disp_media_pixel"};
+
+PNAME(mout_bus_bustop_400_p) = {"mout_bustop_pll_user", "mout_memtop_pll_user"};
+PNAME(mout_bus_bustop_100_p) = {"mout_bustop_pll_user", "mout_memtop_pll_user"};
+
+PNAME(mout_sclk_peri_spi_clk_p) = {"fin_pll", "mout_bustop_pll_user"};
+PNAME(mout_sclk_peri_uart_uclk_p) = {"fin_pll", "mout_bustop_pll_user"};
+
+PNAME(mout_sclk_fsys_usb_p) = {"fin_pll", "mout_bustop_pll_user"};
+PNAME(mout_sclk_fsys_mmc_sdclkin_a_p) = {"fin_pll", "mout_bustop_pll_user"};
+PNAME(mout_sclk_fsys_mmc0_sdclkin_b_p) = {"mout_sclk_fsys_mmc0_sdclkin_a",
+			"mout_mediatop_pll_user"};
+PNAME(mout_sclk_fsys_mmc1_sdclkin_b_p) = {"mout_sclk_fsys_mmc1_sdclkin_a",
+			"mout_mediatop_pll_user"};
+PNAME(mout_sclk_fsys_mmc2_sdclkin_b_p) = {"mout_sclk_fsys_mmc2_sdclkin_a",
+			"mout_mediatop_pll_user"};
+
+/* fixed rate clocks generated outside the soc */
+struct samsung_fixed_rate_clock exynos5260_fixed_rate_ext_clks[] __initdata = {
+	FRATE(FIN_PLL, "fin_pll", NULL, CLK_IS_ROOT, 0),
+	FRATE(ID_NONE, "xrtcxti", NULL, CLK_IS_ROOT, 32768),
+
+	FRATE(ID_NONE, "ioclk_audcdclk0_user", NULL, CLK_IS_ROOT, 0),
+
+	FRATE(ID_NONE, "ioclk_pcm_extclk", NULL, CLK_IS_ROOT, 2048000),
+	FRATE(ID_NONE, "ioclk_aud_i2s_bclk", NULL, CLK_IS_ROOT, 2048000),
+	FRATE(ID_NONE, "ioclk_spdif_extclk", NULL, CLK_IS_ROOT, 49152000),
+	FRATE(ID_NONE, "ioclk_i2s_cdclk", NULL, CLK_IS_ROOT, 0),
+	FRATE(ID_NONE, "ioclk_spdif_extlk", NULL, CLK_IS_ROOT, 0),
+
+	FRATE(ID_NONE, "ioclk_i2s_sclk", NULL, CLK_IS_ROOT, 0),
+	FRATE(ID_NONE, "ioclk_spi0_clkin", NULL, CLK_IS_ROOT, 0),
+	FRATE(ID_NONE, "ioclk_spi1_clkin", NULL, CLK_IS_ROOT, 0),
+	FRATE(ID_NONE, "ioclk_spi2_clkin", NULL, CLK_IS_ROOT, 0),
+
+	FRATE(ID_NONE, "ioclk_mmc0_sdrdqs_in", NULL, CLK_IS_ROOT, 200000000),
+
+	FRATE(ID_NONE, "ioclk_spi0_isp_spi_clk_in", NULL,
+			CLK_IS_ROOT, 50000000),
+	FRATE(ID_NONE, "ioclk_spi1_isp_spi_clk_in", NULL,
+			CLK_IS_ROOT, 50000000),
+	FRATE(ID_NONE, "ioclk_spi0_isp_spi_clk_out", NULL,
+			CLK_IS_ROOT, 50000000),
+	FRATE(ID_NONE, "ioclk_spi1_isp_spi_clk_out", NULL,
+			CLK_IS_ROOT, 50000000),
+};
+
+/* fixed rate clocks generated inside the soc */
+struct samsung_fixed_rate_clock exynos5260_fixed_rate_clks[] __initdata = {
+	FRATE(ID_NONE, "phyclk_dptx_phy_ch3_txd_clk", NULL,
+			CLK_IS_ROOT, 270000000),
+	FRATE(ID_NONE, "phyclk_dptx_phy_ch2_txd_clk", NULL,
+			CLK_IS_ROOT, 270000000),
+	FRATE(ID_NONE, "phyclk_dptx_phy_ch1_txd_clk", NULL,
+			CLK_IS_ROOT, 270000000),
+	FRATE(ID_NONE, "phyclk_dptx_phy_ch0_txd_clk", NULL,
+			CLK_IS_ROOT, 270000000),
+	FRATE(ID_NONE, "phyclk_hdmi_phy_tmds_clko", NULL,
+			CLK_IS_ROOT, 250000000),
+	FRATE(TOP_SCLK_HDMIPHY, "phyclk_hdmi_phy_pixel_clko", NULL,
+			CLK_IS_ROOT, 1660000000),
+	FRATE(ID_NONE, "phyclk_hdmi_link_o_tmds_clkhi", NULL,
+			CLK_IS_ROOT, 125000000),
+	FRATE(ID_NONE, "phyclk_mipi_dphy_4l_m_txbyteclkhs", NULL,
+			CLK_IS_ROOT, 187500000),
+	FRATE(ID_NONE, "phyclk_dptx_phy_o_ref_clk_24m", NULL,
+			CLK_IS_ROOT, 24000000),
+	FRATE(ID_NONE, "phyclk_dptx_phy_clk_div2", NULL,
+			CLK_IS_ROOT, 135000000),
+	FRATE(ID_NONE, "phyclk_mipi_dphy_4l_m_rxclkesc0", NULL,
+			CLK_IS_ROOT, 20000000),
+	FRATE(ID_NONE, "phyclk_usbhost20_phy_phyclock", NULL,
+			CLK_IS_ROOT, 60000000),
+	FRATE(ID_NONE, "phyclk_usbhost20_phy_freeclk", NULL,
+			CLK_IS_ROOT, 60000000),
+	FRATE(ID_NONE, "phyclk_usbhost20_phy_clk48mohci", NULL,
+			CLK_IS_ROOT, 48000000),
+	FRATE(ID_NONE, "phyclk_usbdrd30_udrd30_pipe_pclk", NULL,
+			CLK_IS_ROOT, 125000000),
+	FRATE(ID_NONE, "phyclk_usbdrd30_udrd30_phyclock", NULL,
+			CLK_IS_ROOT, 60000000),
+};
+
+struct samsung_fixed_factor_clock exynos5260_fixed_factor_clks[] __initdata = {
+};
+
+/* MULITPLEXER CLOCKS */
+
+/*
+ * List of Mux clocks for CMU_AUD
+*/
+struct samsung_mux_clock exynos5260_aud_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_sclk_aud_pcm", mout_sclk_aud_pcm_p,
+					MUX_SEL_AUD, 8, 1),
+	MUX(ID_NONE, "mout_sclk_aud_i2s", mout_sclk_aud_i2s_p, MUX_SEL_AUD, 4,
+			1),
+	MUX(ID_NONE, "mout_aud_pll_user", mout_aud_pll_user_p, MUX_SEL_AUD, 0,
+			1),
+};
+
+/*
+ * List of Mux clocks for CMU_DISP
+*/
+struct samsung_mux_clock exynos5260_disp_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_sclk_hdmi_spdif", mout_sclk_hdmi_spdif_p,
+			MUX_SEL_DISP4, 4, 2),
+
+	MUX(ID_NONE, "mout_sclk_dsim1_tx_clk_esc_clk_user",
+			mout_sclk_dsim1_tx_clk_esc_clk_user_p,
+			MUX_SEL_DISP2, 28, 1),
+	MUX(ID_NONE, "mout_sclk_dsim1_tx_clk_esc3_user",
+			mout_sclk_dsim1_tx_clk_esc3_user_p, MUX_SEL_DISP2,
+			24, 1),
+	MUX(ID_NONE, "mout_sclk_dsim1_tx_clk_esc2_user",
+			mout_sclk_dsim1_tx_clk_esc2_user_p, MUX_SEL_DISP2,
+			20, 1),
+	MUX(ID_NONE, "mout_sclk_dsim1_tx_clk_esc1_user",
+			mout_sclk_dsim1_tx_clk_esc1_user_p, MUX_SEL_DISP2,
+			16, 1),
+	MUX(ID_NONE, "mout_sclk_dsim1_tx_clk_esc0_user",
+			mout_sclk_dsim1_tx_clk_esc0_user_p, MUX_SEL_DISP2,
+			12, 1),
+	MUX(ID_NONE, "mout_sclk_hdmi_pixel", mout_sclk_hdmi_pixel_p,
+			MUX_SEL_DISP2, 4, 1),
+	MUX(ID_NONE, "mout_phyclk_mipi_dphy_4lmrxclk_esc0_user",
+			mout_phyclk_mipi_dphy_4lmrxclk_esc0_user_p,
+			MUX_SEL_DISP2, 0, 1),
+
+	MUX(ID_NONE, "mout_phyclk_hdmi_phy_tmds_clko_user",
+			mout_phyclk_hdmi_phy_tmds_clko_user_p,
+			MUX_SEL_DISP1, 28, 1),
+	MUX(ID_NONE, "mout_phyclk_hdmi_phy_ref_clko_user",
+			mout_phyclk_hdmi_phy_ref_clko_user_p,
+			MUX_SEL_DISP1, 24, 1),
+	MUX(DISP_MOUT_HDMI_PHY_PIXEL, "mout_phyclk_hdmi_phy_pixel_clko_user",
+			mout_phyclk_hdmi_phy_pixel_clko_user_p,
+			MUX_SEL_DISP1, 20, 1),
+	MUX(ID_NONE, "mout_phyclk_hdmi_link_o_tmds_clkhi_user",
+			mout_phyclk_hdmi_link_o_tmds_clkhi_user_p,
+			MUX_SEL_DISP1, 16, 1),
+	MUX(ID_NONE, "mout_phyclk_mipi_dphy_4l_m_txbyte_clkhs",
+			mout_phyclk_mipi_dphy_4l_m_txbyte_clkhs_p,
+			MUX_SEL_DISP1, 8, 1),
+	MUX(ID_NONE, "mout_phyclk_dptx_phy_o_ref_clk_24m_user",
+			mout_phyclk_dptx_phy_o_ref_clk_24m_user_p,
+			MUX_SEL_DISP1, 4, 1),
+	MUX(ID_NONE, "mout_phyclk_dptx_phy_clk_div2_user",
+			mout_phyclk_dptx_phy_clk_div2_user_p,
+			MUX_SEL_DISP1, 0, 1),
+
+	MUX(ID_NONE, "mout_phyclk_dptx_phy_ch3_txd_clk_user",
+			mout_phyclk_dptx_phy_ch3_txd_clk_user_p,
+			MUX_SEL_DISP0, 28, 1),
+	MUX(ID_NONE, "mout_phyclk_dptx_phy_ch2_txd_clk_user",
+			mout_phyclk_dptx_phy_ch2_txd_clk_user_p,
+			MUX_SEL_DISP0, 24, 1),
+	MUX(ID_NONE, "mout_phyclk_dptx_phy_ch1_txd_clk_user",
+			mout_phyclk_dptx_phy_ch1_txd_clk_user_p,
+			MUX_SEL_DISP0, 20, 1),
+	MUX(ID_NONE, "mout_phyclk_dptx_phy_ch0_txd_clk_user",
+			mout_phyclk_dptx_phy_ch0_txd_clk_user_p,
+			MUX_SEL_DISP0, 16, 1),
+	MUX(ID_NONE, "mout_aclk_disp_222_user", mout_aclk_disp_222_user_p,
+			MUX_SEL_DISP0, 8, 1),
+	MUX(ID_NONE, "mout_sclk_disp_pixel_user", mout_sclk_disp_pixel_user_p,
+			MUX_SEL_DISP0, 4, 1),
+	MUX(ID_NONE, "mout_aclk_disp_333_user", mout_aclk_disp_333_user_p,
+			MUX_SEL_DISP0, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_EGL
+*/
+struct samsung_mux_clock exynos5260_egl_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_egl_b", mout_egl_b_p, MUX_SEL_EGL, 16, 1),
+	MUX(ID_NONE, "mout_egl_pll", mout_egl_pll_p, MUX_SEL_EGL, 4, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_FSYS
+*/
+struct samsung_mux_clock exynos5260_fsys_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_phyclk_usbhost20_phyclk_user",
+			mout_phyclk_usbhost20_phyclk_user_p,
+			MUX_SEL_FSYS1, 16, 1),
+	MUX(ID_NONE, "mout_phyclk_usbhost20_freeclk_user",
+			mout_phyclk_usbhost20_freeclk_user_p,
+			MUX_SEL_FSYS1, 12, 1),
+	MUX(ID_NONE, "mout_phyclk_usbhost20_clk48mohci_user",
+			mout_phyclk_usbhost20_clk48mohci_user_p,
+			MUX_SEL_FSYS1, 8, 1),
+	MUX(ID_NONE, "mout_phyclk_usbdrd30_pipe_pclk_user",
+			mout_phyclk_usbdrd30_pipe_pclk_user_p,
+			MUX_SEL_FSYS1, 4, 1),
+	MUX(ID_NONE, "mout_phyclk_usbdrd30_phyclock_user",
+			mout_phyclk_usbdrd30_phyclock_user_p,
+			MUX_SEL_FSYS1, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_G2D
+*/
+struct samsung_mux_clock exynos5260_g2d_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_aclk_g2d_333_user", mout_aclk_g2d_333_user_p,
+			MUX_SEL_G2D, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_G3D
+*/
+struct samsung_mux_clock exynos5260_g3d_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_g3d_pll", mout_g3d_pll_p, MUX_SEL_G3D, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_GSCL
+*/
+struct samsung_mux_clock exynos5260_gscl_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_aclk_csis", mout_aclk_csis_p, MUX_SEL_GSCL, 24, 1),
+	MUX(ID_NONE, "mout_aclk_gscl_fimc_user", mout_aclk_gscl_fimc_user_p,
+			MUX_SEL_GSCL, 8, 1),
+	MUX(ID_NONE, "mout_aclk_m2m_400_user", mout_aclk_m2m_400_user_p,
+			MUX_SEL_GSCL, 4, 1),
+	MUX(ID_NONE, "mout_aclk_gscl_333_user", mout_aclk_gscl_333_user_p,
+			MUX_SEL_GSCL, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_ISP
+*/
+struct samsung_mux_clock exynos5260_isp_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_isp_400_user", mout_isp_400_user_p, MUX_SEL_ISP0,
+			4, 1),
+	MUX(ID_NONE, "mout_isp_266_user", mout_isp_266_user_p, MUX_SEL_ISP0,
+			0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_KFC
+*/
+struct samsung_mux_clock exynos5260_kfc_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_kfc_pll", mout_kfc_pll_p, MUX_SEL_KFC0, 0, 1),
+	MUX(ID_NONE, "mout_kfc", mout_kfc_p, MUX_SEL_KFC2, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_MFC
+*/
+struct samsung_mux_clock exynos5260_mfc_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_aclk_mfc_333_user", mout_aclk_mfc_333_user_p,
+	MUX_SEL_MFC, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_MIF
+*/
+struct samsung_mux_clock exynos5260_mif_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_clk2x_phy", mout_clk2x_phy_p, MUX_SEL_MIF, 24, 1),
+	MUX(ID_NONE, "mout_mif_drex2x", mout_mif_drex2x_p, MUX_SEL_MIF, 20,
+			1),
+	MUX(ID_NONE, "mout_clkm_phy", mout_clkm_phy_p, MUX_SEL_MIF, 16, 1),
+	MUX(ID_NONE, "mout_mif_drex", mout_mif_drex_p, MUX_SEL_MIF, 12, 1),
+	MUX(ID_NONE, "mout_media_pll", mout_media_pll_p, MUX_SEL_MIF, 8, 1),
+	MUX(ID_NONE, "mout_bus_pll", mout_bus_pll_p, MUX_SEL_MIF, 4, 1),
+	MUX(ID_NONE, "mout_mem_pll", mout_mem_pll_p, MUX_SEL_MIF, 0, 1),
+};
+
+/*
+ * List of Mux clocks for CMU_PERI
+*/
+struct samsung_mux_clock exynos5260_peri_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_sclk_spdif", mout_sclk_spdif_p, MUX_SEL_PERI1, 20,
+			2),
+	MUX(ID_NONE, "mout_sclk_i2scod", mout_sclk_i2scod_p, MUX_SEL_PERI1,
+			12, 2),
+	MUX(ID_NONE, "mout_sclk_pcm", mout_sclk_pcm_p, MUX_SEL_PERI1, 4, 2),
+};
+
+/*
+ * List of Mux clocks for CMU_TOP
+*/
+struct samsung_mux_clock exynos5260_top_mux_clks[] __initdata = {
+	MUX(ID_NONE, "mout_audtop_pll_user", mout_audtop_pll_user_p,
+			MUX_SEL_TOP_PLL0, 24, 1),
+	MUX(ID_NONE, "mout_aud_pll", mout_aud_pll_p, MUX_SEL_TOP_PLL0, 16, 1),
+	MUX(TOP_MOUT_DISP_PLL, "mout_disp_pll", mout_disp_pll_p,
+			MUX_SEL_TOP_PLL0, 12, 1),
+	MUX(ID_NONE, "mout_bustop_pll_user", mout_bustop_pll_user_p,
+			MUX_SEL_TOP_PLL0, 8, 1),
+	MUX(ID_NONE, "mout_memtop_pll_user", mout_memtop_pll_user_p,
+			MUX_SEL_TOP_PLL0, 4, 1),
+	MUX(ID_NONE, "mout_mediatop_pll_user", mout_mediatop_pll_user_p,
+			MUX_SEL_TOP_PLL0, 0, 1),
+
+
+	MUX(ID_NONE, "mout_disp_disp_333", mout_disp_disp_333_p,
+			MUX_SEL_TOP_DISP0, 0, 1),
+	MUX(ID_NONE, "mout_aclk_disp_333", mout_aclk_disp_333_p,
+			MUX_SEL_TOP_DISP0, 8, 1),
+	MUX(ID_NONE, "mout_disp_disp_222", mout_disp_disp_222_p,
+			MUX_SEL_TOP_DISP0, 12, 1),
+	MUX(ID_NONE, "mout_aclk_disp_222", mout_aclk_disp_222_p,
+			MUX_SEL_TOP_DISP0, 20, 1),
+	MUX(ID_NONE, "mout_disp_media_pixel", mout_disp_media_pixel_p,
+			MUX_SEL_TOP_DISP1, 8, 1),
+	MUX(TOP_MOUT_FIMD1, "mout_sclk_disp_pixel", mout_sclk_disp_pixel_p,
+			MUX_SEL_TOP_DISP1, 0, 1),
+
+	MUX(ID_NONE, "mout_sclk_peri_spi0_clk", mout_sclk_peri_spi_clk_p,
+			MUX_SEL_TOP_PERI1, 8, 1),
+	MUX(ID_NONE, "mout_sclk_peri_spi1_clk", mout_sclk_peri_spi_clk_p,
+			MUX_SEL_TOP_PERI1, 4, 1),
+	MUX(ID_NONE, "mout_sclk_peri_spi2_clk", mout_sclk_peri_spi_clk_p,
+			MUX_SEL_TOP_PERI1, 0, 1),
+	MUX(ID_NONE, "mout_sclk_peri_uart0_uclk", mout_sclk_peri_uart_uclk_p,
+			MUX_SEL_TOP_PERI1, 20, 1),
+	MUX(ID_NONE, "mout_sclk_peri_uart2_uclk", mout_sclk_peri_uart_uclk_p,
+			MUX_SEL_TOP_PERI1, 16, 1),
+	MUX(ID_NONE, "mout_sclk_peri_uart1_uclk", mout_sclk_peri_uart_uclk_p,
+			MUX_SEL_TOP_PERI1, 12, 1),
+
+	MUX(ID_NONE, "mout_bus4_bustop_100", mout_bus_bustop_100_p,
+			MUX_SEL_TOP_BUS, 28, 1),
+	MUX(ID_NONE, "mout_bus4_bustop_400", mout_bus_bustop_400_p,
+			MUX_SEL_TOP_BUS, 24, 1),
+	MUX(ID_NONE, "mout_bus3_bustop_100", mout_bus_bustop_100_p,
+			MUX_SEL_TOP_BUS, 20, 1),
+	MUX(ID_NONE, "mout_bus3_bustop_400", mout_bus_bustop_400_p,
+			MUX_SEL_TOP_BUS, 16, 1),
+	MUX(ID_NONE, "mout_bus2_bustop_400", mout_bus_bustop_400_p,
+			MUX_SEL_TOP_BUS, 12, 1),
+	MUX(ID_NONE, "mout_bus2_bustop_100", mout_bus_bustop_100_p,
+			MUX_SEL_TOP_BUS, 8, 1),
+	MUX(ID_NONE, "mout_bus1_bustop_100", mout_bus_bustop_100_p,
+			MUX_SEL_TOP_BUS, 4, 1),
+	MUX(ID_NONE, "mout_bus1_bustop_400", mout_bus_bustop_400_p,
+			MUX_SEL_TOP_BUS, 0, 1),
+
+	MUX(ID_NONE, "mout_sclk_fsys_usb", mout_sclk_fsys_usb_p,
+			MUX_SEL_TOP_FSYS, 0, 1),
+	MUX(ID_NONE, "mout_sclk_fsys_mmc0_sdclkin_a",
+			mout_sclk_fsys_mmc_sdclkin_a_p, MUX_SEL_TOP_FSYS,
+			20, 1),
+	MUX(ID_NONE, "mout_sclk_fsys_mmc1_sdclkin_a",
+			mout_sclk_fsys_mmc_sdclkin_a_p, MUX_SEL_TOP_FSYS,
+			12, 1),
+	MUX(ID_NONE, "mout_sclk_fsys_mmc2_sdclkin_a",
+			mout_sclk_fsys_mmc_sdclkin_a_p, MUX_SEL_TOP_FSYS,
+			4, 1),
+	MUX(ID_NONE, "mout_sclk_fsys_mmc0_sdclkin_b",
+			mout_sclk_fsys_mmc0_sdclkin_b_p, MUX_SEL_TOP_FSYS,
+			24, 1),
+	MUX(ID_NONE, "mout_sclk_fsys_mmc1_sdclkin_b",
+			mout_sclk_fsys_mmc1_sdclkin_b_p, MUX_SEL_TOP_FSYS,
+			16, 1),
+	MUX(ID_NONE, "mout_sclk_fsys_mmc2_sdclkin_b",
+			mout_sclk_fsys_mmc2_sdclkin_b_p, MUX_SEL_TOP_FSYS,
+			8, 1),
+
+	MUX(ID_NONE, "mout_aclk_isp1_266", mout_aclk_isp1_266_p,
+			MUX_SEL_TOP_ISP10, 20, 1),
+	MUX(ID_NONE, "mout_isp1_media_266", mout_isp1_media_266_p,
+			MUX_SEL_TOP_ISP10, 16, 1),
+	MUX(ID_NONE, "mout_aclk_isp1_400", mout_aclk_isp1_400_p,
+			MUX_SEL_TOP_ISP10, 8 , 1),
+	MUX(ID_NONE, "mout_isp1_media_400", mout_isp1_media_400_p,
+			MUX_SEL_TOP_ISP10, 4, 1),
+
+	MUX(ID_NONE, "mout_sclk_isp1_spi0", mout_sclk_isp_spi_p,
+			MUX_SEL_TOP_ISP11, 4, 1),
+	MUX(ID_NONE, "mout_sclk_isp1_spi1", mout_sclk_isp_spi_p,
+			MUX_SEL_TOP_ISP11, 8, 1),
+	MUX(ID_NONE, "mout_sclk_isp1_uart", mout_sclk_isp_uart_p,
+			MUX_SEL_TOP_ISP11, 12, 1),
+	MUX(ID_NONE, "mout_sclk_isp1_sensor2", mout_sclk_isp_sensor_p,
+			MUX_SEL_TOP_ISP11, 24, 1),
+	MUX(ID_NONE, "mout_sclk_isp1_sensor1", mout_sclk_isp_sensor_p,
+			MUX_SEL_TOP_ISP11, 20, 1),
+	MUX(ID_NONE, "mout_sclk_isp1_sensor0", mout_sclk_isp_sensor_p,
+			MUX_SEL_TOP_ISP11, 16, 1),
+
+	MUX(ID_NONE, "mout_aclk_mfc_333", mout_aclk_mfc_333_p,
+			MUX_SEL_TOP_MFC, 8, 1),
+	MUX(ID_NONE, "mout_mfc_bustop_333", mout_mfc_bustop_333_p,
+			MUX_SEL_TOP_MFC, 4, 1),
+
+	MUX(ID_NONE, "mout_aclk_g2d_333", mout_aclk_g2d_333_p,
+			MUX_SEL_TOP_G2D, 8, 1),
+	MUX(ID_NONE, "mout_g2d_bustop_333", mout_g2d_bustop_333_p,
+			MUX_SEL_TOP_G2D, 4, 1),
+
+	MUX(ID_NONE, "mout_aclk_gscl_fimc", mout_aclk_gscl_fimc_p,
+			MUX_SEL_TOP_GSCL, 20, 1),
+	MUX(ID_NONE, "mout_gscl_bustop_fimc", mout_gscl_bustop_fimc_p,
+			MUX_SEL_TOP_GSCL, 16, 1),
+	MUX(ID_NONE, "mout_aclk_gscl_333", mout_aclk_gscl_333_p,
+			MUX_SEL_TOP_GSCL, 12, 1),
+	MUX(ID_NONE, "mout_gscl_bustop_333", mout_gscl_bustop_333_p,
+			MUX_SEL_TOP_GSCL, 8, 1),
+	MUX(ID_NONE, "mout_aclk_gscl_400", mout_aclk_gscl_400_p,
+			MUX_SEL_TOP_GSCL, 4, 1),
+	MUX(ID_NONE, "mout_m2m_mediatop_400", mout_m2m_mediatop_400_p,
+			MUX_SEL_TOP_GSCL, 0, 1),
+
+	/*
+	* TODO: Add for ISP clocks
+	*/
+};
+
+/* DIVIDER CLOCKS */
+
+/*
+ * List of Divider clocks for CMU_AUD
+*/
+struct samsung_div_clock exynos5260_aud_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_aclk_aud_131", "mout_aud_pll_user", DIV_AUD0, 0,
+			4),
+	DIV(ID_NONE, "dout_sclk_aud_uart", "mout_aud_pll_user", DIV_AUD1, 12,
+			4),
+	DIV(ID_NONE, "dout_sclk_aud_pcm", "mout_sclk_aud_pcm", DIV_AUD1, 4,
+			8),
+	DIV(ID_NONE, "dout_sclk_aud_i2s", "mout_sclk_aud_i2s", DIV_AUD1, 0,
+			4),
+};
+
+/*
+ * List of Divider clocks for CMU_DISP
+*/
+struct samsung_div_clock exynos5260_disp_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_sclk_hdmi_phy_pixel_clki", "mout_sclk_hdmi_pixel",
+			DIV_DISP, 16, 4),
+	DIV(ID_NONE, "dout_sclk_fimd1_extclkpll", "mout_sclk_disp_pixel_user",
+			DIV_DISP, 12, 4),
+	DIV(ID_NONE, "dout_pclk_disp_111", "mout_aclk_disp_222_user",
+			DIV_DISP, 8, 4),
+};
+
+/*
+ * List of Divider clocks for CMU_EGL
+*/
+struct samsung_div_clock exynos5260_egl_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_egl_pll", "mout_egl_b", DIV_EGL, 24, 3),
+	DIV(ID_NONE, "dout_egl_pclk_dbg", "dout_egl_atclk", DIV_EGL, 20, 3),
+	DIV(ID_NONE, "dout_egl_atclk", "dout_egl2", DIV_EGL, 16, 3),
+	DIV(ID_NONE, "dout_pclk_egl", "dout_egl_atclk", DIV_EGL, 12, 3),
+	DIV(ID_NONE, "dout_aclk_egl", "dout_egl2", DIV_EGL, 8, 3),
+	DIV(ID_NONE, "dout_egl2", "dout_egl1", DIV_EGL, 4, 3),
+	DIV(ID_NONE, "dout_egl1", "mout_egl_b", DIV_EGL, 0, 3),
+};
+
+/*
+ * List of Divider clocks for CMU_G2D
+*/
+struct samsung_div_clock exynos5260_g2d_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_pclk_g2d_83", "mout_aclk_g2d_333_user", DIV_G2D, 0,
+			3),
+};
+
+/*
+ * List of Divider clocks for CMU_G3D
+*/
+
+struct samsung_div_clock exynos5260_g3d_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_pclk_g3d", "dout_aclk_g3d", DIV_G3D, 0, 3),
+	DIV(ID_NONE, "dout_aclk_g3d", "mout_g3d_pll", DIV_G3D, 4, 3),
+};
+
+/*
+ * List of Divider clocks for CMU_GSCL
+*/
+struct samsung_div_clock exynos5260_gscl_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_aclk_csis_200", "mout_aclk_m2m_400_user", DIV_GSCL,
+			4, 3),
+	DIV(ID_NONE, "dout_pclk_m2m_100", "mout_aclk_m2m_400_user", DIV_GSCL,
+			0, 3),
+};
+
+/*
+ * List of Divider clocks for CMU_ISP
+*/
+
+struct samsung_div_clock exynos5260_isp_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_sclk_mpwm", "mout_kfc", DIV_ISP, 20, 2),
+	DIV(ID_NONE, "dout_ca5_pclkdbg", "mout_kfc", DIV_ISP, 16, 4),
+	DIV(ID_NONE, "dout_ca5_atclkin", "mout_kfc", DIV_ISP, 12, 3),
+	DIV(ID_NONE, "dout_pclk_isp_133", "mout_kfc", DIV_ISP, 4, 4),
+	DIV(ID_NONE, "dout_pclk_isp_66", "mout_kfc", DIV_ISP, 0, 3),
+};
+
+/*
+ * List of Divider clocks for CMU_KFC
+*/
+struct samsung_div_clock exynos5260_kfc_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_kfc_pll", "mout_kfc", DIV_KFC, 24, 3),
+	DIV(ID_NONE, "dout_pclk_kfc", "dout_kfc2", DIV_KFC, 20, 3),
+	DIV(ID_NONE, "dout_aclk_kfc", "dout_kfc2", DIV_KFC, 16, 3),
+	DIV(ID_NONE, "dout_kfc_pclk_dbg", "dout_kfc2", DIV_KFC, 12, 3),
+	DIV(ID_NONE, "dout_kfc_atclk", "dout_kfc2", DIV_KFC, 8, 3),
+	DIV(ID_NONE, "dout_kfc2", "dout_kfc1", DIV_KFC, 4, 3),
+	DIV(ID_NONE, "dout_kfc1", "mout_kfc", DIV_KFC, 0, 3),
+};
+
+/*
+ * List of Divider clocks for CMU_MFC
+*/
+struct samsung_div_clock exynos5260_mfc_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_pclk_mfc_83", "mout_aclk_mfc_333_user", DIV_MFC, 0,
+			3),
+};
+
+/*
+ * List of Divider clocks for CMU_MIF
+*/
+struct samsung_div_clock exynos5260_mif_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_aclk_bus_100", "dout_bus_pll", DIV_MIF, 28, 4),
+	DIV(ID_NONE, "dout_aclk_bus_200", "dout_bus_pll", DIV_MIF, 24, 3),
+	DIV(ID_NONE, "dout_aclk_mif_466", "dout_clk2x_phy", DIV_MIF, 20, 3),
+	DIV(ID_NONE, "dout_clk2x_phy", "mout_clk2x_phy", DIV_MIF, 16, 4),
+	DIV(ID_NONE, "dout_clkm_phy", "mout_clkm_phy", DIV_MIF, 12, 3),
+	DIV(ID_NONE, "dout_bus_pll", "mout_bus_pll", DIV_MIF, 8, 3),
+	DIV(ID_NONE, "dout_mem_pll", "mout_mem_pll", DIV_MIF, 4, 3),
+	DIV(ID_NONE, "dout_media_pll", "mout_media_pll", DIV_MIF, 0, 3),
+};
+
+/*
+ * List of Divider clocks for CMU_peri
+*/
+struct samsung_div_clock exynos5260_peri_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_i2s", "mout_sclk_i2scod", DIV_PERI, 0, 6),
+	DIV(ID_NONE, "dout_pcm", "mout_sclk_pcm", DIV_PERI, 0, 8),
+};
+
+/*
+ * List of Divider clocks for CMU_TOP
+*/
+struct samsung_div_clock exynos5260_top_div_clks[] __initdata = {
+	DIV(ID_NONE, "dout_aclk_mfc_333", "mout_aclk_mfc_333",
+			DIV_TOP_G2D_MFC, 4, 3),
+
+	DIV(ID_NONE, "dout_aclk_g2d_333", "mout_aclk_g2d_333",
+			DIV_TOP_GSCL_ISP0, 0, 3),
+
+	DIV(ID_NONE, "dout_sclk_isp1_sensor2_a", "mout_aclk_gscl_fimc",
+			DIV_TOP_GSCL_ISP0, 24, 4),
+	DIV(ID_NONE, "dout_sclk_isp1_sensor1_a", "mout_aclk_gscl_400",
+			DIV_TOP_GSCL_ISP0, 20, 4),
+	DIV(ID_NONE, "dout_sclk_isp1_sensor0_a", "mout_aclk_gscl_fimc",
+			DIV_TOP_GSCL_ISP0, 16, 4),
+	DIV(ID_NONE, "dout_aclk_gscl_fimc", "mout_aclk_gscl_fimc",
+			DIV_TOP_GSCL_ISP0, 8, 3),
+	DIV(ID_NONE, "dout_aclk_gscl_400", "mout_aclk_gscl_400",
+			DIV_TOP_GSCL_ISP0, 4, 3),
+	DIV(ID_NONE, "dout_aclk_gscl_333", "mout_aclk_gscl_333",
+			DIV_TOP_GSCL_ISP0, 0, 3),
+
+	DIV(ID_NONE, "dout_sclk_isp1_spi0_b", "dout_sclk_isp1_spi0_a",
+			DIV_TOP_ISP10, 16, 8),
+	DIV(ID_NONE, "dout_sclk_isp1_spi0_a", "mout_sclk_isp1_spi0",
+			DIV_TOP_ISP10, 12, 4),
+	DIV(ID_NONE, "dout_aclk_isp1_400", "mout_aclk_isp1_400",
+			DIV_TOP_ISP10, 4, 3),
+	DIV(ID_NONE, "dout_aclk_isp1_266", "mout_aclk_isp1_266",
+			DIV_TOP_ISP10, 0, 3),
+	DIV(ID_NONE, "dout_sclk_isp1_uart", "mout_sclk_isp1_uart",
+			DIV_TOP_ISP11, 12, 4),
+	DIV(ID_NONE, "dout_sclk_isp1_spi1_b", "dout_sclk_isp1_spi1_a",
+			DIV_TOP_ISP11, 4, 8),
+	DIV(ID_NONE, "dout_sclk_isp1_spi1_a", "mout_sclk_isp1_spi1",
+			DIV_TOP_ISP11, 0, 4),
+	DIV(ID_NONE, "dout_sclk_isp1_sensor2_b", "dout_sclk_isp1_sensor2_a",
+			DIV_TOP_ISP11, 24, 4),
+	DIV(ID_NONE, "dout_sclk_isp1_sensor1_b", "dout_sclk_isp1_sensor1_a",
+			DIV_TOP_ISP11, 20, 4),
+	DIV(ID_NONE, "dout_sclk_isp1_sensor0_b", "dout_sclk_isp1_sensor0_a",
+			DIV_TOP_ISP11, 16, 4),
+
+	DIV(ID_NONE, "dout_sclk_hpm_targetclk", "mout_bustop_pll_user",
+			DIV_TOP_HPM, 0, 3),
+
+	DIV(ID_NONE, "dout_sclk_disp_pixel", "mout_sclk_disp_pixel",
+			DIV_TOP_DISP, 8, 3),
+	DIV(ID_NONE, "dout_aclk_disp_222", "mout_aclk_disp_222", DIV_TOP_DISP,
+			4, 3),
+	DIV(ID_NONE, "dout_aclk_disp_333", "mout_aclk_disp_333", DIV_TOP_DISP,
+			0, 3),
+
+	DIV(ID_NONE, "dout_aclk_bus4_100", "mout_bus4_bustop_100",
+			DIV_TOP_BUS, 28, 4),
+	DIV(ID_NONE, "dout_aclk_bus4_400", "mout_bus4_bustop_400",
+			DIV_TOP_BUS, 24, 3),
+	DIV(ID_NONE, "dout_aclk_bus3_100", "mout_bus3_bustop_100",
+			DIV_TOP_BUS, 20, 4),
+	DIV(ID_NONE, "dout_aclk_bus3_400", "mout_bus3_bustop_400",
+			DIV_TOP_BUS, 16, 3),
+	DIV(ID_NONE, "dout_aclk_bus2_100", "mout_bus2_bustop_100",
+			DIV_TOP_BUS, 12, 4),
+	DIV(ID_NONE, "dout_aclk_bus2_400", "mout_bus2_bustop_400",
+			DIV_TOP_BUS, 8, 3),
+	DIV(ID_NONE, "dout_aclk_bus1_100", "mout_bus1_bustop_100",
+			DIV_TOP_BUS, 4, 4),
+	DIV(ID_NONE, "dout_aclk_bus1_400", "mout_bus1_bustop_400",
+			DIV_TOP_BUS, 0, 3),
+
+	DIV(ID_NONE, "dout_sclk_peri_spi1_b", "dout_sclk_peri_spi1_a",
+			DIV_TOP_PERI0, 20, 8),
+	DIV(ID_NONE, "dout_sclk_peri_spi1_a", "mout_sclk_peri_spi1_clk",
+			DIV_TOP_PERI0, 16, 4),
+	DIV(ID_NONE, "dout_sclk_peri_spi0_b", "dout_sclk_peri_spi0_a",
+			DIV_TOP_PERI0, 8, 8),
+	DIV(ID_NONE, "dout_sclk_peri_spi0_a", "mout_sclk_peri_spi0_clk",
+			DIV_TOP_PERI0, 4, 4),
+	DIV(ID_NONE, "dout_sclk_peri_uart0", "mout_sclk_peri_uart0_uclk",
+			DIV_TOP_PERI1, 24, 4),
+	DIV(ID_NONE, "dout_sclk_peri_uart2", "mout_sclk_peri_uart2_uclk",
+			DIV_TOP_PERI1, 20, 4),
+	DIV(ID_NONE, "dout_sclk_peri_uart1", "mout_sclk_peri_uart1_uclk",
+			DIV_TOP_PERI1, 16, 4),
+	DIV(ID_NONE, "dout_sclk_peri_spi2_b", "dout_sclk_peri_spi2_a",
+			DIV_TOP_PERI1, 4, 8),
+	DIV(ID_NONE, "dout_sclk_peri_spi2_a", "mout_sclk_peri_spi2_clk",
+			DIV_TOP_PERI1, 0, 4),
+	DIV(ID_NONE, "dout_aclk_peri_aud", "mout_audtop_pll_user",
+			DIV_TOP_PERI2, 24, 3),
+	DIV(ID_NONE, "dout_aclk_peri_66", "mout_bustop_pll_user",
+			DIV_TOP_PERI2, 20, 4),
+
+	DIV(ID_NONE, "dout_sclk_fsys_mmc0_sdclkin_b",
+			"dout_sclk_fsys_mmc0_sdclkin_a", DIV_TOP_FSYS0,
+			16, 8),
+	DIV(ID_NONE, "dout_sclk_fsys_mmc0_sdclkin_a",
+			"mout_sclk_fsys_mmc0_sdclkin_b", DIV_TOP_FSYS0,
+			12, 4),
+	DIV(ID_NONE, "dout_sclk_fsys_usbdrd30_suspend_clk",
+			"mout_sclk_fsys_usb", DIV_TOP_FSYS0, 4, 4),
+	DIV(ID_NONE, "dout_aclk_fsys_200", "mout_bustop_pll_user",
+			DIV_TOP_FSYS0, 0, 3),
+
+	DIV(ID_NONE, "dout_sclk_fsys_mmc2_sdclkin_b",
+			"dout_sclk_fsys_mmc2_sdclkin_a", DIV_TOP_FSYS1,
+			16, 8),
+	DIV(ID_NONE, "dout_sclk_fsys_mmc2_sdclkin_a",
+			"mout_sclk_fsys_mmc2_sdclkin_b", DIV_TOP_FSYS1,
+			12, 4),
+	DIV(ID_NONE, "dout_sclk_fsys_mmc1_sdclkin_b",
+			"dout_sclk_fsys_mmc1_sdclkin_a", DIV_TOP_FSYS1, 4,
+			8),
+	DIV(ID_NONE, "dout_sclk_fsys_mmc1_sdclkin_a",
+			"mout_sclk_fsys_mmc1_sdclkin_b", DIV_TOP_FSYS1, 0,
+			4),
+};
+
+/* GATE CLOCKS */
+
+/*
+ * List of Gate clocks for CMU_AUD
+*/
+struct samsung_gate_clock exynos5260_aud_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_axids_lpassp", "dout_aclk_aud_131", EN_ACLK_AUD,
+			6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axi2apb_lpassp", "dout_aclk_aud_131", EN_ACLK_AUD,
+			5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_lpassx", "dout_aclk_aud_131", EN_ACLK_AUD, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_audnd_133", "dout_aclk_aud_131", EN_ACLK_AUD, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_audnp_133", "dout_aclk_aud_131", EN_ACLK_AUD, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_ACLK_SRAMC, "aclk_sramc", "dout_aclk_aud_131", EN_ACLK_AUD,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_ACLK_DMAC, "aclk_dmac", "dout_aclk_aud_131", EN_ACLK_AUD, 0,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_gpio_aud", "dout_aclk_aud_131", EN_PCLK_AUD, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_aud", "dout_aclk_aud_131", EN_PCLK_AUD, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_aud", "dout_aclk_aud_131", EN_PCLK_AUD, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_PCLK_AUD_UART, "pclk_aud_uart", "dout_aclk_aud_131",
+			EN_PCLK_AUD, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_PCLK_PCM, "pclk_pcm", "dout_aclk_aud_131", EN_PCLK_AUD, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_PCLK_I2S, "pclk_i2s", "dout_aclk_aud_131", EN_PCLK_AUD, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sfr_ctrl", "dout_aclk_aud_131", EN_PCLK_AUD, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_PCLK_DMAC, "pclk_dmac", "dout_aclk_aud_131", EN_PCLK_AUD, 0,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_SCLK_AUD_UART, "sclk_aud_uart", "dout_sclk_aud_uart",
+			EN_SCLK_AUD, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(AUD_SCLK_PCM, "sclk_aud_pcm", "dout_sclk_aud_pcm", EN_SCLK_AUD,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_aud_i2s", "dout_sclk_aud_i2s", EN_SCLK_AUD, 0,
+			CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_DISP
+*/
+struct samsung_gate_clock exynos5260_disp_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_noc_d_disp_disp1nd_333",
+			"mout_aclk_disp_333_user", EN_ACLK_DISP, 30,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_disp_disp0nd_333",
+			"mout_aclk_disp_333_user", EN_ACLK_DISP, 29,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axius64to128_gsclkx_fimd1x",
+			"mout_aclk_disp_333_user", EN_ACLK_DISP, 28,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axius64to128_tv", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 27, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_fimd0x", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 26, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncaxi_tv_aclkm", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 25, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncaxi_tv_aclks", "mout_aclk_disp_222_user",
+			EN_ACLK_DISP, 24, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_fimd0x", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 23, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_tvx", "mout_aclk_disp_222_user",
+			EN_ACLK_DISP, 22, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_tvx", "mout_aclk_disp_222_user", EN_ACLK_DISP,
+			21, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_fimd1x", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 20, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_fimd1m1", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 18, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_fimd1m0", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_tvm1", "mout_aclk_disp_222_user", EN_ACLK_DISP,
+			16, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_tvm0", "mout_aclk_disp_222_user", EN_ACLK_DISP,
+			15, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_fimd1m1", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 13, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_fimd1m0", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 12, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_tvx", "mout_aclk_disp_222_user",
+			EN_ACLK_DISP, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_fimd1x", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncfifo_mixer1_aclks",
+			"mout_aclk_disp_333_user", EN_ACLK_DISP, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncfifo_mixer1_aclkm",
+			"mout_aclk_disp_222_user", EN_ACLK_DISP, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncfifo_mixer0_aclks",
+			"mout_aclk_disp_333_user", EN_ACLK_DISP, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncfifo_mixer0_aclkm",
+			"mout_aclk_disp_222_user", EN_ACLK_DISP, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncdisp_m1", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncdisp_m0", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_ACLK_MIXER, "aclk_mixer", "mout_aclk_disp_222_user",
+			EN_ACLK_DISP, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_ACLK_HDMI, "aclk_hdmi_link", "mout_aclk_disp_222_user",
+			EN_ACLK_DISP, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_ACLK_FIMD1, "aclk_fimd1_128", "mout_aclk_disp_333_user",
+			EN_ACLK_DISP, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncaxim_gsclx_fimd1x",
+			"mout_aclk_disp_333_user", EN_ACLK_DISP, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "phyclk_dptx_link_i_div2",
+			"mout_phyclk_dptx_phy_clk_div2_user",
+			EN_SCLK_DISP0, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dptx_link_i_ch3_tx",
+			"mout_phyclk_dptx_phy_ch3_txd_clk_user",
+			EN_SCLK_DISP0, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dptx_link_i_ch2_tx",
+			"mout_phyclk_dptx_phy_ch2_txd_clk_user",
+			EN_SCLK_DISP0, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dptx_link_i_ch1_tx",
+			"mout_phyclk_dptx_phy_ch1_txd_clk_user",
+			EN_SCLK_DISP0, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dptx_link_i_ch0_tx",
+			"mout_phyclk_dptx_phy_ch0_txd_clk_user",
+			EN_SCLK_DISP0, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_SCLK_PIXEL, "sclk_hdmi_phy_pixel_clki",
+			"dout_sclk_hdmi_phy_pixel_clki", EN_SCLK_DISP0,
+			29, CLK_IGNORE_UNUSED,
+			0),
+
+	GATE(ID_NONE, "pclk_ppmu_fimd0x", "dout_pclk_disp_111", EN_PCLK_DISP,
+			30, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_noc_p_disp_dispnp_111", "mout_aclk_disp_222_user",
+			EN_PCLK_DISP, 28, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncaxi_tv", "dout_pclk_disp_111", EN_PCLK_DISP,
+			27, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_disp", "dout_pclk_disp_111", EN_PCLK_DISP,
+			26, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_PCLK_SMMU_TV, "pclk_smmu3_tvx", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 25, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_PCLK_SMMU_FIMD1M1, "pclk_smmu3_fimd1m1",
+			"dout_pclk_disp_111", EN_PCLK_DISP, 23,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_PCLK_SMMU_FIMD1M0, "pclk_smmu3_fimd1m0",
+			"dout_pclk_disp_111", EN_PCLK_DISP, 22,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_tvm1", "dout_pclk_disp_111", EN_PCLK_DISP, 21,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_tvm0", "dout_pclk_disp_111", EN_PCLK_DISP, 20,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_fimd1m1", "dout_pclk_disp_111", EN_PCLK_DISP,
+			18, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_fimd1m0", "dout_pclk_disp_111", EN_PCLK_DISP,
+			17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_tvx", "dout_pclk_disp_111", EN_PCLK_DISP, 16,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_fimd1x", "dout_pclk_disp_111", EN_PCLK_DISP,
+			15, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_disp", "dout_pclk_disp_111", EN_PCLK_DISP, 14,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_PCLK_HDMIPHY, "pclk_hdmi_phy_i", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 13, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_PCLK_HDMI, "pclk_hdmi_link", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 12, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_PCLK_DSIM1, "pclk_dsim1", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_dptx_link_i_pclk1", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_dptx_link_i_pclk0", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncaxim_gsclx_fimd1x", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ahb2apb_disp1p", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ahb2apb_disp0p", "dout_pclk_disp_111",
+			EN_PCLK_DISP, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahbsyncdn_disp0p", "mout_aclk_disp_222_user",
+			EN_PCLK_DISP, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahbsyncdn_disp1p", "mout_aclk_disp_222_user",
+			EN_PCLK_DISP, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_noc_p_dispnp_111", "mout_aclk_disp_333_user",
+			EN_PCLK_DISP, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_fimd1_128", "mout_aclk_disp_222_user",
+			EN_PCLK_DISP, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb_sfrdisph", "mout_aclk_disp_222_user",
+			EN_PCLK_DISP, 0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "sclk_fimd1_128_extclkpll", "dout_sclk_fimd1_extclkpll",
+			EN_SCLK_DISP0, 31, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_hdmi_link_i_spdif", "mout_sclk_hdmi_spdif",
+			EN_SCLK_DISP0, 27, CLK_IGNORE_UNUSED, 0),
+	GATE(DISP_SCLK_HDMI, "sclk_hdmi_link_i_pixel",
+			"mout_phyclk_hdmi_phy_pixel_clko_user",
+			EN_SCLK_DISP0, 26, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_hdmi_phy_tmds_clki",
+			"mout_phyclk_hdmi_link_o_tmds_clkhi_user",
+			EN_SCLK_DISP0, 12, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_hdmi_phy_ref_cko",
+			"mout_phyclk_hdmi_phy_ref_clko_user",
+			EN_SCLK_DISP0, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_hdmi_link_i_tmds",
+			"mout_phyclk_hdmi_link_o_tmds_clkhi_user",
+			EN_SCLK_DISP0, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dsim1_rxclkesc0",
+			"mout_phyclk_mipi_dphy_4lmrxclk_esc0_user",
+			EN_SCLK_DISP0, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dsim1_bitclkdiv8",
+			"mout_phyclk_mipi_dphy_4l_m_txbyte_clkhs",
+			EN_SCLK_DISP0, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_dptx_link_i_24m",
+			"mout_phyclk_dptx_phy_o_ref_clk_24m_user",
+			EN_SCLK_DISP0, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_mixer_i_vclk_hdmi",
+			"mout_phyclk_hdmi_phy_pixel_clko_user",
+			EN_SCLK_DISP1, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_mipi_dphy_4l_m_txclkescclk",
+			"mout_sclk_dsim1_tx_clk_esc_clk_user",
+			EN_SCLK_DISP1, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_mipi_dphy_4l_m_txclkesc3",
+			"mout_sclk_dsim1_tx_clk_esc3_user", EN_SCLK_DISP1,
+			3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_mipi_dphy_4l_m_txclkesc2",
+			"mout_sclk_dsim1_tx_clk_esc2_user", EN_SCLK_DISP1,
+			2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_mipi_dphy_4l_m_txclkesc1",
+			"mout_sclk_dsim1_tx_clk_esc1_user", EN_SCLK_DISP1,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_mipi_dphy_4l_m_txclkesc0",
+			"mout_sclk_dsim1_tx_clk_esc0_user", EN_SCLK_DISP1,
+			0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(DISP_DP, "dptx_phy", "fin_pll", EN_IP_DISP, 5, CLK_IGNORE_UNUSED,
+			0),
+};
+
+/*
+ * List of Gate clocks for CMU_EGL
+*/
+struct samsung_gate_clock exynos5260_egl_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_cssys_traceclkin", "dout_egl_atclk", EN_ACLK_EGL,
+			11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_cssys_ctm", "dout_egl_atclk", EN_ACLK_EGL, 10,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_cssys", "dout_egl_atclk", EN_ACLK_EGL, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_cssys_atclk", "dout_egl_atclk", EN_ACLK_EGL, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asatbmat_kfc_3_cssys", "dout_egl_atclk",
+			EN_ACLK_EGL, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asatbmat_kfc_2_cssys", "dout_egl_atclk",
+			EN_ACLK_EGL, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asatbmat_kfc_1_cssys", "dout_egl_atclk",
+			EN_ACLK_EGL, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asatbmat_kfc_0_cssys", "dout_egl_atclk",
+			EN_ACLK_EGL, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_asyncahbs_cssys_cci", "dout_egl_atclk",
+			EN_ACLK_EGL, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ace_async_egl_cci_i", "dout_aclk_egl",
+			EN_ACLK_EGL, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_eglp", "dout_pclk_egl", EN_ACLK_EGL, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_eagle_200", "dout_pclk_egl", EN_ACLK_EGL, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "pclk_egl_hpm_sfrif", "dout_pclk_egl", EN_PCLK_EGL, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_cssys_pclkdbg", "dout_egl_pclk_dbg", EN_PCLK_EGL,
+			7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_cortexa15_pclkdbg", "dout_egl_pclk_dbg",
+			EN_PCLK_EGL, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncapb_aud_cssys", "dout_egl_pclk_dbg",
+			EN_PCLK_EGL, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncapb_isp_cssys", "dout_egl_pclk_dbg",
+			EN_PCLK_EGL, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncapb_kfc_cssys", "dout_egl_pclk_dbg",
+			EN_PCLK_EGL, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_egl", "dout_pclk_egl", EN_PCLK_EGL, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_egl", "dout_pclk_egl", EN_PCLK_EGL, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_secjtag", "dout_egl_pclk_dbg", EN_PCLK_EGL, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "sclk_iem_hpm_target", "dout_sclk_hpm_targetclk",
+			EN_SCLK_EGL, 0, CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_FSYS
+*/
+struct samsung_gate_clock exynos5260_fsys_gate_clks[] __initdata = {
+	GATE(FSYS_HCLK_TSI, "hclk_tsi", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			25, CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_PCLK_GPIO, "pclk_gpio", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			24, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_usblink", "dout_aclk_fsys_200", EN_ACLK_FSYS, 23,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_fsys", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			22, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_fsys_top", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			21, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu", "dout_aclk_fsys_200", EN_ACLK_FSYS, 20,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_HCLK_USBHOST20, "hclk_usbhost20", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 19, CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_HCLK_SROMC, "hclk_sromc", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 18, CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_HCLK_MMC2, "hclk_mmc2", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			17, CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_HCLK_MMC1, "hclk_mmc1", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			16, CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_HCLK_MMC0, "hclk_mmc0", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			15, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_fsysp", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb_usbhs", "dout_aclk_fsys_200", EN_ACLK_FSYS,
+			10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb_fsysh", "dout_aclk_fsys_200", EN_ACLK_FSYS, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_fd64x", "dout_aclk_fsys_200", EN_ACLK_FSYS, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_ACLK_USBDRD30, "aclk_usbdrd30", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu", "dout_aclk_fsys_200", EN_ACLK_FSYS, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_ACLK_PDMA0, "aclk_pdma0", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_fsys_200", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_fsys_200", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axius32to64_usbhs_fd64x", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axius32to64_pdma0_fd64x", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ahb2axi_usbhs_fd64x", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS, 0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(FSYS_ACLK_RTIC, "aclk_rtic_i", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS_SECURE_RTIC, 12, CLK_IGNORE_UNUSED,
+			0),
+
+	GATE(FSYS_PCLK_SMMU_RTIC, "pclk_smmu_rtic", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS_SECURE_SMMU_RTIC, 14,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu_rtic", "dout_aclk_fsys_200",
+			EN_ACLK_FSYS_SECURE_SMMU_RTIC, 13,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "phyclk_usbdrd30_udrd30_pipe",
+			"mout_phyclk_usbdrd30_pipe_pclk_user",
+			EN_SCLK_FSYS, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_PHYCLK_USBDRD30, "phyclk_usbdrd30_udrd30_phyclock_g",
+			"mout_phyclk_usbdrd30_phyclock_user",
+			EN_SCLK_FSYS, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_usbhost20_clk48mohci",
+			"mout_phyclk_usbhost20_clk48mohci_user",
+			EN_SCLK_FSYS, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(FSYS_PHYCLK_USBHOST20, "phyclk_usbhost20_phyclock",
+			"mout_phyclk_usbdrd30_phyclock_user",
+			EN_SCLK_FSYS, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "phyclk_usbhost20_freeclock_gatet",
+			"mout_phyclk_usbhost20_freeclk_user",
+			EN_SCLK_FSYS, 0,
+			CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_G2D
+*/
+struct samsung_gate_clock exynos5260_g2d_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_xiu_async_g2d2x_g2d1x_aclks",
+			"mout_aclk_g2d_333_user", EN_ACLK_G2D, 26,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_async_g2d2x_g2d1x_aclkm",
+			"mout_aclk_g2d_333_user", EN_ACLK_G2D, 25,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_mdma", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			24, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_g2d2x", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			23, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_g2d1x", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			22, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_jpeg", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 20, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_jpeg", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			14, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_g2d", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			13, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_g2d", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			12, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_g2d", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_g2d", "mout_aclk_g2d_333_user", EN_ACLK_G2D,
+			10, CLK_IGNORE_UNUSED, 0),
+	GATE(G2D_ACLK_MDMA, "aclk_mdma", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_jpeg", "mout_aclk_g2d_333_user", EN_ACLK_G2D, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_g2d", "mout_aclk_g2d_333_user", EN_ACLK_G2D, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axuser_sel_sss", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axuser_sel_slim_sss", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axuser_sel_mdma", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axuser_sel_jpeg", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axuser_sel_g2d", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axi_us_64to128_g2d2x_g2d1x",
+			"mout_aclk_g2d_333_user", EN_ACLK_G2D, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_alb_g2d1x_g2dnd", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D, 0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "aclk_sss", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D_SECURE_SSS, 21, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_slim_sss", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D_SECURE_SLIM_SSS, 15,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu_slim_sss", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D_SECURE_SMMU_SLIM_SSS, 17,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu_sss", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D_SECURE_SMMU_SSS, 18,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu_mdma", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D_SECURE_SMMU_MDMA, 16,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_g2d", "mout_aclk_g2d_333_user",
+			EN_ACLK_G2D_SECURE_SMMU_G2D, 19,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "hclk_ahb_tz", "dout_pclk_g2d_83", EN_PCLK_G2D, 18,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_xiu_async_g2d2x_g2d1x", "dout_pclk_g2d_83",
+			EN_PCLK_G2D, 17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_mdma", "dout_pclk_g2d_83", EN_PCLK_G2D, 16,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_g2d", "dout_pclk_g2d_83", EN_PCLK_G2D, 15,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_g2d", "dout_pclk_g2d_83", EN_PCLK_G2D, 14,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_jpeg", "dout_pclk_g2d_83", EN_PCLK_G2D, 13,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_jpeg", "dout_pclk_g2d_83", EN_PCLK_G2D, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_g2d", "dout_pclk_g2d_83", EN_PCLK_G2D, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_g2d", "dout_pclk_g2d_83", EN_PCLK_G2D, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_g2d", "dout_pclk_g2d_83", EN_PCLK_G2D, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_alb_g2d1x_g2dnd", "dout_pclk_g2d_83", EN_PCLK_G2D,
+			4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_asyncahbslave_g2dh_jpeg", "dout_pclk_g2d_83",
+			EN_PCLK_G2D, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_asyncahbmaster_g2dh_jpeg",
+			"mout_aclk_g2d_333_user", EN_PCLK_G2D, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_sfrg2d", "dout_pclk_g2d_83", EN_PCLK_G2D,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_g2d", "dout_pclk_g2d_83", EN_PCLK_G2D, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "pclk_smmu_slim_sss", "dout_pclk_g2d_83",
+			EN_PCLK_G2D_SECURE_SMMU_SLIM_SSS, 10,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu_sss", "dout_pclk_g2d_83",
+			EN_PCLK_G2D_SECURE_SMMU_SSS, 11,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu_mdma", "dout_pclk_g2d_83",
+			EN_PCLK_G2D_SECURE_SMMU_MDMA, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_g2d", "dout_pclk_g2d_83",
+			EN_PCLK_G2D_SECURE_SMMU_G2D, 12,
+			CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_G3D
+*/
+struct samsung_gate_clock exynos5260_g3d_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_noc_p_g3d", "dout_pclk_g3d", EN_ACLK_G3D, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_g3d", "dout_aclk_g3d", EN_ACLK_G3D, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncapb_socp_g3d", "dout_aclk_g3d", EN_ACLK_G3D,
+			3, CLK_IGNORE_UNUSED, 0),
+	GATE(G3D_ACLK_G3D, "aclk_g3d", "dout_aclk_g3d", EN_ACLK_G3D, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_acr_lite_g3d", "dout_aclk_g3d", EN_ACLK_G3D, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_g3d", "dout_aclk_g3d", EN_ACLK_G3D, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "pclk_g3d_hpm_sfrif", "dout_pclk_g3d", EN_PCLK_G3D, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_reg_g3d", "dout_pclk_g3d", EN_PCLK_G3D, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_g3d", "dout_pclk_g3d", EN_PCLK_G3D, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_ace_lite_g3d", "dout_pclk_g3d", EN_PCLK_G3D, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_g3d", "dout_pclk_g3d", EN_PCLK_G3D, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncapb_socp_g3d", "dout_pclk_g3d", EN_PCLK_G3D,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_g3d", "dout_pclk_g3d", EN_PCLK_G3D, 0,
+			CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_GSCL
+*/
+struct samsung_gate_clock exynos5260_gscl_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_noc_d_gscl_333", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 27, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_mscl_400", "mout_aclk_m2m_400_user",
+			EN_ACLK_GSCL, 26, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_gscl_100", "dout_pclk_m2m_100",
+			EN_ACLK_GSCL, 25, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_msclx", "mout_aclk_m2m_400_user",
+			EN_ACLK_GSCL, 24, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_gsclx", "mout_aclk_gscl_333", EN_ACLK_GSCL,
+			23, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_mscl1", "mout_aclk_m2m_400_user", EN_ACLK_GSCL,
+			19, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_mscl0", "mout_aclk_m2m_400_user", EN_ACLK_GSCL,
+			18, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_mscl", "mout_aclk_m2m_400_user",
+			EN_ACLK_GSCL, 17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_m2mscaler1", "mout_aclk_m2m_400_user",
+			EN_ACLK_GSCL, 15, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_m2mscaler0", "mout_aclk_m2m_400_user",
+			EN_ACLK_GSCL, 14, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_asyncs_gsclx", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 12, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_gscl1", "mout_aclk_gscl_333", EN_ACLK_GSCL, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_gscl0", "mout_aclk_gscl_333", EN_ACLK_GSCL, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_gscl", "mout_aclk_gscl_333", EN_ACLK_GSCL, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncs_gscl1", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncs_gscl0", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_pixelasyncm_gscl0", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(GSCL_ACLK_GSCL1, "aclk_gscaler1", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(GSCL_ACLK_GSCL0, "aclk_gscaler0", "mout_aclk_gscl_333",
+			EN_ACLK_GSCL, 0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "aclk_noc_d_fimc_333", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_fimc_lite_d_i", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_fimc_lite_b_i", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_fimc_lite_a_i", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_lite_d", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_lite_b", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_lite_a", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_lite_d", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_lite_b", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_lite_a", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_fimc", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_xiu_fimcx", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_FIMC, 0, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_gscl0", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_SECURE_SMMU_GSCL0, 10,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_gscl1", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_SECURE_SMMU_GSCL1, 11,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_mscl0", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_SECURE_SMMU_MSCL0, 00,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_smmu3_mscl1", "mout_aclk_gscl_fimc_user",
+			EN_ACLK_GSCL_SECURE_SMMU_MSCL1, 21,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "pclk_sysreg_gscl", "dout_pclk_m2m_100", EN_PCLK_GSCL,
+			18, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_mscl1", "dout_pclk_m2m_100", EN_PCLK_GSCL, 13,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_mscl0", "dout_pclk_m2m_100", EN_PCLK_GSCL, 12,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_gscl1", "dout_pclk_m2m_100", EN_PCLK_GSCL, 11,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_gscl0", "dout_pclk_m2m_100", EN_PCLK_GSCL, 10,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_mscl", "dout_pclk_m2m_100", EN_PCLK_GSCL, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_gscl", "dout_pclk_m2m_100", EN_PCLK_GSCL, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_gscl", "dout_pclk_m2m_100", EN_PCLK_GSCL, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_m2mscaler1", "dout_pclk_m2m_100", EN_PCLK_GSCL, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_m2mscaler0", "dout_pclk_m2m_100", EN_PCLK_GSCL, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(GSCL_PCLK_GSCL1, "pclk_gscaler1", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(GSCL_PCLK_GSCL0, "pclk_gscaler0", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_msclp", "dout_pclk_m2m_100", EN_PCLK_GSCL,
+			2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_gsclp", "dout_pclk_m2m_100", EN_PCLK_GSCL,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_fimc", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_lite_d", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 16, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_lite_b", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 15, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_lite_a", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 14, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_lite_d", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 13, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_lite_b", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 12, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_lite_a", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_fimc_lite_d", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_fimc_lite_b", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_fimc_lite_a", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_csis1", "dout_pclk_m2m_100", EN_PCLK_GSCL_FIMC, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_csis0", "dout_pclk_m2m_100", EN_PCLK_GSCL_FIMC, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_hpm9t_wrap_gscl", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_fimcp", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb_gsclh", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_asyncahbm_isph", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_asyncahbm_fimcnp", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_asyncahbs_fimcnp", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_FIMC, 0, CLK_IGNORE_UNUSED, 0),
+	GATE(GSCL_PCLK_SMMU_GSCL0, "pclk_smmu3_gscl0", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_SECURE_SMMU_GSCL0, 14,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(GSCL_PCLK_SMMU_GSCL1, "pclk_smmu3_gscl1", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_SECURE_SMMU_GSCL1, 15,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_mscl0", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_SECURE_SMMU_MSCL0, 16,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_smmu3_mscl1", "dout_pclk_m2m_100",
+			EN_PCLK_GSCL_SECURE_SMMU_MSCL1, 17,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "sclk_gscl_hpm_targetclk", "dout_sclk_hpm_targetclk",
+			EN_SCLK_GSCL, 0, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_csis1_wrap", "dout_aclk_csis_200",
+			EN_SCLK_GSCL_FIMC, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_csis0_wrap", "dout_aclk_csis_200",
+			EN_SCLK_GSCL_FIMC, 0, CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_ISP
+*/
+struct samsung_gate_clock exynos5260_isp_gate_clks[] __initdata = {
+};
+
+/*
+ * List of Gate clocks for CMU_KFC
+*/
+struct samsung_gate_clock exynos5260_kfc_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_asyncatbs_kfc_3", "dout_kfc_atclk", EN_ACLK_KFC,
+			4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncatbs_kfc_2", "dout_kfc_atclk", EN_ACLK_KFC,
+			3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncatbs_kfc_1", "dout_kfc_atclk", EN_ACLK_KFC,
+			2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncatbs_kfc_0", "dout_kfc_atclk", EN_ACLK_KFC,
+			1, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncaces_kfc_cci", "dout_aclk_kfc", EN_ACLK_KFC,
+			0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "pclk_kfc_hpm_sfrif", "dout_pclk_kfc", EN_PCLK_KFC, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_atbdownsizer63to32_kfc3", "dout_aclk_kfc",
+			EN_PCLK_KFC, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_atbdownsizer63to32_kfc2", "dout_aclk_kfc",
+			EN_PCLK_KFC, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_atbdownsizer63to32_kfc1", "dout_aclk_kfc",
+			EN_PCLK_KFC, 6, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_atbdownsizer63to32_kfc0", "dout_aclk_kfc",
+			EN_PCLK_KFC, 5, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_ahb2apb_kfcp", "dout_pclk_kfc", EN_PCLK_KFC, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_nocp_kfc_225", "dout_pclk_kfc", EN_PCLK_KFC, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_dapapbmux_dbg", "dout_kfc_pclk_dbg", EN_PCLK_KFC,
+			2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_kfc", "dout_pclk_kfc", EN_PCLK_KFC, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_kfc", "dout_pclk_kfc", EN_PCLK_KFC, 0,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_kfc_hpm_targetclk", "dout_sclk_hpm_targetclk",
+			EN_SCLK_KFC, 0, CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_MFC
+*/
+struct samsung_gate_clock exynos5260_mfc_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_xiu_mfcx_2x1_top", "mout_aclk_mfc_333_user",
+			EN_ACLK_MFC, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_mfcm1", "mout_aclk_mfc_333_user", EN_ACLK_MFC,
+			4, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_mfcm0", "mout_aclk_mfc_333_user", EN_ACLK_MFC,
+			3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_mfc", "mout_aclk_mfc_333_user", EN_ACLK_MFC,
+			2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_mfc_333", "mout_aclk_mfc_333_user",
+			EN_ACLK_MFC, 1, CLK_IGNORE_UNUSED, 0),
+	GATE(MFC_ACLK_MFC, "aclk_mfc", "mout_aclk_mfc_333_user", EN_ACLK_MFC,
+			0, CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "aclk_smmu2_mfcm1", "mout_aclk_mfc_333_user",
+			EN_ACLK_SECURE_SMMU2_MFC, 6, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "aclk_smmu2_mfcm0", "mout_aclk_mfc_333_user",
+			EN_ACLK_SECURE_SMMU2_MFC, 5, CLK_IGNORE_UNUSED,
+			0),
+
+	GATE(ID_NONE, "pclk_sysreg_mfc", "dout_pclk_mfc_83", EN_PCLK_MFC, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_mfcm1", "dout_pclk_mfc_83", EN_PCLK_MFC, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_mfcm0", "dout_pclk_mfc_83", EN_PCLK_MFC, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_mfc", "dout_pclk_mfc_83", EN_PCLK_MFC, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_mfc", "dout_pclk_mfc_83", EN_PCLK_MFC, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(MFC_PCLK_MFC, "pclk_mfc", "dout_pclk_mfc_83", EN_PCLK_MFC, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ahb2apb_mfcp", "dout_pclk_mfc_83", EN_PCLK_MFC, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_mfc_83", "dout_pclk_mfc_83", EN_PCLK_MFC, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(MFC_PCLK_SMMU_MFC1, "pclk_smmu2_mfcm1", "dout_pclk_mfc_83",
+	EN_PCLK_SECURE_SMMU2_MFC, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(MFC_PCLK_SMMU_MFC0, "pclk_smmu2_mfcm0", "dout_pclk_mfc_83",
+	EN_PCLK_SECURE_SMMU2_MFC, 8, CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_MIF
+*/
+struct samsung_gate_clock exynos5260_mif_gate_clks[] __initdata = {
+	GATE(ID_NONE, "aclk_lpddr3phy_wrap_u1", "dout_clk2x_phy", EN_ACLK_MIF,
+			22, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_lpddr3phy_wrap_u0", "dout_clk2x_phy", EN_ACLK_MIF,
+			21, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ace_async_mi_top_kfc", "dout_aclk_mif_466",
+			EN_ACLK_MIF, 20, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ace_async_mi_top_egl", "dout_aclk_mif_466",
+			EN_ACLK_MIF, 19, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_asyncahb_master_hclkm", "dout_aclk_mif_466",
+			EN_ACLK_MIF, 18, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ahb2axi_mmd32", "dout_aclk_mif_466", EN_ACLK_MIF,
+			17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_axi_us_32to128_top_buf", "dout_aclk_mif_466",
+			EN_ACLK_MIF, 16, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_kfc", "dout_aclk_mif_466", EN_ACLK_MIF, 15,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_qe_egl", "dout_aclk_mif_466", EN_ACLK_MIF, 14,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_drexi1_1", "dout_aclk_mif_466", EN_ACLK_MIF,
+			13, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_drexi1_0", "dout_aclk_mif_466", EN_ACLK_MIF,
+			12, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_drexi0_1", "dout_aclk_mif_466", EN_ACLK_MIF,
+			11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_drexi0_0", "dout_aclk_mif_466", EN_ACLK_MIF,
+			10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_kfc", "dout_aclk_mif_466", EN_ACLK_MIF, 9,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_ppmu_egl", "dout_aclk_mif_466", EN_ACLK_MIF, 8,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_d_mif", "dout_aclk_mif_466", EN_ACLK_MIF, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_cci400", "dout_aclk_mif_466", EN_ACLK_MIF, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_mif_nocpnp_100", "dout_aclk_bus_100",
+			EN_ACLK_MIF, 3, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_mif_nocdnp_200", "dout_aclk_bus_200",
+			EN_ACLK_MIF, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "aclk_noc_p_mif_nocpnd_200", "dout_aclk_bus_200",
+			EN_ACLK_MIF, 1, CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "aclk_drexi_v2_u1", "dout_aclk_bus_200",
+			EN_ACLK_MIF_SECURE_DREX1_TZ, 6, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "aclk_drexi_v2_u0", "dout_aclk_bus_200",
+			EN_ACLK_MIF_SECURE_DREX0_TZ, 6, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "aclk_intmem", "dout_aclk_bus_200",
+			EN_ACLK_MIF_SECURE_INTMEM, 0, CLK_IGNORE_UNUSED,
+			0),
+
+	GATE(ID_NONE, "pclk_sysreg_mif", "dout_aclk_bus_100", EN_PCLK_MIF, 21,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pmu_mif", "dout_aclk_bus_100", EN_PCLK_MIF, 20,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_kfc", "dout_aclk_bus_100", EN_PCLK_MIF, 19,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_qe_egl", "dout_aclk_bus_100", EN_PCLK_MIF, 18,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_drex1_1", "dout_aclk_bus_100", EN_PCLK_MIF,
+			17, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_drex1_0", "dout_aclk_bus_100", EN_PCLK_MIF,
+			16, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_drex0_1", "dout_aclk_bus_100", EN_PCLK_MIF,
+			15, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_drex0_0", "dout_aclk_bus_100", EN_PCLK_MIF,
+			14, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_kfc", "dout_aclk_bus_100", EN_PCLK_MIF, 13,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_ppmu_egl", "dout_aclk_bus_100", EN_PCLK_MIF, 12,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_lpddr3phy_wrap_u1", "dout_aclk_bus_100",
+			EN_PCLK_MIF, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_lpddr3phy_wrap_u0", "dout_aclk_bus_100",
+			EN_PCLK_MIF, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sfr_apbif", "dout_aclk_bus_100", EN_PCLK_MIF, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_gic_cpu", "dout_aclk_bus_100", EN_PCLK_MIF, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_axi2apb_csp", "dout_aclk_bus_100", EN_PCLK_MIF, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_axi2apb_cdrexp", "dout_aclk_bus_100", EN_PCLK_MIF,
+			2, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_xiu_cnvsx", "dout_aclk_bus_100", EN_PCLK_MIF, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_asyncapb_cssys", "dout_aclk_bus_100", EN_PCLK_MIF,
+			0, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_monocnt_apbif", "dout_aclk_bus_100",
+			EN_PCLK_MIF_SECURE_MONOCNT, 5, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_rtc_apbif", "dout_aclk_bus_100",
+			EN_PCLK_MIF_SECURE_RTC_APBIF, 6,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_drexi_v2_u1", "dout_aclk_bus_100",
+			EN_PCLK_MIF_SECURE_DREX1_TZ, 0, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_drexi_v2_u0", "dout_aclk_bus_100",
+			EN_PCLK_MIF_SECURE_DREX0_TZ, 0, CLK_IGNORE_UNUSED,
+			0),
+
+	GATE(ID_NONE, "sclk_lpddr3phy_wrap_u1", "dout_clkm_phy", EN_SCLK_MIF,
+			0, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "sclk_lpddr3phy_wrap_u0", "dout_clkm_phy", EN_SCLK_MIF,
+			0, CLK_IGNORE_UNUSED, 0),
+};
+
+/*
+ * List of Gate clocks for CMU_PERI
+*/
+struct samsung_gate_clock exynos5260_peri_gate_clks[] __initdata = {
+	GATE(ID_NONE, "pclk_pmu_peri", "dout_aclk_peri_66", EN_PCLK_PERI0, 23,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2S1, "pclk_i2s1", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			22, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C7, "pclk_i2c7", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			20, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C6, "pclk_i2c6", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			19, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C5, "pclk_i2c5", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			18, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C4, "pclk_i2c4", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			17, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C9, "pclk_i2c9", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			16, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C8, "pclk_i2c8", "dout_aclk_peri_66", EN_PCLK_PERI0,
+			15, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C11, "pclk_i2c11", "dout_aclk_peri_66",
+			EN_PCLK_PERI0, 14, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_I2C10, "pclk_i2c10", "dout_aclk_peri_66",
+			EN_PCLK_PERI0, 13, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_hdmicec", "dout_aclk_peri_66", EN_PCLK_PERI0, 12,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_cmutop", "dout_aclk_peri_66", EN_PCLK_PERI0, 11,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_efuse_writer_sc", "dout_aclk_peri_66",
+			EN_PCLK_PERI0, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_efuse_writer_nsc", "dout_aclk_peri_66",
+			EN_PCLK_PERI0, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "nclk_perinp", "dout_aclk_peri_66", EN_PCLK_PERI0, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_peris1p", "dout_aclk_peri_66", EN_PCLK_PERI0, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_peris0p", "dout_aclk_peri_66", EN_PCLK_PERI0, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_perih", "dout_aclk_peri_66", EN_PCLK_PERI0, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_peric1p", "dout_aclk_peri_66", EN_PCLK_PERI0, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "hclk_peric0p", "dout_aclk_peri_66", EN_PCLK_PERI0, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(ID_NONE, "pclk_asv_tbl", "dout_aclk_peri_66", EN_PCLK_PERI1, 20,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_ADC, "pclk_adc", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			15, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_TMU1, "pclk_tmu1", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			14, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_TMU0, "pclk_tmu0", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			13, CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_sysreg_peri", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			12, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_SPI2, "pclk_spi2", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			11, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_SPI1, "pclk_spi1", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			10, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_SPI0, "pclk_spi0", "dout_aclk_peri_66", EN_PCLK_PERI1,
+			9, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_SPDIF, "pclk_spdif", "dout_aclk_peri_66",
+			EN_PCLK_PERI1, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_PWM, "pclk_pwm", "dout_aclk_peri_66", EN_PCLK_PERI1, 5,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_ABB, "pclk_abb", "dout_aclk_peri_66", EN_PCLK_PERI1, 2,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_pcm1", "dout_aclk_peri_66", EN_PCLK_PERI1, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_MCT, "pclk_mct", "dout_aclk_peri_66", EN_PCLK_PERI1, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(PERI_PCLK_HSIC3, "pclk_hsic3", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 17, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_HSIC2, "pclk_hsic2", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 15, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_HSIC1, "pclk_hsic1", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 13, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_HSIC0, "pclk_hsic0", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_UART0, "pclk_uart0", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_UART2, "pclk_uart2", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_UART1, "pclk_uart1", "dout_aclk_peri_66",
+			EN_PCLK_PERI2, 7, CLK_IGNORE_UNUSED, 0),
+
+	GATE(PERI_PCLK_WDT_KFC, "pclk_wdt_kfc", "dout_aclk_peri_66",
+			EN_PCLK_PERI3, 20, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_WDT_EGL, "pclk_wdt_egl", "dout_aclk_peri_66",
+			EN_PCLK_PERI3, 19, CLK_IGNORE_UNUSED, 0),
+
+	GATE(PERI_SCLK_UART2, "sclk_uart2", "dout_sclk_peri_uart2",
+			EN_SCLK_PERI, 12, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_UART1, "sclk_uart1", "dout_sclk_peri_uart1",
+			EN_SCLK_PERI, 11, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_UART0, "sclk_uart0", "dout_sclk_peri_uart0",
+			EN_SCLK_PERI, 10, CLK_IGNORE_UNUSED, 0),
+
+	GATE(PERI_PCLK_CHIPID, "pclk_chipid", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_CHIPID, 6, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_provkey0", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_PROVKEY0, 3,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_provkey1", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_PROVKEY1, 4,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(ID_NONE, "pclk_seckey", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_SECKEY, 7, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_antirbkcnt", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_ANTIRBKCNT, 7,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_PCLK_TOP_RTC, "pclk_top_rtc", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TOP_RTC, 6, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc3", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 19, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc2", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 18, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc1", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 17, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc0", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 16, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc10", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 6, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc9", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 5, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc8", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 4, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc7", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 3, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc6", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 2, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc5", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 1, CLK_IGNORE_UNUSED,
+			0),
+	GATE(ID_NONE, "pclk_tzpc4", "dout_aclk_peri_66",
+			EN_PCLK_PERI_SECURE_TZPC, 0, CLK_IGNORE_UNUSED,
+			0),
+
+	GATE(PERI_SCLK_SPI2, "sclk_spi2", "dout_sclk_peri_spi2_b",
+			EN_SCLK_PERI, 9, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_SPI1, "sclk_spi1", "dout_sclk_peri_spi1_b",
+			EN_SCLK_PERI, 8, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_SPI0, "sclk_spi0", "dout_sclk_peri_spi0_b",
+			EN_SCLK_PERI, 7, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_SPDIF, "sclk_spdif", "dout_sclk_peri_spi0_b",
+			EN_SCLK_PERI, 2, CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_I2S, "sclk_i2s", "dout_i2s", EN_SCLK_PERI, 1,
+			CLK_IGNORE_UNUSED, 0),
+	GATE(PERI_SCLK_PCM1, "sclk_pcm1", "dout_pcm", EN_SCLK_PERI, 0,
+			CLK_IGNORE_UNUSED, 0),
+
+	GATE(PERI_SCLK_RTC, "sclk_rtc_clkout", "xrtcxti",
+			EN_SCLK_PERI_SECURE_TOP_RTC, 7, CLK_IGNORE_UNUSED,
+			0),
+};
+
+/*
+ * List of Gate clocks for CMU_TOP
+*/
+struct samsung_gate_clock exynos5260_top_gate_clks[] __initdata = {
+	GATE(TOP_SCLK_FIMD1, "sclk_disp_pixel", "dout_sclk_disp_pixel",
+			EN_ACLK_TOP, 10, CLK_IGNORE_UNUSED, 0),
+	GATE(TOP_SCLK_MMC2, "sclk_fsys_mmc2_sdclkin",
+			"dout_sclk_fsys_mmc2_sdclkin_b", EN_SCLK_TOP, 9,
+			CLK_SET_RATE_PARENT,
+			0),
+	GATE(TOP_SCLK_MMC1, "sclk_fsys_mmc1_sdclkin",
+			"dout_sclk_fsys_mmc1_sdclkin_b", EN_SCLK_TOP, 8,
+			CLK_SET_RATE_PARENT,
+			0),
+	GATE(TOP_SCLK_MMC0, "sclk_fsys_mmc0_sdclkin",
+			"dout_sclk_fsys_mmc0_sdclkin_b", EN_SCLK_TOP, 7,
+			CLK_SET_RATE_PARENT,
+			0),
+};
+
+/*
+* Applicable for all 2550 Type PLLS for Exynos5260, listed below
+* DISP_PLL, EGL_PLL, KFC_PLL, MEM_PLL,
+* BUS_PLL, MEDIA_PLL, G3D_PLL.
+*/
+static const struct samsung_pll_rate_table exynos5260_pll2550_24mhz_tbl[] = {
+	PLL_35XX_RATE(1700000000, 425, 6, 0),
+	PLL_35XX_RATE(1600000000, 200, 3, 0),
+	PLL_35XX_RATE(1500000000, 250, 4, 0),
+	PLL_35XX_RATE(1400000000, 175, 3, 0),
+	PLL_35XX_RATE(1300000000, 325, 6, 0),
+	PLL_35XX_RATE(1200000000, 400, 4, 1),
+	PLL_35XX_RATE(1100000000, 275, 3, 1),
+	PLL_35XX_RATE(1000000000, 250, 3, 1),
+	PLL_35XX_RATE(933000000, 311, 4, 1),
+	PLL_35XX_RATE(900000000, 300, 4, 1),
+	PLL_35XX_RATE(800000000, 200, 3, 1),
+	PLL_35XX_RATE(733000000, 733, 12, 1),
+	PLL_35XX_RATE(700000000, 175, 3, 1),
+	PLL_35XX_RATE(667000000, 667, 12, 1),
+	PLL_35XX_RATE(633000000, 211, 4, 1),
+	PLL_35XX_RATE(620000000, 310, 3, 2),
+	PLL_35XX_RATE(600000000, 400, 4, 2),
+	PLL_35XX_RATE(543000000, 362, 4, 2),
+	PLL_35XX_RATE(533000000, 533, 6, 2),
+	PLL_35XX_RATE(500000000, 250, 3, 2),
+	PLL_35XX_RATE(450000000, 300, 4, 2),
+	PLL_35XX_RATE(400000000, 200, 3, 2),
+	PLL_35XX_RATE(350000000, 175, 3, 2),
+	PLL_35XX_RATE(300000000, 400, 4, 3),
+	PLL_35XX_RATE(266000000, 266, 3, 3),
+	PLL_35XX_RATE(200000000, 200, 3, 3),
+	PLL_35XX_RATE(160000000, 160, 3, 3),
+};
+
+/*
+* Applicable for 2650 Type PLL for AUD_PLL.
+*/
+static const struct samsung_pll_rate_table exynos5260_pll2650_24mhz_tbl[] = {
+	PLL_36XX_RATE(1600000000, 200, 3, 0, 0),
+	PLL_36XX_RATE(1200000000, 100, 2, 0, 0),
+	PLL_36XX_RATE(1000000000, 250, 3, 1, 0),
+	PLL_36XX_RATE(800000000, 200, 3, 1, 0),
+	PLL_36XX_RATE(600000000, 100, 2, 1, 0),
+	PLL_36XX_RATE(532000000, 266, 3, 2, 0),
+	PLL_36XX_RATE(480000000, 160, 2, 2, 0),
+	PLL_36XX_RATE(432000000, 144, 2, 2, 0),
+	PLL_36XX_RATE(400000000, 200, 3, 2, 0),
+	PLL_36XX_RATE(394216000, 459, 7, 2, 49282),
+	PLL_36XX_RATE(333000000, 111, 2, 2, 0),
+	PLL_36XX_RATE(300000000, 100, 2, 2, 0),
+	PLL_36XX_RATE(266000000, 266, 3, 3, 0),
+	PLL_36XX_RATE(200000000, 200, 3, 3, 0),
+	PLL_36XX_RATE(166000000, 166, 3, 3, 0),
+	PLL_36XX_RATE(133000000, 266, 3, 4, 0),
+	PLL_36XX_RATE(100000000, 200, 3, 4, 0),
+	PLL_36XX_RATE(66000000, 176, 2, 5, 0),
+};
+
+static struct of_device_id ext_clk_match[] __initdata = {
+	{ .compatible = "samsung,exynos5260-oscclk", .data = (void *)0, },
+	{ },
+};
+
+static struct of_device_id cmu_subtype_match_table[] = {
+	{
+		.compatible = "exynos5260-cmu-all",
+		.data	= (void	*)CMU_TYPE_ALL,
+	}, {
+		.compatible = "exynos5260-cmu-top",
+		.data	= (void	*)CMU_TYPE_TOP,
+	}, {
+		.compatible = "exynos5260-cmu-peri",
+		.data	= (void	*)CMU_TYPE_PERI,
+	}, {
+		.compatible = "exynos5260-cmu-egl",
+		.data	= (void	*)CMU_TYPE_EGL,
+	}, {
+		.compatible = "exynos5260-cmu-kfc",
+		.data	= (void	*)CMU_TYPE_KFC,
+	}, {
+		.compatible = "exynos5260-cmu-g2d",
+		.data	= (void	*)CMU_TYPE_G2D,
+	}, {
+		.compatible = "exynos5260-cmu-mif",
+		.data	= (void	*)CMU_TYPE_MIF,
+	}, {
+		.compatible = "exynos5260-cmu-mfc",
+		.data	= (void	*)CMU_TYPE_MFC,
+	}, {
+		.compatible = "exynos5260-cmu-g3d",
+		.data	= (void	*)CMU_TYPE_G3D,
+	}, {
+		.compatible = "exynos5260-cmu-fsys",
+		.data	= (void	*)CMU_TYPE_FSYS,
+	}, {
+		.compatible = "exynos5260-cmu-aud",
+		.data	= (void	*)CMU_TYPE_AUD,
+	}, {
+		.compatible = "exynos5260-cmu-isp",
+		.data	= (void	*)CMU_TYPE_ISP,
+	}, {
+		.compatible = "exynos5260-cmu-gscl",
+		.data	= (void	*)CMU_TYPE_GSCL,
+	}, {
+		.compatible = "exynos5260-cmu-disp",
+		.data	= (void	*)CMU_TYPE_DISP,
+	}, {
+		/* end node */
+	}
+};
+
+static struct samsung_pll_clock exynos5260_top_pll_clks[] __initdata = {
+	PLL(pll_2550xx, TOP_FOUT_DISP_PLL, "fout_disp_pll", "fin_pll",
+		DISP_PLL_LOCK, DISP_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+	PLL(pll_2650xx, TOP_FOUT_AUD_PLL, "fout_aud_pll", "fin_pll",
+		AUD_PLL_LOCK, AUD_PLL_CON0,
+		exynos5260_pll2650_24mhz_tbl),
+};
+
+static struct samsung_pll_clock exynos5260_egl_pll_clks[] __initdata = {
+	PLL(pll_2550xx, EGL_FOUT_EGL_PLL, "fout_egl_pll", "fin_pll",
+		EGL_PLL_LOCK, EGL_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+};
+
+static struct samsung_pll_clock exynos5260_kfc_pll_clks[] __initdata = {
+	PLL(pll_2550xx, KFC_FOUT_KFC_PLL, "fout_kfc_pll", "fin_pll",
+		KFC_PLL_LOCK, KFC_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+};
+
+static struct samsung_pll_clock exynos5260_mif_pll_clks[] __initdata = {
+	PLL(pll_2550xx, MIF_FOUT_MEM_PLL, "fout_mem_pll", "fin_pll",
+		MEM_PLL_LOCK, MEM_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+	PLL(pll_2550xx, MIF_FOUT_BUS_PLL, "fout_bus_pll", "fin_pll",
+		BUS_PLL_LOCK, BUS_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+	PLL(pll_2550xx, MIF_FOUT_MEDIA_PLL, "fout_media_pll", "fin_pll",
+		MEDIA_PLL_LOCK, MEDIA_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+};
+
+static struct samsung_pll_clock exynos5260_g3d_pll_clks[] __initdata = {
+	PLL(pll_2550, G3D_FOUT_G3D_PLL, "fout_g3d_pll", "fin_pll",
+		G3D_PLL_LOCK, G3D_PLL_CON0,
+		exynos5260_pll2550_24mhz_tbl),
+};
+
+void __init exynos5260_clk_init(struct device_node *np)
+{
+	void __iomem *reg_base;
+	const struct of_device_id *match;
+	struct samsung_clk_reg_dump *rdump;
+	struct samsung_clk_provider *ctx;
+	unsigned long nr_rdump;
+
+	if (!np)
+		panic("%s: unable to determine soc\n", __func__);
+
+	match = of_match_node(cmu_subtype_match_table, np);
+
+	if (!match)
+		panic("%s: cmu type (%s) is not supported.\n", __func__,
+		np->name);
+
+	reg_base = of_iomap(np, 0);
+	if (!reg_base)
+		panic("%s: failed to map registers\n", __func__);
+
+	if ((int)match->data == CMU_TYPE_AUD) {
+		rdump = exynos5260_aud_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_aud_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, AUD_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_aud_mux_clks,
+			ARRAY_SIZE(exynos5260_aud_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_aud_div_clks,
+			ARRAY_SIZE(exynos5260_aud_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_aud_gate_clks,
+			ARRAY_SIZE(exynos5260_aud_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_DISP) {
+		rdump = exynos5260_disp_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_disp_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, DISP_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_disp_mux_clks,
+			ARRAY_SIZE(exynos5260_disp_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_disp_div_clks,
+			ARRAY_SIZE(exynos5260_disp_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_disp_gate_clks,
+			ARRAY_SIZE(exynos5260_disp_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_EGL) {
+		rdump = exynos5260_egl_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_egl_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, EGL_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_pll(ctx, exynos5260_egl_pll_clks,
+				ARRAY_SIZE(exynos5260_egl_pll_clks),
+				reg_base);
+
+		samsung_clk_register_mux(ctx, exynos5260_egl_mux_clks,
+			ARRAY_SIZE(exynos5260_egl_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_egl_div_clks,
+			ARRAY_SIZE(exynos5260_egl_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_egl_gate_clks,
+			ARRAY_SIZE(exynos5260_egl_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_FSYS) {
+		rdump = exynos5260_fsys_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_fsys_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, FSYS_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_fsys_mux_clks,
+			ARRAY_SIZE(exynos5260_fsys_mux_clks));
+		samsung_clk_register_gate(ctx, exynos5260_fsys_gate_clks,
+			ARRAY_SIZE(exynos5260_fsys_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_G2D) {
+		rdump = exynos5260_g2d_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_g2d_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, G2D_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_g2d_mux_clks,
+			ARRAY_SIZE(exynos5260_g2d_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_g2d_div_clks,
+			ARRAY_SIZE(exynos5260_g2d_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_g2d_gate_clks,
+			ARRAY_SIZE(exynos5260_g2d_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_G3D) {
+		rdump = exynos5260_g3d_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_g3d_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, G3D_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+		samsung_clk_register_pll(ctx, exynos5260_g3d_pll_clks,
+				ARRAY_SIZE(exynos5260_g3d_pll_clks),
+				reg_base);
+		samsung_clk_register_mux(ctx, exynos5260_g3d_mux_clks,
+			ARRAY_SIZE(exynos5260_g3d_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_g3d_div_clks,
+			ARRAY_SIZE(exynos5260_g3d_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_g3d_gate_clks,
+			ARRAY_SIZE(exynos5260_g3d_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_GSCL) {
+		rdump = exynos5260_gscl_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_gscl_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, GSCL_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_gscl_mux_clks,
+			ARRAY_SIZE(exynos5260_gscl_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_gscl_div_clks,
+			ARRAY_SIZE(exynos5260_gscl_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_gscl_gate_clks,
+			ARRAY_SIZE(exynos5260_gscl_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_ISP) {
+		rdump = exynos5260_isp_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_isp_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, ISP_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_isp_mux_clks,
+			ARRAY_SIZE(exynos5260_isp_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_isp_div_clks,
+			ARRAY_SIZE(exynos5260_isp_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_isp_gate_clks,
+			ARRAY_SIZE(exynos5260_isp_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_KFC) {
+		rdump = exynos5260_kfc_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_kfc_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, KFC_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_pll(ctx, exynos5260_kfc_pll_clks,
+				ARRAY_SIZE(exynos5260_kfc_pll_clks),
+				reg_base);
+		samsung_clk_register_mux(ctx, exynos5260_kfc_mux_clks,
+			ARRAY_SIZE(exynos5260_kfc_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_kfc_div_clks,
+			ARRAY_SIZE(exynos5260_kfc_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_kfc_gate_clks,
+			ARRAY_SIZE(exynos5260_kfc_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_MFC) {
+		rdump = exynos5260_mfc_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_mfc_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, MFC_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_mfc_mux_clks,
+			ARRAY_SIZE(exynos5260_mfc_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_mfc_div_clks,
+			ARRAY_SIZE(exynos5260_mfc_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_mfc_gate_clks,
+			ARRAY_SIZE(exynos5260_mfc_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_MIF) {
+		rdump = exynos5260_mif_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_mif_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, MIF_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_pll(ctx, exynos5260_mif_pll_clks,
+				ARRAY_SIZE(exynos5260_mif_pll_clks),
+				reg_base);
+		samsung_clk_register_mux(ctx, exynos5260_mif_mux_clks,
+			ARRAY_SIZE(exynos5260_mif_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_mif_div_clks,
+			ARRAY_SIZE(exynos5260_mif_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_mif_gate_clks,
+			ARRAY_SIZE(exynos5260_mif_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_PERI) {
+		rdump = exynos5260_peri_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_peri_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, PERI_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_register_mux(ctx, exynos5260_peri_mux_clks,
+			ARRAY_SIZE(exynos5260_peri_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_peri_div_clks,
+			ARRAY_SIZE(exynos5260_peri_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_peri_gate_clks,
+			ARRAY_SIZE(exynos5260_peri_gate_clks));
+
+	} else if ((int)match->data == CMU_TYPE_TOP) {
+		rdump = exynos5260_top_clk_regs;
+		nr_rdump = ARRAY_SIZE(exynos5260_top_clk_regs);
+
+		ctx = samsung_clk_init(np, reg_base, TOP_NR_CLK);
+		if (!ctx)
+			panic("%s: unable to alllocate ctx\n", __func__);
+
+		samsung_clk_of_register_fixed_ext(ctx,
+		exynos5260_fixed_rate_ext_clks,
+				ARRAY_SIZE(
+				exynos5260_fixed_rate_ext_clks),
+				ext_clk_match);
+
+		samsung_clk_register_fixed_rate(ctx,
+		exynos5260_fixed_rate_clks,
+				ARRAY_SIZE(exynos5260_fixed_rate_clks));
+
+		samsung_clk_register_pll(ctx, exynos5260_top_pll_clks,
+				ARRAY_SIZE(exynos5260_top_pll_clks),
+
+				reg_base);
+
+		samsung_clk_register_mux(ctx, exynos5260_top_mux_clks,
+			ARRAY_SIZE(exynos5260_top_mux_clks));
+		samsung_clk_register_div(ctx, exynos5260_top_div_clks,
+			ARRAY_SIZE(exynos5260_top_div_clks));
+		samsung_clk_register_gate(ctx, exynos5260_top_gate_clks,
+			ARRAY_SIZE(exynos5260_top_gate_clks));
+		} else {
+			panic("%s: invalid cmu sub-type.\n", __func__);
+	};
+
+	exynos5260_clk_sleep_init(reg_base, rdump, nr_rdump);
+}
+
+CLK_OF_DECLARE(exynos5260_clk, "samsung,exynos5260-clock", exynos5260_clk_init);
+
+
+
+
+
+
+
diff --git a/drivers/clk/samsung/clk-exynos5260.h b/drivers/clk/samsung/clk-exynos5260.h
new file mode 100644
index 0000000..def73e6
--- /dev/null
+++ b/drivers/clk/samsung/clk-exynos5260.h
@@ -0,0 +1,496 @@
+#ifndef __CLK_EXYNOS5260_H
+#define __CLK_EXYNOS5260_H
+
+#define CMU_TYPE_AUD	1
+#define CMU_TYPE_DISP	2
+#define CMU_TYPE_EGL	3
+#define CMU_TYPE_FSYS	4
+#define CMU_TYPE_G2D	5
+#define CMU_TYPE_G3D	6
+#define CMU_TYPE_GSCL	7
+#define CMU_TYPE_ISP	8
+#define CMU_TYPE_KFC	9
+#define CMU_TYPE_MFC	10
+#define CMU_TYPE_MIF	11
+#define CMU_TYPE_PERI	12
+#define CMU_TYPE_TOP	13
+
+#define CMU_TYPE_ALL	14
+
+/*
+*Base address for different CMUs
+*TODO: All Bases should be removed at earliest.
+*/
+#define CMU_AUD_BASE	0x128C0000
+#define CMU_DISP_BASE	0x14550000
+#define CMU_EGL_BASE	0x10600000
+#define CMU_FSYS_BASE	0x122E0000
+#define CMU_G2D_BASE	0x10A00000
+#define CMU_G3D_BASE	0x11830000
+#define CMU_GSCL_BASE	0x13F00000
+#define CMU_ISP_BASE	0x133C0000
+#define CMU_KFC_BASE	0x10700000
+#define CMU_MFC_BASE	0x11090000
+#define CMU_MIF_BASE	0x10CE0000
+#define CMU_PERI_BASE	0x10200000
+#define CMU_TOP_BASE	0x10010000
+
+#define AUD_REG(x)		(x)
+#define DISP_REG(x)		(x)
+#define EGL_REG(x)		(x)
+#define FSYS_REG(x)		(x)
+#define G2D_REG(x)		(x)
+#define G3D_REG(x)		(x)
+#define GSCL_REG(x)		(x)
+#define ISP_REG(x)		(x)
+#define KFC_REG(x)		(x)
+#define MFC_REG(x)		(x)
+#define MIF_REG(x)		(x)
+#define PERI_REG(x)		(x)
+#define TOP_REG(x)		(x)
+
+/*
+*Registers for CMU_AUD
+*/
+#define MUX_SEL_AUD		AUD_REG(0x0200)
+#define MUX_ENABLE_AUD		AUD_REG(0x0300)
+#define MUX_STAT_AUD		AUD_REG(0x0400)
+#define MUX_IGNORE_AUD		AUD_REG(0x0500)
+#define DIV_AUD0		AUD_REG(0x0600)
+#define DIV_AUD1		AUD_REG(0x0604)
+#define DIV_STAT_AUD0		AUD_REG(0x0700)
+#define DIV_STAT_AUD1		AUD_REG(0x0704)
+#define EN_ACLK_AUD		AUD_REG(0x0800)
+#define EN_PCLK_AUD		AUD_REG(0x0900)
+#define EN_SCLK_AUD		AUD_REG(0x0a00)
+#define EN_IP_AUD		AUD_REG(0x0b00)
+
+/*
+*Registers for CMU_DISP
+*/
+#define MUX_SEL_DISP0		DISP_REG(0x0200)
+#define MUX_SEL_DISP1		DISP_REG(0x0204)
+#define MUX_SEL_DISP2		DISP_REG(0x0208)
+#define MUX_SEL_DISP3		DISP_REG(0x020C)
+#define MUX_SEL_DISP4		DISP_REG(0x0210)
+#define MUX_ENABLE_DISP0	DISP_REG(0x0300)
+#define MUX_ENABLE_DISP1	DISP_REG(0x0304)
+#define MUX_ENABLE_DISP2	DISP_REG(0x0308)
+#define MUX_ENABLE_DISP3	DISP_REG(0x030c)
+#define MUX_ENABLE_DISP4	DISP_REG(0x0310)
+#define MUX_STAT_DISP0		DISP_REG(0x0400)
+#define MUX_STAT_DISP1		DISP_REG(0x0404)
+#define MUX_STAT_DISP2		DISP_REG(0x0408)
+#define MUX_STAT_DISP3		DISP_REG(0x040c)
+#define MUX_STAT_DISP4		DISP_REG(0x0410)
+#define MUX_IGNORE_DISP0	DISP_REG(0x0500)
+#define MUX_IGNORE_DISP1	DISP_REG(0x0504)
+#define MUX_IGNORE_DISP2	DISP_REG(0x0508)
+#define MUX_IGNORE_DISP3	DISP_REG(0x050c)
+#define MUX_IGNORE_DISP4	DISP_REG(0x0510)
+#define DIV_DISP		DISP_REG(0x0600)
+#define DIV_STAT_DISP		DISP_REG(0x0700)
+#define EN_ACLK_DISP		DISP_REG(0x0800)
+#define EN_PCLK_DISP		DISP_REG(0x0900)
+#define EN_SCLK_DISP0		DISP_REG(0x0a00)
+#define EN_SCLK_DISP1		DISP_REG(0x0a04)
+#define EN_IP_DISP		DISP_REG(0x0b00)
+#define EN_IP_DISP_BUS		DISP_REG(0x0b04)
+
+
+/*
+*Registers for CMU_EGL
+*/
+#define EGL_PLL_LOCK		EGL_REG(0x0000)
+#define EGL_DPLL_LOCK		EGL_REG(0x0004)
+#define EGL_PLL_CON0		EGL_REG(0x0100)
+#define EGL_PLL_CON1		EGL_REG(0x0104)
+#define EGL_PLL_FREQ_DET	EGL_REG(0x010c)
+#define EGL_DPLL_CON0		EGL_REG(0x0110)
+#define EGL_DPLL_CON1		EGL_REG(0x0114)
+#define EGL_DPLL_FREQ_DET	EGL_REG(0x011c)
+#define MUX_SEL_EGL		EGL_REG(0x0200)
+#define MUX_ENABLE_EGL		EGL_REG(0x0300)
+#define MUX_STAT_EGL		EGL_REG(0x0400)
+#define DIV_EGL			EGL_REG(0x0600)
+#define DIV_EGL_PLL_FDET	EGL_REG(0x0604)
+#define DIV_STAT_EGL		EGL_REG(0x0700)
+#define DIV_STAT_EGL_PLL_FDET	EGL_REG(0x0704)
+#define EN_ACLK_EGL		EGL_REG(0x0800)
+#define EN_PCLK_EGL		EGL_REG(0x0900)
+#define EN_SCLK_EGL		EGL_REG(0x0a00)
+#define EN_IP_EGL		EGL_REG(0x0b00)
+#define CLKOUT_CMU_EGL		EGL_REG(0x0c00)
+#define CLKOUT_CMU_EGL_DIV_STAT	EGL_REG(0x0c04)
+#define ARMCLK_STOPCTRL		EGL_REG(0x1000)
+#define EAGLE_EMA_CTRL		EGL_REG(0x1008)
+#define EAGLE_EMA_STATUS	EGL_REG(0x100c)
+#define PWR_CTRL		EGL_REG(0x1020)
+#define PWR_CTRL2		EGL_REG(0x1024)
+#define CLKSTOP_CTRL		EGL_REG(0x1028)
+#define INTR_SPREAD_EN		EGL_REG(0x1080)
+#define INTR_SPREAD_USE_STANDBYWFI	EGL_REG(0x1084)
+#define INTR_SPREAD_BLOCKING_DURATION	EGL_REG(0x1088)
+#define CMU_EGL_SPARE0		EGL_REG(0x2000)
+#define CMU_EGL_SPARE1		EGL_REG(0x2004)
+#define CMU_EGL_SPARE2		EGL_REG(0x2008)
+#define CMU_EGL_SPARE3		EGL_REG(0x200c)
+#define CMU_EGL_SPARE4		EGL_REG(0x2010)
+
+/*
+*Registers for CMU_FSYS
+*/
+
+#define MUX_SEL_FSYS0		FSYS_REG(0x0200)
+#define MUX_SEL_FSYS1		FSYS_REG(0x0204)
+#define MUX_ENABLE_FSYS0	FSYS_REG(0x0300)
+#define MUX_ENABLE_FSYS1	FSYS_REG(0x0304)
+#define MUX_STAT_FSYS0		FSYS_REG(0x0400)
+#define MUX_STAT_FSYS1		FSYS_REG(0x0404)
+#define MUX_IGNORE_FSYS0	FSYS_REG(0x0500)
+#define MUX_IGNORE_FSYS1	FSYS_REG(0x0504)
+#define EN_ACLK_FSYS		FSYS_REG(0x0800)
+#define EN_ACLK_FSYS_SECURE_RTIC		FSYS_REG(0x0804)
+#define EN_ACLK_FSYS_SECURE_SMMU_RTIC		FSYS_REG(0x0808)
+#define EN_PCLK_FSYS		FSYS_REG(0x0900)
+#define EN_SCLK_FSYS		FSYS_REG(0x0a00)
+#define EN_IP_FSYS		FSYS_REG(0x0b00)
+#define EN_IP_FSYS_SECURE_RTIC	FSYS_REG(0x0b04)
+#define EN_IP_FSYS_SECURE_SMMU_RTIC	FSYS_REG(0x0b08)
+
+/*
+*Registers for CMU_G2D
+*/
+
+#define MUX_SEL_G2D		G2D_REG(0x0200)
+#define MUX_ENABLE_G2D		G2D_REG(0x0300)
+#define MUX_STAT_G2D		G2D_REG(0x0400)
+#define DIV_G2D			G2D_REG(0x0600)
+#define DIV_STAT_G2D		G2D_REG(0x0700)
+#define EN_ACLK_G2D		G2D_REG(0x0800)
+#define EN_ACLK_G2D_SECURE_SSS			G2D_REG(0x0804)
+#define EN_ACLK_G2D_SECURE_SLIM_SSS		G2D_REG(0x0808)
+#define EN_ACLK_G2D_SECURE_SMMU_SLIM_SSS	G2D_REG(0x080c)
+#define EN_ACLK_G2D_SECURE_SMMU_SSS		G2D_REG(0x0810)
+#define EN_ACLK_G2D_SECURE_SMMU_MDMA		G2D_REG(0x0814)
+#define EN_ACLK_G2D_SECURE_SMMU_G2D		G2D_REG(0x0818)
+#define EN_PCLK_G2D				G2D_REG(0x0900)
+#define EN_PCLK_G2D_SECURE_SMMU_SLIM_SSS	G2D_REG(0x0904)
+#define EN_PCLK_G2D_SECURE_SMMU_SSS		G2D_REG(0x0908)
+#define EN_PCLK_G2D_SECURE_SMMU_MDMA		G2D_REG(0x090c)
+#define EN_PCLK_G2D_SECURE_SMMU_G2D		G2D_REG(0x0910)
+#define EN_IP_G2D				G2D_REG(0x0b00)
+#define EN_IP_G2D_SECURE_SSS			G2D_REG(0x0b04)
+#define EN_IP_G2D_SECURE_SLIM_SSS		G2D_REG(0x0b08)
+#define EN_IP_G2D_SECURE_SMMU_SLIM_SSS		G2D_REG(0x0b0c)
+#define EN_IP_G2D_SECURE_SMMU_SSS		G2D_REG(0x0b10)
+#define EN_IP_G2D_SECURE_SMMU_MDMA		G2D_REG(0x0b14)
+#define EN_IP_G2D_SECURE_SMMU_G2D		G2D_REG(0x0b18)
+
+/*
+*Registers for CMU_G3D
+*/
+
+#define G3D_PLL_LOCK		G3D_REG(0x0000)
+#define G3D_PLL_CON0		G3D_REG(0x0100)
+#define G3D_PLL_CON1		G3D_REG(0x0104)
+#define G3D_PLL_FDET		G3D_REG(0x010c)
+#define MUX_SEL_G3D		G3D_REG(0x0200)
+#define MUX_EN_G3D		G3D_REG(0x0300)
+#define MUX_STAT_G3D		G3D_REG(0x0400)
+#define MUX_IGNORE_G3D		G3D_REG(0x0500)
+#define DIV_G3D			G3D_REG(0x0600)
+#define DIV_G3D_PLL_FDET	G3D_REG(0x0604)
+#define DIV_STAT_G3D		G3D_REG(0x0700)
+#define DIV_STAT_G3D_PLL_FDET	G3D_REG(0x0704)
+#define EN_ACLK_G3D		G3D_REG(0x0800)
+#define EN_PCLK_G3D		G3D_REG(0x0900)
+#define EN_SCLK_G3D		G3D_REG(0x0a00)
+#define EN_IP_G3D		G3D_REG(0x0b00)
+#define CLKOUT_CMU_G3D		G3D_REG(0x0c00)
+#define CLKOUT_CMU_G3D_DIV_STAT		G3D_REG(0x0c04)
+#define G3DCLK_STOPCTRL		G3D_REG(0x1000)
+#define G3D_EMA_CTRL		G3D_REG(0x1008)
+#define G3D_EMA_STATUS		G3D_REG(0x100c)
+
+/*
+*Registers for CMU_GSCL
+*/
+
+#define MUX_SEL_GSCL		GSCL_REG(0x0200)
+#define MUX_EN_GSCL		GSCL_REG(0x0300)
+#define MUX_STAT_GSCL		GSCL_REG(0x0400)
+#define MUX_IGNORE_GSCL		GSCL_REG(0x0500)
+#define DIV_GSCL		GSCL_REG(0x0600)
+#define DIV_STAT_GSCL		GSCL_REG(0x0700)
+#define EN_ACLK_GSCL		GSCL_REG(0x0800)
+#define EN_ACLK_GSCL_FIMC	GSCL_REG(0x0804)
+#define EN_ACLK_GSCL_SECURE_SMMU_GSCL0		GSCL_REG(0x0808)
+#define EN_ACLK_GSCL_SECURE_SMMU_GSCL1		GSCL_REG(0x080c)
+#define EN_ACLK_GSCL_SECURE_SMMU_MSCL0		GSCL_REG(0x0810)
+#define EN_ACLK_GSCL_SECURE_SMMU_MSCL1		GSCL_REG(0x0814)
+#define EN_PCLK_GSCL				GSCL_REG(0x0900)
+#define EN_PCLK_GSCL_FIMC			GSCL_REG(0x0904)
+#define EN_PCLK_GSCL_SECURE_SMMU_GSCL0		GSCL_REG(0x0908)
+#define EN_PCLK_GSCL_SECURE_SMMU_GSCL1		GSCL_REG(0x090c)
+#define EN_PCLK_GSCL_SECURE_SMMU_MSCL0		GSCL_REG(0x0910)
+#define EN_PCLK_GSCL_SECURE_SMMU_MSCL1		GSCL_REG(0x0914)
+#define EN_SCLK_GSCL		GSCL_REG(0x0a00)
+#define EN_SCLK_GSCL_FIMC	GSCL_REG(0x0a04)
+#define EN_IP_GSCL		GSCL_REG(0x0b00)
+#define EN_IP_GSCL_FIMC		GSCL_REG(0x0b04)
+#define EN_IP_GSCL_SECURE_SMMU_GSCL0		GSCL_REG(0x0b08)
+#define EN_IP_GSCL_SECURE_SMMU_GSCL1		GSCL_REG(0x0b0c)
+#define EN_IP_GSCL_SECURE_SMMU_MSCL0		GSCL_REG(0x0b10)
+#define EN_IP_GSCL_SECURE_SMMU_MSCL1		GSCL_REG(0x0b14)
+
+/*
+*Registers for CMU_ISP
+*/
+#define MUX_SEL_ISP0		ISP_REG(0x0200)
+#define MUX_SEL_ISP1		ISP_REG(0x0204)
+#define MUX_ENABLE_ISP0		ISP_REG(0x0300)
+#define MUX_ENABLE_ISP1		ISP_REG(0x0304)
+#define MUX_STAT_ISP0		ISP_REG(0x0400)
+#define MUX_STAT_ISP1		ISP_REG(0x0404)
+#define MUX_IGNORE_ISP0		ISP_REG(0x0500)
+#define MUX_IGNORE_ISP1		ISP_REG(0x0504)
+#define DIV_ISP			ISP_REG(0x0600)
+#define DIV_STAT_ISP		ISP_REG(0x0700)
+#define EN_ACLK_ISP0		ISP_REG(0x0800)
+#define EN_ACLK_ISP1		ISP_REG(0x0804)
+#define EN_PCLK_ISP0		ISP_REG(0x0900)
+#define EN_PCLK_ISP1		ISP_REG(0x0904)
+#define EN_SCLK_ISP		ISP_REG(0x0a00)
+#define EN_IP_ISP0		ISP_REG(0x0b00)
+#define EN_IP_ISP1		ISP_REG(0x0b04)
+
+/*
+*Registers for CMU_KFC
+*/
+#define KFC_PLL_LOCK		KFC_REG(0x0000)
+#define KFC_PLL_CON0		KFC_REG(0x0100)
+#define KFC_PLL_CON1		KFC_REG(0x0104)
+#define KFC_PLL_FDET		KFC_REG(0x010c)
+#define MUX_SEL_KFC0		KFC_REG(0x0200)
+#define MUX_SEL_KFC2		KFC_REG(0x0208)
+#define MUX_ENABLE_KFC0		KFC_REG(0x0300)
+#define MUX_ENABLE_KFC2		KFC_REG(0x0308)
+#define MUX_STAT_KFC0		KFC_REG(0x0400)
+#define MUX_STAT_KFC2		KFC_REG(0x0408)
+#define DIV_KFC			KFC_REG(0x0600)
+#define DIV_KFC_PLL_FDET	KFC_REG(0x0604)
+#define DIV_STAT_KFC		KFC_REG(0x0700)
+#define DIV_STAT_KFC_PLL_FDET	KFC_REG(0x0704)
+#define EN_ACLK_KFC		KFC_REG(0x0800)
+#define EN_PCLK_KFC		KFC_REG(0x0900)
+#define EN_SCLK_KFC		KFC_REG(0x0a00)
+#define EN_IP_KFC		KFC_REG(0x0b00)
+#define CLKOUT_CMU_KFC		KFC_REG(0x0c00)
+#define CLKOUT_CMU_KFC_DIV_STAT		KFC_REG(0x0c04)
+#define ARMCLK_STOPCTRL_KFC	KFC_REG(0x1000)
+#define ARM_EMA_CTRL		KFC_REG(0x1008)
+#define ARM_EMA_STATUS		KFC_REG(0x100c)
+#define PWR_CTRL_KFC		KFC_REG(0x1020)
+#define PWR_CTRL2_KFC		KFC_REG(0x1024)
+#define CLKSTOP_CTRL_KFC	KFC_REG(0x1028)
+#define INTR_SPREAD_ENABLE_KFC			KFC_REG(0x1080)
+#define INTR_SPREAD_USE_STANDBYWFI_KFC		KFC_REG(0x1084)
+#define INTR_SPREAD_BLOCKING_DURATION_KFC	KFC_REG(0x1088)
+#define CMU_KFC_SPARE0		KFC_REG(0x2000)
+#define CMU_KFC_SPARE1		KFC_REG(0x2004)
+#define CMU_KFC_SPARE2		KFC_REG(0x2008)
+#define CMU_KFC_SPARE3		KFC_REG(0x200c)
+#define CMU_KFC_SPARE4		KFC_REG(0x2010)
+
+/*
+*Registers for CMU_MFC
+*/
+#define MUX_SEL_MFC		MFC_REG(0x0200)
+#define MUX_ENABLE_MFC		MFC_REG(0x0300)
+#define MUX_STAT_MFC		MFC_REG(0x0400)
+#define DIV_MFC			MFC_REG(0x0600)
+#define DIV_STAT_MFC		MFC_REG(0x0700)
+#define EN_ACLK_MFC		MFC_REG(0x0800)
+#define EN_ACLK_SECURE_SMMU2_MFC	MFC_REG(0x0804)
+#define EN_PCLK_MFC		MFC_REG(0x0900)
+#define EN_PCLK_SECURE_SMMU2_MFC	MFC_REG(0x0904)
+#define EN_IP_MFC			MFC_REG(0x0b00)
+#define EN_IP_SECURE_SMMU2_MFC		MFC_REG(0x0b04)
+
+/*
+*Registers for CMU_MIF
+*/
+#define MEM_PLL_LOCK		MIF_REG(0x0000)
+#define BUS_PLL_LOCK		MIF_REG(0x0004)
+#define MEDIA_PLL_LOCK		MIF_REG(0x0008)
+#define MEM_PLL_CON0		MIF_REG(0x0100)
+#define MEM_PLL_CON1		MIF_REG(0x0104)
+#define MEM_PLL_FDET		MIF_REG(0x010c)
+#define BUS_PLL_CON0		MIF_REG(0x0110)
+#define BUS_PLL_CON1		MIF_REG(0x0114)
+#define BUS_PLL_FDET		MIF_REG(0x011c)
+#define MEDIA_PLL_CON0		MIF_REG(0x0120)
+#define MEDIA_PLL_CON1		MIF_REG(0x0124)
+#define MEDIA_PLL_FDET		MIF_REG(0x012c)
+#define MUX_SEL_MIF		MIF_REG(0x0200)
+#define MUX_ENABLE_MIF		MIF_REG(0x0300)
+#define MUX_STAT_MIF		MIF_REG(0x0400)
+#define MUX_IGNORE_MIF		MIF_REG(0x0500)
+#define DIV_MIF			MIF_REG(0x0600)
+#define DIV_MIF_PLL_FDET	MIF_REG(0x0604)
+#define DIV_STAT_MIF		MIF_REG(0x0700)
+#define DIV_STAT_MIF_PLL_FDET	MIF_REG(0x0704)
+#define EN_ACLK_MIF		MIF_REG(0x0800)
+#define EN_ACLK_MIF_SECURE_DREX1_TZ	MIF_REG(0x0804)
+#define EN_ACLK_MIF_SECURE_DREX0_TZ	MIF_REG(0x0808)
+#define EN_ACLK_MIF_SECURE_INTMEM	MIF_REG(0x080c)
+#define EN_PCLK_MIF			MIF_REG(0x0900)
+#define EN_PCLK_MIF_SECURE_MONOCNT	MIF_REG(0x0904)
+#define EN_PCLK_MIF_SECURE_RTC_APBIF	MIF_REG(0x0908)
+#define EN_PCLK_MIF_SECURE_DREX1_TZ	MIF_REG(0x090c)
+#define EN_PCLK_MIF_SECURE_DREX0_TZ	MIF_REG(0x0910)
+#define EN_SCLK_MIF			MIF_REG(0x0a00)
+#define EN_IP_MIF			MIF_REG(0x0b00)
+#define EN_IP_MIF_SECURE_MONOCNT	MIF_REG(0x0b04)
+#define EN_IP_MIF_SECURE_RTC_APBIF	MIF_REG(0x0b08)
+#define EN_IP_MIF_SECURE_DREX1_TZ	MIF_REG(0x0b0c)EN_ACLK_MIF_SECURE_INTMEM
+#define EN_IP_MIF_SECURE_DREX0_TZ	MIF_REG(0x0b10)
+#define EN_IP_MIF_SECURE_INTEMEM	MIF_REG(0x0b14)
+#define CLKOUT_CMU_MIF_DIV_STAT		MIF_REG(0x0c04)
+#define DREX_FREQ_CTRL			MIF_REG(0x1000)
+#define PAUSE				MIF_REG(0x1004)
+#define DDRPHY_LOCK_CTRL		MIF_REG(0x1008)
+#define CLKOUT_CMU_MIF		MIF_REG(0xcb00)
+
+/*
+*Registers for CMU_PERI
+*/
+#define MUX_SEL_PERI		PERI_REG(0x0200)
+#define MUX_SEL_PERI1		PERI_REG(0x0204)
+#define MUX_ENABLE_PERI		PERI_REG(0x0300)
+#define MUX_ENABLE_PERI1	PERI_REG(0x0304)
+#define MUX_STAT_PERI		PERI_REG(0x0400)
+#define MUX_STAT_PERI1		PERI_REG(0x0404)
+#define MUX_IGNORE_PERI		PERI_REG(0x0500)
+#define MUX_IGNORE_PERI1	PERI_REG(0x0504)
+#define DIV_PERI		PERI_REG(0x0600)
+#define DIV_STAT_PERI		PERI_REG(0x0700)
+#define EN_PCLK_PERI0		PERI_REG(0x0800)
+#define EN_PCLK_PERI1		PERI_REG(0x0804)
+#define EN_PCLK_PERI2		PERI_REG(0x0808)
+#define EN_PCLK_PERI3		PERI_REG(0x080c)
+#define EN_PCLK_PERI_SECURE_CHIPID	PERI_REG(0x0810)
+#define EN_PCLK_PERI_SECURE_PROVKEY0	PERI_REG(0x0814)
+#define EN_PCLK_PERI_SECURE_PROVKEY1	PERI_REG(0x0818)
+#define EN_PCLK_PERI_SECURE_SECKEY	PERI_REG(0x081c)
+#define EN_PCLK_PERI_SECURE_ANTIRBKCNT	PERI_REG(0x0820)
+#define EN_PCLK_PERI_SECURE_TOP_RTC	PERI_REG(0x0824)
+#define EN_PCLK_PERI_SECURE_TZPC	PERI_REG(0x0828)
+#define EN_SCLK_PERI			PERI_REG(0x0a00)
+#define EN_SCLK_PERI_SECURE_TOP_RTC	PERI_REG(0x0a04)
+#define EN_IP_PERI0			PERI_REG(0x0b00)
+#define EN_IP_PERI1			PERI_REG(0x0b04)
+#define EN_IP_PERI2			PERI_REG(0x0b08)
+#define EN_IP_PERI_SECURE_CHIPID	PERI_REG(0x0b0c)
+#define EN_IP_PERI_SECURE_PROVKEY0	PERI_REG(0x0b10)
+#define EN_IP_PERI_SECURE_PROVKEY1	PERI_REG(0x0b14)
+#define EN_IP_PERI_SECURE_SECKEY	PERI_REG(0x0b18)
+#define EN_IP_PERI_SECURE_ANTIRBKCNT	PERI_REG(0x0b1c)
+#define EN_IP_PERI_SECURE_TOP_RTC	PERI_REG(0x0b20)
+#define EN_IP_PERI_SECURE_TZPC		PERI_REG(0x0b24)
+
+/*
+*Registers for CMU_TOP
+*/
+#define DISP_PLL_LOCK		TOP_REG(0x0000)
+#define AUD_PLL_LOCK		TOP_REG(0x0004)
+#define DISP_PLL_CON0		TOP_REG(0x0100)
+#define DISP_PLL_CON1		TOP_REG(0x0104)
+#define DISP_PLL_FDET		TOP_REG(0x0108)
+#define AUD_PLL_CON0		TOP_REG(0x0110)
+#define AUD_PLL_CON1		TOP_REG(0x0114)
+#define AUD_PLL_CON2		TOP_REG(0x0118)
+#define AUD_PLL_FDET		TOP_REG(0x011c)
+#define MUX_SEL_TOP_PLL0	TOP_REG(0x0200)
+#define MUX_SEL_TOP_MFC		TOP_REG(0x0204)
+#define MUX_SEL_TOP_G2D		TOP_REG(0x0208)
+#define MUX_SEL_TOP_GSCL	TOP_REG(0x020c)
+#define MUX_SEL_TOP_ISP10	TOP_REG(0x0214)
+#define MUX_SEL_TOP_ISP11	TOP_REG(0x0218)
+#define MUX_SEL_TOP_DISP0	TOP_REG(0x021c)
+#define MUX_SEL_TOP_DISP1	TOP_REG(0x0220)
+#define MUX_SEL_TOP_BUS		TOP_REG(0x0224)
+#define MUX_SEL_TOP_PERI0	TOP_REG(0x0228)
+#define MUX_SEL_TOP_PERI1	TOP_REG(0x022c)
+#define MUX_SEL_TOP_FSYS	TOP_REG(0x0230)
+#define MUX_ENABLE_TOP_PLL0	TOP_REG(0x0300)
+#define MUX_ENABLE_TOP_MFC	TOP_REG(0x0304)
+#define MUX_ENABLE_TOP_G2D	TOP_REG(0x0308)
+#define MUX_ENABLE_TOP_GSCL	TOP_REG(0x030c)
+#define MUX_ENABLE_TOP_ISP10	TOP_REG(0x0314)
+#define MUX_ENABLE_TOP_ISP11	TOP_REG(0x0318)
+#define MUX_ENABLE_TOP_DISP0	TOP_REG(0x031c)
+#define MUX_ENABLE_TOP_DISP1	TOP_REG(0x0320)
+#define MUX_ENABLE_TOP_BUS	TOP_REG(0x0324)
+#define MUX_ENABLE_TOP_PERI0	TOP_REG(0x0328)
+#define MUX_ENABLE_TOP_PERI1	TOP_REG(0x032c)
+#define MUX_ENABLE_TOP_FSYS	TOP_REG(0x0330)
+#define MUX_STAT_TOP_PLL0	TOP_REG(0x0400)
+#define MUX_STAT_TOP_MFC	TOP_REG(0x0404)
+#define MUX_STAT_TOP_G2D	TOP_REG(0x0408)
+#define MUX_STAT_TOP_GSCL	TOP_REG(0x040c)
+#define MUX_STAT_TOP_ISP10	TOP_REG(0x0414)
+#define MUX_STAT_TOP_ISP11	TOP_REG(0x0418)
+#define MUX_STAT_TOP_DISP0	TOP_REG(0x041c)
+#define MUX_STAT_TOP_DISP1	TOP_REG(0x0420)
+#define MUX_STAT_TOP_BUS	TOP_REG(0x0424)
+#define MUX_STAT_TOP_PERI0	TOP_REG(0x0428)
+#define MUX_STAT_TOP_PERI1	TOP_REG(0x042c)
+#define MUX_STAT_TOP_FSYS	TOP_REG(0x0430)
+#define MUX_IGNORE_TOP_PLL0	TOP_REG(0x0500)
+#define MUX_IGNORE_TOP_MFC	TOP_REG(0x0504)
+#define MUX_IGNORE_TOP_G2D	TOP_REG(0x0508)
+#define MUX_IGNORE_TOP_GSCL	TOP_REG(0x050c)
+#define MUX_IGNORE_TOP_ISP10	TOP_REG(0x0514)
+#define MUX_IGNORE_TOP_ISP11	TOP_REG(0x0518)
+#define MUX_IGNORE_TOP_DISP0	TOP_REG(0x051c)
+#define MUX_IGNORE_TOP_DISP1	TOP_REG(0x0520)
+#define MUX_IGNORE_TOP_BUS	TOP_REG(0x0524)
+#define MUX_IGNORE_TOP_PERI0	TOP_REG(0x0528)
+#define MUX_IGNORE_TOP_PERI1	TOP_REG(0x052c)
+#define MUX_IGNORE_TOP_FSYS	TOP_REG(0x0530)
+#define DIV_TOP_G2D_MFC		TOP_REG(0x0600)
+#define DIV_TOP_GSCL_ISP0	TOP_REG(0x0604)
+#define DIV_TOP_ISP10		TOP_REG(0x0608)
+#define DIV_TOP_ISP11		TOP_REG(0x060c)
+#define DIV_TOP_DISP		TOP_REG(0x0610)
+#define DIV_TOP_BUS		TOP_REG(0x0614)
+#define DIV_TOP_PERI0		TOP_REG(0x0618)
+#define DIV_TOP_PERI1		TOP_REG(0x061c)
+#define DIV_TOP_PERI2		TOP_REG(0x0620)
+#define DIV_TOP_FSYS0		TOP_REG(0x0624)
+#define DIV_TOP_FSYS1		TOP_REG(0x0628)
+#define DIV_TOP_HPM		TOP_REG(0x062c)
+#define DIV_TOP_PLL_FDET	TOP_REG(0x0630)
+#define DIV_STAT_TOP_G2D_MFC	TOP_REG(0x0700)
+#define DIV_STAT_TOP_GSCL_ISP0	TOP_REG(0x0704)
+#define DIV_STAT_TOP_ISP10	TOP_REG(0x0708)
+#define DIV_STAT_TOP_ISP11	TOP_REG(0x070c)
+#define DIV_STAT_TOP_DISP	TOP_REG(0x0710)
+#define DIV_STAT_TOP_BUS	TOP_REG(0x0714)
+#define DIV_STAT_TOP_PERI0	TOP_REG(0x0718)
+#define DIV_STAT_TOP_PERI1	TOP_REG(0x071c)
+#define DIV_STAT_TOP_PERI2	TOP_REG(0x0720)
+#define DIV_STAT_TOP_FSYS0	TOP_REG(0x0724)
+#define DIV_STAT_TOP_FSYS1	TOP_REG(0x0728)
+#define DIV_STAT_TOP_HPM	TOP_REG(0x072c)
+#define DIV_STAT_TOP_PLL_FDET	TOP_REG(0x0730)
+#define EN_ACLK_TOP		TOP_REG(0x0800)
+#define EN_SCLK_TOP		TOP_REG(0x0a00)
+#define EN_IP_TOP		TOP_REG(0x0b00)
+#define CLKOUT_CMU_TOP		TOP_REG(0x0c00)
+#define CLKOUT_CMU_TOP_DIV_STAT	TOP_REG(0x0c04)
+
+#endif /*__CLK_EXYNOS5260_H */
+
diff --git a/include/dt-bindings/clk/exynos5260-clk.h b/include/dt-bindings/clk/exynos5260-clk.h
new file mode 100644
index 0000000..73763e4
--- /dev/null
+++ b/include/dt-bindings/clk/exynos5260-clk.h
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Provides Constants for Exynos5260 clocks.
+*/
+
+#ifndef _DT_BINDINGS_CLK_EXYNOS5260_H
+#define _DT_BINDINGS_CLK_EXYNOS5260_H
+
+#define	ID_NONE		0
+
+/*
+ * Clock names: XXXXXX_YYYYY_ZZZZZ
+ *                    |------| |----| |----|
+ *                       cmu       type      IP
+*/
+
+/* list of cocks for CMU_TOP */
+#define	FIN_PLL			1
+#define	TOP_FOUT_DISP_PLL	2
+#define	TOP_FOUT_AUD_PLL	3
+#define	TOP_SCLK_MMC0		4
+#define	TOP_SCLK_MMC1		5
+#define	TOP_SCLK_MMC2		6
+#define	TOP_SCLK_HDMIPHY	7
+#define	TOP_SCLK_FIMD1		8
+#define	TOP_MOUT_FIMD1		9
+#define	TOP_MOUT_DISP_PLL	10
+#define	TOP_NR_CLK		11
+
+/* list of cocks for CMU_EGL */
+#define	EGL_FOUT_EGL_PLL	1
+#define	EGL_FOUT_EGL_DPLL	2
+#define	EGL_NR_CLK		3
+
+/* list of cocks for CMU_KFC */
+#define	KFC_FOUT_KFC_PLL	1
+#define	KFC_NR_CLK		2
+
+/* list of cocks for CMU_MIF */
+#define	MIF_FOUT_MEM_PLL	1
+#define	MIF_FOUT_BUS_PLL	2
+#define	MIF_FOUT_MEDIA_PLL	3
+#define	MIF_NR_CLK		4
+
+/* list of cocks for CMU_G3D */
+#define	G3D_FOUT_G3D_PLL	1
+#define	G3D_ACLK_G3D		2
+#define	G3D_NR_CLK		3
+
+/* list of cocks for CMU_AUD */
+#define	AUD_SCLK_AUD_UART	1
+#define	AUD_SCLK_PCM		2
+#define	AUD_ACLK_SRAMC		3
+#define	AUD_ACLK_DMAC		4
+#define	AUD_PCLK_AUD_UART	5
+#define	AUD_PCLK_PCM		6
+#define	AUD_PCLK_I2S		7
+#define	AUD_PCLK_DMAC		8
+#define	AUD_NR_CLK		9
+
+/* list of cocks for CMU_MFC */
+#define	MFC_ACLK_MFC		1
+#define	MFC_PCLK_MFC		2
+#define	MFC_PCLK_SMMU_MFC0	3
+#define	MFC_PCLK_SMMU_MFC1	4
+#define	MFC_NR_CLK		5
+
+/* list of cocks for CMU_GSCL */
+#define	GSCL_ACLK_GSCL0		1
+#define	GSCL_ACLK_GSCL1		2
+#define	GSCL_PCLK_GSCL0		3
+#define	GSCL_PCLK_GSCL1		4
+#define	GSCL_PCLK_SMMU_GSCL0	5
+#define	GSCL_PCLK_SMMU_GSCL1	6
+#define	GSCL_NR_CLK		7
+
+/* list of cocks for CMU_FSYS */
+#define	FSYS_HCLK_TSI		1
+#define	FSYS_PCLK_GPIO		2
+#define	FSYS_HCLK_USBHOST20		3
+#define	FSYS_ACLK_USBDRD30	4
+#define	FSYS_ACLK_PDMA0		5
+#define	FSYS_ACLK_RTIC		6
+#define	FSYS_PCLK_SMMU_RTIC		7
+#define	FSYS_PHYCLK_USBDRD30	8
+#define	FSYS_PHYCLK_USBHOST20	9
+#define	FSYS_HCLK_MMC0		10
+#define	FSYS_HCLK_MMC1		11
+#define	FSYS_HCLK_MMC2		12
+#define	FSYS_HCLK_SROMC		13
+#define	FSYS_NR_CLK		14
+
+/* list of cocks for CMU_PERI */
+#define	PERI_PCLK_ADC		1
+#define	PERI_PCLK_TMU1		2
+#define	PERI_PCLK_TMU0		3
+#define	PERI_PCLK_SPI0		4
+#define	PERI_PCLK_SPI1		5
+#define	PERI_PCLK_SPI2		6
+#define	PERI_PCLK_I2S1		7
+#define	PERI_PCLK_PWM		8
+#define	PERI_PCLK_SPDIF		9
+#define	PERI_PCLK_ABB		10
+#define	PERI_PCLK_MCT		11
+#define	PERI_PCLK_HSIC0		12
+#define	PERI_PCLK_HSIC1		13
+#define	PERI_PCLK_HSIC2		14
+#define	PERI_PCLK_HSIC3		15
+#define	PERI_PCLK_UART0		16
+#define	PERI_PCLK_UART1		17
+#define	PERI_PCLK_UART2		18
+#define	PERI_PCLK_PCM1		19
+#define	PERI_PCLK_WDT_EGL	20
+#define	PERI_PCLK_WDT_KFC	21
+#define	PERI_PCLK_CHIPID	22
+#define	PERI_CLK_TMU0		23
+#define	PERI_CLK_TMU1		24
+#define	PERI_CLK_TMU2		25
+#define	PERI_CLK_TMU3		26
+#define	PERI_CLK_TMU4		27
+#define	PERI_PCLK_I2C4		28
+#define	PERI_PCLK_I2C5		29
+#define	PERI_PCLK_I2C6		30
+#define	PERI_PCLK_I2C7		31
+#define	PERI_PCLK_I2C8		32
+#define	PERI_PCLK_I2C9		33
+#define	PERI_PCLK_I2C10		34
+#define	PERI_PCLK_I2C11		35
+#define	PERI_PCLK_TOP_RTC	36
+#define	PERI_SCLK_RTC		37
+#define	PERI_SCLK_UART0		38
+#define	PERI_SCLK_UART1		39
+#define	PERI_SCLK_UART2		40
+#define	PERI_SCLK_SPDIF		41
+#define	PERI_SCLK_SPI0		42
+#define	PERI_SCLK_SPI1		43
+#define	PERI_SCLK_SPI2		44
+#define	PERI_SCLK_I2S		45
+#define	PERI_SCLK_PCM1		46
+#define	PERI_NR_CLK		47
+
+/* list of cocks for CMU_DISP */
+#define	DISP_SCLK_HDMI		1
+#define	DISP_SCLK_PIXEL		2
+#define	DISP_ACLK_MIXER		3
+#define	DISP_ACLK_HDMI		4
+#define	DISP_ACLK_FIMD1		5
+#define	DISP_PCLK_SMMU_TV	6
+#define	DISP_PCLK_SMMU_FIMD1M1	7
+#define	DISP_PCLK_SMMU_FIMD1M0	8
+#define	DISP_PCLK_DSIM1		9
+#define	DISP_PCLK_HDMIPHY	10
+#define	DISP_PCLK_HDMI		11
+#define	DISP_DP			12
+#define	DISP_MOUT_HDMI_PHY_PIXEL	13
+#define	DISP_NR_CLK		14
+
+/* list of cocks for CMU_G2D */
+#define	G2D_ACLK_MDMA		1
+#define	G2D_NR_CLK		2
+
+#define	ISP_NR_CLK		0
+
+#endif
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-12-06 15:56 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-06 15:56 [PATCH 0/7] exynos: add basic support for exynos5260 SoC Rahul Sharma
2013-12-06 15:56 ` Rahul Sharma
2013-12-06 15:56 ` [PATCH 1/7] ARM: EXYNOS: initial board " Rahul Sharma
2013-12-06 15:56   ` Rahul Sharma
2013-12-09  6:23   ` Sachin Kamat
2013-12-09  6:23     ` Sachin Kamat
2013-12-09  6:33     ` Rahul Sharma
2013-12-09  6:33       ` Rahul Sharma
     [not found]     ` <CAK9yfHzX1+Rp3DCZiJSjE7VO6+TaDW7iqUZVpgRNkjVJofWauA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-12-23  4:39       ` Rahul Sharma
2013-12-23  4:39         ` Rahul Sharma
2013-12-10 15:57   ` Tomasz Figa
2013-12-10 15:57     ` Tomasz Figa
2014-01-03  9:24     ` Rahul Sharma
2014-01-03  9:24       ` Rahul Sharma
2013-12-06 15:56 ` [PATCH 2/7] pinctrl: exynos: add exynos5260 SoC specific data Rahul Sharma
2013-12-06 15:56   ` Rahul Sharma
2013-12-09  4:51   ` Sachin Kamat
2013-12-09  4:51     ` Sachin Kamat
2013-12-09  6:36     ` Rahul Sharma
2013-12-09  6:36       ` Rahul Sharma
2014-01-03  9:25     ` Rahul Sharma
2014-01-03  9:25       ` Rahul Sharma
2013-12-10 16:04   ` Tomasz Figa
2013-12-10 16:04     ` Tomasz Figa
2014-01-03  9:26     ` Rahul Sharma
2014-01-03  9:26       ` Rahul Sharma
     [not found] ` <1386345391-23482-1-git-send-email-rahul.sharma-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-06 15:56   ` [PATCH 3/7] ARM: dts: add dts files for exynos5260 SoC Rahul Sharma
2013-12-06 15:56     ` Rahul Sharma
2013-12-10 17:10     ` Tomasz Figa
2013-12-10 17:10       ` Tomasz Figa
2014-01-06  9:40       ` Rahul Sharma
2014-01-06  9:40         ` Rahul Sharma
2013-12-06 15:56   ` Rahul Sharma [this message]
2013-12-06 15:56 ` [PATCH 4/7] clk/samsung: add support for multuple clock providers Rahul Sharma
2013-12-06 15:56   ` Rahul Sharma
2013-12-11 11:15   ` Tomasz Figa
2013-12-11 11:15     ` Tomasz Figa
2014-01-06 11:35     ` Rahul Sharma
2014-01-06 11:35       ` Rahul Sharma
2013-12-06 15:56 ` [PATCH 5/7] clk/samsung: add support for pll2550xx Rahul Sharma
2013-12-06 15:56   ` Rahul Sharma
2013-12-09  8:06   ` Sachin Kamat
2013-12-09  8:06     ` Sachin Kamat
2013-12-19 12:01   ` Tomasz Figa
2013-12-19 12:01     ` Tomasz Figa
2014-01-06 11:36     ` Rahul Sharma
2014-01-06 11:36       ` Rahul Sharma
2013-12-06 15:56 ` [PATCH 6/7] clk/samsung: add support for pll2650xx Rahul Sharma
2013-12-06 15:56   ` Rahul Sharma
2013-12-09  8:09   ` Sachin Kamat
2013-12-09  8:09     ` Sachin Kamat
2013-12-19 11:45   ` Tomasz Figa
2013-12-19 11:45     ` Tomasz Figa
2014-01-06 11:44     ` Rahul Sharma
2014-01-06 11:44       ` Rahul Sharma
2014-01-08  0:37       ` Tomasz Figa
2014-01-08  0:37         ` Tomasz Figa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1386345391-23482-8-git-send-email-rahul.sharma@samsung.com \
    --to=rahul.sharma-sze3o3uu22jbdgjk7y7tuq@public.gmane.org \
    --cc=arun.kk-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=joshi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=pankaj.dubey-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=r.sh.open-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=thomas.ab-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=yg1004.jang-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.