xref: /openbmc/linux/drivers/soc/samsung/exynos4-pmu.c (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
106512c53SKrzysztof Kozlowski // SPDX-License-Identifier: GPL-2.0
206512c53SKrzysztof Kozlowski //
306512c53SKrzysztof Kozlowski // Copyright (c) 2011-2015 Samsung Electronics Co., Ltd.
406512c53SKrzysztof Kozlowski //		http://www.samsung.com/
506512c53SKrzysztof Kozlowski //
694500540SKrzysztof Kozlowski // Exynos4 - CPU PMU(Power Management Unit) support
7bfce552dSPankaj Dubey 
8bfce552dSPankaj Dubey #include <linux/soc/samsung/exynos-regs-pmu.h>
9bfce552dSPankaj Dubey #include <linux/soc/samsung/exynos-pmu.h>
10bfce552dSPankaj Dubey 
11bfce552dSPankaj Dubey #include "exynos-pmu.h"
12bfce552dSPankaj Dubey 
13bfce552dSPankaj Dubey static const struct exynos_pmu_conf exynos4210_pmu_config[] = {
14bfce552dSPankaj Dubey 	/* { .offset = offset, .val = { AFTR, LPA, SLEEP } */
15bfce552dSPankaj Dubey 	{ S5P_ARM_CORE0_LOWPWR,			{ 0x0, 0x0, 0x2 } },
16bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CORE0,			{ 0x0, 0x0, 0x0 } },
17bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CENTRAL0,			{ 0x0, 0x0, 0x0 } },
18bfce552dSPankaj Dubey 	{ S5P_ARM_CORE1_LOWPWR,			{ 0x0, 0x0, 0x2 } },
19bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CORE1,			{ 0x0, 0x0, 0x0 } },
20bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CENTRAL1,			{ 0x0, 0x0, 0x0 } },
21bfce552dSPankaj Dubey 	{ S5P_ARM_COMMON_LOWPWR,		{ 0x0, 0x0, 0x2 } },
22bfce552dSPankaj Dubey 	{ S5P_L2_0_LOWPWR,			{ 0x2, 0x2, 0x3 } },
23bfce552dSPankaj Dubey 	{ S5P_L2_1_LOWPWR,			{ 0x2, 0x2, 0x3 } },
24bfce552dSPankaj Dubey 	{ S5P_CMU_ACLKSTOP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
25bfce552dSPankaj Dubey 	{ S5P_CMU_SCLKSTOP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
26bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_LOWPWR,			{ 0x1, 0x1, 0x0 } },
27bfce552dSPankaj Dubey 	{ S5P_APLL_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
28bfce552dSPankaj Dubey 	{ S5P_MPLL_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
29bfce552dSPankaj Dubey 	{ S5P_VPLL_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
30bfce552dSPankaj Dubey 	{ S5P_EPLL_SYSCLK_LOWPWR,		{ 0x1, 0x1, 0x0 } },
31bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR,	{ 0x1, 0x1, 0x0 } },
32bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_GPSALIVE_LOWPWR,	{ 0x1, 0x1, 0x0 } },
33bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_CAM_LOWPWR,		{ 0x1, 0x1, 0x0 } },
34bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_TV_LOWPWR,		{ 0x1, 0x1, 0x0 } },
35bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_MFC_LOWPWR,		{ 0x1, 0x1, 0x0 } },
36bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_G3D_LOWPWR,		{ 0x1, 0x1, 0x0 } },
37bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_LCD0_LOWPWR,		{ 0x1, 0x1, 0x0 } },
38bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_LCD1_LOWPWR,		{ 0x1, 0x1, 0x0 } },
39bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_MAUDIO_LOWPWR,	{ 0x1, 0x1, 0x0 } },
40bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_GPS_LOWPWR,		{ 0x1, 0x1, 0x0 } },
41bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_CAM_LOWPWR,		{ 0x1, 0x1, 0x0 } },
42bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_TV_LOWPWR,		{ 0x1, 0x1, 0x0 } },
43bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_MFC_LOWPWR,		{ 0x1, 0x1, 0x0 } },
44bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_G3D_LOWPWR,		{ 0x1, 0x1, 0x0 } },
45bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_LCD0_LOWPWR,		{ 0x1, 0x1, 0x0 } },
46bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_LCD1_LOWPWR,		{ 0x1, 0x1, 0x0 } },
47bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_MAUDIO_LOWPWR,		{ 0x1, 0x1, 0x0 } },
48bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_GPS_LOWPWR,		{ 0x1, 0x1, 0x0 } },
49bfce552dSPankaj Dubey 	{ S5P_TOP_BUS_LOWPWR,			{ 0x3, 0x0, 0x0 } },
50bfce552dSPankaj Dubey 	{ S5P_TOP_RETENTION_LOWPWR,		{ 0x1, 0x0, 0x1 } },
51bfce552dSPankaj Dubey 	{ S5P_TOP_PWR_LOWPWR,			{ 0x3, 0x0, 0x3 } },
52bfce552dSPankaj Dubey 	{ S5P_LOGIC_RESET_LOWPWR,		{ 0x1, 0x1, 0x0 } },
53bfce552dSPankaj Dubey 	{ S5P_ONENAND_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
54bfce552dSPankaj Dubey 	{ S5P_MODIMIF_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
55bfce552dSPankaj Dubey 	{ S5P_G2D_ACP_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
56bfce552dSPankaj Dubey 	{ S5P_USBOTG_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
57bfce552dSPankaj Dubey 	{ S5P_HSMMC_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
58bfce552dSPankaj Dubey 	{ S5P_CSSYS_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
59bfce552dSPankaj Dubey 	{ S5P_SECSS_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
60bfce552dSPankaj Dubey 	{ S5P_PCIE_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
61bfce552dSPankaj Dubey 	{ S5P_SATA_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
62bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_DRAM_LOWPWR,	{ 0x1, 0x0, 0x0 } },
63bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_MAUDIO_LOWPWR,	{ 0x1, 0x1, 0x0 } },
64bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_GPIO_LOWPWR,	{ 0x1, 0x0, 0x0 } },
65bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_UART_LOWPWR,	{ 0x1, 0x0, 0x0 } },
66bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_MMCA_LOWPWR,	{ 0x1, 0x0, 0x0 } },
67bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_MMCB_LOWPWR,	{ 0x1, 0x0, 0x0 } },
68bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_EBIA_LOWPWR,	{ 0x1, 0x0, 0x0 } },
69bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_EBIB_LOWPWR,	{ 0x1, 0x0, 0x0 } },
70bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_ISOLATION_LOWPWR,	{ 0x1, 0x0, 0x0 } },
71bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_ALV_SEL_LOWPWR,	{ 0x1, 0x0, 0x0 } },
72bfce552dSPankaj Dubey 	{ S5P_XUSBXTI_LOWPWR,			{ 0x1, 0x1, 0x0 } },
73bfce552dSPankaj Dubey 	{ S5P_XXTI_LOWPWR,			{ 0x1, 0x1, 0x0 } },
74bfce552dSPankaj Dubey 	{ S5P_EXT_REGULATOR_LOWPWR,		{ 0x1, 0x1, 0x0 } },
75bfce552dSPankaj Dubey 	{ S5P_GPIO_MODE_LOWPWR,			{ 0x1, 0x0, 0x0 } },
76bfce552dSPankaj Dubey 	{ S5P_GPIO_MODE_MAUDIO_LOWPWR,		{ 0x1, 0x1, 0x0 } },
77bfce552dSPankaj Dubey 	{ S5P_CAM_LOWPWR,			{ 0x7, 0x0, 0x0 } },
78bfce552dSPankaj Dubey 	{ S5P_TV_LOWPWR,			{ 0x7, 0x0, 0x0 } },
79bfce552dSPankaj Dubey 	{ S5P_MFC_LOWPWR,			{ 0x7, 0x0, 0x0 } },
80bfce552dSPankaj Dubey 	{ S5P_G3D_LOWPWR,			{ 0x7, 0x0, 0x0 } },
81bfce552dSPankaj Dubey 	{ S5P_LCD0_LOWPWR,			{ 0x7, 0x0, 0x0 } },
82bfce552dSPankaj Dubey 	{ S5P_LCD1_LOWPWR,			{ 0x7, 0x0, 0x0 } },
83bfce552dSPankaj Dubey 	{ S5P_MAUDIO_LOWPWR,			{ 0x7, 0x7, 0x0 } },
84bfce552dSPankaj Dubey 	{ S5P_GPS_LOWPWR,			{ 0x7, 0x0, 0x0 } },
85bfce552dSPankaj Dubey 	{ S5P_GPS_ALIVE_LOWPWR,			{ 0x7, 0x0, 0x0 } },
86bfce552dSPankaj Dubey 	{ PMU_TABLE_END,},
87bfce552dSPankaj Dubey };
88bfce552dSPankaj Dubey 
89*514a935fSArtur Weber static const struct exynos_pmu_conf exynos4x12_pmu_config[] = {
90bfce552dSPankaj Dubey 	{ S5P_ARM_CORE0_LOWPWR,			{ 0x0, 0x0, 0x2 } },
91bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CORE0,			{ 0x0, 0x0, 0x0 } },
92bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CENTRAL0,			{ 0x0, 0x0, 0x0 } },
93bfce552dSPankaj Dubey 	{ S5P_ARM_CORE1_LOWPWR,			{ 0x0, 0x0, 0x2 } },
94bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CORE1,			{ 0x0, 0x0, 0x0 } },
95bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CENTRAL1,			{ 0x0, 0x0, 0x0 } },
96bfce552dSPankaj Dubey 	{ S5P_ISP_ARM_LOWPWR,			{ 0x1, 0x0, 0x0 } },
97bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR,	{ 0x0, 0x0, 0x0 } },
98bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR,	{ 0x0, 0x0, 0x0 } },
99bfce552dSPankaj Dubey 	{ S5P_ARM_COMMON_LOWPWR,		{ 0x0, 0x0, 0x2 } },
100bfce552dSPankaj Dubey 	{ S5P_L2_0_LOWPWR,			{ 0x0, 0x0, 0x3 } },
101bfce552dSPankaj Dubey 	/* XXX_OPTION register should be set other field */
102bfce552dSPankaj Dubey 	{ S5P_ARM_L2_0_OPTION,			{ 0x10, 0x10, 0x0 } },
103bfce552dSPankaj Dubey 	{ S5P_L2_1_LOWPWR,			{ 0x0, 0x0, 0x3 } },
104bfce552dSPankaj Dubey 	{ S5P_ARM_L2_1_OPTION,			{ 0x10, 0x10, 0x0 } },
105bfce552dSPankaj Dubey 	{ S5P_CMU_ACLKSTOP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
106bfce552dSPankaj Dubey 	{ S5P_CMU_SCLKSTOP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
107bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_LOWPWR,			{ 0x1, 0x1, 0x0 } },
108bfce552dSPankaj Dubey 	{ S5P_DRAM_FREQ_DOWN_LOWPWR,		{ 0x1, 0x1, 0x1 } },
109bfce552dSPankaj Dubey 	{ S5P_DDRPHY_DLLOFF_LOWPWR,		{ 0x1, 0x1, 0x1 } },
110bfce552dSPankaj Dubey 	{ S5P_LPDDR_PHY_DLL_LOCK_LOWPWR,	{ 0x1, 0x1, 0x1 } },
111bfce552dSPankaj Dubey 	{ S5P_CMU_ACLKSTOP_COREBLK_LOWPWR,	{ 0x1, 0x0, 0x0 } },
112bfce552dSPankaj Dubey 	{ S5P_CMU_SCLKSTOP_COREBLK_LOWPWR,	{ 0x1, 0x0, 0x0 } },
113bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_COREBLK_LOWPWR,		{ 0x1, 0x1, 0x0 } },
114bfce552dSPankaj Dubey 	{ S5P_APLL_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
115bfce552dSPankaj Dubey 	{ S5P_MPLL_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
116bfce552dSPankaj Dubey 	{ S5P_VPLL_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
117bfce552dSPankaj Dubey 	{ S5P_EPLL_SYSCLK_LOWPWR,		{ 0x1, 0x1, 0x0 } },
118bfce552dSPankaj Dubey 	{ S5P_MPLLUSER_SYSCLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
119bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR,	{ 0x1, 0x0, 0x0 } },
120bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_GPSALIVE_LOWPWR,	{ 0x1, 0x0, 0x0 } },
121bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_CAM_LOWPWR,		{ 0x1, 0x0, 0x0 } },
122bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_TV_LOWPWR,		{ 0x1, 0x0, 0x0 } },
123bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_MFC_LOWPWR,		{ 0x1, 0x0, 0x0 } },
124bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_G3D_LOWPWR,		{ 0x1, 0x0, 0x0 } },
125bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_LCD0_LOWPWR,		{ 0x1, 0x0, 0x0 } },
126bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_ISP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
127bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_MAUDIO_LOWPWR,	{ 0x1, 0x0, 0x0 } },
128bfce552dSPankaj Dubey 	{ S5P_CMU_CLKSTOP_GPS_LOWPWR,		{ 0x1, 0x0, 0x0 } },
129bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_CAM_LOWPWR,		{ 0x1, 0x0, 0x0 } },
130bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_TV_LOWPWR,		{ 0x1, 0x0, 0x0 } },
131bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_MFC_LOWPWR,		{ 0x1, 0x0, 0x0 } },
132bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_G3D_LOWPWR,		{ 0x1, 0x0, 0x0 } },
133bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_LCD0_LOWPWR,		{ 0x1, 0x0, 0x0 } },
134bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_ISP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
135bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_MAUDIO_LOWPWR,		{ 0x1, 0x1, 0x0 } },
136bfce552dSPankaj Dubey 	{ S5P_CMU_RESET_GPS_LOWPWR,		{ 0x1, 0x0, 0x0 } },
137bfce552dSPankaj Dubey 	{ S5P_TOP_BUS_LOWPWR,			{ 0x3, 0x0, 0x0 } },
138bfce552dSPankaj Dubey 	{ S5P_TOP_RETENTION_LOWPWR,		{ 0x1, 0x0, 0x1 } },
139bfce552dSPankaj Dubey 	{ S5P_TOP_PWR_LOWPWR,			{ 0x3, 0x0, 0x3 } },
140bfce552dSPankaj Dubey 	{ S5P_TOP_BUS_COREBLK_LOWPWR,		{ 0x3, 0x0, 0x0 } },
141bfce552dSPankaj Dubey 	{ S5P_TOP_RETENTION_COREBLK_LOWPWR,	{ 0x1, 0x0, 0x1 } },
142bfce552dSPankaj Dubey 	{ S5P_TOP_PWR_COREBLK_LOWPWR,		{ 0x3, 0x0, 0x3 } },
143bfce552dSPankaj Dubey 	{ S5P_LOGIC_RESET_LOWPWR,		{ 0x1, 0x1, 0x0 } },
144bfce552dSPankaj Dubey 	{ S5P_OSCCLK_GATE_LOWPWR,		{ 0x1, 0x0, 0x1 } },
145bfce552dSPankaj Dubey 	{ S5P_LOGIC_RESET_COREBLK_LOWPWR,	{ 0x1, 0x1, 0x0 } },
146bfce552dSPankaj Dubey 	{ S5P_OSCCLK_GATE_COREBLK_LOWPWR,	{ 0x1, 0x0, 0x1 } },
147bfce552dSPankaj Dubey 	{ S5P_ONENAND_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
148bfce552dSPankaj Dubey 	{ S5P_ONENAND_MEM_OPTION,		{ 0x10, 0x10, 0x0 } },
149bfce552dSPankaj Dubey 	{ S5P_HSI_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
150bfce552dSPankaj Dubey 	{ S5P_HSI_MEM_OPTION,			{ 0x10, 0x10, 0x0 } },
151bfce552dSPankaj Dubey 	{ S5P_G2D_ACP_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
152bfce552dSPankaj Dubey 	{ S5P_G2D_ACP_MEM_OPTION,		{ 0x10, 0x10, 0x0 } },
153bfce552dSPankaj Dubey 	{ S5P_USBOTG_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
154bfce552dSPankaj Dubey 	{ S5P_USBOTG_MEM_OPTION,		{ 0x10, 0x10, 0x0 } },
155bfce552dSPankaj Dubey 	{ S5P_HSMMC_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
156bfce552dSPankaj Dubey 	{ S5P_HSMMC_MEM_OPTION,			{ 0x10, 0x10, 0x0 } },
157bfce552dSPankaj Dubey 	{ S5P_CSSYS_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
158bfce552dSPankaj Dubey 	{ S5P_CSSYS_MEM_OPTION,			{ 0x10, 0x10, 0x0 } },
159bfce552dSPankaj Dubey 	{ S5P_SECSS_MEM_LOWPWR,			{ 0x3, 0x0, 0x0 } },
160bfce552dSPankaj Dubey 	{ S5P_SECSS_MEM_OPTION,			{ 0x10, 0x10, 0x0 } },
161bfce552dSPankaj Dubey 	{ S5P_ROTATOR_MEM_LOWPWR,		{ 0x3, 0x0, 0x0 } },
162bfce552dSPankaj Dubey 	{ S5P_ROTATOR_MEM_OPTION,		{ 0x10, 0x10, 0x0 } },
163bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_DRAM_LOWPWR,	{ 0x1, 0x0, 0x0 } },
164bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_MAUDIO_LOWPWR,	{ 0x1, 0x1, 0x0 } },
165bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_GPIO_LOWPWR,	{ 0x1, 0x0, 0x0 } },
166bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_UART_LOWPWR,	{ 0x1, 0x0, 0x0 } },
167bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_MMCA_LOWPWR,	{ 0x1, 0x0, 0x0 } },
168bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_MMCB_LOWPWR,	{ 0x1, 0x0, 0x0 } },
169bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_EBIA_LOWPWR,	{ 0x1, 0x0, 0x0 } },
170bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_EBIB_LOWPWR,	{ 0x1, 0x0, 0x0 } },
171bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_GPIO_COREBLK_LOWPWR, { 0x1, 0x0, 0x0 } },
172bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_ISOLATION_LOWPWR,	{ 0x1, 0x0, 0x0 } },
173bfce552dSPankaj Dubey 	{ S5P_PAD_ISOLATION_COREBLK_LOWPWR,	{ 0x1, 0x0, 0x0 } },
174bfce552dSPankaj Dubey 	{ S5P_PAD_RETENTION_ALV_SEL_LOWPWR,	{ 0x1, 0x0, 0x0 } },
175bfce552dSPankaj Dubey 	{ S5P_XUSBXTI_LOWPWR,			{ 0x1, 0x1, 0x0 } },
176bfce552dSPankaj Dubey 	{ S5P_XXTI_LOWPWR,			{ 0x1, 0x1, 0x0 } },
177bfce552dSPankaj Dubey 	{ S5P_EXT_REGULATOR_LOWPWR,		{ 0x1, 0x1, 0x0 } },
178bfce552dSPankaj Dubey 	{ S5P_GPIO_MODE_LOWPWR,			{ 0x1, 0x0, 0x0 } },
179bfce552dSPankaj Dubey 	{ S5P_GPIO_MODE_COREBLK_LOWPWR,		{ 0x1, 0x0, 0x0 } },
180bfce552dSPankaj Dubey 	{ S5P_GPIO_MODE_MAUDIO_LOWPWR,		{ 0x1, 0x1, 0x0 } },
181bfce552dSPankaj Dubey 	{ S5P_TOP_ASB_RESET_LOWPWR,		{ 0x1, 0x1, 0x1 } },
182bfce552dSPankaj Dubey 	{ S5P_TOP_ASB_ISOLATION_LOWPWR,		{ 0x1, 0x0, 0x1 } },
183bfce552dSPankaj Dubey 	{ S5P_CAM_LOWPWR,			{ 0x7, 0x0, 0x0 } },
184bfce552dSPankaj Dubey 	{ S5P_TV_LOWPWR,			{ 0x7, 0x0, 0x0 } },
185bfce552dSPankaj Dubey 	{ S5P_MFC_LOWPWR,			{ 0x7, 0x0, 0x0 } },
186bfce552dSPankaj Dubey 	{ S5P_G3D_LOWPWR,			{ 0x7, 0x0, 0x0 } },
187bfce552dSPankaj Dubey 	{ S5P_LCD0_LOWPWR,			{ 0x7, 0x0, 0x0 } },
188bfce552dSPankaj Dubey 	{ S5P_ISP_LOWPWR,			{ 0x7, 0x0, 0x0 } },
189bfce552dSPankaj Dubey 	{ S5P_MAUDIO_LOWPWR,			{ 0x7, 0x7, 0x0 } },
190bfce552dSPankaj Dubey 	{ S5P_GPS_LOWPWR,			{ 0x7, 0x0, 0x0 } },
191bfce552dSPankaj Dubey 	{ S5P_GPS_ALIVE_LOWPWR,			{ 0x7, 0x0, 0x0 } },
192bfce552dSPankaj Dubey 	{ S5P_CMU_SYSCLK_ISP_LOWPWR,		{ 0x1, 0x0, 0x0 } },
193bfce552dSPankaj Dubey 	{ S5P_CMU_SYSCLK_GPS_LOWPWR,		{ 0x1, 0x0, 0x0 } },
194*514a935fSArtur Weber 	{ PMU_TABLE_END,},
195*514a935fSArtur Weber };
196*514a935fSArtur Weber 
197*514a935fSArtur Weber static const struct exynos_pmu_conf exynos4412_pmu_config[] = {
198bfce552dSPankaj Dubey 	{ S5P_ARM_CORE2_LOWPWR,			{ 0x0, 0x0, 0x2 } },
199bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CORE2,			{ 0x0, 0x0, 0x0 } },
200bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CENTRAL2,			{ 0x0, 0x0, 0x0 } },
201bfce552dSPankaj Dubey 	{ S5P_ARM_CORE3_LOWPWR,			{ 0x0, 0x0, 0x2 } },
202bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CORE3,			{ 0x0, 0x0, 0x0 } },
203bfce552dSPankaj Dubey 	{ S5P_DIS_IRQ_CENTRAL3,			{ 0x0, 0x0, 0x0 } },
204bfce552dSPankaj Dubey 	{ PMU_TABLE_END,},
205bfce552dSPankaj Dubey };
206bfce552dSPankaj Dubey 
207bfce552dSPankaj Dubey const struct exynos_pmu_data exynos4210_pmu_data = {
208bfce552dSPankaj Dubey 	.pmu_config	= exynos4210_pmu_config,
209bfce552dSPankaj Dubey };
210bfce552dSPankaj Dubey 
211*514a935fSArtur Weber const struct exynos_pmu_data exynos4212_pmu_data = {
212*514a935fSArtur Weber 	.pmu_config	= exynos4x12_pmu_config,
213*514a935fSArtur Weber };
214*514a935fSArtur Weber 
215bfce552dSPankaj Dubey const struct exynos_pmu_data exynos4412_pmu_data = {
216*514a935fSArtur Weber 	.pmu_config		= exynos4x12_pmu_config,
217*514a935fSArtur Weber 	.pmu_config_extra	= exynos4412_pmu_config,
218bfce552dSPankaj Dubey };
219